1709754633
waR3U4bTeM%3A39788fa607b90c855af07c1b8f0887fa-512f059ac2b7e9080a6614fadd188529
s:1051972:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6IjUxMmYwNTlhYzJiN2U5MDgwYTY2MTRmYWRkMTg4NTI5IjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWUiO3M6Nzoic2VlLnBocCI7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBwYXRoIjtzOjE3OiJ0YWcvYmFzaWMvc2VlLnBocCI7czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBzb3VyY2UiO3M6OTMzOiI8P3BocA0KLyoqDQogKiDov5nmmK9yZXR1cm7moIfnrb7npLrkvosNCiAqIA0KICog5q2k5qCH562+55So5LqO6ZO+5o6l5Yiw5paH5qGj5YaF55qE5Lu75L2V5YWD57Sg77yM5Lmf5Y+v5Lul57uZ5oyH5a6a55qEeyBAc2VlIGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMzk2LnR4dCA8VVJJPn0NCiAqIEBzZWUgQ2hpbGQ6Om1ldGhvZCgpDQogKi8NCmNsYXNzIEZhdGhlcg0Kew0KICAgIC8qKg0KICAgICAqIOmTvuaOpeWIsOWQjOS4gOexu+eahOekuuS+i++8jOi+k+WHujx1PkZhdGhlcjrvvJpwYXJlbnRfbWV0aG9kKCk8L3U+DQogICAgICogQHNlZSBwYXJlbnRfbWV0aG9kDQogICAgICovDQogICAgdmFyICRmb28gPSAzOw0KDQogICAgLyoqDQogICAgICog5a2Q57G757un5om/5q2k5pa55rOV44CCDQogICAgICog5bi46YeP5oiW57G75ZCN55qE5Y2V6K+N56S65L6L77yM5Zyo5pys5L6L5Lit5Li657G75ZCNDQogICAgICogQHNlZSBDaGlsZA0KICAgICAqIEBzZWUgQ2hpbGQ6OiRmb28NCiAgICAgKi8NCiAgICBmdW5jdGlvbiBwYXJlbnRfbWV0aG9kKCkNCiAgICB7DQogICAgICAgIGlmICgkdGhpcy0+Zm9vID09IDkpDQogICAgICAgICAgICBkaWU7DQogICAgfQ0KfQ0KLyoqDQogKiDov5nkuKrnsbvmianlsZXkuoZGYXRoZXINCiAqIOmTvuaOpeWIsOW4uOmHj+S7peWPiuWwhuWkmuS4quWFg+e0oOaUvuWcqOWQjOS4gOihjOeahOekuuS+iw0KICogQHNlZSBGYXRoZXIsIFRFU1RfQ09OU1QNCiAqLw0KY2xhc3MgQ2hpbGQgZXh0ZW5kcyBGYXRoZXINCnsNCiAgICAvKioNCiAgICAgKiDmn6XnnIvlnKjniLbnsbvkuK3nmoTmlrnms5UgeyBAbGluayBGYXRoZXJ9DQogICAgICogQHNlZSBwYXJlbnRfbWV0aG9kKCkNCiAgICAgKi8NCiAgICB2YXIgJGZvbyA9IDk7DQp9DQoNCmRlZmluZSgiVEVTVF9DT05TVCIsICJmb29iYXIiKTsiO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbmFtZXNwYWNlcyI7YTowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbmNsdWRlcyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBmdW5jdGlvbnMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY29uc3RhbnRzIjthOjE6e3M6MTE6IlxURVNUX0NPTlNUIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENvbnN0YW50Ijo3OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjExOiJcVEVTVF9DT05TVCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEwOiJURVNUX0NPTlNUIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQAZG9jQmxvY2siO047czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQAdmFsdWUiO3M6ODoiImZvb2JhciIiO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENvbnN0YW50AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo0MjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudABmaW5hbCI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENvbnN0YW50AG1ldGFkYXRhIjthOjA6e319fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY2xhc3NlcyI7YToyOntzOjc6IlxGYXRoZXIiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIjoxMjp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NzoiXEZhdGhlciI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjY6IkZhdGhlciI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MjQ6Iui/meaYr3JldHVybuagh+etvuekuuS+iyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxMjI6IuatpOagh+etvueUqOS6jumTvuaOpeWIsOaWh+aho+WGheeahOS7u+S9leWFg+e0oO+8jOS5n+WPr+S7pee7meaMh+WumueahHsgQHNlZSBodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjM5Ni50eHQgPFVSST59IjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDI6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFNlZSI6Mzp7czo3OiIAKgBuYW1lIjtzOjM6InNlZSI7czo5OiIAKgByZWZlcnMiO086NTQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJlZmVyZW5jZVxGcXNlbiI6MTp7czo2MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJlZmVyZW5jZVxGcXNlbgBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjE2OiJcQ2hpbGQ6Om1ldGhvZCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NjoibWV0aG9kIjt9fXM6MTQ6IgAqAGRlc2NyaXB0aW9uIjtOO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcGFyZW50IjtOO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBpbXBsZW1lbnRzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AY29uc3RhbnRzIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcHJvcGVydGllcyI7YToxOntzOjEzOiJcRmF0aGVyOjokZm9vIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5IjoxMDp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoxMzoiXEZhdGhlcjo6JGZvbyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjM6ImZvbyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo2ODoi6ZO+5o6l5Yiw5ZCM5LiA57G755qE56S65L6L77yM6L6T5Ye6PHU+RmF0aGVyOu+8mnBhcmVudF9tZXRob2QoKTwvdT4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDI6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFNlZSI6Mzp7czo3OiIAKgBuYW1lIjtzOjM6InNlZSI7czo5OiIAKgByZWZlcnMiO086NTQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJlZmVyZW5jZVxGcXNlbiI6MTp7czo2MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJlZmVyZW5jZVxGcXNlbgBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjE0OiJccGFyZW50X21ldGhvZCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEzOiJwYXJlbnRfbWV0aG9kIjt9fXM6MTQ6IgAqAGRlc2NyaXB0aW9uIjtOO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7czoxOiIzIjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7TjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQByZWFkT25seSI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AG1ldGFkYXRhIjthOjA6e319fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBtZXRob2RzIjthOjE6e3M6MjQ6IlxGYXRoZXI6OnBhcmVudF9tZXRob2QoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEwOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjc5OiLlrZDnsbvnu6fmib/mraTmlrnms5XjgIIK5bi46YeP5oiW57G75ZCN55qE5Y2V6K+N56S65L6L77yM5Zyo5pys5L6L5Lit5Li657G75ZCNIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjI6e2k6MDtPOjQyOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xTZWUiOjM6e3M6NzoiACoAbmFtZSI7czozOiJzZWUiO3M6OToiACoAcmVmZXJzIjtPOjU0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZWZlcmVuY2VcRnFzZW4iOjE6e3M6NjE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZWZlcmVuY2VcRnFzZW4AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2OiJcQ2hpbGQiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo1OiJDaGlsZCI7fX1zOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tjt9aToxO086NDI6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFNlZSI6Mzp7czo3OiIAKgBuYW1lIjtzOjM6InNlZSI7czo5OiIAKgByZWZlcnMiO086NTQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJlZmVyZW5jZVxGcXNlbiI6MTp7czo2MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJlZmVyZW5jZVxGcXNlbgBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjEyOiJcQ2hpbGQ6OiRmb28iO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czozOiJmb28iO319czoxNDoiACoAZGVzY3JpcHRpb24iO047fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI0OiJcRmF0aGVyOjpwYXJlbnRfbWV0aG9kKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMzoicGFyZW50X21ldGhvZCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9fX1zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AdXNlZFRyYWl0cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBtZXRhZGF0YSI7YTowOnt9fXM6NjoiXENoaWxkIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyI6MTI6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjY6IlxDaGlsZCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjU6IkNoaWxkIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo4NToi6L+Z5Liq57G75omp5bGV5LqGRmF0aGVyCumTvuaOpeWIsOW4uOmHj+S7peWPiuWwhuWkmuS4quWFg+e0oOaUvuWcqOWQjOS4gOihjOeahOekuuS+iyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0OToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcSW52YWxpZFRhZyI6Mzp7czo1NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEludmFsaWRUYWcAbmFtZSI7czozOiJzZWUiO3M6NTU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xJbnZhbGlkVGFnAGJvZHkiO3M6MTg6IkZhdGhlciwgVEVTVF9DT05TVCI7czo2MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEludmFsaWRUYWcAdGhyb3dhYmxlIjtPOjI0OiJJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24iOjg6e3M6MTA6IgAqAG1lc3NhZ2UiO3M6MzI6IiJcRmF0aGVyLCIgaXMgbm90IGEgdmFsaWQgRnFzZW4uIjtzOjE3OiIARXhjZXB0aW9uAHN0cmluZyI7czowOiIiO3M6NzoiACoAY29kZSI7aTowO3M6NzoiACoAZmlsZSI7czoxMjA6InBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvcmVmbGVjdGlvbi1jb21tb24vc3JjL0Zxc2VuLnBocCI7czo3OiIAKgBsaW5lIjtpOjU3O3M6MTY6IgBFeGNlcHRpb24AdHJhY2UiO2E6NTA6e2k6MDthOjY6e3M6NDoiZmlsZSI7czoxMjQ6InBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvdHlwZS1yZXNvbHZlci9zcmMvRnFzZW5SZXNvbHZlci5waHAiO3M6NDoibGluZSI7aTo3MztzOjg6ImZ1bmN0aW9uIjtzOjExOiJfX2NvbnN0cnVjdCI7czo1OiJjbGFzcyI7czozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjtzOjQ6InR5cGUiO3M6MjoiLT4iO3M6NDoiYXJncyI7YToxOntpOjA7czo4OiJcRmF0aGVyLCI7fX1pOjE7YTo2OntzOjQ6ImZpbGUiO3M6MTI0OiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3R5cGUtcmVzb2x2ZXIvc3JjL0Zxc2VuUmVzb2x2ZXIucGhwIjtzOjQ6ImxpbmUiO2k6NDM7czo4OiJmdW5jdGlvbiI7czozNToicmVzb2x2ZVBhcnRpYWxTdHJ1Y3R1cmFsRWxlbWVudE5hbWUiO3M6NToiY2xhc3MiO3M6Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlblJlc29sdmVyIjtzOjQ6InR5cGUiO3M6MjoiLT4iO3M6NDoiYXJncyI7YToyOntpOjA7czo3OiJGYXRoZXIsIjtpOjE7czo0Njoib2JqZWN0KHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0KSI7fX1pOjI7YTo2OntzOjQ6ImZpbGUiO3M6MTM0OiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24tZG9jYmxvY2svc3JjL0RvY0Jsb2NrL1RhZ3MvU2VlLnBocCI7czo0OiJsaW5lIjtpOjc0O3M6ODoiZnVuY3Rpb24iO3M6NzoicmVzb2x2ZSI7czo1OiJjbGFzcyI7czozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuUmVzb2x2ZXIiO3M6NDoidHlwZSI7czoyOiItPiI7czo0OiJhcmdzIjthOjI6e2k6MDtzOjc6IkZhdGhlciwiO2k6MTtzOjQ2OiJvYmplY3QocGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQpIjt9fWk6MzthOjY6e3M6NDoiZmlsZSI7czoxMzQ6InBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvcmVmbGVjdGlvbi1kb2NibG9jay9zcmMvRG9jQmxvY2svVGFncy9TZWUucGhwIjtzOjQ6ImxpbmUiO2k6Njc7czo4OiJmdW5jdGlvbiI7czoxMjoicmVzb2x2ZUZxc2VuIjtzOjU6ImNsYXNzIjtzOjQyOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xTZWUiO3M6NDoidHlwZSI7czoyOiI6OiI7czo0OiJhcmdzIjthOjM6e2k6MDtzOjc6IkZhdGhlciwiO2k6MTtzOjQ2OiJvYmplY3QocGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuUmVzb2x2ZXIpIjtpOjI7czo0Njoib2JqZWN0KHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0KSI7fX1pOjQ7YTo2OntzOjQ6ImZpbGUiO3M6MTQ0OiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24tZG9jYmxvY2svc3JjL0RvY0Jsb2NrL1N0YW5kYXJkVGFnRmFjdG9yeS5waHAiO3M6NDoibGluZSI7aToyMTg7czo4OiJmdW5jdGlvbiI7czo2OiJjcmVhdGUiO3M6NToiY2xhc3MiO3M6NDI6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFNlZSI7czo0OiJ0eXBlIjtzOjI6Ijo6IjtzOjQ6ImFyZ3MiO2E6NDp7aTowO3M6MTg6IkZhdGhlciwgVEVTVF9DT05TVCI7aToxO3M6NDY6Im9iamVjdChwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW5SZXNvbHZlcikiO2k6MjtzOjYwOiJvYmplY3QocGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uRmFjdG9yeSkiO2k6MztzOjQ2OiJvYmplY3QocGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQpIjt9fWk6NTthOjY6e3M6NDoiZmlsZSI7czoxNDQ6InBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvcmVmbGVjdGlvbi1kb2NibG9jay9zcmMvRG9jQmxvY2svU3RhbmRhcmRUYWdGYWN0b3J5LnBocCI7czo0OiJsaW5lIjtpOjE0OTtzOjg6ImZ1bmN0aW9uIjtzOjk6ImNyZWF0ZVRhZyI7czo1OiJjbGFzcyI7czo1MjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFN0YW5kYXJkVGFnRmFjdG9yeSI7czo0OiJ0eXBlIjtzOjI6Ii0+IjtzOjQ6ImFyZ3MiO2E6Mzp7aTowO3M6MTg6IkZhdGhlciwgVEVTVF9DT05TVCI7aToxO3M6Mzoic2VlIjtpOjI7czo0Njoib2JqZWN0KHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0KSI7fX1pOjY7YTo2OntzOjQ6ImZpbGUiO3M6MTMyOiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24tZG9jYmxvY2svc3JjL0RvY0Jsb2NrRmFjdG9yeS5waHAiO3M6NDoibGluZSI7aToyNDU7czo4OiJmdW5jdGlvbiI7czo2OiJjcmVhdGUiO3M6NToiY2xhc3MiO3M6NTI6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xTdGFuZGFyZFRhZ0ZhY3RvcnkiO3M6NDoidHlwZSI7czoyOiItPiI7czo0OiJhcmdzIjthOjI6e2k6MDtzOjIzOiJAc2VlIEZhdGhlciwgVEVTVF9DT05TVCI7aToxO3M6NDY6Im9iamVjdChwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCkiO319aTo3O2E6Njp7czo0OiJmaWxlIjtzOjEzMjoicGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3IvcGhwZG9jdW1lbnRvci9yZWZsZWN0aW9uLWRvY2Jsb2NrL3NyYy9Eb2NCbG9ja0ZhY3RvcnkucGhwIjtzOjQ6ImxpbmUiO2k6MTA1O3M6ODoiZnVuY3Rpb24iO3M6MTM6InBhcnNlVGFnQmxvY2siO3M6NToiY2xhc3MiO3M6NDA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja0ZhY3RvcnkiO3M6NDoidHlwZSI7czoyOiItPiI7czo0OiJhcmdzIjthOjI6e2k6MDtzOjIzOiJAc2VlIEZhdGhlciwgVEVTVF9DT05TVCI7aToxO3M6NDY6Im9iamVjdChwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCkiO319aTo4O2E6Njp7czo0OiJmaWxlIjtzOjE2MDoicGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3IvcGhwZG9jdW1lbnRvci9yZWZsZWN0aW9uL3NyYy9waHBEb2N1bWVudG9yL1JlZmxlY3Rpb24vUGhwL0ZhY3RvcnkvQWJzdHJhY3RGYWN0b3J5LnBocCI7czo0OiJsaW5lIjtpOjc4O3M6ODoiZnVuY3Rpb24iO3M6NjoiY3JlYXRlIjtzOjU6ImNsYXNzIjtzOjQwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tGYWN0b3J5IjtzOjQ6InR5cGUiO3M6MjoiLT4iO3M6NDoiYXJncyI7YToyOntpOjA7czoxMzA6Ii8qKg0KICog6L+Z5Liq57G75omp5bGV5LqGRmF0aGVyDQogKiDpk77mjqXliLDluLjph4/ku6Xlj4rlsIblpJrkuKrlhYPntKDmlL7lnKjlkIzkuIDooYznmoTnpLrkvosNCiAqIEBzZWUgRmF0aGVyLCBURVNUX0NPTlNUDQogKi8iO2k6MTtzOjQ2OiJvYmplY3QocGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQpIjt9fWk6OTthOjY6e3M6NDoiZmlsZSI7czoxNTE6InBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvcmVmbGVjdGlvbi9zcmMvcGhwRG9jdW1lbnRvci9SZWZsZWN0aW9uL1BocC9GYWN0b3J5L0NsYXNzXy5waHAiO3M6NDoibGluZSI7aTo0NztzOjg6ImZ1bmN0aW9uIjtzOjE0OiJjcmVhdGVEb2NCbG9jayI7czo1OiJjbGFzcyI7czo1MjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEFic3RyYWN0RmFjdG9yeSI7czo0OiJ0eXBlIjtzOjI6Ii0+IjtzOjQ6ImFyZ3MiO2E6Mjp7aTowO3M6Mjk6Im9iamVjdChQaHBQYXJzZXJcQ29tbWVudFxEb2MpIjtpOjE7Tjt9fWk6MTA7YTo2OntzOjQ6ImZpbGUiO3M6MTYwOiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9QaHAvRmFjdG9yeS9BYnN0cmFjdEZhY3RvcnkucGhwIjtzOjQ6ImxpbmUiO2k6NTk7czo4OiJmdW5jdGlvbiI7czo4OiJkb0NyZWF0ZSI7czo1OiJjbGFzcyI7czo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XENsYXNzXyI7czo0OiJ0eXBlIjtzOjI6Ii0+IjtzOjQ6ImFyZ3MiO2E6Mzp7aTowO3M6NTc6Im9iamVjdChwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnlcQ29udGV4dFN0YWNrKSI7aToxO3M6MzQ6Im9iamVjdChQaHBQYXJzZXJcTm9kZVxTdG10XENsYXNzXykiO2k6MjtzOjYxOiJvYmplY3QocGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9qZWN0RmFjdG9yeVN0cmF0ZWdpZXMpIjt9fWk6MTE7YTo2OntzOjQ6ImZpbGUiO3M6MTQ5OiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9QaHAvRmFjdG9yeS9GaWxlLnBocCI7czo0OiJsaW5lIjtpOjEzNTtzOjg6ImZ1bmN0aW9uIjtzOjY6ImNyZWF0ZSI7czo1OiJjbGFzcyI7czo1MjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEFic3RyYWN0RmFjdG9yeSI7czo0OiJ0eXBlIjtzOjI6Ii0+IjtzOjQ6ImFyZ3MiO2E6Mzp7aTowO3M6NTc6Im9iamVjdChwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnlcQ29udGV4dFN0YWNrKSI7aToxO3M6MzQ6Im9iamVjdChQaHBQYXJzZXJcTm9kZVxTdG10XENsYXNzXykiO2k6MjtzOjYxOiJvYmplY3QocGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9qZWN0RmFjdG9yeVN0cmF0ZWdpZXMpIjt9fWk6MTI7YTo2OntzOjQ6ImZpbGUiO3M6MTQ5OiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9QaHAvRmFjdG9yeS9GaWxlLnBocCI7czo0OiJsaW5lIjtpOjEyMDtzOjg6ImZ1bmN0aW9uIjtzOjE0OiJjcmVhdGVFbGVtZW50cyI7czo1OiJjbGFzcyI7czo0MToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEZpbGUiO3M6NDoidHlwZSI7czoyOiItPiI7czo0OiJhcmdzIjthOjM6e2k6MDtzOjU3OiJvYmplY3QocGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XENvbnRleHRTdGFjaykiO2k6MTthOjM6e2k6MDtzOjM0OiJvYmplY3QoUGhwUGFyc2VyXE5vZGVcU3RtdFxDbGFzc18pIjtpOjE7czozNDoib2JqZWN0KFBocFBhcnNlclxOb2RlXFN0bXRcQ2xhc3NfKSI7aToyO3M6Mzg6Im9iamVjdChQaHBQYXJzZXJcTm9kZVxTdG10XEV4cHJlc3Npb24pIjt9aToyO3M6NjE6Im9iamVjdChwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb2plY3RGYWN0b3J5U3RyYXRlZ2llcykiO319aToxMzthOjY6e3M6NDoiZmlsZSI7czoxNDk6InBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvcmVmbGVjdGlvbi9zcmMvcGhwRG9jdW1lbnRvci9SZWZsZWN0aW9uL1BocC9GYWN0b3J5L0ZpbGUucGhwIjtzOjQ6ImxpbmUiO2k6NzE7czo4OiJmdW5jdGlvbiI7czoxMDoiY3JlYXRlRmlsZSI7czo1OiJjbGFzcyI7czo0MToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEZpbGUiO3M6NDoidHlwZSI7czoyOiItPiI7czo0OiJhcmdzIjthOjE6e2k6MDtzOjYzOiJvYmplY3QocGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEZpbGVcQ3JlYXRlQ29tbWFuZCkiO319aToxNDthOjY6e3M6NDoiZmlsZSI7czoxMjg6InBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvc3JjL3BocERvY3VtZW50b3IvUGFyc2VyL01pZGRsZXdhcmUvUmVFbmNvZGluZ01pZGRsZXdhcmUucGhwIjtzOjQ6ImxpbmUiO2k6NDY7czo4OiJmdW5jdGlvbiI7czo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XHtjbG9zdXJlfSI7czo1OiJjbGFzcyI7czo0MToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEZpbGUiO3M6NDoidHlwZSI7czoyOiItPiI7czo0OiJhcmdzIjthOjE6e2k6MDtzOjYzOiJvYmplY3QocGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEZpbGVcQ3JlYXRlQ29tbWFuZCkiO319aToxNTthOjY6e3M6NDoiZmlsZSI7czoxNTY6InBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvcmVmbGVjdGlvbi9zcmMvcGhwRG9jdW1lbnRvci9SZWZsZWN0aW9uL01pZGRsZXdhcmUvQ2hhaW5GYWN0b3J5LnBocCI7czo0OiJsaW5lIjtpOjQzO3M6ODoiZnVuY3Rpb24iO3M6NzoiZXhlY3V0ZSI7czo1OiJjbGFzcyI7czo1MjoicGhwRG9jdW1lbnRvclxQYXJzZXJcTWlkZGxld2FyZVxSZUVuY29kaW5nTWlkZGxld2FyZSI7czo0OiJ0eXBlIjtzOjI6Ii0+IjtzOjQ6ImFyZ3MiO2E6Mjp7aTowO3M6NjM6Im9iamVjdChwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnlcRmlsZVxDcmVhdGVDb21tYW5kKSI7aToxO3M6MTY1OiIoQ2xvc3VyZSBhdCBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9QaHAvRmFjdG9yeS9GaWxlLnBocDo3MCkiO319aToxNjthOjY6e3M6NDoiZmlsZSI7czoxMzE6InBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvc3JjL3BocERvY3VtZW50b3IvUGFyc2VyL01pZGRsZXdhcmUvRXJyb3JIYW5kbGluZ01pZGRsZXdhcmUucGhwIjtzOjQ6ImxpbmUiO2k6NDY7czo4OiJmdW5jdGlvbiI7czo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXE1pZGRsZXdhcmVce2Nsb3N1cmV9IjtzOjU6ImNsYXNzIjtzOjQ4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTWlkZGxld2FyZVxDaGFpbkZhY3RvcnkiO3M6NDoidHlwZSI7czoyOiI6OiI7czo0OiJhcmdzIjthOjE6e2k6MDtzOjYzOiJvYmplY3QocGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEZpbGVcQ3JlYXRlQ29tbWFuZCkiO319aToxNzthOjY6e3M6NDoiZmlsZSI7czoxNTY6InBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvcmVmbGVjdGlvbi9zcmMvcGhwRG9jdW1lbnRvci9SZWZsZWN0aW9uL01pZGRsZXdhcmUvQ2hhaW5GYWN0b3J5LnBocCI7czo0OiJsaW5lIjtpOjQzO3M6ODoiZnVuY3Rpb24iO3M6NzoiZXhlY3V0ZSI7czo1OiJjbGFzcyI7czo1NToicGhwRG9jdW1lbnRvclxQYXJzZXJcTWlkZGxld2FyZVxFcnJvckhhbmRsaW5nTWlkZGxld2FyZSI7czo0OiJ0eXBlIjtzOjI6Ii0+IjtzOjQ6ImFyZ3MiO2E6Mjp7aTowO3M6NjM6Im9iamVjdChwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnlcRmlsZVxDcmVhdGVDb21tYW5kKSI7aToxO3M6MTcyOiIoQ2xvc3VyZSBhdCBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9NaWRkbGV3YXJlL0NoYWluRmFjdG9yeS5waHA6NDIpIjt9fWk6MTg7YTo2OntzOjQ6ImZpbGUiO3M6MTIzOiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3NyYy9waHBEb2N1bWVudG9yL1BhcnNlci9NaWRkbGV3YXJlL0NhY2hlTWlkZGxld2FyZS5waHAiO3M6NDoibGluZSI7aTo2NjtzOjg6ImZ1bmN0aW9uIjtzOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTWlkZGxld2FyZVx7Y2xvc3VyZX0iO3M6NToiY2xhc3MiO3M6NDg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxNaWRkbGV3YXJlXENoYWluRmFjdG9yeSI7czo0OiJ0eXBlIjtzOjI6Ijo6IjtzOjQ6ImFyZ3MiO2E6MTp7aTowO3M6NjM6Im9iamVjdChwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnlcRmlsZVxDcmVhdGVDb21tYW5kKSI7fX1pOjE5O2E6Njp7czo0OiJmaWxlIjtzOjEwNToicGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3Ivc3ltZm9ueS9jYWNoZS9Mb2NrUmVnaXN0cnkucGhwIjtzOjQ6ImxpbmUiO2k6OTM7czo4OiJmdW5jdGlvbiI7czo0MToicGhwRG9jdW1lbnRvclxQYXJzZXJcTWlkZGxld2FyZVx7Y2xvc3VyZX0iO3M6NToiY2xhc3MiO3M6NDc6InBocERvY3VtZW50b3JcUGFyc2VyXE1pZGRsZXdhcmVcQ2FjaGVNaWRkbGV3YXJlIjtzOjQ6InR5cGUiO3M6MjoiLT4iO3M6NDoiYXJncyI7YToyOntpOjA7czo0MToib2JqZWN0KFN5bWZvbnlcQ29tcG9uZW50XENhY2hlXENhY2hlSXRlbSkiO2k6MTtiOjE7fX1pOjIwO2E6Njp7czo0OiJmaWxlIjtzOjExNDoicGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3Ivc3ltZm9ueS9jYWNoZS9UcmFpdHMvQ29udHJhY3RzVHJhaXQucGhwIjtzOjQ6ImxpbmUiO2k6ODg7czo4OiJmdW5jdGlvbiI7czo3OiJjb21wdXRlIjtzOjU6ImNsYXNzIjtzOjM2OiJTeW1mb255XENvbXBvbmVudFxDYWNoZVxMb2NrUmVnaXN0cnkiO3M6NDoidHlwZSI7czoyOiI6OiI7czo0OiJhcmdzIjthOjY6e2k6MDtzOjEzOToiKENsb3N1cmUgYXQgcGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci9zcmMvcGhwRG9jdW1lbnRvci9QYXJzZXIvTWlkZGxld2FyZS9DYWNoZU1pZGRsZXdhcmUucGhwOjY0KSI7aToxO3M6NDE6Im9iamVjdChTeW1mb255XENvbXBvbmVudFxDYWNoZVxDYWNoZUl0ZW0pIjtpOjI7YjoxO2k6MztzOjUyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcQ2FjaGVcRmlsZXN5c3RlbUFkYXB0ZXIpIjtpOjQ7czoxMzA6IihDbG9zdXJlIGF0IHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3N5bWZvbnkvY2FjaGUvVHJhaXRzL0NvbnRyYWN0c1RyYWl0LnBocDo4NikiO2k6NTtOO319aToyMTthOjY6e3M6NDoiZmlsZSI7czoxMTM6InBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3N5bWZvbnkvY29udHJhY3RzL0NhY2hlL0NhY2hlVHJhaXQucGhwIjtzOjQ6ImxpbmUiO2k6NzI7czo4OiJmdW5jdGlvbiI7czo0MDoiU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcVHJhaXRzXHtjbG9zdXJlfSI7czo1OiJjbGFzcyI7czo0NzoiU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXIiO3M6NDoidHlwZSI7czoyOiItPiI7czo0OiJhcmdzIjthOjI6e2k6MDtzOjQxOiJvYmplY3QoU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQ2FjaGVJdGVtKSI7aToxO2I6MTt9fWk6MjI7YTo2OntzOjQ6ImZpbGUiO3M6MTE0OiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9zeW1mb255L2NhY2hlL1RyYWl0cy9Db250cmFjdHNUcmFpdC5waHAiO3M6NDoibGluZSI7aTo5NTtzOjg6ImZ1bmN0aW9uIjtzOjU6ImRvR2V0IjtzOjU6ImNsYXNzIjtzOjQ3OiJTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlciI7czo0OiJ0eXBlIjtzOjI6Ii0+IjtzOjQ6ImFyZ3MiO2E6Njp7aTowO3M6NTI6Im9iamVjdChwaHBEb2N1bWVudG9yXFBhcnNlclxDYWNoZVxGaWxlc3lzdGVtQWRhcHRlcikiO2k6MTtzOjY1OiIzOTc4OGZhNjA3YjkwYzg1NWFmMDdjMWI4ZjA4ODdmYS01MTJmMDU5YWMyYjdlOTA4MGE2NjE0ZmFkZDE4ODUyOSI7aToyO3M6MTMwOiIoQ2xvc3VyZSBhdCBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9zeW1mb255L2NhY2hlL1RyYWl0cy9Db250cmFjdHNUcmFpdC5waHA6NzMpIjtpOjM7ZDoxO2k6NDthOjA6e31pOjU7Tjt9fWk6MjM7YTo2OntzOjQ6ImZpbGUiO3M6MTEzOiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9zeW1mb255L2NvbnRyYWN0cy9DYWNoZS9DYWNoZVRyYWl0LnBocCI7czo0OiJsaW5lIjtpOjM1O3M6ODoiZnVuY3Rpb24iO3M6NToiZG9HZXQiO3M6NToiY2xhc3MiO3M6NDc6IlN5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyIjtzOjQ6InR5cGUiO3M6MjoiLT4iO3M6NDoiYXJncyI7YTo1OntpOjA7czo1Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXENhY2hlXEZpbGVzeXN0ZW1BZGFwdGVyKSI7aToxO3M6NjU6IjM5Nzg4ZmE2MDdiOTBjODU1YWYwN2MxYjhmMDg4N2ZhLTUxMmYwNTlhYzJiN2U5MDgwYTY2MTRmYWRkMTg4NTI5IjtpOjI7czoxMzk6IihDbG9zdXJlIGF0IHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvc3JjL3BocERvY3VtZW50b3IvUGFyc2VyL01pZGRsZXdhcmUvQ2FjaGVNaWRkbGV3YXJlLnBocDo2NCkiO2k6MztkOjE7aTo0O2E6MDp7fX19aToyNDthOjY6e3M6NDoiZmlsZSI7czoxMjM6InBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvc3JjL3BocERvY3VtZW50b3IvUGFyc2VyL01pZGRsZXdhcmUvQ2FjaGVNaWRkbGV3YXJlLnBocCI7czo0OiJsaW5lIjtpOjY5O3M6ODoiZnVuY3Rpb24iO3M6MzoiZ2V0IjtzOjU6ImNsYXNzIjtzOjQ3OiJTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlciI7czo0OiJ0eXBlIjtzOjI6Ii0+IjtzOjQ6ImFyZ3MiO2E6Mjp7aTowO3M6NjU6IjM5Nzg4ZmE2MDdiOTBjODU1YWYwN2MxYjhmMDg4N2ZhLTUxMmYwNTlhYzJiN2U5MDgwYTY2MTRmYWRkMTg4NTI5IjtpOjE7czoxMzk6IihDbG9zdXJlIGF0IHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvc3JjL3BocERvY3VtZW50b3IvUGFyc2VyL01pZGRsZXdhcmUvQ2FjaGVNaWRkbGV3YXJlLnBocDo2NCkiO319aToyNTthOjY6e3M6NDoiZmlsZSI7czoxNTY6InBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvcmVmbGVjdGlvbi9zcmMvcGhwRG9jdW1lbnRvci9SZWZsZWN0aW9uL01pZGRsZXdhcmUvQ2hhaW5GYWN0b3J5LnBocCI7czo0OiJsaW5lIjtpOjQzO3M6ODoiZnVuY3Rpb24iO3M6NzoiZXhlY3V0ZSI7czo1OiJjbGFzcyI7czo0NzoicGhwRG9jdW1lbnRvclxQYXJzZXJcTWlkZGxld2FyZVxDYWNoZU1pZGRsZXdhcmUiO3M6NDoidHlwZSI7czoyOiItPiI7czo0OiJhcmdzIjthOjI6e2k6MDtzOjYzOiJvYmplY3QocGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEZpbGVcQ3JlYXRlQ29tbWFuZCkiO2k6MTtzOjE3MjoiKENsb3N1cmUgYXQgcGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3IvcGhwZG9jdW1lbnRvci9yZWZsZWN0aW9uL3NyYy9waHBEb2N1bWVudG9yL1JlZmxlY3Rpb24vTWlkZGxld2FyZS9DaGFpbkZhY3RvcnkucGhwOjQyKSI7fX1pOjI2O2E6Njp7czo0OiJmaWxlIjtzOjEyNjoicGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci9zcmMvcGhwRG9jdW1lbnRvci9QYXJzZXIvTWlkZGxld2FyZS9FbWl0dGluZ01pZGRsZXdhcmUucGhwIjtzOjQ6ImxpbmUiO2k6Mzg7czo4OiJmdW5jdGlvbiI7czo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXE1pZGRsZXdhcmVce2Nsb3N1cmV9IjtzOjU6ImNsYXNzIjtzOjQ4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTWlkZGxld2FyZVxDaGFpbkZhY3RvcnkiO3M6NDoidHlwZSI7czoyOiI6OiI7czo0OiJhcmdzIjthOjE6e2k6MDtzOjYzOiJvYmplY3QocGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEZpbGVcQ3JlYXRlQ29tbWFuZCkiO319aToyNzthOjY6e3M6NDoiZmlsZSI7czoxNTY6InBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvcmVmbGVjdGlvbi9zcmMvcGhwRG9jdW1lbnRvci9SZWZsZWN0aW9uL01pZGRsZXdhcmUvQ2hhaW5GYWN0b3J5LnBocCI7czo0OiJsaW5lIjtpOjQzO3M6ODoiZnVuY3Rpb24iO3M6NzoiZXhlY3V0ZSI7czo1OiJjbGFzcyI7czo1MDoicGhwRG9jdW1lbnRvclxQYXJzZXJcTWlkZGxld2FyZVxFbWl0dGluZ01pZGRsZXdhcmUiO3M6NDoidHlwZSI7czoyOiItPiI7czo0OiJhcmdzIjthOjI6e2k6MDtzOjYzOiJvYmplY3QocGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEZpbGVcQ3JlYXRlQ29tbWFuZCkiO2k6MTtzOjE3MjoiKENsb3N1cmUgYXQgcGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3IvcGhwZG9jdW1lbnRvci9yZWZsZWN0aW9uL3NyYy9waHBEb2N1bWVudG9yL1JlZmxlY3Rpb24vTWlkZGxld2FyZS9DaGFpbkZhY3RvcnkucGhwOjQyKSI7fX1pOjI4O2E6Njp7czo0OiJmaWxlIjtzOjEyNzoicGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci9zcmMvcGhwRG9jdW1lbnRvci9QYXJzZXIvTWlkZGxld2FyZS9TdG9wd2F0Y2hNaWRkbGV3YXJlLnBocCI7czo0OiJsaW5lIjtpOjUwO3M6ODoiZnVuY3Rpb24iO3M6NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxNaWRkbGV3YXJlXHtjbG9zdXJlfSI7czo1OiJjbGFzcyI7czo0ODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXE1pZGRsZXdhcmVcQ2hhaW5GYWN0b3J5IjtzOjQ6InR5cGUiO3M6MjoiOjoiO3M6NDoiYXJncyI7YToxOntpOjA7czo2Mzoib2JqZWN0KHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmFjdG9yeVxGaWxlXENyZWF0ZUNvbW1hbmQpIjt9fWk6Mjk7YTo2OntzOjQ6ImZpbGUiO3M6MTU2OiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9NaWRkbGV3YXJlL0NoYWluRmFjdG9yeS5waHAiO3M6NDoibGluZSI7aTo0MztzOjg6ImZ1bmN0aW9uIjtzOjc6ImV4ZWN1dGUiO3M6NToiY2xhc3MiO3M6NTE6InBocERvY3VtZW50b3JcUGFyc2VyXE1pZGRsZXdhcmVcU3RvcHdhdGNoTWlkZGxld2FyZSI7czo0OiJ0eXBlIjtzOjI6Ii0+IjtzOjQ6ImFyZ3MiO2E6Mjp7aTowO3M6NjM6Im9iamVjdChwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnlcRmlsZVxDcmVhdGVDb21tYW5kKSI7aToxO3M6MTcyOiIoQ2xvc3VyZSBhdCBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9NaWRkbGV3YXJlL0NoYWluRmFjdG9yeS5waHA6NDIpIjt9fWk6MzA7YTo2OntzOjQ6ImZpbGUiO3M6MTQ5OiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9QaHAvRmFjdG9yeS9GaWxlLnBocCI7czo0OiJsaW5lIjtpOjk3O3M6ODoiZnVuY3Rpb24iO3M6NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxNaWRkbGV3YXJlXHtjbG9zdXJlfSI7czo1OiJjbGFzcyI7czo0ODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXE1pZGRsZXdhcmVcQ2hhaW5GYWN0b3J5IjtzOjQ6InR5cGUiO3M6MjoiOjoiO3M6NDoiYXJncyI7YToxOntpOjA7czo2Mzoib2JqZWN0KHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmFjdG9yeVxGaWxlXENyZWF0ZUNvbW1hbmQpIjt9fWk6MzE7YTo2OntzOjQ6ImZpbGUiO3M6MTYwOiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9QaHAvRmFjdG9yeS9BYnN0cmFjdEZhY3RvcnkucGhwIjtzOjQ6ImxpbmUiO2k6NTk7czo4OiJmdW5jdGlvbiI7czo4OiJkb0NyZWF0ZSI7czo1OiJjbGFzcyI7czo0MToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEZpbGUiO3M6NDoidHlwZSI7czoyOiItPiI7czo0OiJhcmdzIjthOjM6e2k6MDtzOjU3OiJvYmplY3QocGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XENvbnRleHRTdGFjaykiO2k6MTtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6MjtzOjYxOiJvYmplY3QocGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9qZWN0RmFjdG9yeVN0cmF0ZWdpZXMpIjt9fWk6MzI7YTo2OntzOjQ6ImZpbGUiO3M6MTUxOiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9QaHAvUHJvamVjdEZhY3RvcnkucGhwIjtzOjQ6ImxpbmUiO2k6MTEwO3M6ODoiZnVuY3Rpb24iO3M6NjoiY3JlYXRlIjtzOjU6ImNsYXNzIjtzOjUyOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnlcQWJzdHJhY3RGYWN0b3J5IjtzOjQ6InR5cGUiO3M6MjoiLT4iO3M6NDoiYXJncyI7YTozOntpOjA7czo1Nzoib2JqZWN0KHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmFjdG9yeVxDb250ZXh0U3RhY2spIjtpOjE7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjI7czo2MToib2JqZWN0KHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdEZhY3RvcnlTdHJhdGVnaWVzKSI7fX1pOjMzO2E6Njp7czo0OiJmaWxlIjtzOjEwMzoicGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci9zcmMvcGhwRG9jdW1lbnRvci9QYXJzZXIvUGFyc2VyLnBocCI7czo0OiJsaW5lIjtpOjIwNTtzOjg6ImZ1bmN0aW9uIjtzOjY6ImNyZWF0ZSI7czo1OiJjbGFzcyI7czo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9qZWN0RmFjdG9yeSI7czo0OiJ0eXBlIjtzOjI6Ii0+IjtzOjQ6ImFyZ3MiO2E6Mjp7aTowO3M6MTY6IlVudGl0bGVkIHByb2plY3QiO2k6MTthOjM2OntpOjA7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjE7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjI7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjM7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjQ7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjU7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjY7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjc7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjg7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjk7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjEwO3M6NDI6Im9iamVjdChwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlKSI7aToxMTtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6MTI7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjEzO3M6NDI6Im9iamVjdChwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlKSI7aToxNDtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6MTU7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjE2O3M6NDI6Im9iamVjdChwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlKSI7aToxNztzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6MTg7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjE5O3M6NDI6Im9iamVjdChwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlKSI7aToyMDtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6MjE7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjIyO3M6NDI6Im9iamVjdChwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlKSI7aToyMztzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6MjQ7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjI1O3M6NDI6Im9iamVjdChwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlKSI7aToyNjtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6Mjc7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjI4O3M6NDI6Im9iamVjdChwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlKSI7aToyOTtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6MzA7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjMxO3M6NDI6Im9iamVjdChwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlKSI7aTozMjtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6MzM7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjM0O3M6NDI6Im9iamVjdChwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlKSI7aTozNTtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO319fWk6MzQ7YTo2OntzOjQ6ImZpbGUiO3M6MTIyOiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3NyYy9waHBEb2N1bWVudG9yL1BpcGVsaW5lL1N0YWdlL1BhcnNlci9QYXJzZUZpbGVzLnBocCI7czo0OiJsaW5lIjtpOjYyO3M6ODoiZnVuY3Rpb24iO3M6NToicGFyc2UiO3M6NToiY2xhc3MiO3M6Mjc6InBocERvY3VtZW50b3JcUGFyc2VyXFBhcnNlciI7czo0OiJ0eXBlIjtzOjI6Ii0+IjtzOjQ6ImFyZ3MiO2E6MTp7aTowO2E6MzY6e2k6MDtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6MTtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6MjtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6MztzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6NDtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6NTtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6NjtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6NztzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6ODtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6OTtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6MTA7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjExO3M6NDI6Im9iamVjdChwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlKSI7aToxMjtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6MTM7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjE0O3M6NDI6Im9iamVjdChwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlKSI7aToxNTtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6MTY7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjE3O3M6NDI6Im9iamVjdChwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlKSI7aToxODtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6MTk7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjIwO3M6NDI6Im9iamVjdChwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlKSI7aToyMTtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6MjI7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjIzO3M6NDI6Im9iamVjdChwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlKSI7aToyNDtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6MjU7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjI2O3M6NDI6Im9iamVjdChwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlKSI7aToyNztzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6Mjg7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjI5O3M6NDI6Im9iamVjdChwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlKSI7aTozMDtzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6MzE7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjMyO3M6NDI6Im9iamVjdChwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlKSI7aTozMztzOjQyOiJvYmplY3QocGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSkiO2k6MzQ7czo0Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUpIjtpOjM1O3M6NDI6Im9iamVjdChwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlKSI7fX19aTozNTthOjY6e3M6NDoiZmlsZSI7czoxMjI6InBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL2xlYWd1ZS9waXBlbGluZS9zcmMvRmluZ2Vyc0Nyb3NzZWRQcm9jZXNzb3IucGhwIjtzOjQ6ImxpbmUiO2k6MTE7czo4OiJmdW5jdGlvbiI7czo4OiJfX2ludm9rZSI7czo1OiJjbGFzcyI7czo0NjoicGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxQYXJzZXJcUGFyc2VGaWxlcyI7czo0OiJ0eXBlIjtzOjI6Ii0+IjtzOjQ6ImFyZ3MiO2E6MTp7aTowO3M6NTE6Im9iamVjdChwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBhcnNlclxQYXlsb2FkKSI7fX1pOjM2O2E6Njp7czo0OiJmaWxlIjtzOjEwNzoicGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3IvbGVhZ3VlL3BpcGVsaW5lL3NyYy9QaXBlbGluZS5waHAiO3M6NDoibGluZSI7aTozNDtzOjg6ImZ1bmN0aW9uIjtzOjc6InByb2Nlc3MiO3M6NToiY2xhc3MiO3M6Mzk6IkxlYWd1ZVxQaXBlbGluZVxGaW5nZXJzQ3Jvc3NlZFByb2Nlc3NvciI7czo0OiJ0eXBlIjtzOjI6Ii0+IjtzOjQ6ImFyZ3MiO2E6MTA6e2k6MDtzOjUxOiJvYmplY3QocGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxQYXJzZXJcUGF5bG9hZCkiO2k6MTtzOjY4OiJvYmplY3QocGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxQYXJzZXJcVHJhbnNmb3JtVG9QYXJzZXJQYXlsb2FkKSI7aToyO3M6NTY6Im9iamVjdChwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBhcnNlclxDb2xsZWN0RmlsZXMpIjtpOjM7czo2Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcR2FyYmFnZUNvbGxlY3RDYWNoZSkiO2k6NDtzOjczOiJvYmplY3QocGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxDYWNoZVxMb2FkUHJvamVjdERlc2NyaXB0b3JGcm9tQ2FjaGUpIjtpOjU7czo2Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcTG9hZEd1aWRlc0Zyb21DYWNoZSkiO2k6NjtzOjU0OiJvYmplY3QocGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxQYXJzZXJcUGFyc2VGaWxlcykiO2k6NztzOjU1OiJvYmplY3QocGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxQYXJzZXJcUGFyc2VHdWlkZXMpIjtpOjg7czo3Mjoib2JqZWN0KHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcU3RvcmVQcm9qZWN0RGVzY3JpcHRvclRvQ2FjaGUpIjtpOjk7czo2MToib2JqZWN0KHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcU3RvcmVHdWlkZXNUb0NhY2hlKSI7fX1pOjM3O2E6Njp7czo0OiJmaWxlIjtzOjEwNzoicGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3IvbGVhZ3VlL3BpcGVsaW5lL3NyYy9QaXBlbGluZS5waHAiO3M6NDoibGluZSI7aTozOTtzOjg6ImZ1bmN0aW9uIjtzOjc6InByb2Nlc3MiO3M6NToiY2xhc3MiO3M6MjQ6IkxlYWd1ZVxQaXBlbGluZVxQaXBlbGluZSI7czo0OiJ0eXBlIjtzOjI6Ii0+IjtzOjQ6ImFyZ3MiO2E6MTp7aTowO3M6NDQ6Im9iamVjdChwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBheWxvYWQpIjt9fWk6Mzg7YTo2OntzOjQ6ImZpbGUiO3M6MTIyOiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9sZWFndWUvcGlwZWxpbmUvc3JjL0ZpbmdlcnNDcm9zc2VkUHJvY2Vzc29yLnBocCI7czo0OiJsaW5lIjtpOjExO3M6ODoiZnVuY3Rpb24iO3M6ODoiX19pbnZva2UiO3M6NToiY2xhc3MiO3M6MjQ6IkxlYWd1ZVxQaXBlbGluZVxQaXBlbGluZSI7czo0OiJ0eXBlIjtzOjI6Ii0+IjtzOjQ6ImFyZ3MiO2E6MTp7aTowO3M6NDQ6Im9iamVjdChwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBheWxvYWQpIjt9fWk6Mzk7YTo2OntzOjQ6ImZpbGUiO3M6MTA3OiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9sZWFndWUvcGlwZWxpbmUvc3JjL1BpcGVsaW5lLnBocCI7czo0OiJsaW5lIjtpOjM0O3M6ODoiZnVuY3Rpb24iO3M6NzoicHJvY2VzcyI7czo1OiJjbGFzcyI7czozOToiTGVhZ3VlXFBpcGVsaW5lXEZpbmdlcnNDcm9zc2VkUHJvY2Vzc29yIjtzOjQ6InR5cGUiO3M6MjoiLT4iO3M6NDoiYXJncyI7YTo1OntpOjA7czo0NDoib2JqZWN0KHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcUGF5bG9hZCkiO2k6MTtzOjMyOiJvYmplY3QoTGVhZ3VlXFBpcGVsaW5lXFBpcGVsaW5lKSI7aToyO3M6MzI6Im9iamVjdChMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUpIjtpOjM7czozMjoib2JqZWN0KExlYWd1ZVxQaXBlbGluZVxQaXBlbGluZSkiO2k6NDtzOjMyOiJvYmplY3QoTGVhZ3VlXFBpcGVsaW5lXFBpcGVsaW5lKSI7fX1pOjQwO2E6Njp7czo0OiJmaWxlIjtzOjEwNzoicGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3IvbGVhZ3VlL3BpcGVsaW5lL3NyYy9QaXBlbGluZS5waHAiO3M6NDoibGluZSI7aTozOTtzOjg6ImZ1bmN0aW9uIjtzOjc6InByb2Nlc3MiO3M6NToiY2xhc3MiO3M6MjQ6IkxlYWd1ZVxQaXBlbGluZVxQaXBlbGluZSI7czo0OiJ0eXBlIjtzOjI6Ii0+IjtzOjQ6ImFyZ3MiO2E6MTp7aTowO2E6MzI6e3M6NjoidGFyZ2V0IjtOO3M6MTI6ImNhY2hlLWZvbGRlciI7TjtzOjg6ImZpbGVuYW1lIjthOjA6e31zOjk6ImRpcmVjdG9yeSI7YTowOnt9czo4OiJlbmNvZGluZyI7TjtzOjEwOiJleHRlbnNpb25zIjthOjA6e31zOjY6Imlnbm9yZSI7YTowOnt9czoxMToiaWdub3JlLXRhZ3MiO2E6MDp7fXM6NjoiaGlkZGVuIjtiOjA7czoxNToiaWdub3JlLXN5bWxpbmtzIjtiOjA7czo3OiJtYXJrZXJzIjthOjA6e31zOjU6InRpdGxlIjtOO3M6NToiZm9yY2UiO2I6MDtzOjg6InZhbGlkYXRlIjtiOjA7czoxMDoidmlzaWJpbGl0eSI7YTowOnt9czoxODoiZGVmYXVsdHBhY2thZ2VuYW1lIjtOO3M6MTA6InNvdXJjZWNvZGUiO2I6MDtzOjg6InRlbXBsYXRlIjthOjA6e31zOjEyOiJleGFtcGxlcy1kaXIiO047czo3OiJzZXR0aW5nIjthOjA6e31zOjEzOiJsaXN0LXNldHRpbmdzIjtiOjA7czoxMjoicGFyc2Vwcml2YXRlIjtiOjA7czo0OiJoZWxwIjtiOjA7czo1OiJxdWlldCI7YjowO3M6NzoidmVyYm9zZSI7YjowO3M6NzoidmVyc2lvbiI7YjowO3M6NDoiYW5zaSI7YjowO3M6MTQ6Im5vLWludGVyYWN0aW9uIjtiOjA7czo2OiJjb25maWciO047czozOiJsb2ciO047czozOiJlbnYiO3M6NDoicHJvZCI7czo4OiJuby1kZWJ1ZyI7YjowO319fWk6NDE7YTo2OntzOjQ6ImZpbGUiO3M6MTI0OiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3NyYy9waHBEb2N1bWVudG9yL0NvbnNvbGUvQ29tbWFuZC9Qcm9qZWN0L1J1bkNvbW1hbmQucGhwIjtzOjQ6ImxpbmUiO2k6MjkwO3M6ODoiZnVuY3Rpb24iO3M6ODoiX19pbnZva2UiO3M6NToiY2xhc3MiO3M6MjQ6IkxlYWd1ZVxQaXBlbGluZVxQaXBlbGluZSI7czo0OiJ0eXBlIjtzOjI6Ii0+IjtzOjQ6ImFyZ3MiO2E6MTp7aTowO2E6MzI6e3M6NjoidGFyZ2V0IjtOO3M6MTI6ImNhY2hlLWZvbGRlciI7TjtzOjg6ImZpbGVuYW1lIjthOjA6e31zOjk6ImRpcmVjdG9yeSI7YTowOnt9czo4OiJlbmNvZGluZyI7TjtzOjEwOiJleHRlbnNpb25zIjthOjA6e31zOjY6Imlnbm9yZSI7YTowOnt9czoxMToiaWdub3JlLXRhZ3MiO2E6MDp7fXM6NjoiaGlkZGVuIjtiOjA7czoxNToiaWdub3JlLXN5bWxpbmtzIjtiOjA7czo3OiJtYXJrZXJzIjthOjA6e31zOjU6InRpdGxlIjtOO3M6NToiZm9yY2UiO2I6MDtzOjg6InZhbGlkYXRlIjtiOjA7czoxMDoidmlzaWJpbGl0eSI7YTowOnt9czoxODoiZGVmYXVsdHBhY2thZ2VuYW1lIjtOO3M6MTA6InNvdXJjZWNvZGUiO2I6MDtzOjg6InRlbXBsYXRlIjthOjA6e31zOjEyOiJleGFtcGxlcy1kaXIiO047czo3OiJzZXR0aW5nIjthOjA6e31zOjEzOiJsaXN0LXNldHRpbmdzIjtiOjA7czoxMjoicGFyc2Vwcml2YXRlIjtiOjA7czo0OiJoZWxwIjtiOjA7czo1OiJxdWlldCI7YjowO3M6NzoidmVyYm9zZSI7YjowO3M6NzoidmVyc2lvbiI7YjowO3M6NDoiYW5zaSI7YjowO3M6MTQ6Im5vLWludGVyYWN0aW9uIjtiOjA7czo2OiJjb25maWciO047czozOiJsb2ciO047czozOiJlbnYiO3M6NDoicHJvZCI7czo4OiJuby1kZWJ1ZyI7YjowO319fWk6NDI7YTo2OntzOjQ6ImZpbGUiO3M6MTEwOiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9zeW1mb255L2NvbnNvbGUvQ29tbWFuZC9Db21tYW5kLnBocCI7czo0OiJsaW5lIjtpOjI5OTtzOjg6ImZ1bmN0aW9uIjtzOjc6ImV4ZWN1dGUiO3M6NToiY2xhc3MiO3M6NDg6InBocERvY3VtZW50b3JcQ29uc29sZVxDb21tYW5kXFByb2plY3RcUnVuQ29tbWFuZCI7czo0OiJ0eXBlIjtzOjI6Ii0+IjtzOjQ6ImFyZ3MiO2E6Mjp7aTowO3M6NDk6Im9iamVjdChTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XEFyZ3ZJbnB1dCkiO2k6MTtzOjU0OiJvYmplY3QoU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcQ29uc29sZU91dHB1dCkiO319aTo0MzthOjY6e3M6NDoiZmlsZSI7czoxMDY6InBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3N5bWZvbnkvY29uc29sZS9BcHBsaWNhdGlvbi5waHAiO3M6NDoibGluZSI7aTo5OTY7czo4OiJmdW5jdGlvbiI7czozOiJydW4iO3M6NToiY2xhc3MiO3M6NDE6IlN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kIjtzOjQ6InR5cGUiO3M6MjoiLT4iO3M6NDoiYXJncyI7YToyOntpOjA7czo0OToib2JqZWN0KFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcQXJndklucHV0KSI7aToxO3M6NTQ6Im9iamVjdChTeW1mb255XENvbXBvbmVudFxDb25zb2xlXE91dHB1dFxDb25zb2xlT3V0cHV0KSI7fX1pOjQ0O2E6Njp7czo0OiJmaWxlIjtzOjEyMzoicGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3Ivc3ltZm9ueS9mcmFtZXdvcmstYnVuZGxlL0NvbnNvbGUvQXBwbGljYXRpb24ucGhwIjtzOjQ6ImxpbmUiO2k6OTY7czo4OiJmdW5jdGlvbiI7czoxMjoiZG9SdW5Db21tYW5kIjtzOjU6ImNsYXNzIjtzOjM3OiJTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEFwcGxpY2F0aW9uIjtzOjQ6InR5cGUiO3M6MjoiLT4iO3M6NDoiYXJncyI7YTozOntpOjA7czo1Njoib2JqZWN0KHBocERvY3VtZW50b3JcQ29uc29sZVxDb21tYW5kXFByb2plY3RcUnVuQ29tbWFuZCkiO2k6MTtzOjQ5OiJvYmplY3QoU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxBcmd2SW5wdXQpIjtpOjI7czo1NDoib2JqZWN0KFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XENvbnNvbGVPdXRwdXQpIjt9fWk6NDU7YTo2OntzOjQ6ImZpbGUiO3M6MTA2OiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9zeW1mb255L2NvbnNvbGUvQXBwbGljYXRpb24ucGhwIjtzOjQ6ImxpbmUiO2k6Mjk1O3M6ODoiZnVuY3Rpb24iO3M6MTI6ImRvUnVuQ29tbWFuZCI7czo1OiJjbGFzcyI7czo1MDoiU3ltZm9ueVxCdW5kbGVcRnJhbWV3b3JrQnVuZGxlXENvbnNvbGVcQXBwbGljYXRpb24iO3M6NDoidHlwZSI7czoyOiItPiI7czo0OiJhcmdzIjthOjM6e2k6MDtzOjU2OiJvYmplY3QocGhwRG9jdW1lbnRvclxDb25zb2xlXENvbW1hbmRcUHJvamVjdFxSdW5Db21tYW5kKSI7aToxO3M6NDk6Im9iamVjdChTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XEFyZ3ZJbnB1dCkiO2k6MjtzOjU0OiJvYmplY3QoU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcQ29uc29sZU91dHB1dCkiO319aTo0NjthOjY6e3M6NDoiZmlsZSI7czoxMjM6InBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3N5bWZvbnkvZnJhbWV3b3JrLWJ1bmRsZS9Db25zb2xlL0FwcGxpY2F0aW9uLnBocCI7czo0OiJsaW5lIjtpOjgyO3M6ODoiZnVuY3Rpb24iO3M6NToiZG9SdW4iO3M6NToiY2xhc3MiO3M6Mzc6IlN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQXBwbGljYXRpb24iO3M6NDoidHlwZSI7czoyOiItPiI7czo0OiJhcmdzIjthOjI6e2k6MDtzOjQ5OiJvYmplY3QoU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxBcmd2SW5wdXQpIjtpOjE7czo1NDoib2JqZWN0KFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XENvbnNvbGVPdXRwdXQpIjt9fWk6NDc7YTo2OntzOjQ6ImZpbGUiO3M6MTA2OiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9zeW1mb255L2NvbnNvbGUvQXBwbGljYXRpb24ucGhwIjtzOjQ6ImxpbmUiO2k6MTY3O3M6ODoiZnVuY3Rpb24iO3M6NToiZG9SdW4iO3M6NToiY2xhc3MiO3M6NTA6IlN5bWZvbnlcQnVuZGxlXEZyYW1ld29ya0J1bmRsZVxDb25zb2xlXEFwcGxpY2F0aW9uIjtzOjQ6InR5cGUiO3M6MjoiLT4iO3M6NDoiYXJncyI7YToyOntpOjA7czo0OToib2JqZWN0KFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcQXJndklucHV0KSI7aToxO3M6NTQ6Im9iamVjdChTeW1mb255XENvbXBvbmVudFxDb25zb2xlXE91dHB1dFxDb25zb2xlT3V0cHV0KSI7fX1pOjQ4O2E6Njp7czo0OiJmaWxlIjtzOjc4OiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL2Jpbi9waHBkb2MiO3M6NDoibGluZSI7aTo0MztzOjg6ImZ1bmN0aW9uIjtzOjM6InJ1biI7czo1OiJjbGFzcyI7czozNzoiU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxBcHBsaWNhdGlvbiI7czo0OiJ0eXBlIjtzOjI6Ii0+IjtzOjQ6ImFyZ3MiO2E6MTp7aTowO3M6NDk6Im9iamVjdChTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XEFyZ3ZJbnB1dCkiO319aTo0OTthOjQ6e3M6NDoiZmlsZSI7czo2MDoiQzpcVXNlcnNcQWRtaW5pc3RyYXRvclwucGhpdmVccGhhcnNccGhwZG9jdW1lbnRvci0zLjIuMS5waGFyIjtzOjQ6ImxpbmUiO2k6MTQ7czo0OiJhcmdzIjthOjE6e2k6MDtzOjc4OiJwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL2Jpbi9waHBkb2MiO31zOjg6ImZ1bmN0aW9uIjtzOjc6InJlcXVpcmUiO319czoxOToiAEV4Y2VwdGlvbgBwcmV2aW91cyI7TjtzOjE0OiJ4ZGVidWdfbWVzc2FnZSI7czo3NDUwNjE6IgpJbnZhbGlkQXJndW1lbnRFeGNlcHRpb246ICJcRmF0aGVyLCIgaXMgbm90IGEgdmFsaWQgRnFzZW4uIGluIHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvcmVmbGVjdGlvbi1jb21tb24vc3JjL0Zxc2VuLnBocCBvbiBsaW5lIDU3CgpDYWxsIFN0YWNrOgogICAgMC42NTk5ICAgIDIyMzQ1MDQgICAxLiB7bWFpbn0oKSBDOlxVc2Vyc1xBZG1pbmlzdHJhdG9yXC5waGl2ZVxwaGFyc1xwaHBkb2N1bWVudG9yLTMuMi4xLnBoYXI6MAogICAgMS4wNjAxICAgIDI1MzMwMjQgICAyLiByZXF1aXJlKCdwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL2Jpbi9waHBkb2MnKSBDOlxVc2Vyc1xBZG1pbmlzdHJhdG9yXC5waGl2ZVxwaGFyc1xwaHBkb2N1bWVudG9yLTMuMi4xLnBoYXI6MTQKICAgIDEuMTEzNSAgICA0NTk2MDQ4ICAgMy4gU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxBcHBsaWNhdGlvbi0+cnVuKCRpbnB1dCA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcQXJndklucHV0IHsgcHJpdmF0ZSAkdG9rZW5zID0gW107IHByaXZhdGUgJHBhcnNlZCA9IFtdOyBwcm90ZWN0ZWQgJGRlZmluaXRpb24gPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0RGVmaW5pdGlvbiB7IHByaXZhdGUgJGFyZ3VtZW50cyA9IFsnY29tbWFuZCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dEFyZ3VtZW50IHsgcHJpdmF0ZSAkbmFtZSA9ICdjb21tYW5kJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdUaGUgY29tbWFuZCB0byBleGVjdXRlJyB9XTsgcHJpdmF0ZSAkcmVxdWlyZWRDb3VudCA9IDE7IHByaXZhdGUgJGxhc3RBcnJheUFyZ3VtZW50ID0gTlVMTDsgcHJpdmF0ZSAkbGFzdE9wdGlvbmFsQXJndW1lbnQgPSBOVUxMOyBwcml2YXRlICRvcHRpb25zID0gWyd0YXJnZXQnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3RhcmdldCc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ3QnOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1BhdGggd2hlcmUgdG8gc3RvcmUgdGhlIGdlbmVyYXRlZCBvdXRwdXQnIH0sICdjYWNoZS1mb2xkZXInID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2NhY2hlLWZvbGRlcic7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdQYXRoIHdoZXJlIHRvIHN0b3JlIHRoZSBjYWNoZSBmaWxlcycgfSwgJ2ZpbGVuYW1lJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdmaWxlbmFtZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ2YnOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRmlsZSB0byBwYXJzZSwgZ2xvYiBwYXR0ZXJucyBhcmUgc3VwcG9ydGVkLiBQcm92aWRlIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIHRvIGFkZFxuICAgICAgICAgICAgICAgIG11bHRpcGxlIGZpbGVzLicgfSwgJ2RpcmVjdG9yeScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZGlyZWN0b3J5JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnZCc7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdkaXJlY3RvcnkgdG8gcGFyc2UsIGdsb2IgcGF0dGVybnMgYXJlIHN1cHBvcnRlZC4gUHJvdmlkZSBtdWx0aXBsZSBvcHRpb25zIG9mIHRoaXMgdHlwZSB0byBhZGRcbiAgICAgICAgICAgICAgICBtdWx0aXBsZSBkaXJlY3Rvcmllcy4nIH0sICdlbmNvZGluZycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZW5jb2RpbmcnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnZW5jb2RpbmcgdG8gYmUgdXNlZCB0byBpbnRlcnByZXQgc291cmNlIGZpbGVzIHdpdGgnIH0sICdleHRlbnNpb25zJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdleHRlbnNpb25zJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnUHJvdmlkZSBtdWx0aXBsZSBvcHRpb25zIG9mIHRoaXMgdHlwZSB0byBhZGQgbXVsdGlwbGUgZXh0ZW5zaW9ucy4gZGVmYXVsdCBpcyBwaHAnIH0sICdpZ25vcmUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2lnbm9yZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ2knOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRmlsZShzKSBhbmQgZGlyZWN0b3JpZXMgKHJlbGF0aXZlIHRvIHRoZSBzb3VyY2UtY29kZSBkaXJlY3RvcnkpIHRoYXQgd2lsbCBiZSBpZ25vcmVkLiBHbG9iIHBhdHRlcm5zIGFyZSBzdXBwb3J0ZWQuIEFkZCBtdWx0aXBsZSBvcHRpb25zIG9mIHRoaXMgdHlwZSBvZiBhZGQgbW9yZSBpZ25vcmUgcGF0dGVybnMnIH0sICdpZ25vcmUtdGFncycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaWdub3JlLXRhZ3MnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdUYWcgdGhhdCB3aWxsIGJlIGlnbm9yZWQsIGRlZmF1bHRzIHRvIG5vbmUuIHBhY2thZ2UsIHN1YnBhY2thZ2UgYW5kIGlnbm9yZSBtYXkgbm90IGJlIGlnbm9yZWQuIEFkZCBtdWx0aXBsZSBvcHRpb25zIG9mIHRoaXMgdHlwZSB0byBpZ25vcmUgbXVsdGlwbGUgdGFncy4nIH0sICdoaWRkZW4nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2hpZGRlbic7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnVXNlIHRoaXMgb3B0aW9uIHRvIHRlbGwgcGhwRG9jdW1lbnRvciB0byBwYXJzZSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgdGhhdCBiZWdpbiB3aXRoIGEgcGVyaW9kICguKSwgYnkgZGVmYXVsdCB0aGVzZSBhcmUgaWdub3JlZCcgfSwgJ2lnbm9yZS1zeW1saW5rcycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaWdub3JlLXN5bWxpbmtzJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdJZ25vcmUgc3ltbGlua3MgdG8gb3RoZXIgZmlsZXMgb3IgZGlyZWN0b3JpZXMsIGRlZmF1bHQgaXMgb24nIH0sICdtYXJrZXJzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdtYXJrZXJzJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnbSc7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdDb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtYXJrZXJzL3RhZ3MgdG8gZmlsdGVyJyB9LCAndGl0bGUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3RpdGxlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1NldHMgdGhlIHRpdGxlIGZvciB0aGlzIHByb2plY3Q7IGRlZmF1bHQgaXMgdGhlIHBocERvY3VtZW50b3IgbG9nbycgfSwgJ2ZvcmNlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdmb3JjZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRm9yY2VzIGEgZnVsbCBidWlsZCBvZiB0aGUgZG9jdW1lbnRhdGlvbiwgZG9lcyBub3QgaW5jcmVtZW50IGV4aXN0aW5nIGRvY3VtZW50YXRpb24nIH0sICd2YWxpZGF0ZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndmFsaWRhdGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1ZhbGlkYXRlcyBldmVyeSBwcm9jZXNzZWQgZmlsZSB1c2luZyBQSFAgTGludCwgY29zdHMgYSBsb3Qgb2YgcGVyZm9ybWFuY2UnIH0sICd2aXNpYmlsaXR5JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd2aXNpYmlsaXR5JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnU3BlY2lmaWVzIHRoZSBwYXJzZSB2aXNpYmlsaXR5IHRoYXQgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiB0aGUgZG9jdW1lbnRhdGlvbi4gQWRkIG11bHRpcGxlIG9wdGlvbnMgb2ZcbiAgICAgICAgICAgICAgICB0aGlzIHR5cGUgdG8gc3BlY2lmeSBtdWx0aXBsZSBsZXZlbHMuKCJwdWJsaWMscHJvdGVjdGVkIiknIH0sICdkZWZhdWx0cGFja2FnZW5hbWUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2RlZmF1bHRwYWNrYWdlbmFtZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdOYW1lIHRvIHVzZSBmb3IgdGhlIGRlZmF1bHQgcGFja2FnZS4nIH0sICdzb3VyY2Vjb2RlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdzb3VyY2Vjb2RlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdXaGV0aGVyIHRvIGluY2x1ZGUgc3ludGF4IGhpZ2hsaWdodGVkIHNvdXJjZSBjb2RlJyB9LCAndGVtcGxhdGUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3RlbXBsYXRlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnTmFtZSBvZiB0aGUgdGVtcGxhdGUgdG8gdXNlIChvcHRpb25hbCknIH0sICdleGFtcGxlcy1kaXInID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2V4YW1wbGVzLWRpcic7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdEaXJlY3RvcnkgdG8gc2VhY2hlciBmb3IgZXhhbXBsZSBmaWxlcyByZWZlcmVuY2VkIGJ5IEBleGFtcGxlIHRhZ3MnIH0sICdzZXR0aW5nJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdzZXR0aW5nJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAncyc7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdQcm92aWRlIGN1c3RvbSBzZXR0aW5nKHMpIGFzICJrZXk9dmFsdWUiLCBydW4gYWdhaW4gd2l0aCA8aW5mbz4tLWxpc3Qtc2V0dGluZ3M8L2luZm8+IGZvciBhIGxpc3QnIH0sICdsaXN0LXNldHRpbmdzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdsaXN0LXNldHRpbmdzJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdSZXR1cm5zIGEgbGlzdCBvZiBhdmFpbGFibGUgc2V0dGluZ3MnIH0sICdwYXJzZXByaXZhdGUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3BhcnNlcHJpdmF0ZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnV2hldGhlciB0byBwYXJzZSBEb2NCbG9ja3MgbWFya2VkIHdpdGggQGludGVybmFsIHRhZycgfSwgJ2hlbHAnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2hlbHAnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdoJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRGlzcGxheSBoZWxwIGZvciB0aGUgZ2l2ZW4gY29tbWFuZC4gV2hlbiBubyBjb21tYW5kIGlzIGdpdmVuIGRpc3BsYXkgaGVscCBmb3IgdGhlIDxpbmZvPmxpc3Q8L2luZm8+IGNvbW1hbmQnIH0sICdxdWlldCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAncXVpZXQnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdxJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRG8gbm90IG91dHB1dCBhbnkgbWVzc2FnZScgfSwgJ3ZlcmJvc2UnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3ZlcmJvc2UnOyBwcml2YXRlICRzaG9ydGN1dCA9ICd2fHZ2fHZ2dic7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0luY3JlYXNlIHRoZSB2ZXJib3NpdHkgb2YgbWVzc2FnZXM6IDEgZm9yIG5vcm1hbCBvdXRwdXQsIDIgZm9yIG1vcmUgdmVyYm9zZSBvdXRwdXQgYW5kIDMgZm9yIGRlYnVnJyB9LCAndmVyc2lvbicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndmVyc2lvbic7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ1YnOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdEaXNwbGF5IHRoaXMgYXBwbGljYXRpb24gdmVyc2lvbicgfSwgJ2Fuc2knID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2Fuc2knOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxNjsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdGb3JjZSAob3IgZGlzYWJsZSAtLW5vLWFuc2kpIEFOU0kgb3V0cHV0JyB9LCAnbm8taW50ZXJhY3Rpb24nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ25vLWludGVyYWN0aW9uJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnbic7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0RvIG5vdCBhc2sgYW55IGludGVyYWN0aXZlIHF1ZXN0aW9uJyB9LCAnY29uZmlnJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdjb25maWcnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdjJzsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdMb2NhdGlvbiBvZiBhIGN1c3RvbSBjb25maWd1cmF0aW9uIGZpbGUnIH0sICdsb2cnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2xvZyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdMb2cgZmlsZSB0byB3cml0ZSB0bycgfSwgJ2VudicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZW52JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnZSc7IHByaXZhdGUgJG1vZGUgPSAyOyBwcml2YXRlICRkZWZhdWx0ID0gJ3Byb2QnOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdUaGUgRW52aXJvbm1lbnQgbmFtZS4nIH0sICduby1kZWJ1ZycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnbm8tZGVidWcnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1N3aXRjaCBvZmYgZGVidWcgbW9kZS4nIH1dOyBwcml2YXRlICRuZWdhdGlvbnMgPSBbJ25vLWFuc2knID0+ICdhbnNpJ107IHByaXZhdGUgJHNob3J0Y3V0cyA9IFsndCcgPT4gJ3RhcmdldCcsICdmJyA9PiAnZmlsZW5hbWUnLCAnZCcgPT4gJ2RpcmVjdG9yeScsICdpJyA9PiAnaWdub3JlJywgJ20nID0+ICdtYXJrZXJzJywgJ3MnID0+ICdzZXR0aW5nJywgJ2gnID0+ICdoZWxwJywgJ3EnID0+ICdxdWlldCcsICd2JyA9PiAndmVyYm9zZScsICd2dicgPT4gJ3ZlcmJvc2UnLCAndnZ2JyA9PiAndmVyYm9zZScsICdWJyA9PiAndmVyc2lvbicsICduJyA9PiAnbm8taW50ZXJhY3Rpb24nLCAnYycgPT4gJ2NvbmZpZycsICdlJyA9PiAnZW52J10gfTsgcHJvdGVjdGVkICRzdHJlYW0gPSBOVUxMOyBwcm90ZWN0ZWQgJG9wdGlvbnMgPSBbXTsgcHJvdGVjdGVkICRhcmd1bWVudHMgPSBbJ2NvbW1hbmQnID0+ICdwcm9qZWN0OnJ1biddOyBwcm90ZWN0ZWQgJGludGVyYWN0aXZlID0gVFJVRSB9LCAkb3V0cHV0ID0gPz8/KSBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL2Jpbi9waHBkb2M6NDMKICAgIDEuMjAxOSAgICA0Nzg2ODAwICAgNC4gU3ltZm9ueVxCdW5kbGVcRnJhbWV3b3JrQnVuZGxlXENvbnNvbGVcQXBwbGljYXRpb24tPmRvUnVuKCRpbnB1dCA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcQXJndklucHV0IHsgcHJpdmF0ZSAkdG9rZW5zID0gW107IHByaXZhdGUgJHBhcnNlZCA9IFtdOyBwcm90ZWN0ZWQgJGRlZmluaXRpb24gPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0RGVmaW5pdGlvbiB7IHByaXZhdGUgJGFyZ3VtZW50cyA9IFsnY29tbWFuZCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dEFyZ3VtZW50IHsgcHJpdmF0ZSAkbmFtZSA9ICdjb21tYW5kJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdUaGUgY29tbWFuZCB0byBleGVjdXRlJyB9XTsgcHJpdmF0ZSAkcmVxdWlyZWRDb3VudCA9IDE7IHByaXZhdGUgJGxhc3RBcnJheUFyZ3VtZW50ID0gTlVMTDsgcHJpdmF0ZSAkbGFzdE9wdGlvbmFsQXJndW1lbnQgPSBOVUxMOyBwcml2YXRlICRvcHRpb25zID0gWyd0YXJnZXQnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3RhcmdldCc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ3QnOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1BhdGggd2hlcmUgdG8gc3RvcmUgdGhlIGdlbmVyYXRlZCBvdXRwdXQnIH0sICdjYWNoZS1mb2xkZXInID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2NhY2hlLWZvbGRlcic7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdQYXRoIHdoZXJlIHRvIHN0b3JlIHRoZSBjYWNoZSBmaWxlcycgfSwgJ2ZpbGVuYW1lJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdmaWxlbmFtZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ2YnOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRmlsZSB0byBwYXJzZSwgZ2xvYiBwYXR0ZXJucyBhcmUgc3VwcG9ydGVkLiBQcm92aWRlIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIHRvIGFkZFxuICAgICAgICAgICAgICAgIG11bHRpcGxlIGZpbGVzLicgfSwgJ2RpcmVjdG9yeScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZGlyZWN0b3J5JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnZCc7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdkaXJlY3RvcnkgdG8gcGFyc2UsIGdsb2IgcGF0dGVybnMgYXJlIHN1cHBvcnRlZC4gUHJvdmlkZSBtdWx0aXBsZSBvcHRpb25zIG9mIHRoaXMgdHlwZSB0byBhZGRcbiAgICAgICAgICAgICAgICBtdWx0aXBsZSBkaXJlY3Rvcmllcy4nIH0sICdlbmNvZGluZycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZW5jb2RpbmcnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnZW5jb2RpbmcgdG8gYmUgdXNlZCB0byBpbnRlcnByZXQgc291cmNlIGZpbGVzIHdpdGgnIH0sICdleHRlbnNpb25zJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdleHRlbnNpb25zJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnUHJvdmlkZSBtdWx0aXBsZSBvcHRpb25zIG9mIHRoaXMgdHlwZSB0byBhZGQgbXVsdGlwbGUgZXh0ZW5zaW9ucy4gZGVmYXVsdCBpcyBwaHAnIH0sICdpZ25vcmUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2lnbm9yZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ2knOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRmlsZShzKSBhbmQgZGlyZWN0b3JpZXMgKHJlbGF0aXZlIHRvIHRoZSBzb3VyY2UtY29kZSBkaXJlY3RvcnkpIHRoYXQgd2lsbCBiZSBpZ25vcmVkLiBHbG9iIHBhdHRlcm5zIGFyZSBzdXBwb3J0ZWQuIEFkZCBtdWx0aXBsZSBvcHRpb25zIG9mIHRoaXMgdHlwZSBvZiBhZGQgbW9yZSBpZ25vcmUgcGF0dGVybnMnIH0sICdpZ25vcmUtdGFncycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaWdub3JlLXRhZ3MnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdUYWcgdGhhdCB3aWxsIGJlIGlnbm9yZWQsIGRlZmF1bHRzIHRvIG5vbmUuIHBhY2thZ2UsIHN1YnBhY2thZ2UgYW5kIGlnbm9yZSBtYXkgbm90IGJlIGlnbm9yZWQuIEFkZCBtdWx0aXBsZSBvcHRpb25zIG9mIHRoaXMgdHlwZSB0byBpZ25vcmUgbXVsdGlwbGUgdGFncy4nIH0sICdoaWRkZW4nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2hpZGRlbic7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnVXNlIHRoaXMgb3B0aW9uIHRvIHRlbGwgcGhwRG9jdW1lbnRvciB0byBwYXJzZSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgdGhhdCBiZWdpbiB3aXRoIGEgcGVyaW9kICguKSwgYnkgZGVmYXVsdCB0aGVzZSBhcmUgaWdub3JlZCcgfSwgJ2lnbm9yZS1zeW1saW5rcycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaWdub3JlLXN5bWxpbmtzJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdJZ25vcmUgc3ltbGlua3MgdG8gb3RoZXIgZmlsZXMgb3IgZGlyZWN0b3JpZXMsIGRlZmF1bHQgaXMgb24nIH0sICdtYXJrZXJzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdtYXJrZXJzJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnbSc7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdDb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtYXJrZXJzL3RhZ3MgdG8gZmlsdGVyJyB9LCAndGl0bGUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3RpdGxlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1NldHMgdGhlIHRpdGxlIGZvciB0aGlzIHByb2plY3Q7IGRlZmF1bHQgaXMgdGhlIHBocERvY3VtZW50b3IgbG9nbycgfSwgJ2ZvcmNlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdmb3JjZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRm9yY2VzIGEgZnVsbCBidWlsZCBvZiB0aGUgZG9jdW1lbnRhdGlvbiwgZG9lcyBub3QgaW5jcmVtZW50IGV4aXN0aW5nIGRvY3VtZW50YXRpb24nIH0sICd2YWxpZGF0ZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndmFsaWRhdGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1ZhbGlkYXRlcyBldmVyeSBwcm9jZXNzZWQgZmlsZSB1c2luZyBQSFAgTGludCwgY29zdHMgYSBsb3Qgb2YgcGVyZm9ybWFuY2UnIH0sICd2aXNpYmlsaXR5JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd2aXNpYmlsaXR5JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnU3BlY2lmaWVzIHRoZSBwYXJzZSB2aXNpYmlsaXR5IHRoYXQgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiB0aGUgZG9jdW1lbnRhdGlvbi4gQWRkIG11bHRpcGxlIG9wdGlvbnMgb2ZcbiAgICAgICAgICAgICAgICB0aGlzIHR5cGUgdG8gc3BlY2lmeSBtdWx0aXBsZSBsZXZlbHMuKCJwdWJsaWMscHJvdGVjdGVkIiknIH0sICdkZWZhdWx0cGFja2FnZW5hbWUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2RlZmF1bHRwYWNrYWdlbmFtZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdOYW1lIHRvIHVzZSBmb3IgdGhlIGRlZmF1bHQgcGFja2FnZS4nIH0sICdzb3VyY2Vjb2RlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdzb3VyY2Vjb2RlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdXaGV0aGVyIHRvIGluY2x1ZGUgc3ludGF4IGhpZ2hsaWdodGVkIHNvdXJjZSBjb2RlJyB9LCAndGVtcGxhdGUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3RlbXBsYXRlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnTmFtZSBvZiB0aGUgdGVtcGxhdGUgdG8gdXNlIChvcHRpb25hbCknIH0sICdleGFtcGxlcy1kaXInID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2V4YW1wbGVzLWRpcic7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdEaXJlY3RvcnkgdG8gc2VhY2hlciBmb3IgZXhhbXBsZSBmaWxlcyByZWZlcmVuY2VkIGJ5IEBleGFtcGxlIHRhZ3MnIH0sICdzZXR0aW5nJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdzZXR0aW5nJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAncyc7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdQcm92aWRlIGN1c3RvbSBzZXR0aW5nKHMpIGFzICJrZXk9dmFsdWUiLCBydW4gYWdhaW4gd2l0aCA8aW5mbz4tLWxpc3Qtc2V0dGluZ3M8L2luZm8+IGZvciBhIGxpc3QnIH0sICdsaXN0LXNldHRpbmdzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdsaXN0LXNldHRpbmdzJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdSZXR1cm5zIGEgbGlzdCBvZiBhdmFpbGFibGUgc2V0dGluZ3MnIH0sICdwYXJzZXByaXZhdGUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3BhcnNlcHJpdmF0ZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnV2hldGhlciB0byBwYXJzZSBEb2NCbG9ja3MgbWFya2VkIHdpdGggQGludGVybmFsIHRhZycgfSwgJ2hlbHAnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2hlbHAnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdoJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRGlzcGxheSBoZWxwIGZvciB0aGUgZ2l2ZW4gY29tbWFuZC4gV2hlbiBubyBjb21tYW5kIGlzIGdpdmVuIGRpc3BsYXkgaGVscCBmb3IgdGhlIDxpbmZvPmxpc3Q8L2luZm8+IGNvbW1hbmQnIH0sICdxdWlldCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAncXVpZXQnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdxJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRG8gbm90IG91dHB1dCBhbnkgbWVzc2FnZScgfSwgJ3ZlcmJvc2UnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3ZlcmJvc2UnOyBwcml2YXRlICRzaG9ydGN1dCA9ICd2fHZ2fHZ2dic7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0luY3JlYXNlIHRoZSB2ZXJib3NpdHkgb2YgbWVzc2FnZXM6IDEgZm9yIG5vcm1hbCBvdXRwdXQsIDIgZm9yIG1vcmUgdmVyYm9zZSBvdXRwdXQgYW5kIDMgZm9yIGRlYnVnJyB9LCAndmVyc2lvbicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndmVyc2lvbic7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ1YnOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdEaXNwbGF5IHRoaXMgYXBwbGljYXRpb24gdmVyc2lvbicgfSwgJ2Fuc2knID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2Fuc2knOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxNjsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdGb3JjZSAob3IgZGlzYWJsZSAtLW5vLWFuc2kpIEFOU0kgb3V0cHV0JyB9LCAnbm8taW50ZXJhY3Rpb24nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ25vLWludGVyYWN0aW9uJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnbic7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0RvIG5vdCBhc2sgYW55IGludGVyYWN0aXZlIHF1ZXN0aW9uJyB9LCAnY29uZmlnJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdjb25maWcnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdjJzsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdMb2NhdGlvbiBvZiBhIGN1c3RvbSBjb25maWd1cmF0aW9uIGZpbGUnIH0sICdsb2cnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2xvZyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdMb2cgZmlsZSB0byB3cml0ZSB0bycgfSwgJ2VudicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZW52JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnZSc7IHByaXZhdGUgJG1vZGUgPSAyOyBwcml2YXRlICRkZWZhdWx0ID0gJ3Byb2QnOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdUaGUgRW52aXJvbm1lbnQgbmFtZS4nIH0sICduby1kZWJ1ZycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnbm8tZGVidWcnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1N3aXRjaCBvZmYgZGVidWcgbW9kZS4nIH1dOyBwcml2YXRlICRuZWdhdGlvbnMgPSBbJ25vLWFuc2knID0+ICdhbnNpJ107IHByaXZhdGUgJHNob3J0Y3V0cyA9IFsndCcgPT4gJ3RhcmdldCcsICdmJyA9PiAnZmlsZW5hbWUnLCAnZCcgPT4gJ2RpcmVjdG9yeScsICdpJyA9PiAnaWdub3JlJywgJ20nID0+ICdtYXJrZXJzJywgJ3MnID0+ICdzZXR0aW5nJywgJ2gnID0+ICdoZWxwJywgJ3EnID0+ICdxdWlldCcsICd2JyA9PiAndmVyYm9zZScsICd2dicgPT4gJ3ZlcmJvc2UnLCAndnZ2JyA9PiAndmVyYm9zZScsICdWJyA9PiAndmVyc2lvbicsICduJyA9PiAnbm8taW50ZXJhY3Rpb24nLCAnYycgPT4gJ2NvbmZpZycsICdlJyA9PiAnZW52J10gfTsgcHJvdGVjdGVkICRzdHJlYW0gPSBOVUxMOyBwcm90ZWN0ZWQgJG9wdGlvbnMgPSBbXTsgcHJvdGVjdGVkICRhcmd1bWVudHMgPSBbJ2NvbW1hbmQnID0+ICdwcm9qZWN0OnJ1biddOyBwcm90ZWN0ZWQgJGludGVyYWN0aXZlID0gVFJVRSB9LCAkb3V0cHV0ID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcQ29uc29sZU91dHB1dCB7IHByaXZhdGUgJHN0ZGVyciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XFN0cmVhbU91dHB1dCB7IHByaXZhdGUgJHN0cmVhbSA9IHJlc291cmNlKDE1OSkgb2YgdHlwZSAoc3RyZWFtKTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XE91dHB1dH12ZXJib3NpdHkgPSAzMjsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XE91dHB1dH1mb3JtYXR0ZXIgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXIgeyBwcml2YXRlICRkZWNvcmF0ZWQgPSBUUlVFOyBwcml2YXRlICRzdHlsZXMgPSBbJ2Vycm9yJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IC4uLiB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJ3doaXRlJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICdyZWQnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl07IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH0sICdpbmZvJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IC4uLiB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJ2dyZWVuJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl07IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH0sICdjb21tZW50JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IC4uLiB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJ3llbGxvdyc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnJzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRocmVmID0gTlVMTDsgcHJpdmF0ZSAkaGFuZGxlc0hyZWZHcmFjZWZ1bGx5ID0gTlVMTCB9LCAncXVlc3Rpb24nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlIHsgcHJpdmF0ZSAkY29sb3IgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbG9yIHsgLi4uIH07IHByaXZhdGUgJGZvcmVncm91bmQgPSAnYmxhY2snOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJ2N5YW4nOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl07IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH1dOyBwcml2YXRlICRzdHlsZVN0YWNrID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGVTdGFjayB7IHByaXZhdGUgJHN0eWxlcyA9IFtdOyBwcml2YXRlICRlbXB0eVN0eWxlID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyBwcml2YXRlICRjb2xvciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29sb3IgeyAuLi4gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICcnOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJyc7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IFRSVUUgfSB9IH0gfTsgcHJpdmF0ZSAkY29uc29sZVNlY3Rpb25PdXRwdXRzID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXE91dHB1dFxTdHJlYW1PdXRwdXR9c3RyZWFtID0gcmVzb3VyY2UoMTQ0KSBvZiB0eXBlIChzdHJlYW0pOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcT3V0cHV0fXZlcmJvc2l0eSA9IDMyOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcT3V0cHV0fWZvcm1hdHRlciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlciB7IHByaXZhdGUgJGRlY29yYXRlZCA9IFRSVUU7IHByaXZhdGUgJHN0eWxlcyA9IFsnZXJyb3InID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlIHsgcHJpdmF0ZSAkY29sb3IgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbG9yIHsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICczNyc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnNDEnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl0gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICd3aGl0ZSc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAncmVkJzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFtdOyBwcml2YXRlICRocmVmID0gTlVMTDsgcHJpdmF0ZSAkaGFuZGxlc0hyZWZHcmFjZWZ1bGx5ID0gTlVMTCB9LCAnaW5mbycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyBwcml2YXRlICRjb2xvciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29sb3IgeyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJzMyJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl0gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICdncmVlbic7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnJzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFtdOyBwcml2YXRlICRocmVmID0gTlVMTDsgcHJpdmF0ZSAkaGFuZGxlc0hyZWZHcmFjZWZ1bGx5ID0gTlVMTCB9LCAnY29tbWVudCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyBwcml2YXRlICRjb2xvciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29sb3IgeyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJzMzJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl0gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICd5ZWxsb3cnOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJyc7IHByaXZhdGUgJG9wdGlvbnMgPSBbXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IE5VTEwgfSwgJ3F1ZXN0aW9uJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IHByaXZhdGUgJGZvcmVncm91bmQgPSAnMzAnOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJzQ2JzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFsuLi5dIH07IHByaXZhdGUgJGZvcmVncm91bmQgPSAnYmxhY2snOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJ2N5YW4nOyBwcml2YXRlICRvcHRpb25zID0gW107IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH1dOyBwcml2YXRlICRzdHlsZVN0YWNrID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGVTdGFjayB7IHByaXZhdGUgJHN0eWxlcyA9IFtdOyBwcml2YXRlICRlbXB0eVN0eWxlID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyBwcml2YXRlICRjb2xvciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29sb3IgeyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJyc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnJzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFsuLi5dIH07IHByaXZhdGUgJGZvcmVncm91bmQgPSAnJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gW107IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBUUlVFIH0gfSB9IH0pIHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3N5bWZvbnkvY29uc29sZS9BcHBsaWNhdGlvbi5waHA6MTY3CiAgICAxLjYwNDIgICAxNzM4OTc2MCAgIDUuIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQXBwbGljYXRpb24tPmRvUnVuKCRpbnB1dCA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcQXJndklucHV0IHsgcHJpdmF0ZSAkdG9rZW5zID0gW107IHByaXZhdGUgJHBhcnNlZCA9IFtdOyBwcm90ZWN0ZWQgJGRlZmluaXRpb24gPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0RGVmaW5pdGlvbiB7IHByaXZhdGUgJGFyZ3VtZW50cyA9IFsnY29tbWFuZCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dEFyZ3VtZW50IHsgcHJpdmF0ZSAkbmFtZSA9ICdjb21tYW5kJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdUaGUgY29tbWFuZCB0byBleGVjdXRlJyB9XTsgcHJpdmF0ZSAkcmVxdWlyZWRDb3VudCA9IDE7IHByaXZhdGUgJGxhc3RBcnJheUFyZ3VtZW50ID0gTlVMTDsgcHJpdmF0ZSAkbGFzdE9wdGlvbmFsQXJndW1lbnQgPSBOVUxMOyBwcml2YXRlICRvcHRpb25zID0gWyd0YXJnZXQnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3RhcmdldCc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ3QnOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1BhdGggd2hlcmUgdG8gc3RvcmUgdGhlIGdlbmVyYXRlZCBvdXRwdXQnIH0sICdjYWNoZS1mb2xkZXInID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2NhY2hlLWZvbGRlcic7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdQYXRoIHdoZXJlIHRvIHN0b3JlIHRoZSBjYWNoZSBmaWxlcycgfSwgJ2ZpbGVuYW1lJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdmaWxlbmFtZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ2YnOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRmlsZSB0byBwYXJzZSwgZ2xvYiBwYXR0ZXJucyBhcmUgc3VwcG9ydGVkLiBQcm92aWRlIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIHRvIGFkZFxuICAgICAgICAgICAgICAgIG11bHRpcGxlIGZpbGVzLicgfSwgJ2RpcmVjdG9yeScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZGlyZWN0b3J5JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnZCc7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdkaXJlY3RvcnkgdG8gcGFyc2UsIGdsb2IgcGF0dGVybnMgYXJlIHN1cHBvcnRlZC4gUHJvdmlkZSBtdWx0aXBsZSBvcHRpb25zIG9mIHRoaXMgdHlwZSB0byBhZGRcbiAgICAgICAgICAgICAgICBtdWx0aXBsZSBkaXJlY3Rvcmllcy4nIH0sICdlbmNvZGluZycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZW5jb2RpbmcnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnZW5jb2RpbmcgdG8gYmUgdXNlZCB0byBpbnRlcnByZXQgc291cmNlIGZpbGVzIHdpdGgnIH0sICdleHRlbnNpb25zJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdleHRlbnNpb25zJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnUHJvdmlkZSBtdWx0aXBsZSBvcHRpb25zIG9mIHRoaXMgdHlwZSB0byBhZGQgbXVsdGlwbGUgZXh0ZW5zaW9ucy4gZGVmYXVsdCBpcyBwaHAnIH0sICdpZ25vcmUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2lnbm9yZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ2knOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRmlsZShzKSBhbmQgZGlyZWN0b3JpZXMgKHJlbGF0aXZlIHRvIHRoZSBzb3VyY2UtY29kZSBkaXJlY3RvcnkpIHRoYXQgd2lsbCBiZSBpZ25vcmVkLiBHbG9iIHBhdHRlcm5zIGFyZSBzdXBwb3J0ZWQuIEFkZCBtdWx0aXBsZSBvcHRpb25zIG9mIHRoaXMgdHlwZSBvZiBhZGQgbW9yZSBpZ25vcmUgcGF0dGVybnMnIH0sICdpZ25vcmUtdGFncycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaWdub3JlLXRhZ3MnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdUYWcgdGhhdCB3aWxsIGJlIGlnbm9yZWQsIGRlZmF1bHRzIHRvIG5vbmUuIHBhY2thZ2UsIHN1YnBhY2thZ2UgYW5kIGlnbm9yZSBtYXkgbm90IGJlIGlnbm9yZWQuIEFkZCBtdWx0aXBsZSBvcHRpb25zIG9mIHRoaXMgdHlwZSB0byBpZ25vcmUgbXVsdGlwbGUgdGFncy4nIH0sICdoaWRkZW4nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2hpZGRlbic7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnVXNlIHRoaXMgb3B0aW9uIHRvIHRlbGwgcGhwRG9jdW1lbnRvciB0byBwYXJzZSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgdGhhdCBiZWdpbiB3aXRoIGEgcGVyaW9kICguKSwgYnkgZGVmYXVsdCB0aGVzZSBhcmUgaWdub3JlZCcgfSwgJ2lnbm9yZS1zeW1saW5rcycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaWdub3JlLXN5bWxpbmtzJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdJZ25vcmUgc3ltbGlua3MgdG8gb3RoZXIgZmlsZXMgb3IgZGlyZWN0b3JpZXMsIGRlZmF1bHQgaXMgb24nIH0sICdtYXJrZXJzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdtYXJrZXJzJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnbSc7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdDb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtYXJrZXJzL3RhZ3MgdG8gZmlsdGVyJyB9LCAndGl0bGUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3RpdGxlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1NldHMgdGhlIHRpdGxlIGZvciB0aGlzIHByb2plY3Q7IGRlZmF1bHQgaXMgdGhlIHBocERvY3VtZW50b3IgbG9nbycgfSwgJ2ZvcmNlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdmb3JjZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRm9yY2VzIGEgZnVsbCBidWlsZCBvZiB0aGUgZG9jdW1lbnRhdGlvbiwgZG9lcyBub3QgaW5jcmVtZW50IGV4aXN0aW5nIGRvY3VtZW50YXRpb24nIH0sICd2YWxpZGF0ZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndmFsaWRhdGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1ZhbGlkYXRlcyBldmVyeSBwcm9jZXNzZWQgZmlsZSB1c2luZyBQSFAgTGludCwgY29zdHMgYSBsb3Qgb2YgcGVyZm9ybWFuY2UnIH0sICd2aXNpYmlsaXR5JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd2aXNpYmlsaXR5JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnU3BlY2lmaWVzIHRoZSBwYXJzZSB2aXNpYmlsaXR5IHRoYXQgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiB0aGUgZG9jdW1lbnRhdGlvbi4gQWRkIG11bHRpcGxlIG9wdGlvbnMgb2ZcbiAgICAgICAgICAgICAgICB0aGlzIHR5cGUgdG8gc3BlY2lmeSBtdWx0aXBsZSBsZXZlbHMuKCJwdWJsaWMscHJvdGVjdGVkIiknIH0sICdkZWZhdWx0cGFja2FnZW5hbWUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2RlZmF1bHRwYWNrYWdlbmFtZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdOYW1lIHRvIHVzZSBmb3IgdGhlIGRlZmF1bHQgcGFja2FnZS4nIH0sICdzb3VyY2Vjb2RlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdzb3VyY2Vjb2RlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdXaGV0aGVyIHRvIGluY2x1ZGUgc3ludGF4IGhpZ2hsaWdodGVkIHNvdXJjZSBjb2RlJyB9LCAndGVtcGxhdGUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3RlbXBsYXRlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnTmFtZSBvZiB0aGUgdGVtcGxhdGUgdG8gdXNlIChvcHRpb25hbCknIH0sICdleGFtcGxlcy1kaXInID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2V4YW1wbGVzLWRpcic7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdEaXJlY3RvcnkgdG8gc2VhY2hlciBmb3IgZXhhbXBsZSBmaWxlcyByZWZlcmVuY2VkIGJ5IEBleGFtcGxlIHRhZ3MnIH0sICdzZXR0aW5nJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdzZXR0aW5nJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAncyc7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdQcm92aWRlIGN1c3RvbSBzZXR0aW5nKHMpIGFzICJrZXk9dmFsdWUiLCBydW4gYWdhaW4gd2l0aCA8aW5mbz4tLWxpc3Qtc2V0dGluZ3M8L2luZm8+IGZvciBhIGxpc3QnIH0sICdsaXN0LXNldHRpbmdzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdsaXN0LXNldHRpbmdzJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdSZXR1cm5zIGEgbGlzdCBvZiBhdmFpbGFibGUgc2V0dGluZ3MnIH0sICdwYXJzZXByaXZhdGUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3BhcnNlcHJpdmF0ZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnV2hldGhlciB0byBwYXJzZSBEb2NCbG9ja3MgbWFya2VkIHdpdGggQGludGVybmFsIHRhZycgfSwgJ2hlbHAnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2hlbHAnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdoJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRGlzcGxheSBoZWxwIGZvciB0aGUgZ2l2ZW4gY29tbWFuZC4gV2hlbiBubyBjb21tYW5kIGlzIGdpdmVuIGRpc3BsYXkgaGVscCBmb3IgdGhlIDxpbmZvPmxpc3Q8L2luZm8+IGNvbW1hbmQnIH0sICdxdWlldCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAncXVpZXQnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdxJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRG8gbm90IG91dHB1dCBhbnkgbWVzc2FnZScgfSwgJ3ZlcmJvc2UnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3ZlcmJvc2UnOyBwcml2YXRlICRzaG9ydGN1dCA9ICd2fHZ2fHZ2dic7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0luY3JlYXNlIHRoZSB2ZXJib3NpdHkgb2YgbWVzc2FnZXM6IDEgZm9yIG5vcm1hbCBvdXRwdXQsIDIgZm9yIG1vcmUgdmVyYm9zZSBvdXRwdXQgYW5kIDMgZm9yIGRlYnVnJyB9LCAndmVyc2lvbicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndmVyc2lvbic7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ1YnOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdEaXNwbGF5IHRoaXMgYXBwbGljYXRpb24gdmVyc2lvbicgfSwgJ2Fuc2knID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2Fuc2knOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxNjsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdGb3JjZSAob3IgZGlzYWJsZSAtLW5vLWFuc2kpIEFOU0kgb3V0cHV0JyB9LCAnbm8taW50ZXJhY3Rpb24nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ25vLWludGVyYWN0aW9uJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnbic7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0RvIG5vdCBhc2sgYW55IGludGVyYWN0aXZlIHF1ZXN0aW9uJyB9LCAnY29uZmlnJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdjb25maWcnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdjJzsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdMb2NhdGlvbiBvZiBhIGN1c3RvbSBjb25maWd1cmF0aW9uIGZpbGUnIH0sICdsb2cnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2xvZyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdMb2cgZmlsZSB0byB3cml0ZSB0bycgfSwgJ2VudicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZW52JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnZSc7IHByaXZhdGUgJG1vZGUgPSAyOyBwcml2YXRlICRkZWZhdWx0ID0gJ3Byb2QnOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdUaGUgRW52aXJvbm1lbnQgbmFtZS4nIH0sICduby1kZWJ1ZycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnbm8tZGVidWcnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1N3aXRjaCBvZmYgZGVidWcgbW9kZS4nIH1dOyBwcml2YXRlICRuZWdhdGlvbnMgPSBbJ25vLWFuc2knID0+ICdhbnNpJ107IHByaXZhdGUgJHNob3J0Y3V0cyA9IFsndCcgPT4gJ3RhcmdldCcsICdmJyA9PiAnZmlsZW5hbWUnLCAnZCcgPT4gJ2RpcmVjdG9yeScsICdpJyA9PiAnaWdub3JlJywgJ20nID0+ICdtYXJrZXJzJywgJ3MnID0+ICdzZXR0aW5nJywgJ2gnID0+ICdoZWxwJywgJ3EnID0+ICdxdWlldCcsICd2JyA9PiAndmVyYm9zZScsICd2dicgPT4gJ3ZlcmJvc2UnLCAndnZ2JyA9PiAndmVyYm9zZScsICdWJyA9PiAndmVyc2lvbicsICduJyA9PiAnbm8taW50ZXJhY3Rpb24nLCAnYycgPT4gJ2NvbmZpZycsICdlJyA9PiAnZW52J10gfTsgcHJvdGVjdGVkICRzdHJlYW0gPSBOVUxMOyBwcm90ZWN0ZWQgJG9wdGlvbnMgPSBbXTsgcHJvdGVjdGVkICRhcmd1bWVudHMgPSBbJ2NvbW1hbmQnID0+ICdwcm9qZWN0OnJ1biddOyBwcm90ZWN0ZWQgJGludGVyYWN0aXZlID0gVFJVRSB9LCAkb3V0cHV0ID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcQ29uc29sZU91dHB1dCB7IHByaXZhdGUgJHN0ZGVyciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XFN0cmVhbU91dHB1dCB7IHByaXZhdGUgJHN0cmVhbSA9IHJlc291cmNlKDE1OSkgb2YgdHlwZSAoc3RyZWFtKTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XE91dHB1dH12ZXJib3NpdHkgPSAzMjsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XE91dHB1dH1mb3JtYXR0ZXIgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXIgeyBwcml2YXRlICRkZWNvcmF0ZWQgPSBUUlVFOyBwcml2YXRlICRzdHlsZXMgPSBbJ2Vycm9yJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IC4uLiB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJ3doaXRlJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICdyZWQnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl07IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH0sICdpbmZvJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IC4uLiB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJ2dyZWVuJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl07IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH0sICdjb21tZW50JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IC4uLiB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJ3llbGxvdyc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnJzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRocmVmID0gTlVMTDsgcHJpdmF0ZSAkaGFuZGxlc0hyZWZHcmFjZWZ1bGx5ID0gTlVMTCB9LCAncXVlc3Rpb24nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlIHsgcHJpdmF0ZSAkY29sb3IgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbG9yIHsgLi4uIH07IHByaXZhdGUgJGZvcmVncm91bmQgPSAnYmxhY2snOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJ2N5YW4nOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl07IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH1dOyBwcml2YXRlICRzdHlsZVN0YWNrID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGVTdGFjayB7IHByaXZhdGUgJHN0eWxlcyA9IFtdOyBwcml2YXRlICRlbXB0eVN0eWxlID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyBwcml2YXRlICRjb2xvciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29sb3IgeyAuLi4gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICcnOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJyc7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IFRSVUUgfSB9IH0gfTsgcHJpdmF0ZSAkY29uc29sZVNlY3Rpb25PdXRwdXRzID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXE91dHB1dFxTdHJlYW1PdXRwdXR9c3RyZWFtID0gcmVzb3VyY2UoMTQ0KSBvZiB0eXBlIChzdHJlYW0pOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcT3V0cHV0fXZlcmJvc2l0eSA9IDMyOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcT3V0cHV0fWZvcm1hdHRlciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlciB7IHByaXZhdGUgJGRlY29yYXRlZCA9IFRSVUU7IHByaXZhdGUgJHN0eWxlcyA9IFsnZXJyb3InID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlIHsgcHJpdmF0ZSAkY29sb3IgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbG9yIHsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICczNyc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnNDEnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl0gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICd3aGl0ZSc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAncmVkJzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFtdOyBwcml2YXRlICRocmVmID0gTlVMTDsgcHJpdmF0ZSAkaGFuZGxlc0hyZWZHcmFjZWZ1bGx5ID0gTlVMTCB9LCAnaW5mbycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyBwcml2YXRlICRjb2xvciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29sb3IgeyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJzMyJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl0gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICdncmVlbic7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnJzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFtdOyBwcml2YXRlICRocmVmID0gTlVMTDsgcHJpdmF0ZSAkaGFuZGxlc0hyZWZHcmFjZWZ1bGx5ID0gTlVMTCB9LCAnY29tbWVudCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyBwcml2YXRlICRjb2xvciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29sb3IgeyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJzMzJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl0gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICd5ZWxsb3cnOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJyc7IHByaXZhdGUgJG9wdGlvbnMgPSBbXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IE5VTEwgfSwgJ3F1ZXN0aW9uJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IHByaXZhdGUgJGZvcmVncm91bmQgPSAnMzAnOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJzQ2JzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFsuLi5dIH07IHByaXZhdGUgJGZvcmVncm91bmQgPSAnYmxhY2snOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJ2N5YW4nOyBwcml2YXRlICRvcHRpb25zID0gW107IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH1dOyBwcml2YXRlICRzdHlsZVN0YWNrID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGVTdGFjayB7IHByaXZhdGUgJHN0eWxlcyA9IFtdOyBwcml2YXRlICRlbXB0eVN0eWxlID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyBwcml2YXRlICRjb2xvciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29sb3IgeyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJyc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnJzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFsuLi5dIH07IHByaXZhdGUgJGZvcmVncm91bmQgPSAnJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gW107IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBUUlVFIH0gfSB9IH0pIHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3N5bWZvbnkvZnJhbWV3b3JrLWJ1bmRsZS9Db25zb2xlL0FwcGxpY2F0aW9uLnBocDo4MgogICAgMS42MDQ5ICAgMTczODkzMDQgICA2LiBTeW1mb255XEJ1bmRsZVxGcmFtZXdvcmtCdW5kbGVcQ29uc29sZVxBcHBsaWNhdGlvbi0+ZG9SdW5Db21tYW5kKCRjb21tYW5kID0gY2xhc3MgcGhwRG9jdW1lbnRvclxDb25zb2xlXENvbW1hbmRcUHJvamVjdFxSdW5Db21tYW5kIHsgcHJpdmF0ZSAkcHJvamVjdERlc2NyaXB0b3JCdWlsZGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXFByb2plY3REZXNjcmlwdG9yQnVpbGRlciB7IHByb3RlY3RlZCAkYXNzZW1ibGVyRmFjdG9yeSA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlckZhY3RvcnkgeyBwcm90ZWN0ZWQgJGFzc2VtYmxlcnMgPSBbMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXEZpbGVBc3NlbWJsZXIgeyAuLi4gfSB9LCAxID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcQ29uc3RhbnRBc3NlbWJsZXIgeyAuLi4gfSB9LCAyID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVHJhaXRBc3NlbWJsZXIgeyAuLi4gfSB9LCAzID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcQ2xhc3NBc3NlbWJsZXIgeyAuLi4gfSB9LCA0ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcRW51bUFzc2VtYmxlciB7IC4uLiB9IH0sIDUgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxFbnVtQ2FzZUFzc2VtYmxlciB7IC4uLiB9IH0sIDYgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxJbnRlcmZhY2VBc3NlbWJsZXIgeyAuLi4gfSB9LCA3ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcUHJvcGVydHlBc3NlbWJsZXIgeyAuLi4gfSB9LCA4ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcQXJndW1lbnRBc3NlbWJsZXIgeyAuLi4gfSB9LCA5ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcTWV0aG9kQXNzZW1ibGVyIHsgLi4uIH0gfSwgMTAgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxGdW5jdGlvbkFzc2VtYmxlciB7IC4uLiB9IH0sIDExID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcTmFtZXNwYWNlQXNzZW1ibGVyIHsgLi4uIH0gfSwgMTIgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXEF1dGhvckFzc2VtYmxlciB7IC4uLiB9IH0sIDEzID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xEZXByZWNhdGVkQXNzZW1ibGVyIHsgLi4uIH0gfSwgMTQgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXEV4YW1wbGVBc3NlbWJsZXIgeyAuLi4gfSB9LCAxNSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcTGlua0Fzc2VtYmxlciB7IC4uLiB9IH0sIDE2ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xNZXRob2RBc3NlbWJsZXIgeyAuLi4gfSB9LCAxNyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcUHJvcGVydHlBc3NlbWJsZXIgeyAuLi4gfSB9LCAxOCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcUHJvcGVydHlBc3NlbWJsZXIgeyAuLi4gfSB9LCAxOSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcUHJvcGVydHlBc3NlbWJsZXIgeyAuLi4gfSB9LCAyMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcSW52YWxpZFRhZ0Fzc2VtYmxlciB7IC4uLiB9IH0sIDIxID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xWYXJBc3NlbWJsZXIgeyAuLi4gfSB9LCAyMiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcUGFyYW1Bc3NlbWJsZXIgeyAuLi4gfSB9LCAyMyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcVGhyb3dzQXNzZW1ibGVyIHsgLi4uIH0gfSwgMjQgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXFJldHVybkFzc2VtYmxlciB7IC4uLiB9IH0sIDI1ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xVc2VzQXNzZW1ibGVyIHsgLi4uIH0gfSwgMjYgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXFNlZUFzc2VtYmxlciB7IC4uLiB9IH0sIDI3ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xTaW5jZUFzc2VtYmxlciB7IC4uLiB9IH0sIDI4ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xWZXJzaW9uQXNzZW1ibGVyIHsgLi4uIH0gfV07IHByb3RlY3RlZCAkZmFsbGJhY2tBc3NlbWJsZXJzID0gWzAgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXEdlbmVyaWNUYWdBc3NlbWJsZXIgeyAuLi4gfSB9XSB9OyBwcm90ZWN0ZWQgJGZpbHRlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxGaWx0ZXJcRmlsdGVyIHsgcHJpdmF0ZSAkcGlwZWxpbmUgPSBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyBwcml2YXRlICRzdGFnZXMgPSBbMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRmlsdGVyXFN0cmlwSWdub3JlIHsgLi4uIH0sIDEgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcElnbm9yZWRUYWdzIHsgLi4uIH0sIDIgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcEludGVybmFsIHsgLi4uIH0sIDMgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcE9uVmlzaWJpbGl0eSB7IC4uLiB9XTsgcHJpdmF0ZSAkcHJvY2Vzc29yID0gY2xhc3MgTGVhZ3VlXFBpcGVsaW5lXEludGVycnVwdGlibGVQcm9jZXNzb3IgeyBwcml2YXRlICRjaGVjayA9IGNsYXNzIENsb3N1cmUgeyB2aXJ0dWFsICRjbG9zdXJlID0gInBocERvY3VtZW50b3JcRGVzY3JpcHRvclxGaWx0ZXJcRmlsdGVyOjpwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRmlsdGVyXHtjbG9zdXJlfSIsIC4uLiB9IH0gfSB9OyBwcm90ZWN0ZWQgJHByb2plY3QgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcUHJvamVjdERlc2NyaXB0b3IgeyBwcml2YXRlICRuYW1lID0gJ0RvY3VtZW50YXRpb24nOyBwcml2YXRlICRuYW1lc3BhY2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcTmFtZXNwYWNlRGVzY3JpcHRvciB7IHByb3RlY3RlZCAkcGFyZW50ID0gTlVMTDsgcHJvdGVjdGVkICRjaGlsZHJlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkZnVuY3Rpb25zID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRjb25zdGFudHMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGNsYXNzZXMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGludGVyZmFjZXMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJHRyYWl0cyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByaXZhdGUgJGVudW1zID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRmcXNlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiB7IHByaXZhdGUgJGZxc2VuID0gJ1xcJzsgcHJpdmF0ZSAkbmFtZSA9ICcnIH07IHByb3RlY3RlZCAkbmFtZSA9ICdcXCc7IHByb3RlY3RlZCAkbmFtZXNwYWNlID0gJyc7IHByb3RlY3RlZCAkcGFja2FnZSA9IE5VTEw7IHByb3RlY3RlZCAkc3VtbWFyeSA9ICcnOyBwcm90ZWN0ZWQgJGRlc2NyaXB0aW9uID0gTlVMTDsgcHJvdGVjdGVkICRmaWxlRGVzY3JpcHRvciA9IE5VTEw7IHByb3RlY3RlZCAkbGluZSA9IDA7IHByb3RlY3RlZCAkdGFncyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkZXJyb3JzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRpbmhlcml0ZWRFbGVtZW50ID0gTlVMTCB9OyBwcml2YXRlICRwYWNrYWdlID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXFBhY2thZ2VEZXNjcmlwdG9yIHsgcHJvdGVjdGVkICRwYXJlbnQgPSBOVUxMOyBwcm90ZWN0ZWQgJGNoaWxkcmVuID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRmdW5jdGlvbnMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGNvbnN0YW50cyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkY2xhc3NlcyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkaW50ZXJmYWNlcyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkdHJhaXRzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJpdmF0ZSAke3BocERvY3VtZW50b3JcRGVzY3JpcHRvclxOYW1lc3BhY2VEZXNjcmlwdG9yfWVudW1zID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRmcXNlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiB7IHByaXZhdGUgJGZxc2VuID0gJ1xcJzsgcHJpdmF0ZSAkbmFtZSA9ICcnIH07IHByb3RlY3RlZCAkbmFtZSA9ICdcXCc7IHByb3RlY3RlZCAkbmFtZXNwYWNlID0gJyc7IHByb3RlY3RlZCAkcGFja2FnZSA9IE5VTEw7IHByb3RlY3RlZCAkc3VtbWFyeSA9ICcnOyBwcm90ZWN0ZWQgJGRlc2NyaXB0aW9uID0gTlVMTDsgcHJvdGVjdGVkICRmaWxlRGVzY3JpcHRvciA9IE5VTEw7IHByb3RlY3RlZCAkbGluZSA9IDA7IHByb3RlY3RlZCAkdGFncyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkZXJyb3JzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRpbmhlcml0ZWRFbGVtZW50ID0gTlVMTCB9OyBwcml2YXRlICRmaWxlcyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFtdIH07IHByaXZhdGUgJGluZGV4ZXMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbXSB9OyBwcml2YXRlICRzZXR0aW5ncyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxQcm9qZWN0RGVzY3JpcHRvclxTZXR0aW5ncyB7IHByaXZhdGUgJGlzTW9kaWZpZWQgPSBGQUxTRTsgcHJpdmF0ZSAkdmlzaWJpbGl0eSA9IDc7IHByaXZhdGUgJGluY2x1ZGVTb3VyY2UgPSBGQUxTRTsgcHJpdmF0ZSAkY3VzdG9tID0gW10gfTsgcHJpdmF0ZSAkcGFydGlhbHMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbXSB9OyBwcml2YXRlICR2ZXJzaW9ucyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFswID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxWZXJzaW9uRGVzY3JpcHRvciB7IC4uLiB9XSB9OyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxEb2NCbG9ja1xEZXNjcmlwdGlvbkRlc2NyaXB0b3IgeyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiB7IHByaXZhdGUgJGJvZHlUZW1wbGF0ZSA9ICcnOyBwcml2YXRlICR0YWdzID0gWy4uLl0gfTsgcHJpdmF0ZSAkaW5saW5lVGFncyA9IFtdIH0gfTsgcHJpdmF0ZSAkc2VydmljZXNXaXRoQ3VzdG9tU2V0dGluZ3MgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXEFyZ3VtZW50XFJld2luZGFibGVHZW5lcmF0b3IgeyBwcml2YXRlICRnZW5lcmF0b3IgPSBjbGFzcyBDbG9zdXJlIHsgdmlydHVhbCAkY2xvc3VyZSA9ICIkdGhpcy0+Q29udGFpbmVyWGZxMkhiM1x7Y2xvc3VyZX0iIH07IHByaXZhdGUgJGNvdW50ID0gMiB9OyBwcml2YXRlICRhcGlTcGVjaWZpY2F0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxDb25maWd1cmF0aW9uXEFwaVNwZWNpZmljYXRpb24geyBwcml2YXRlICRzb3VyY2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXENvbmZpZ3VyYXRpb25cU291cmNlIHsgcHJpdmF0ZSAkZHNuID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEc24geyBwcml2YXRlICRkc24gPSAnLic7IHByaXZhdGUgJHVyaSA9IGNsYXNzIExlYWd1ZVxVcmlcVXJpIHsgLi4uIH07IHByaXZhdGUgJHBhcmFtZXRlcnMgPSBbLi4uXSB9OyBwcml2YXRlICRwYXRocyA9IFswID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGF0aCB7IC4uLiB9XSB9OyBwcml2YXRlICRvdXRwdXQgPSAnLic7IHByaXZhdGUgJGlnbm9yZSA9IFsnaGlkZGVuJyA9PiBUUlVFLCAnc3ltbGlua3MnID0+IFRSVUUsICdwYXRocycgPT4gW11dOyBwcml2YXRlICRleHRlbnNpb25zID0gWzAgPT4gJ3BocCcsIDEgPT4gJ3BocDMnLCAyID0+ICdwaHRtbCddOyBwcml2YXRlICR2aXNpYmlsaXR5ID0gWzAgPT4gJ3B1YmxpYycsIDEgPT4gJ3Byb3RlY3RlZCcsIDIgPT4gJ3ByaXZhdGUnXTsgcHJpdmF0ZSAkZGVmYXVsdFBhY2thZ2VOYW1lID0gJ0FwcGxpY2F0aW9uJzsgcHJpdmF0ZSAkaW5jbHVkZVNvdXJjZSA9IEZBTFNFOyBwcml2YXRlICRtYXJrZXJzID0gWzAgPT4gJ1RPRE8nLCAxID0+ICdGSVhNRSddOyBwcml2YXRlICRpZ25vcmVUYWdzID0gW107IHByaXZhdGUgJGV4YW1wbGVzID0gTlVMTDsgcHJpdmF0ZSAkZW5jb2RpbmcgPSAndXRmLTgnOyBwcml2YXRlICR2YWxpZGF0ZSA9IEZBTFNFIH0gfTsgcHJpdmF0ZSAkcGlwZWxpbmUgPSBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyBwcml2YXRlICRzdGFnZXMgPSBbMCA9PiBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyBwcml2YXRlICRzdGFnZXMgPSBbMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENvbmZpZ3VyZSB7IC4uLiB9LCAxID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcVHJhbnNmb3JtVG9QYXlsb2FkIHsgLi4uIH0sIDIgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxJbml0aWFsaXplQnVpbGRlckZyb21Db25maWcgeyAuLi4gfSwgMyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXFB1cmdlQ2FjaGVzV2hlbkZvcmNlZCB7IC4uLiB9XTsgcHJpdmF0ZSAkcHJvY2Vzc29yID0gY2xhc3MgTGVhZ3VlXFBpcGVsaW5lXEZpbmdlcnNDcm9zc2VkUHJvY2Vzc29yIHsgIH0gfSwgMSA9PiBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyBwcml2YXRlICRzdGFnZXMgPSBbXTsgcHJpdmF0ZSAkcHJvY2Vzc29yID0gY2xhc3MgTGVhZ3VlXFBpcGVsaW5lXEZpbmdlcnNDcm9zc2VkUHJvY2Vzc29yIHsgIH0gfSwgMiA9PiBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyBwcml2YXRlICRzdGFnZXMgPSBbMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBhcnNlclxUcmFuc2Zvcm1Ub1BhcnNlclBheWxvYWQgeyAuLi4gfSwgMSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBhcnNlclxDb2xsZWN0RmlsZXMgeyAuLi4gfSwgMiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXEdhcmJhZ2VDb2xsZWN0Q2FjaGUgeyAuLi4gfSwgMyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXExvYWRQcm9qZWN0RGVzY3JpcHRvckZyb21DYWNoZSB7IC4uLiB9LCA0ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcTG9hZEd1aWRlc0Zyb21DYWNoZSB7IC4uLiB9LCA1ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcUGFyc2VyXFBhcnNlRmlsZXMgeyAuLi4gfSwgNiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBhcnNlclxQYXJzZUd1aWRlcyB7IC4uLiB9LCA3ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcU3RvcmVQcm9qZWN0RGVzY3JpcHRvclRvQ2FjaGUgeyAuLi4gfSwgOCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXFN0b3JlR3VpZGVzVG9DYWNoZSB7IC4uLiB9XTsgcHJpdmF0ZSAkcHJvY2Vzc29yID0gY2xhc3MgTGVhZ3VlXFBpcGVsaW5lXEZpbmdlcnNDcm9zc2VkUHJvY2Vzc29yIHsgIH0gfSwgMyA9PiBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyBwcml2YXRlICRzdGFnZXMgPSBbMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXExvYWRQcm9qZWN0RGVzY3JpcHRvckZyb21DYWNoZSB7IC4uLiB9LCAxID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ29tcGlsZSB7IC4uLiB9LCAyID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcTG9hZEd1aWRlc0Zyb21DYWNoZSB7IC4uLiB9LCAzID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcVHJhbnNmb3JtIHsgLi4uIH1dOyBwcml2YXRlICRwcm9jZXNzb3IgPSBjbGFzcyBMZWFndWVcUGlwZWxpbmVcRmluZ2Vyc0Nyb3NzZWRQcm9jZXNzb3IgeyAgfSB9XTsgcHJpdmF0ZSAkcHJvY2Vzc29yID0gY2xhc3MgTGVhZ3VlXFBpcGVsaW5lXEZpbmdlcnNDcm9zc2VkUHJvY2Vzc29yIHsgIH0gfTsgcHJpdmF0ZSAkcHJvZ3Jlc3NCYXIgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEhlbHBlclxQcm9ncmVzc0JhciB7IHByaXZhdGUgJGJhcldpZHRoID0gMjg7IHByaXZhdGUgJGJhckNoYXIgPSBOVUxMOyBwcml2YXRlICRlbXB0eUJhckNoYXIgPSAnLSc7IHByaXZhdGUgJHByb2dyZXNzQ2hhciA9ICc+JzsgcHJpdmF0ZSAkZm9ybWF0ID0gJyAlY3VycmVudCUvJW1heCUgWyViYXIlXSAlcGVyY2VudDozcyUlJzsgcHJpdmF0ZSAkaW50ZXJuYWxGb3JtYXQgPSBOVUxMOyBwcml2YXRlICRyZWRyYXdGcmVxID0gTlVMTDsgcHJpdmF0ZSAkd3JpdGVDb3VudCA9IDY7IHByaXZhdGUgJGxhc3RXcml0ZVRpbWUgPSAxNjc4MTk3NzA3LjMyMjM7IHByaXZhdGUgJG1pblNlY29uZHNCZXR3ZWVuUmVkcmF3cyA9IDAuMDQ7IHByaXZhdGUgJG1heFNlY29uZHNCZXR3ZWVuUmVkcmF3cyA9IDE7IHByaXZhdGUgJG91dHB1dCA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XFN0cmVhbU91dHB1dCB7IHByaXZhdGUgJHN0cmVhbSA9IHJlc291cmNlKDE1OSkgb2YgdHlwZSAoc3RyZWFtKTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XE91dHB1dH12ZXJib3NpdHkgPSAzMjsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XE91dHB1dH1mb3JtYXR0ZXIgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXIgeyBwcml2YXRlICRkZWNvcmF0ZWQgPSBUUlVFOyBwcml2YXRlICRzdHlsZXMgPSBbJ2Vycm9yJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IC4uLiB9LCAnaW5mbycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyAuLi4gfSwgJ2NvbW1lbnQnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlIHsgLi4uIH0sICdxdWVzdGlvbicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyAuLi4gfV07IHByaXZhdGUgJHN0eWxlU3RhY2sgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZVN0YWNrIHsgcHJpdmF0ZSAkc3R5bGVzID0gWy4uLl07IHByaXZhdGUgJGVtcHR5U3R5bGUgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IC4uLiB9IH0gfSB9OyBwcml2YXRlICRzdGVwID0gMjA7IHByaXZhdGUgJG1heCA9IDM2OyBwcml2YXRlICRzdGFydFRpbWUgPSAxNjc4MTk3NzA2OyBwcml2YXRlICRzdGVwV2lkdGggPSAyOyBwcml2YXRlICRwZXJjZW50ID0gMC41NTU1NTU1NTU1NTU1NjsgcHJpdmF0ZSAkZm9ybWF0TGluZUNvdW50ID0gMDsgcHJpdmF0ZSAkbWVzc2FnZXMgPSBbXTsgcHJpdmF0ZSAkb3ZlcndyaXRlID0gVFJVRTsgcHJpdmF0ZSAkdGVybWluYWwgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXFRlcm1pbmFsIHsgIH07IHByaXZhdGUgJHByZXZpb3VzTWVzc2FnZSA9ICcgMTgvMzYgWz09PT09PT09PT09PT09Pi0tLS0tLS0tLS0tLS1dICA1MCUnOyBwcml2YXRlICRjdXJzb3IgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEN1cnNvciB7IHByaXZhdGUgJG91dHB1dCA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XFN0cmVhbU91dHB1dCB7IHByaXZhdGUgJHN0cmVhbSA9IHJlc291cmNlKDE1OSkgb2YgdHlwZSAoc3RyZWFtKTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XE91dHB1dH12ZXJib3NpdHkgPSAzMjsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XE91dHB1dH1mb3JtYXR0ZXIgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXIgeyBwcml2YXRlICRkZWNvcmF0ZWQgPSBUUlVFOyBwcml2YXRlICRzdHlsZXMgPSBbLi4uXTsgcHJpdmF0ZSAkc3R5bGVTdGFjayA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlU3RhY2sgeyAuLi4gfSB9IH07IHByaXZhdGUgJGlucHV0ID0gcmVzb3VyY2UoMSkgb2YgdHlwZSAoc3RyZWFtKSB9IH07IHByaXZhdGUgJHRyYW5zZm9ybWVyUHJvZ3Jlc3NCYXIgPSBOVUxMOyBwcml2YXRlICRldmVudERpc3BhdGNoZXIgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnREaXNwYXRjaGVyIHsgcHJpdmF0ZSAkbGlzdGVuZXJzID0gWydrZXJuZWwucmVzcG9uc2UnID0+IFswID0+IFswID0+IFsuLi5dXSwgLTEwMjQgPT4gWzAgPT4gWy4uLl1dLCAtMTI4ID0+IFswID0+IFsuLi5dXV0sICdrZXJuZWwucmVxdWVzdCcgPT4gWzEwMCA9PiBbMCA9PiBbLi4uXV0sIDE2ID0+IFswID0+IFsuLi5dXSwgMjU2ID0+IFswID0+IFsuLi5dXSwgMTUgPT4gWzAgPT4gWy4uLl1dLCAyMDQ4ID0+IFswID0+IFsuLi5dXSwgMzIgPT4gWzAgPT4gWy4uLl1dXSwgJ2tlcm5lbC5maW5pc2hfcmVxdWVzdCcgPT4gWzAgPT4gWzAgPT4gWy4uLl0sIDEgPT4gWy4uLl1dLCAtMTUgPT4gWzAgPT4gWy4uLl1dXSwgJ2tlcm5lbC5jb250cm9sbGVyX2FyZ3VtZW50cycgPT4gWzAgPT4gWzAgPT4gWy4uLl1dXSwgJ2tlcm5lbC5leGNlcHRpb24nID0+IFswID0+IFswID0+IFsuLi5dXSwgLTEyOCA9PiBbMCA9PiBbLi4uXV0sIC02NCA9PiBbMCA9PiBbLi4uXV1dLCAnY29uc29sZS5lcnJvcicgPT4gWy0xMjggPT4gWzAgPT4gWy4uLl1dLCAwID0+IFswID0+IFsuLi5dXV0sICdjb25zb2xlLnRlcm1pbmF0ZScgPT4gWy0xMjggPT4gWzAgPT4gWy4uLl1dLCAtMjU1ID0+IFswID0+IFsuLi5dXV0sICdjb25zb2xlLmNvbW1hbmQnID0+IFsyMDQ4ID0+IFswID0+IFsuLi5dXSwgMjU1ID0+IFswID0+IFsuLi5dXV0sICd0cmFuc2Zvcm1lci50cmFuc2Zvcm1hdGlvbi5wb3N0JyA9PiBbMCA9PiBbMCA9PiBjbGFzcyBDbG9zdXJlIHsgdmlydHVhbCAkY2xvc3VyZSA9ICIkdGhpcy0+cGhwRG9jdW1lbnRvclxDb25zb2xlXENvbW1hbmRcUHJvamVjdFx7Y2xvc3VyZX0iLCAuLi4gfV1dXTsgcHJpdmF0ZSAkc29ydGVkID0gW107IHByaXZhdGUgJG9wdGltaXplZCA9IFsnY29uc29sZS5jb21tYW5kJyA9PiBbMCA9PiBjbGFzcyBDbG9zdXJlIHsgdmlydHVhbCAkY2xvc3VyZSA9ICIkdGhpcy0+Y29uZmlndXJlIiB9LCAxID0+IGNsYXNzIENsb3N1cmUgeyB2aXJ0dWFsICRjbG9zdXJlID0gIiR0aGlzLT5vbkNvbW1hbmQiIH1dXSB9OyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9YXBwbGljYXRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXENvbnNvbGVcQXBwbGljYXRpb24geyBwcml2YXRlICR7U3ltZm9ueVxCdW5kbGVcRnJhbWV3b3JrQnVuZGxlXENvbnNvbGVcQXBwbGljYXRpb259a2VybmVsID0gY2xhc3MgcGhwRG9jdW1lbnRvclxLZXJuZWwgeyBwcm90ZWN0ZWQgJGJ1bmRsZXMgPSBbJ0ZyYW1ld29ya0J1bmRsZScgPT4gY2xhc3MgU3ltZm9ueVxCdW5kbGVcRnJhbWV3b3JrQnVuZGxlXEZyYW1ld29ya0J1bmRsZSB7IHByb3RlY3RlZCAkbmFtZSA9ICdGcmFtZXdvcmtCdW5kbGUnOyBwcm90ZWN0ZWQgJGV4dGVuc2lvbiA9IE5VTEw7IHByb3RlY3RlZCAkcGF0aCA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxIdHRwS2VybmVsXEJ1bmRsZVxCdW5kbGV9bmFtZXNwYWNlID0gJ1N5bWZvbnlcXEJ1bmRsZVxcRnJhbWV3b3JrQnVuZGxlJzsgcHJvdGVjdGVkICRjb250YWluZXIgPSBjbGFzcyBDb250YWluZXJYZnEySGIzXHBocERvY3VtZW50b3JfS2VybmVsUHJvZENvbnRhaW5lciB7IC4uLiB9IH0sICdNb25vbG9nQnVuZGxlJyA9PiBjbGFzcyBTeW1mb255XEJ1bmRsZVxNb25vbG9nQnVuZGxlXE1vbm9sb2dCdW5kbGUgeyBwcm90ZWN0ZWQgJG5hbWUgPSAnTW9ub2xvZ0J1bmRsZSc7IHByb3RlY3RlZCAkZXh0ZW5zaW9uID0gTlVMTDsgcHJvdGVjdGVkICRwYXRoID0gTlVMTDsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XEh0dHBLZXJuZWxcQnVuZGxlXEJ1bmRsZX1uYW1lc3BhY2UgPSAnU3ltZm9ueVxcQnVuZGxlXFxNb25vbG9nQnVuZGxlJzsgcHJvdGVjdGVkICRjb250YWluZXIgPSBjbGFzcyBDb250YWluZXJYZnEySGIzXHBocERvY3VtZW50b3JfS2VybmVsUHJvZENvbnRhaW5lciB7IC4uLiB9IH0sICdUYWN0aWNpYW5CdW5kbGUnID0+IGNsYXNzIExlYWd1ZVxUYWN0aWNpYW5cQnVuZGxlXFRhY3RpY2lhbkJ1bmRsZSB7IHByaXZhdGUgJGhhbmRsZXJNYXBwaW5nID0gY2xhc3MgTGVhZ3VlXFRhY3RpY2lhblxCdW5kbGVcRGVwZW5kZW5jeUluamVjdGlvblxIYW5kbGVyTWFwcGluZ1xDb21wb3NpdGVNYXBwaW5nIHsgLi4uIH07IHByb3RlY3RlZCAkbmFtZSA9ICdUYWN0aWNpYW5CdW5kbGUnOyBwcm90ZWN0ZWQgJGV4dGVuc2lvbiA9IE5VTEw7IHByb3RlY3RlZCAkcGF0aCA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxIdHRwS2VybmVsXEJ1bmRsZVxCdW5kbGV9bmFtZXNwYWNlID0gJ0xlYWd1ZVxcVGFjdGljaWFuXFxCdW5kbGUnOyBwcm90ZWN0ZWQgJGNvbnRhaW5lciA9IGNsYXNzIENvbnRhaW5lclhmcTJIYjNccGhwRG9jdW1lbnRvcl9LZXJuZWxQcm9kQ29udGFpbmVyIHsgLi4uIH0gfV07IHByb3RlY3RlZCAkY29udGFpbmVyID0gY2xhc3MgQ29udGFpbmVyWGZxMkhiM1xwaHBEb2N1bWVudG9yX0tlcm5lbFByb2RDb250YWluZXIgeyBwcm90ZWN0ZWQgJGNvbnRhaW5lckRpciA9ICdwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3Zhci9jYWNoZS9wcm9kXFxDb250YWluZXJYZnEySGIzJzsgcHJvdGVjdGVkICR0YXJnZXREaXIgPSAncGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92YXIvY2FjaGUvcHJvZCc7IHByb3RlY3RlZCAkcGFyYW1ldGVycyA9IFsna2VybmVsLnByb2plY3RfZGlyJyA9PiAncGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhcicsICdrZXJuZWwuZW52aXJvbm1lbnQnID0+ICdwcm9kJywgJ2tlcm5lbC5kZWJ1ZycgPT4gRkFMU0UsICdrZXJuZWwubG9nc19kaXInID0+ICdwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3Zhci9sb2cnLCAna2VybmVsLmJ1bmRsZXMnID0+IFsuLi5dLCAna2VybmVsLmJ1bmRsZXNfbWV0YWRhdGEnID0+IFsuLi5dLCAna2VybmVsLmNoYXJzZXQnID0+ICdVVEYtOCcsICdrZXJuZWwuY29udGFpbmVyX2NsYXNzJyA9PiAncGhwRG9jdW1lbnRvcl9LZXJuZWxQcm9kQ29udGFpbmVyJywgJ2NvbnRhaW5lci5hdXRvd2lyaW5nLnN0cmljdF9tb2RlJyA9PiBUUlVFLCAnY29udGFpbmVyLmR1bXBlci5pbmxpbmVfY2xhc3NfbG9hZGVyJyA9PiBUUlVFLCAnbGlua2VyLnN1YnN0aXR1dGlvbnMnID0+IFsuLi5dLCAnZXZlbnRfZGlzcGF0Y2hlci5ldmVudF9hbGlhc2VzJyA9PiBbLi4uXSwgJ2ZyYWdtZW50LnJlbmRlcmVyLmhpbmNsdWRlLmdsb2JhbF90ZW1wbGF0ZScgPT4gTlVMTCwgJ2ZyYWdtZW50LnBhdGgnID0+ICcvX2ZyYWdtZW50JywgJ2tlcm5lbC5zZWNyZXQnID0+ICdmb29iYXInLCAna2VybmVsLmh0dHBfbWV0aG9kX292ZXJyaWRlJyA9PiBUUlVFLCAna2VybmVsLnRydXN0ZWRfaG9zdHMnID0+IFsuLi5dLCAna2VybmVsLmRlZmF1bHRfbG9jYWxlJyA9PiAnZW4nLCAna2VybmVsLmVycm9yX2NvbnRyb2xsZXInID0+ICdlcnJvcl9jb250cm9sbGVyJywgJ2RlYnVnLmZpbGVfbGlua19mb3JtYXQnID0+IE5VTEwsICdkYXRhX2NvbGxlY3Rvci50ZW1wbGF0ZXMnID0+IFsuLi5dLCAnZGVidWcuZXJyb3JfaGFuZGxlci50aHJvd19hdCcgPT4gMCwgJ3JvdXRlci5yZXF1ZXN0X2NvbnRleHQuaG9zdCcgPT4gJ2xvY2FsaG9zdCcsICdyb3V0ZXIucmVxdWVzdF9jb250ZXh0LnNjaGVtZScgPT4gJ2h0dHAnLCAncm91dGVyLnJlcXVlc3RfY29udGV4dC5iYXNlX3VybCcgPT4gJycsICdyb3V0ZXIucmVzb3VyY2UnID0+ICdrZXJuZWw6OmxvYWRSb3V0ZXMnLCAncmVxdWVzdF9saXN0ZW5lci5odHRwX3BvcnQnID0+IDgwLCAncmVxdWVzdF9saXN0ZW5lci5odHRwc19wb3J0JyA9PiA0NDMsICdtb25vbG9nLnVzZV9taWNyb3NlY29uZHMnID0+IFRSVUUsICdtb25vbG9nLnN3aWZ0X21haWxlci5oYW5kbGVycycgPT4gWy4uLl0sICdtb25vbG9nLmhhbmRsZXJzX3RvX2NoYW5uZWxzJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5pZHMnID0+IFsuLi5dXTsgcHJpdmF0ZSAkYnVpbGRQYXJhbWV0ZXJzID0gWydjb250YWluZXIuYnVpbGRfaGFzaCcgPT4gJ1hmcTJIYjMnLCAnY29udGFpbmVyLmJ1aWxkX2lkJyA9PiAnZjk5ZmExODEnLCAnY29udGFpbmVyLmJ1aWxkX3RpbWUnID0+IDE2NDA3MTU0NTJdOyBwcm90ZWN0ZWQgJGdldFNlcnZpY2UgPSBjbGFzcyBDbG9zdXJlIHsgdmlydHVhbCAkY2xvc3VyZSA9ICIkdGhpcy0+Z2V0U2VydmljZSIgfTsgcHJpdmF0ZSAkbG9hZGVkRHluYW1pY1BhcmFtZXRlcnMgPSBbJ2tlcm5lbC5ydW50aW1lX2Vudmlyb25tZW50JyA9PiBGQUxTRSwgJ2tlcm5lbC5idWlsZF9kaXInID0+IEZBTFNFLCAna2VybmVsLmNhY2hlX2RpcicgPT4gRkFMU0VdOyBwcml2YXRlICRkeW5hbWljUGFyYW1ldGVycyA9IFtdOyBwcm90ZWN0ZWQgJHBhcmFtZXRlckJhZyA9IE5VTEw7IHByb3RlY3RlZCAkc2VydmljZXMgPSBbJ2tlcm5lbCcgPT4gLi4uLCAnY29uc29sZS5jb21tYW5kX2xvYWRlcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kTG9hZGVyXENvbnRhaW5lckNvbW1hbmRMb2FkZXIgeyAuLi4gfSwgJ2NvbnNvbGUuY29tbWFuZC5wdWJsaWNfYWxpYXMucGhwRG9jdW1lbnRvclxDb25zb2xlXENvbW1hbmRcUHJvamVjdFxMaXN0U2V0dGluZ3NDb21tYW5kJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXENvbnNvbGVcQ29tbWFuZFxQcm9qZWN0XExpc3RTZXR0aW5nc0NvbW1hbmQgeyAuLi4gfSwgJ3JvdXRlcicgPT4gY2xhc3MgU3ltZm9ueVxCdW5kbGVcRnJhbWV3b3JrQnVuZGxlXFJvdXRpbmdcUm91dGVyIHsgLi4uIH0sICd0YWN0aWNpYW4uY29tbWFuZGJ1cy5kZWZhdWx0JyA9PiBjbGFzcyBMZWFndWVcVGFjdGljaWFuXENvbW1hbmRCdXMgeyAuLi4gfSwgJ2V2ZW50X2Rpc3BhdGNoZXInID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudERpc3BhdGNoZXIgeyAuLi4gfSwgJ2NvbnNvbGUuY29tbWFuZC5wdWJsaWNfYWxpYXMucGhwRG9jdW1lbnRvclxDb25zb2xlXENvbW1hbmRcUHJvamVjdFxSdW5Db21tYW5kJyA9PiAuLi4sICdjb25zb2xlLmNvbW1hbmQucHVibGljX2FsaWFzLnRhY3RpY2lhbi5jb21tYW5kLmRlYnVnJyA9PiBjbGFzcyBMZWFndWVcVGFjdGljaWFuXEJ1bmRsZVxDb21tYW5kXERlYnVnQ29tbWFuZCB7IC4uLiB9XTsgcHJvdGVjdGVkICRwcml2YXRlcyA9IFsncGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcElnbm9yZScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcElnbm9yZSB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcElnbm9yZWRUYWdzJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRmlsdGVyXFN0cmlwSWdub3JlZFRhZ3MgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcRGVzY3JpcHRvclxGaWx0ZXJcU3RyaXBJbnRlcm5hbCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcEludGVybmFsIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRmlsdGVyXFN0cmlwT25WaXNpYmlsaXR5JyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRmlsdGVyXFN0cmlwT25WaXNpYmlsaXR5IHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcUHJvamVjdERlc2NyaXB0b3JCdWlsZGVyJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcUHJvamVjdERlc2NyaXB0b3JCdWlsZGVyIHsgLi4uIH0sICdtb25vbG9nLmxvZ2dlcicgPT4gY2xhc3MgU3ltZm9ueVxCcmlkZ2VcTW9ub2xvZ1xMb2dnZXIgeyAuLi4gfSwgJ21vbm9sb2cuaGFuZGxlci5tYWluJyA9PiBjbGFzcyBTeW1mb255XEJyaWRnZVxNb25vbG9nXEhhbmRsZXJcQ29uc29sZUhhbmRsZXIgeyAuLi4gfSwgJ2ZpbGVzJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxDYWNoZVxGaWxlc3lzdGVtQWRhcHRlciB7IC4uLiB9LCAnZGVzY3JpcHRvcnMnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXENhY2hlXEZpbGVzeXN0ZW1BZGFwdGVyIHsgLi4uIH0sICdyb3V0ZXIucmVxdWVzdF9jb250ZXh0JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxSb3V0aW5nXFJlcXVlc3RDb250ZXh0IHsgLi4uIH0sICdyb3V0ZXIuZXhwcmVzc2lvbl9sYW5ndWFnZV9wcm92aWRlcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcUm91dGluZ1xNYXRjaGVyXEV4cHJlc3Npb25MYW5ndWFnZVByb3ZpZGVyIHsgLi4uIH0sICdzbHVnZ2VyJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxTdHJpbmdcU2x1Z2dlclxBc2NpaVNsdWdnZXIgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcVHJhbnNmb3JtZXJcUm91dGVyXFJvdXRlcicgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxSb3V0ZXJcUm91dGVyIHsgLi4uIH0sICdMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cRGlzYWxsb3dlZFJhd0h0bWxcRGlzYWxsb3dlZFJhd0h0bWxFeHRlbnNpb24nID0+IGNsYXNzIExlYWd1ZVxDb21tb25NYXJrXEV4dGVuc2lvblxEaXNhbGxvd2VkUmF3SHRtbFxEaXNhbGxvd2VkUmF3SHRtbEV4dGVuc2lvbiB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxXcml0ZXJcVHdpZ1xFbnZpcm9ubWVudEZhY3RvcnknID0+IGNsYXNzIHBocERvY3VtZW50b3JcVHJhbnNmb3JtZXJcV3JpdGVyXFR3aWdcRW52aXJvbm1lbnRGYWN0b3J5IHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENvbmZpZ3VyZScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxDb25maWd1cmUgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcVHJhbnNmb3JtVG9QYXlsb2FkJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFRyYW5zZm9ybVRvUGF5bG9hZCB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxJbml0aWFsaXplQnVpbGRlckZyb21Db25maWcnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcSW5pdGlhbGl6ZUJ1aWxkZXJGcm9tQ29uZmlnIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXFB1cmdlQ2FjaGVzV2hlbkZvcmNlZCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxDYWNoZVxQdXJnZUNhY2hlc1doZW5Gb3JjZWQgeyAuLi4gfSwgJ3BocGRvYy5jb25maWd1cmF0aW9uLnBpcGVsaW5lJyA9PiBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyAuLi4gfSwgJ3BocGRvYy5jYWNoZS5waXBlbGluZScgPT4gY2xhc3MgTGVhZ3VlXFBpcGVsaW5lXFBpcGVsaW5lIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBhcnNlclxUcmFuc2Zvcm1Ub1BhcnNlclBheWxvYWQnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcUGFyc2VyXFRyYW5zZm9ybVRvUGFyc2VyUGF5bG9hZCB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmFjdG9yeScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmFjdG9yeSB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxQYXJzZXJcQ29sbGVjdEZpbGVzJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBhcnNlclxDb2xsZWN0RmlsZXMgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcRGVzY3JpcHRvclxDYWNoZVxQcm9qZWN0RGVzY3JpcHRvck1hcHBlcicgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENhY2hlXFByb2plY3REZXNjcmlwdG9yTWFwcGVyIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXEdhcmJhZ2VDb2xsZWN0Q2FjaGUnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcR2FyYmFnZUNvbGxlY3RDYWNoZSB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxDYWNoZVxMb2FkUHJvamVjdERlc2NyaXB0b3JGcm9tQ2FjaGUnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcTG9hZFByb2plY3REZXNjcmlwdG9yRnJvbUNhY2hlIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXExvYWRHdWlkZXNGcm9tQ2FjaGUnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcTG9hZEd1aWRlc0Zyb21DYWNoZSB7IC4uLiB9LCAnZGVidWcuc3RvcHdhdGNoJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxTdG9wd2F0Y2hcU3RvcHdhdGNoIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXFBhcnNlclxNaWRkbGV3YXJlXFN0b3B3YXRjaE1pZGRsZXdhcmUnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXE1pZGRsZXdhcmVcU3RvcHdhdGNoTWlkZGxld2FyZSB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxQYXJzZXJcTWlkZGxld2FyZVxFbWl0dGluZ01pZGRsZXdhcmUnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXE1pZGRsZXdhcmVcRW1pdHRpbmdNaWRkbGV3YXJlIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXFBhcnNlclxNaWRkbGV3YXJlXENhY2hlTWlkZGxld2FyZScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcTWlkZGxld2FyZVxDYWNoZU1pZGRsZXdhcmUgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcUGFyc2VyXE1pZGRsZXdhcmVcRXJyb3JIYW5kbGluZ01pZGRsZXdhcmUnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXE1pZGRsZXdhcmVcRXJyb3JIYW5kbGluZ01pZGRsZXdhcmUgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcUGFyc2VyXE1pZGRsZXdhcmVcUmVFbmNvZGluZ01pZGRsZXdhcmUnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXE1pZGRsZXdhcmVcUmVFbmNvZGluZ01pZGRsZXdhcmUgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcUGFyc2VyXFBhcnNlcicgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcUGFyc2VyIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBhcnNlclxQYXJzZUZpbGVzJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBhcnNlclxQYXJzZUZpbGVzIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBhcnNlclxQYXJzZUd1aWRlcycgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxQYXJzZXJcUGFyc2VHdWlkZXMgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcU3RvcmVQcm9qZWN0RGVzY3JpcHRvclRvQ2FjaGUnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcU3RvcmVQcm9qZWN0RGVzY3JpcHRvclRvQ2FjaGUgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcU3RvcmVHdWlkZXNUb0NhY2hlJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXFN0b3JlR3VpZGVzVG9DYWNoZSB7IC4uLiB9LCAncGhwZG9jLnBhcnNlLnBpcGVsaW5lJyA9PiBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ29tcGlsZScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxDb21waWxlIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXFRyYW5zZm9ybWVyXFdyaXRlclxGaWxlSW8nID0+IGNsYXNzIHBocERvY3VtZW50b3JcVHJhbnNmb3JtZXJcV3JpdGVyXEZpbGVJbyB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxXcml0ZXJcR3JhcGhcUGxhbnR1bWxSZW5kZXJlcicgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxXcml0ZXJcR3JhcGhcUGxhbnR1bWxSZW5kZXJlciB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxXcml0ZXJcR3JhcGgnID0+IGNsYXNzIHBocERvY3VtZW50b3JcVHJhbnNmb3JtZXJcV3JpdGVyXEdyYXBoIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXEd1aWRlc1xSZW5kZXJlcicgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxHdWlkZXNcUmVuZGVyZXIgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcVHJhbnNmb3JtZXJcV3JpdGVyXFJlbmRlckd1aWRlJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFRyYW5zZm9ybWVyXFdyaXRlclxSZW5kZXJHdWlkZSB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxXcml0ZXJcUGF0aEdlbmVyYXRvcicgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxXcml0ZXJcUGF0aEdlbmVyYXRvciB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxXcml0ZXJcU291cmNlY29kZScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxXcml0ZXJcU291cmNlY29kZSB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxXcml0ZXJcVHdpZycgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxXcml0ZXJcVHdpZyB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxUcmFuc2Zvcm0nID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcVHJhbnNmb3JtIHsgLi4uIH0sICdwaHBkb2MudHJhbnNmb3JtLnBpcGVsaW5lJyA9PiBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyAuLi4gfSwgJ2RlYnVnLmZpbGVfbGlua19mb3JtYXR0ZXInID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XEh0dHBLZXJuZWxcRGVidWdcRmlsZUxpbmtGb3JtYXR0ZXIgeyAuLi4gfSwgJ2RlYnVnLmRlYnVnX2hhbmRsZXJzX2xpc3RlbmVyJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxIdHRwS2VybmVsXEV2ZW50TGlzdGVuZXJcRGVidWdIYW5kbGVyc0xpc3RlbmVyIHsgLi4uIH1dOyBwcm90ZWN0ZWQgJGZpbGVNYXAgPSBbJy5jb250YWluZXIucHJpdmF0ZS5jYWNoZV9jbGVhcmVyJyA9PiAnZ2V0X0NvbnRhaW5lcl9Qcml2YXRlX0NhY2hlQ2xlYXJlclNlcnZpY2UnLCAnLmNvbnRhaW5lci5wcml2YXRlLmZpbGVzeXN0ZW0nID0+ICdnZXRfQ29udGFpbmVyX1ByaXZhdGVfRmlsZXN5c3RlbVNlcnZpY2UnLCAnU3ltZm9ueVxCdW5kbGVcRnJhbWV3b3JrQnVuZGxlXENvbnRyb2xsZXJcUmVkaXJlY3RDb250cm9sbGVyJyA9PiAnZ2V0UmVkaXJlY3RDb250cm9sbGVyU2VydmljZScsICdTeW1mb255XEJ1bmRsZVxGcmFtZXdvcmtCdW5kbGVcQ29udHJvbGxlclxUZW1wbGF0ZUNvbnRyb2xsZXInID0+ICdnZXRUZW1wbGF0ZUNvbnRyb2xsZXJTZXJ2aWNlJywgJ2NhY2hlLmFwcCcgPT4gJ2dldENhY2hlX0FwcFNlcnZpY2UnLCAnY2FjaGUuYXBwX2NsZWFyZXInID0+ICdnZXRDYWNoZV9BcHBDbGVhcmVyU2VydmljZScsICdjYWNoZS5nbG9iYWxfY2xlYXJlcicgPT4gJ2dldENhY2hlX0dsb2JhbENsZWFyZXJTZXJ2aWNlJywgJ2NhY2hlLnN5c3RlbScgPT4gJ2dldENhY2hlX1N5c3RlbVNlcnZpY2UnLCAnY2FjaGUuc3lzdGVtX2NsZWFyZXInID0+ICdnZXRDYWNoZV9TeXN0ZW1DbGVhcmVyU2VydmljZScsICdjYWNoZV93YXJtZXInID0+ICdnZXRDYWNoZVdhcm1lclNlcnZpY2UnLCAnY29uc29sZS5jb21tYW5kLnB1YmxpY19hbGlhcy5waHBEb2N1bWVudG9yXENvbnNvbGVcQ29tbWFuZFxQcm9qZWN0XExpc3RTZXR0aW5nc0NvbW1hbmQnID0+ICdnZXRMaXN0U2V0dGluZ3NDb21tYW5kU2VydmljZScsICdjb25zb2xlLmNvbW1hbmQucHVibGljX2FsaWFzLnBocERvY3VtZW50b3JcQ29uc29sZVxDb21tYW5kXFByb2plY3RcUnVuQ29tbWFuZCcgPT4gJ2dldFJ1bkNvbW1hbmRTZXJ2aWNlJywgJ2NvbnNvbGUuY29tbWFuZC5wdWJsaWNfYWxpYXMudGFjdGljaWFuLmNvbW1hbmQuZGVidWcnID0+ICdnZXRDb25zb2xlX0NvbW1hbmRfUHVibGljQWxpYXNfVGFjdGljaWFuX0NvbW1hbmRfRGVidWdTZXJ2aWNlJywgJ2NvbnNvbGUuY29tbWFuZF9sb2FkZXInID0+ICdnZXRDb25zb2xlX0NvbW1hbmRMb2FkZXJTZXJ2aWNlJywgJ2NvbnRhaW5lci5lbnZfdmFyX3Byb2Nlc3NvcnNfbG9jYXRvcicgPT4gJ2dldENvbnRhaW5lcl9FbnZWYXJQcm9jZXNzb3JzTG9jYXRvclNlcnZpY2UnLCAnZXJyb3JfY29udHJvbGxlcicgPT4gJ2dldEVycm9yQ29udHJvbGxlclNlcnZpY2UnLCAncm91dGluZy5sb2FkZXInID0+ICdnZXRSb3V0aW5nX0xvYWRlclNlcnZpY2UnLCAnc2VydmljZXNfcmVzZXR0ZXInID0+ICdnZXRTZXJ2aWNlc1Jlc2V0dGVyU2VydmljZScsICd0YWN0aWNpYW4uY29tbWFuZGJ1cy5kZWZhdWx0JyA9PiAnZ2V0VGFjdGljaWFuX0NvbW1hbmRidXNfRGVmYXVsdFNlcnZpY2UnXTsgcHJvdGVjdGVkICRtZXRob2RNYXAgPSBbJ2V2ZW50X2Rpc3BhdGNoZXInID0+ICdnZXRFdmVudERpc3BhdGNoZXJTZXJ2aWNlJywgJ2h0dHBfa2VybmVsJyA9PiAnZ2V0SHR0cEtlcm5lbFNlcnZpY2UnLCAncmVxdWVzdF9zdGFjaycgPT4gJ2dldFJlcXVlc3RTdGFja1NlcnZpY2UnLCAncm91dGVyJyA9PiAnZ2V0Um91dGVyU2VydmljZScsICdjYWNoZV9jbGVhcmVyJyA9PiAnZ2V0Q2FjaGVDbGVhcmVyU2VydmljZScsICdmaWxlc3lzdGVtJyA9PiAnZ2V0RmlsZXN5c3RlbVNlcnZpY2UnXTsgcHJvdGVjdGVkICRmYWN0b3JpZXMgPSBbXTsgcHJvdGVjdGVkICRhbGlhc2VzID0gW107IHByb3RlY3RlZCAkbG9hZGluZyA9IFtdOyBwcm90ZWN0ZWQgJHJlc29sdmluZyA9IFtdOyBwcm90ZWN0ZWQgJHN5bnRoZXRpY0lkcyA9IFsna2VybmVsJyA9PiBUUlVFXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cQ29udGFpbmVyfWVudkNhY2hlID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXENvbnRhaW5lcn1jb21waWxlZCA9IEZBTFNFOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxDb250YWluZXJ9Z2V0RW52ID0gTlVMTCB9OyBwcm90ZWN0ZWQgJGVudmlyb25tZW50ID0gJ3Byb2QnOyBwcm90ZWN0ZWQgJGRlYnVnID0gRkFMU0U7IHByb3RlY3RlZCAkYm9vdGVkID0gVFJVRTsgcHJvdGVjdGVkICRzdGFydFRpbWUgPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcSHR0cEtlcm5lbFxLZXJuZWx9cHJvamVjdERpciA9ICdwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyJzsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XEh0dHBLZXJuZWxcS2VybmVsfXdhcm11cERpciA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxIdHRwS2VybmVsXEtlcm5lbH1yZXF1ZXN0U3RhY2tTaXplID0gMDsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XEh0dHBLZXJuZWxcS2VybmVsfXJlc2V0U2VydmljZXMgPSBGQUxTRSB9OyBwcml2YXRlICR7U3ltZm9ueVxCdW5kbGVcRnJhbWV3b3JrQnVuZGxlXENvbnNvbGVcQXBwbGljYXRpb259Y29tbWFuZHNSZWdpc3RlcmVkID0gVFJVRTsgcHJpdmF0ZSAke1N5bWZvbnlcQnVuZGxlXEZyYW1ld29ya0J1bmRsZVxDb25zb2xlXEFwcGxpY2F0aW9ufXJlZ2lzdHJhdGlvbkVycm9ycyA9IFtdOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxBcHBsaWNhdGlvbn1jb21tYW5kcyA9IFsnaGVscCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXEhlbHBDb21tYW5kIHsgcHJpdmF0ZSAkY29tbWFuZCA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1hcHBsaWNhdGlvbiA9IC4uLjsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfW5hbWUgPSAnaGVscCc7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1wcm9jZXNzVGl0bGUgPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9YWxpYXNlcyA9IFtdOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9ZGVmaW5pdGlvbiA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXREZWZpbml0aW9uIHsgcHJpdmF0ZSAkYXJndW1lbnRzID0gWy4uLl07IHByaXZhdGUgJHJlcXVpcmVkQ291bnQgPSAwOyBwcml2YXRlICRsYXN0QXJyYXlBcmd1bWVudCA9IE5VTEw7IHByaXZhdGUgJGxhc3RPcHRpb25hbEFyZ3VtZW50ID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dEFyZ3VtZW50IHsgLi4uIH07IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkbmVnYXRpb25zID0gWy4uLl07IHByaXZhdGUgJHNob3J0Y3V0cyA9IFsuLi5dIH07IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1oaWRkZW4gPSBGQUxTRTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWhlbHAgPSAnVGhlIDxpbmZvPiVjb21tYW5kLm5hbWUlPC9pbmZvPiBjb21tYW5kIGRpc3BsYXlzIGhlbHAgZm9yIGEgZ2l2ZW4gY29tbWFuZDpcblxuICA8aW5mbz4lY29tbWFuZC5mdWxsX25hbWUlIGxpc3Q8L2luZm8+XG5cbllvdSBjYW4gYWxzbyBvdXRwdXQgdGhlIGhlbHAgaW4gb3RoZXIgZm9ybWF0cyBieSB1c2luZyB0aGUgPGNvbW1lbnQ+LS1mb3JtYXQ8L2NvbW1lbnQ+IG9wdGlvbjpcblxuICA8aW5mbz4lY29tbWFuZC5mdWxsX25hbWUlIC0tZm9ybWF0PXhtbCBsaXN0PC9pbmZvPlxuXG5UbyBkaXNwbGF5IHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBjb21tYW5kcywgcGxlYXNlIHVzZSB0aGUgPGluZm8+bGlzdDwvaW5mbz4gY29tbWFuZC4nOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9ZGVzY3JpcHRpb24gPSAnRGlzcGxheSBoZWxwIGZvciBhIGNvbW1hbmQnOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9ZnVsbERlZmluaXRpb24gPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9aWdub3JlVmFsaWRhdGlvbkVycm9ycyA9IFRSVUU7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1jb2RlID0gTlVMTDsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfXN5bm9wc2lzID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH11c2FnZXMgPSBbXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWhlbHBlclNldCA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSGVscGVyXEhlbHBlclNldCB7IHByaXZhdGUgJGhlbHBlcnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29tbWFuZCA9IE5VTEwgfSB9LCAnbGlzdCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXExpc3RDb21tYW5kIHsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWFwcGxpY2F0aW9uID0gLi4uOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9bmFtZSA9ICdsaXN0JzsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfXByb2Nlc3NUaXRsZSA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1hbGlhc2VzID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1kZWZpbml0aW9uID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dERlZmluaXRpb24geyBwcml2YXRlICRhcmd1bWVudHMgPSBbLi4uXTsgcHJpdmF0ZSAkcmVxdWlyZWRDb3VudCA9IDA7IHByaXZhdGUgJGxhc3RBcnJheUFyZ3VtZW50ID0gTlVMTDsgcHJpdmF0ZSAkbGFzdE9wdGlvbmFsQXJndW1lbnQgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0QXJndW1lbnQgeyAuLi4gfTsgcHJpdmF0ZSAkb3B0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRuZWdhdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkc2hvcnRjdXRzID0gWy4uLl0gfTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWhpZGRlbiA9IEZBTFNFOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9aGVscCA9ICdUaGUgPGluZm8+JWNvbW1hbmQubmFtZSU8L2luZm8+IGNvbW1hbmQgbGlzdHMgYWxsIGNvbW1hbmRzOlxuXG4gIDxpbmZvPiVjb21tYW5kLmZ1bGxfbmFtZSU8L2luZm8+XG5cbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBjb21tYW5kcyBmb3IgYSBzcGVjaWZpYyBuYW1lc3BhY2U6XG5cbiAgPGluZm8+JWNvbW1hbmQuZnVsbF9uYW1lJSB0ZXN0PC9pbmZvPlxuXG5Zb3UgY2FuIGFsc28gb3V0cHV0IHRoZSBpbmZvcm1hdGlvbiBpbiBvdGhlciBmb3JtYXRzIGJ5IHVzaW5nIHRoZSA8Y29tbWVudD4tLWZvcm1hdDwvY29tbWVudD4gb3B0aW9uOlxuXG4gIDxpbmZvPiVjb21tYW5kLmZ1bGxfbmFtZSUgLS1mb3JtYXQ9eG1sPC9pbmZvPlxuXG5JdFwncyBhbHNvIHBvc3NpYmxlIHRvIGdldCByYXcgbGlzdCBvZiBjb21tYW5kcyAodXNlZnVsIGZvciBlbWJlZGRpbmcgY29tbWFuZCBydW5uZXIpOlxuXG4gIDxpbmZvPiVjb21tYW5kLmZ1bGxfbmFtZSUgLS1yYXc8L2luZm8+JzsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWRlc2NyaXB0aW9uID0gJ0xpc3QgY29tbWFuZHMnOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9ZnVsbERlZmluaXRpb24gPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9aWdub3JlVmFsaWRhdGlvbkVycm9ycyA9IEZBTFNFOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9Y29kZSA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1zeW5vcHNpcyA9IFtdOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9dXNhZ2VzID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1oZWxwZXJTZXQgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEhlbHBlclxIZWxwZXJTZXQgeyBwcml2YXRlICRoZWxwZXJzID0gWy4uLl07IHByaXZhdGUgJGNvbW1hbmQgPSBOVUxMIH0gfSwgJ3NldHRpbmdzOmxpc3QnID0+IGNsYXNzIHBocERvY3VtZW50b3JcQ29uc29sZVxDb21tYW5kXFByb2plY3RcTGlzdFNldHRpbmdzQ29tbWFuZCB7IHByaXZhdGUgJHNlcnZpY2VzV2l0aEN1c3RvbVNldHRpbmdzID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxBcmd1bWVudFxSZXdpbmRhYmxlR2VuZXJhdG9yIHsgcHJpdmF0ZSAkZ2VuZXJhdG9yID0gY2xhc3MgQ2xvc3VyZSB7IHZpcnR1YWwgJGNsb3N1cmUgPSAiJHRoaXMtPkNvbnRhaW5lclhmcTJIYjNce2Nsb3N1cmV9IiwgLi4uIH07IHByaXZhdGUgJGNvdW50ID0gMiB9OyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9YXBwbGljYXRpb24gPSAuLi47IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1uYW1lID0gJ3NldHRpbmdzOmxpc3QnOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9cHJvY2Vzc1RpdGxlID0gTlVMTDsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWFsaWFzZXMgPSBbXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWRlZmluaXRpb24gPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0RGVmaW5pdGlvbiB7IHByaXZhdGUgJGFyZ3VtZW50cyA9IFsuLi5dOyBwcml2YXRlICRyZXF1aXJlZENvdW50ID0gMDsgcHJpdmF0ZSAkbGFzdEFycmF5QXJndW1lbnQgPSBOVUxMOyBwcml2YXRlICRsYXN0T3B0aW9uYWxBcmd1bWVudCA9IE5VTEw7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkbmVnYXRpb25zID0gWy4uLl07IHByaXZhdGUgJHNob3J0Y3V0cyA9IFsuLi5dIH07IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1oaWRkZW4gPSBGQUxTRTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWhlbHAgPSAnJzsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWRlc2NyaXB0aW9uID0gJyc7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1mdWxsRGVmaW5pdGlvbiA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1pZ25vcmVWYWxpZGF0aW9uRXJyb3JzID0gRkFMU0U7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1jb2RlID0gTlVMTDsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfXN5bm9wc2lzID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH11c2FnZXMgPSBbXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWhlbHBlclNldCA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSGVscGVyXEhlbHBlclNldCB7IHByaXZhdGUgJGhlbHBlcnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29tbWFuZCA9IE5VTEwgfSB9LCAncHJvamVjdDpydW4nID0+IC4uLiwgJ3J1bicgPT4gLi4uLCAnZGVidWc6dGFjdGljaWFuJyA9PiBjbGFzcyBMZWFndWVcVGFjdGljaWFuXEJ1bmRsZVxDb21tYW5kXERlYnVnQ29tbWFuZCB7IHByaXZhdGUgJG1hcHBpbmdzID0gWydkZWZhdWx0JyA9PiBbLi4uXV07IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1hcHBsaWNhdGlvbiA9IC4uLjsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfW5hbWUgPSAnZGVidWc6dGFjdGljaWFuJzsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfXByb2Nlc3NUaXRsZSA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1hbGlhc2VzID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1kZWZpbml0aW9uID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dERlZmluaXRpb24geyBwcml2YXRlICRhcmd1bWVudHMgPSBbLi4uXTsgcHJpdmF0ZSAkcmVxdWlyZWRDb3VudCA9IDA7IHByaXZhdGUgJGxhc3RBcnJheUFyZ3VtZW50ID0gTlVMTDsgcHJpdmF0ZSAkbGFzdE9wdGlvbmFsQXJndW1lbnQgPSBOVUxMOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl07IHByaXZhdGUgJG5lZ2F0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRzaG9ydGN1dHMgPSBbLi4uXSB9OyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9aGlkZGVuID0gRkFMU0U7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1oZWxwID0gJyc7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1kZXNjcmlwdGlvbiA9ICcnOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9ZnVsbERlZmluaXRpb24gPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9aWdub3JlVmFsaWRhdGlvbkVycm9ycyA9IEZBTFNFOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9Y29kZSA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1zeW5vcHNpcyA9IFtdOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9dXNhZ2VzID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1oZWxwZXJTZXQgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEhlbHBlclxIZWxwZXJTZXQgeyBwcml2YXRlICRoZWxwZXJzID0gWy4uLl07IHByaXZhdGUgJGNvbW1hbmQgPSBOVUxMIH0gfV07IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEFwcGxpY2F0aW9ufXdhbnRIZWxwcyA9IEZBTFNFOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxBcHBsaWNhdGlvbn1ydW5uaW5nQ29tbWFuZCA9IC4uLjsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQXBwbGljYXRpb259bmFtZSA9ICdwaHBEb2N1bWVudG9yJzsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQXBwbGljYXRpb259dmVyc2lvbiA9ICd2My4yLjEnOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxBcHBsaWNhdGlvbn1jb21tYW5kTG9hZGVyID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kTG9hZGVyXENvbnRhaW5lckNvbW1hbmRMb2FkZXIgeyBwcml2YXRlICRjb250YWluZXIgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXEFyZ3VtZW50XFNlcnZpY2VMb2NhdG9yIHsgcHJpdmF0ZSAkZmFjdG9yeSA9IGNsYXNzIENsb3N1cmUgeyB2aXJ0dWFsICRjbG9zdXJlID0gIiR0aGlzLT5nZXRTZXJ2aWNlIiB9OyBwcml2YXRlICRzZXJ2aWNlTWFwID0gWydjb25zb2xlLmNvbW1hbmQuYWJvdXQnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLmFzc2V0c19pbnN0YWxsJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV9jbGVhcicgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuY2FjaGVfcG9vbF9jbGVhcicgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuY2FjaGVfcG9vbF9kZWxldGUnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLmNhY2hlX3Bvb2xfbGlzdCcgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuY2FjaGVfcG9vbF9wcnVuZScgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuY2FjaGVfd2FybXVwJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5jb25maWdfZGVidWcnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLmNvbmZpZ19kdW1wX3JlZmVyZW5jZScgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuY29udGFpbmVyX2RlYnVnJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5jb250YWluZXJfbGludCcgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuZGVidWdfYXV0b3dpcmluZycgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuZXZlbnRfZGlzcGF0Y2hlcl9kZWJ1ZycgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQucm91dGVyX2RlYnVnJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5yb3V0ZXJfbWF0Y2gnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLnNlY3JldHNfZGVjcnlwdF90b19sb2NhbCcgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuc2VjcmV0c19lbmNyeXB0X2Zyb21fbG9jYWwnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLnNlY3JldHNfZ2VuZXJhdGVfa2V5JyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5zZWNyZXRzX2xpc3QnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLnNlY3JldHNfcmVtb3ZlJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5zZWNyZXRzX3NldCcgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQueWFtbF9saW50JyA9PiBbLi4uXV07IHByaXZhdGUgJHNlcnZpY2VUeXBlcyA9IFsnY29uc29sZS5jb21tYW5kLmFib3V0JyA9PiAnPycsICdjb25zb2xlLmNvbW1hbmQuYXNzZXRzX2luc3RhbGwnID0+ICc/JywgJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV9jbGVhcicgPT4gJz8nLCAnY29uc29sZS5jb21tYW5kLmNhY2hlX3Bvb2xfY2xlYXInID0+ICc/JywgJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV9wb29sX2RlbGV0ZScgPT4gJz8nLCAnY29uc29sZS5jb21tYW5kLmNhY2hlX3Bvb2xfbGlzdCcgPT4gJz8nLCAnY29uc29sZS5jb21tYW5kLmNhY2hlX3Bvb2xfcHJ1bmUnID0+ICc/JywgJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV93YXJtdXAnID0+ICc/JywgJ2NvbnNvbGUuY29tbWFuZC5jb25maWdfZGVidWcnID0+ICc/JywgJ2NvbnNvbGUuY29tbWFuZC5jb25maWdfZHVtcF9yZWZlcmVuY2UnID0+ICc/JywgJ2NvbnNvbGUuY29tbWFuZC5jb250YWluZXJfZGVidWcnID0+ICc/JywgJ2NvbnNvbGUuY29tbWFuZC5jb250YWluZXJfbGludCcgPT4gJz8nLCAnY29uc29sZS5jb21tYW5kLmRlYnVnX2F1dG93aXJpbmcnID0+ICc/JywgJ2NvbnNvbGUuY29tbWFuZC5ldmVudF9kaXNwYXRjaGVyX2RlYnVnJyA9PiAnPycsICdjb25zb2xlLmNvbW1hbmQucm91dGVyX2RlYnVnJyA9PiAnPycsICdjb25zb2xlLmNvbW1hbmQucm91dGVyX21hdGNoJyA9PiAnPycsICdjb25zb2xlLmNvbW1hbmQuc2VjcmV0c19kZWNyeXB0X3RvX2xvY2FsJyA9PiAnPycsICdjb25zb2xlLmNvbW1hbmQuc2VjcmV0c19lbmNyeXB0X2Zyb21fbG9jYWwnID0+ICc/JywgJ2NvbnNvbGUuY29tbWFuZC5zZWNyZXRzX2dlbmVyYXRlX2tleScgPT4gJz8nLCAnY29uc29sZS5jb21tYW5kLnNlY3JldHNfbGlzdCcgPT4gJz8nLCAnY29uc29sZS5jb21tYW5kLnNlY3JldHNfcmVtb3ZlJyA9PiAnPycsICdjb25zb2xlLmNvbW1hbmQuc2VjcmV0c19zZXQnID0+ICc/JywgJ2NvbnNvbGUuY29tbWFuZC55YW1sX2xpbnQnID0+ICc/J107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXFNlcnZpY2VMb2NhdG9yfWV4dGVybmFsSWQgPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxTZXJ2aWNlTG9jYXRvcn1jb250YWluZXIgPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxTZXJ2aWNlTG9jYXRvcn1mYWN0b3JpZXMgPSBbJ2NvbnNvbGUuY29tbWFuZC5hYm91dCcgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuYXNzZXRzX2luc3RhbGwnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLmNhY2hlX2NsZWFyJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV9wb29sX2NsZWFyJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV9wb29sX2RlbGV0ZScgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuY2FjaGVfcG9vbF9saXN0JyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV9wb29sX3BydW5lJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV93YXJtdXAnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLmNvbmZpZ19kZWJ1ZycgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuY29uZmlnX2R1bXBfcmVmZXJlbmNlJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5jb250YWluZXJfZGVidWcnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLmNvbnRhaW5lcl9saW50JyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5kZWJ1Z19hdXRvd2lyaW5nJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5ldmVudF9kaXNwYXRjaGVyX2RlYnVnJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5yb3V0ZXJfZGVidWcnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLnJvdXRlcl9tYXRjaCcgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuc2VjcmV0c19kZWNyeXB0X3RvX2xvY2FsJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5zZWNyZXRzX2VuY3J5cHRfZnJvbV9sb2NhbCcgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuc2VjcmV0c19nZW5lcmF0ZV9rZXknID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLnNlY3JldHNfbGlzdCcgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuc2VjcmV0c19yZW1vdmUnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLnNlY3JldHNfc2V0JyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC55YW1sX2xpbnQnID0+IFsuLi5dXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cU2VydmljZUxvY2F0b3J9bG9hZGluZyA9IFtdOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxTZXJ2aWNlTG9jYXRvcn1wcm92aWRlZFR5cGVzID0gTlVMTCB9OyBwcml2YXRlICRjb21tYW5kTWFwID0gWydhYm91dCcgPT4gJ2NvbnNvbGUuY29tbWFuZC5hYm91dCcsICdhc3NldHM6aW5zdGFsbCcgPT4gJ2NvbnNvbGUuY29tbWFuZC5hc3NldHNfaW5zdGFsbCcsICdjYWNoZTpjbGVhcicgPT4gJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV9jbGVhcicsICdjYWNoZTpwb29sOmNsZWFyJyA9PiAnY29uc29sZS5jb21tYW5kLmNhY2hlX3Bvb2xfY2xlYXInLCAnY2FjaGU6cG9vbDpwcnVuZScgPT4gJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV9wb29sX3BydW5lJywgJ2NhY2hlOnBvb2w6ZGVsZXRlJyA9PiAnY29uc29sZS5jb21tYW5kLmNhY2hlX3Bvb2xfZGVsZXRlJywgJ2NhY2hlOnBvb2w6bGlzdCcgPT4gJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV9wb29sX2xpc3QnLCAnY2FjaGU6d2FybXVwJyA9PiAnY29uc29sZS5jb21tYW5kLmNhY2hlX3dhcm11cCcsICdkZWJ1Zzpjb25maWcnID0+ICdjb25zb2xlLmNvbW1hbmQuY29uZmlnX2RlYnVnJywgJ2NvbmZpZzpkdW1wLXJlZmVyZW5jZScgPT4gJ2NvbnNvbGUuY29tbWFuZC5jb25maWdfZHVtcF9yZWZlcmVuY2UnLCAnZGVidWc6Y29udGFpbmVyJyA9PiAnY29uc29sZS5jb21tYW5kLmNvbnRhaW5lcl9kZWJ1ZycsICdsaW50OmNvbnRhaW5lcicgPT4gJ2NvbnNvbGUuY29tbWFuZC5jb250YWluZXJfbGludCcsICdkZWJ1ZzphdXRvd2lyaW5nJyA9PiAnY29uc29sZS5jb21tYW5kLmRlYnVnX2F1dG93aXJpbmcnLCAnZGVidWc6ZXZlbnQtZGlzcGF0Y2hlcicgPT4gJ2NvbnNvbGUuY29tbWFuZC5ldmVudF9kaXNwYXRjaGVyX2RlYnVnJywgJ2RlYnVnOnJvdXRlcicgPT4gJ2NvbnNvbGUuY29tbWFuZC5yb3V0ZXJfZGVidWcnLCAncm91dGVyOm1hdGNoJyA9PiAnY29uc29sZS5jb21tYW5kLnJvdXRlcl9tYXRjaCcsICdsaW50OnlhbWwnID0+ICdjb25zb2xlLmNvbW1hbmQueWFtbF9saW50JywgJ3NlY3JldHM6c2V0JyA9PiAnY29uc29sZS5jb21tYW5kLnNlY3JldHNfc2V0JywgJ3NlY3JldHM6cmVtb3ZlJyA9PiAnY29uc29sZS5jb21tYW5kLnNlY3JldHNfcmVtb3ZlJywgJ3NlY3JldHM6Z2VuZXJhdGUta2V5cycgPT4gJ2NvbnNvbGUuY29tbWFuZC5zZWNyZXRzX2dlbmVyYXRlX2tleScsICdzZWNyZXRzOmxpc3QnID0+ICdjb25zb2xlLmNvbW1hbmQuc2VjcmV0c19saXN0JywgJ3NlY3JldHM6ZGVjcnlwdC10by1sb2NhbCcgPT4gJ2NvbnNvbGUuY29tbWFuZC5zZWNyZXRzX2RlY3J5cHRfdG9fbG9jYWwnLCAnc2VjcmV0czplbmNyeXB0LWZyb20tbG9jYWwnID0+ICdjb25zb2xlLmNvbW1hbmQuc2VjcmV0c19lbmNyeXB0X2Zyb21fbG9jYWwnXSB9OyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxBcHBsaWNhdGlvbn1jYXRjaEV4Y2VwdGlvbnMgPSBUUlVFOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxBcHBsaWNhdGlvbn1hdXRvRXhpdCA9IFRSVUU7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEFwcGxpY2F0aW9ufWRlZmluaXRpb24gPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0RGVmaW5pdGlvbiB7IHByaXZhdGUgJGFyZ3VtZW50cyA9IFsnY29tbWFuZCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dEFyZ3VtZW50IHsgcHJpdmF0ZSAkbmFtZSA9ICdjb21tYW5kJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdUaGUgY29tbWFuZCB0byBleGVjdXRlJyB9XTsgcHJpdmF0ZSAkcmVxdWlyZWRDb3VudCA9IDE7IHByaXZhdGUgJGxhc3RBcnJheUFyZ3VtZW50ID0gTlVMTDsgcHJpdmF0ZSAkbGFzdE9wdGlvbmFsQXJndW1lbnQgPSBOVUxMOyBwcml2YXRlICRvcHRpb25zID0gWydoZWxwJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdoZWxwJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnaCc7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0Rpc3BsYXkgaGVscCBmb3IgdGhlIGdpdmVuIGNvbW1hbmQuIFdoZW4gbm8gY29tbWFuZCBpcyBnaXZlbiBkaXNwbGF5IGhlbHAgZm9yIHRoZSA8aW5mbz5saXN0PC9pbmZvPiBjb21tYW5kJyB9LCAncXVpZXQnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3F1aWV0JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAncSc7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0RvIG5vdCBvdXRwdXQgYW55IG1lc3NhZ2UnIH0sICd2ZXJib3NlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd2ZXJib3NlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAndnx2dnx2dnYnOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdJbmNyZWFzZSB0aGUgdmVyYm9zaXR5IG9mIG1lc3NhZ2VzOiAxIGZvciBub3JtYWwgb3V0cHV0LCAyIGZvciBtb3JlIHZlcmJvc2Ugb3V0cHV0IGFuZCAzIGZvciBkZWJ1ZycgfSwgJ3ZlcnNpb24nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3ZlcnNpb24nOyBwcml2YXRlICRzaG9ydGN1dCA9ICdWJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRGlzcGxheSB0aGlzIGFwcGxpY2F0aW9uIHZlcnNpb24nIH0sICdhbnNpJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdhbnNpJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTY7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRm9yY2UgKG9yIGRpc2FibGUgLS1uby1hbnNpKSBBTlNJIG91dHB1dCcgfSwgJ25vLWludGVyYWN0aW9uJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICduby1pbnRlcmFjdGlvbic7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ24nOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdEbyBub3QgYXNrIGFueSBpbnRlcmFjdGl2ZSBxdWVzdGlvbicgfSwgJ2NvbmZpZycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnY29uZmlnJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnYyc7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnTG9jYXRpb24gb2YgYSBjdXN0b20gY29uZmlndXJhdGlvbiBmaWxlJyB9LCAnbG9nJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdsb2cnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnTG9nIGZpbGUgdG8gd3JpdGUgdG8nIH0sICdlbnYnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2Vudic7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ2UnOyBwcml2YXRlICRtb2RlID0gMjsgcHJpdmF0ZSAkZGVmYXVsdCA9ICdwcm9kJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnVGhlIEVudmlyb25tZW50IG5hbWUuJyB9LCAnbm8tZGVidWcnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ25vLWRlYnVnJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdTd2l0Y2ggb2ZmIGRlYnVnIG1vZGUuJyB9XTsgcHJpdmF0ZSAkbmVnYXRpb25zID0gWyduby1hbnNpJyA9PiAnYW5zaSddOyBwcml2YXRlICRzaG9ydGN1dHMgPSBbJ2gnID0+ICdoZWxwJywgJ3EnID0+ICdxdWlldCcsICd2JyA9PiAndmVyYm9zZScsICd2dicgPT4gJ3ZlcmJvc2UnLCAndnZ2JyA9PiAndmVyYm9zZScsICdWJyA9PiAndmVyc2lvbicsICduJyA9PiAnbm8taW50ZXJhY3Rpb24nLCAnYycgPT4gJ2NvbmZpZycsICdlJyA9PiAnZW52J10gfTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQXBwbGljYXRpb259aGVscGVyU2V0ID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxIZWxwZXJcSGVscGVyU2V0IHsgcHJpdmF0ZSAkaGVscGVycyA9IFsnZm9ybWF0dGVyJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEhlbHBlclxGb3JtYXR0ZXJIZWxwZXIgeyBwcm90ZWN0ZWQgJGhlbHBlclNldCA9IC4uLiB9LCAnZGVidWdfZm9ybWF0dGVyJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEhlbHBlclxEZWJ1Z0Zvcm1hdHRlckhlbHBlciB7IHByaXZhdGUgJGNvbG9ycyA9IFsuLi5dOyBwcml2YXRlICRzdGFydGVkID0gWy4uLl07IHByaXZhdGUgJGNvdW50ID0gLTE7IHByb3RlY3RlZCAkaGVscGVyU2V0ID0gLi4uIH0sICdwcm9jZXNzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEhlbHBlclxQcm9jZXNzSGVscGVyIHsgcHJvdGVjdGVkICRoZWxwZXJTZXQgPSAuLi4gfSwgJ3F1ZXN0aW9uJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEhlbHBlclxRdWVzdGlvbkhlbHBlciB7IHByaXZhdGUgJGlucHV0U3RyZWFtID0gTlVMTDsgcHJvdGVjdGVkICRoZWxwZXJTZXQgPSAuLi4gfV07IHByaXZhdGUgJGNvbW1hbmQgPSBOVUxMIH07IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEFwcGxpY2F0aW9ufWRpc3BhdGNoZXIgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnREaXNwYXRjaGVyIHsgcHJpdmF0ZSAkbGlzdGVuZXJzID0gWydrZXJuZWwucmVzcG9uc2UnID0+IFswID0+IFsuLi5dLCAtMTAyNCA9PiBbLi4uXSwgLTEyOCA9PiBbLi4uXV0sICdrZXJuZWwucmVxdWVzdCcgPT4gWzEwMCA9PiBbLi4uXSwgMTYgPT4gWy4uLl0sIDI1NiA9PiBbLi4uXSwgMTUgPT4gWy4uLl0sIDIwNDggPT4gWy4uLl0sIDMyID0+IFsuLi5dXSwgJ2tlcm5lbC5maW5pc2hfcmVxdWVzdCcgPT4gWzAgPT4gWy4uLl0sIC0xNSA9PiBbLi4uXV0sICdrZXJuZWwuY29udHJvbGxlcl9hcmd1bWVudHMnID0+IFswID0+IFsuLi5dXSwgJ2tlcm5lbC5leGNlcHRpb24nID0+IFswID0+IFsuLi5dLCAtMTI4ID0+IFsuLi5dLCAtNjQgPT4gWy4uLl1dLCAnY29uc29sZS5lcnJvcicgPT4gWy0xMjggPT4gWy4uLl0sIDAgPT4gWy4uLl1dLCAnY29uc29sZS50ZXJtaW5hdGUnID0+IFstMTI4ID0+IFsuLi5dLCAtMjU1ID0+IFsuLi5dXSwgJ2NvbnNvbGUuY29tbWFuZCcgPT4gWzIwNDggPT4gWy4uLl0sIDI1NSA9PiBbLi4uXV0sICd0cmFuc2Zvcm1lci50cmFuc2Zvcm1hdGlvbi5wb3N0JyA9PiBbMCA9PiBbLi4uXV1dOyBwcml2YXRlICRzb3J0ZWQgPSBbXTsgcHJpdmF0ZSAkb3B0aW1pemVkID0gWydjb25zb2xlLmNvbW1hbmQnID0+IFswID0+IGNsYXNzIENsb3N1cmUgeyB2aXJ0dWFsICRjbG9zdXJlID0gIiR0aGlzLT5jb25maWd1cmUiLCAuLi4gfSwgMSA9PiBjbGFzcyBDbG9zdXJlIHsgdmlydHVhbCAkY2xvc3VyZSA9ICIkdGhpcy0+b25Db21tYW5kIiwgLi4uIH1dXSB9OyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxBcHBsaWNhdGlvbn10ZXJtaW5hbCA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcVGVybWluYWwgeyAgfTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQXBwbGljYXRpb259ZGVmYXVsdENvbW1hbmQgPSAnbGlzdCc7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEFwcGxpY2F0aW9ufXNpbmdsZUNvbW1hbmQgPSBGQUxTRTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQXBwbGljYXRpb259aW5pdGlhbGl6ZWQgPSBUUlVFOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxBcHBsaWNhdGlvbn1zaWduYWxSZWdpc3RyeSA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEFwcGxpY2F0aW9ufXNpZ25hbHNUb0Rpc3BhdGNoRXZlbnQgPSBbXSB9OyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9bmFtZSA9ICdwcm9qZWN0OnJ1bic7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1wcm9jZXNzVGl0bGUgPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9YWxpYXNlcyA9IFswID0+ICdydW4nXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWRlZmluaXRpb24gPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0RGVmaW5pdGlvbiB7IHByaXZhdGUgJGFyZ3VtZW50cyA9IFtdOyBwcml2YXRlICRyZXF1aXJlZENvdW50ID0gMDsgcHJpdmF0ZSAkbGFzdEFycmF5QXJndW1lbnQgPSBOVUxMOyBwcml2YXRlICRsYXN0T3B0aW9uYWxBcmd1bWVudCA9IE5VTEw7IHByaXZhdGUgJG9wdGlvbnMgPSBbJ3RhcmdldCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndGFyZ2V0JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAndCc7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnUGF0aCB3aGVyZSB0byBzdG9yZSB0aGUgZ2VuZXJhdGVkIG91dHB1dCcgfSwgJ2NhY2hlLWZvbGRlcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnY2FjaGUtZm9sZGVyJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1BhdGggd2hlcmUgdG8gc3RvcmUgdGhlIGNhY2hlIGZpbGVzJyB9LCAnZmlsZW5hbWUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2ZpbGVuYW1lJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnZic7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdGaWxlIHRvIHBhcnNlLCBnbG9iIHBhdHRlcm5zIGFyZSBzdXBwb3J0ZWQuIFByb3ZpZGUgbXVsdGlwbGUgb3B0aW9ucyBvZiB0aGlzIHR5cGUgdG8gYWRkXG4gICAgICAgICAgICAgICAgbXVsdGlwbGUgZmlsZXMuJyB9LCAnZGlyZWN0b3J5JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdkaXJlY3RvcnknOyBwcml2YXRlICRzaG9ydGN1dCA9ICdkJzsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ2RpcmVjdG9yeSB0byBwYXJzZSwgZ2xvYiBwYXR0ZXJucyBhcmUgc3VwcG9ydGVkLiBQcm92aWRlIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIHRvIGFkZFxuICAgICAgICAgICAgICAgIG11bHRpcGxlIGRpcmVjdG9yaWVzLicgfSwgJ2VuY29kaW5nJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdlbmNvZGluZyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdlbmNvZGluZyB0byBiZSB1c2VkIHRvIGludGVycHJldCBzb3VyY2UgZmlsZXMgd2l0aCcgfSwgJ2V4dGVuc2lvbnMnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2V4dGVuc2lvbnMnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdQcm92aWRlIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIHRvIGFkZCBtdWx0aXBsZSBleHRlbnNpb25zLiBkZWZhdWx0IGlzIHBocCcgfSwgJ2lnbm9yZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaWdub3JlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnaSc7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdGaWxlKHMpIGFuZCBkaXJlY3RvcmllcyAocmVsYXRpdmUgdG8gdGhlIHNvdXJjZS1jb2RlIGRpcmVjdG9yeSkgdGhhdCB3aWxsIGJlIGlnbm9yZWQuIEdsb2IgcGF0dGVybnMgYXJlIHN1cHBvcnRlZC4gQWRkIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIG9mIGFkZCBtb3JlIGlnbm9yZSBwYXR0ZXJucycgfSwgJ2lnbm9yZS10YWdzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdpZ25vcmUtdGFncyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1RhZyB0aGF0IHdpbGwgYmUgaWdub3JlZCwgZGVmYXVsdHMgdG8gbm9uZS4gcGFja2FnZSwgc3VicGFja2FnZSBhbmQgaWdub3JlIG1heSBub3QgYmUgaWdub3JlZC4gQWRkIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIHRvIGlnbm9yZSBtdWx0aXBsZSB0YWdzLicgfSwgJ2hpZGRlbicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaGlkZGVuJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdVc2UgdGhpcyBvcHRpb24gdG8gdGVsbCBwaHBEb2N1bWVudG9yIHRvIHBhcnNlIGZpbGVzIGFuZCBkaXJlY3RvcmllcyB0aGF0IGJlZ2luIHdpdGggYSBwZXJpb2QgKC4pLCBieSBkZWZhdWx0IHRoZXNlIGFyZSBpZ25vcmVkJyB9LCAnaWdub3JlLXN5bWxpbmtzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdpZ25vcmUtc3ltbGlua3MnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0lnbm9yZSBzeW1saW5rcyB0byBvdGhlciBmaWxlcyBvciBkaXJlY3RvcmllcywgZGVmYXVsdCBpcyBvbicgfSwgJ21hcmtlcnMnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ21hcmtlcnMnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdtJzsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0NvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1hcmtlcnMvdGFncyB0byBmaWx0ZXInIH0sICd0aXRsZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndGl0bGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnU2V0cyB0aGUgdGl0bGUgZm9yIHRoaXMgcHJvamVjdDsgZGVmYXVsdCBpcyB0aGUgcGhwRG9jdW1lbnRvciBsb2dvJyB9LCAnZm9yY2UnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2ZvcmNlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdGb3JjZXMgYSBmdWxsIGJ1aWxkIG9mIHRoZSBkb2N1bWVudGF0aW9uLCBkb2VzIG5vdCBpbmNyZW1lbnQgZXhpc3RpbmcgZG9jdW1lbnRhdGlvbicgfSwgJ3ZhbGlkYXRlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd2YWxpZGF0ZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnVmFsaWRhdGVzIGV2ZXJ5IHByb2Nlc3NlZCBmaWxlIHVzaW5nIFBIUCBMaW50LCBjb3N0cyBhIGxvdCBvZiBwZXJmb3JtYW5jZScgfSwgJ3Zpc2liaWxpdHknID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3Zpc2liaWxpdHknOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdTcGVjaWZpZXMgdGhlIHBhcnNlIHZpc2liaWxpdHkgdGhhdCBzaG91bGQgYmUgZGlzcGxheWVkIGluIHRoZSBkb2N1bWVudGF0aW9uLiBBZGQgbXVsdGlwbGUgb3B0aW9ucyBvZlxuICAgICAgICAgICAgICAgIHRoaXMgdHlwZSB0byBzcGVjaWZ5IG11bHRpcGxlIGxldmVscy4oInB1YmxpYyxwcm90ZWN0ZWQiKScgfSwgJ2RlZmF1bHRwYWNrYWdlbmFtZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZGVmYXVsdHBhY2thZ2VuYW1lJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ05hbWUgdG8gdXNlIGZvciB0aGUgZGVmYXVsdCBwYWNrYWdlLicgfSwgJ3NvdXJjZWNvZGUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3NvdXJjZWNvZGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1doZXRoZXIgdG8gaW5jbHVkZSBzeW50YXggaGlnaGxpZ2h0ZWQgc291cmNlIGNvZGUnIH0sICd0ZW1wbGF0ZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndGVtcGxhdGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdOYW1lIG9mIHRoZSB0ZW1wbGF0ZSB0byB1c2UgKG9wdGlvbmFsKScgfSwgJ2V4YW1wbGVzLWRpcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZXhhbXBsZXMtZGlyJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0RpcmVjdG9yeSB0byBzZWFjaGVyIGZvciBleGFtcGxlIGZpbGVzIHJlZmVyZW5jZWQgYnkgQGV4YW1wbGUgdGFncycgfSwgJ3NldHRpbmcnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3NldHRpbmcnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdzJzsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1Byb3ZpZGUgY3VzdG9tIHNldHRpbmcocykgYXMgImtleT12YWx1ZSIsIHJ1biBhZ2FpbiB3aXRoIDxpbmZvPi0tbGlzdC1zZXR0aW5nczwvaW5mbz4gZm9yIGEgbGlzdCcgfSwgJ2xpc3Qtc2V0dGluZ3MnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2xpc3Qtc2V0dGluZ3MnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1JldHVybnMgYSBsaXN0IG9mIGF2YWlsYWJsZSBzZXR0aW5ncycgfSwgJ3BhcnNlcHJpdmF0ZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAncGFyc2Vwcml2YXRlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdXaGV0aGVyIHRvIHBhcnNlIERvY0Jsb2NrcyBtYXJrZWQgd2l0aCBAaW50ZXJuYWwgdGFnJyB9XTsgcHJpdmF0ZSAkbmVnYXRpb25zID0gW107IHByaXZhdGUgJHNob3J0Y3V0cyA9IFsndCcgPT4gJ3RhcmdldCcsICdmJyA9PiAnZmlsZW5hbWUnLCAnZCcgPT4gJ2RpcmVjdG9yeScsICdpJyA9PiAnaWdub3JlJywgJ20nID0+ICdtYXJrZXJzJywgJ3MnID0+ICdzZXR0aW5nJ10gfTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWhpZGRlbiA9IEZBTFNFOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9aGVscCA9ICcgICAgICAgICAgICAgICAgcGhwRG9jdW1lbnRvciBjcmVhdGVzIGRvY3VtZW50YXRpb24gZnJvbSBQSFAgc291cmNlIGZpbGVzLiBUaGUgc2ltcGxlc3Qgd2F5XG4gICAgICAgICAgICAgICAgdG8gdXNlIGl0IGlzOlxuXG4gICAgICAgICAgICAgICAgICAgIDxpbmZvPiQgcGhwZG9jIHJ1biAtZCBbZGlyZWN0b3J5IHRvIHBhcnNlXSAtdCBbb3V0cHV0IGRpcmVjdG9yeV08L2luZm8+XG5cbiAgICAgICAgICAgICAgICBUaGlzIHdpbGwgcGFyc2UgZXZlcnkgZmlsZSBlbmRpbmcgd2l0aCAucGhwIGluIDxkaXJlY3RvcnlcbiAgICAgICAgICAgICAgICB0byBwYXJzZT4gYW5kIHRoZW4gb3V0cHV0IGEgSFRNTCBzaXRlIGNvbnRhaW5pbmcgZWFzaWx5IHJlYWRhYmxlIGRvY3VtZW50YXRpb25cbiAgICAgICAgICAgICAgICBpbiA8b3V0cHV0IGRpcmVjdG9yeT4uXG5cbiAgICAgICAgICAgICAgICBwaHBEb2N1bWVudG9yIHdpbGwgdHJ5IHRvIGxvb2sgZm9yIGEgcGhwZG9jLmRpc3QueG1sIG9yIHBocGRvYy54bWwgZmlsZScuLi47IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1kZXNjcmlwdGlvbiA9ICdQYXJzZXMgYW5kIHRyYW5zZm9ybXMgdGhlIGdpdmVuIGZpbGVzIHRvIGEgc3BlY2lmaWVkIGxvY2F0aW9uJzsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWZ1bGxEZWZpbml0aW9uID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dERlZmluaXRpb24geyBwcml2YXRlICRhcmd1bWVudHMgPSBbJ2NvbW1hbmQnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRBcmd1bWVudCB7IHByaXZhdGUgJG5hbWUgPSAnY29tbWFuZCc7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnVGhlIGNvbW1hbmQgdG8gZXhlY3V0ZScgfV07IHByaXZhdGUgJHJlcXVpcmVkQ291bnQgPSAxOyBwcml2YXRlICRsYXN0QXJyYXlBcmd1bWVudCA9IE5VTEw7IHByaXZhdGUgJGxhc3RPcHRpb25hbEFyZ3VtZW50ID0gTlVMTDsgcHJpdmF0ZSAkb3B0aW9ucyA9IFsndGFyZ2V0JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd0YXJnZXQnOyBwcml2YXRlICRzaG9ydGN1dCA9ICd0JzsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdQYXRoIHdoZXJlIHRvIHN0b3JlIHRoZSBnZW5lcmF0ZWQgb3V0cHV0JyB9LCAnY2FjaGUtZm9sZGVyJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdjYWNoZS1mb2xkZXInOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnUGF0aCB3aGVyZSB0byBzdG9yZSB0aGUgY2FjaGUgZmlsZXMnIH0sICdmaWxlbmFtZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZmlsZW5hbWUnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdmJzsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0ZpbGUgdG8gcGFyc2UsIGdsb2IgcGF0dGVybnMgYXJlIHN1cHBvcnRlZC4gUHJvdmlkZSBtdWx0aXBsZSBvcHRpb25zIG9mIHRoaXMgdHlwZSB0byBhZGRcbiAgICAgICAgICAgICAgICBtdWx0aXBsZSBmaWxlcy4nIH0sICdkaXJlY3RvcnknID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2RpcmVjdG9yeSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ2QnOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnZGlyZWN0b3J5IHRvIHBhcnNlLCBnbG9iIHBhdHRlcm5zIGFyZSBzdXBwb3J0ZWQuIFByb3ZpZGUgbXVsdGlwbGUgb3B0aW9ucyBvZiB0aGlzIHR5cGUgdG8gYWRkXG4gICAgICAgICAgICAgICAgbXVsdGlwbGUgZGlyZWN0b3JpZXMuJyB9LCAnZW5jb2RpbmcnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2VuY29kaW5nJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ2VuY29kaW5nIHRvIGJlIHVzZWQgdG8gaW50ZXJwcmV0IHNvdXJjZSBmaWxlcyB3aXRoJyB9LCAnZXh0ZW5zaW9ucycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZXh0ZW5zaW9ucyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1Byb3ZpZGUgbXVsdGlwbGUgb3B0aW9ucyBvZiB0aGlzIHR5cGUgdG8gYWRkIG11bHRpcGxlIGV4dGVuc2lvbnMuIGRlZmF1bHQgaXMgcGhwJyB9LCAnaWdub3JlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdpZ25vcmUnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdpJzsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0ZpbGUocykgYW5kIGRpcmVjdG9yaWVzIChyZWxhdGl2ZSB0byB0aGUgc291cmNlLWNvZGUgZGlyZWN0b3J5KSB0aGF0IHdpbGwgYmUgaWdub3JlZC4gR2xvYiBwYXR0ZXJucyBhcmUgc3VwcG9ydGVkLiBBZGQgbXVsdGlwbGUgb3B0aW9ucyBvZiB0aGlzIHR5cGUgb2YgYWRkIG1vcmUgaWdub3JlIHBhdHRlcm5zJyB9LCAnaWdub3JlLXRhZ3MnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2lnbm9yZS10YWdzJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnVGFnIHRoYXQgd2lsbCBiZSBpZ25vcmVkLCBkZWZhdWx0cyB0byBub25lLiBwYWNrYWdlLCBzdWJwYWNrYWdlIGFuZCBpZ25vcmUgbWF5IG5vdCBiZSBpZ25vcmVkLiBBZGQgbXVsdGlwbGUgb3B0aW9ucyBvZiB0aGlzIHR5cGUgdG8gaWdub3JlIG11bHRpcGxlIHRhZ3MuJyB9LCAnaGlkZGVuJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdoaWRkZW4nOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1VzZSB0aGlzIG9wdGlvbiB0byB0ZWxsIHBocERvY3VtZW50b3IgdG8gcGFyc2UgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIHRoYXQgYmVnaW4gd2l0aCBhIHBlcmlvZCAoLiksIGJ5IGRlZmF1bHQgdGhlc2UgYXJlIGlnbm9yZWQnIH0sICdpZ25vcmUtc3ltbGlua3MnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2lnbm9yZS1zeW1saW5rcyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnSWdub3JlIHN5bWxpbmtzIHRvIG90aGVyIGZpbGVzIG9yIGRpcmVjdG9yaWVzLCBkZWZhdWx0IGlzIG9uJyB9LCAnbWFya2VycycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnbWFya2Vycyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ20nOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnQ29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbWFya2Vycy90YWdzIHRvIGZpbHRlcicgfSwgJ3RpdGxlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd0aXRsZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdTZXRzIHRoZSB0aXRsZSBmb3IgdGhpcyBwcm9qZWN0OyBkZWZhdWx0IGlzIHRoZSBwaHBEb2N1bWVudG9yIGxvZ28nIH0sICdmb3JjZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZm9yY2UnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0ZvcmNlcyBhIGZ1bGwgYnVpbGQgb2YgdGhlIGRvY3VtZW50YXRpb24sIGRvZXMgbm90IGluY3JlbWVudCBleGlzdGluZyBkb2N1bWVudGF0aW9uJyB9LCAndmFsaWRhdGUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3ZhbGlkYXRlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdWYWxpZGF0ZXMgZXZlcnkgcHJvY2Vzc2VkIGZpbGUgdXNpbmcgUEhQIExpbnQsIGNvc3RzIGEgbG90IG9mIHBlcmZvcm1hbmNlJyB9LCAndmlzaWJpbGl0eScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndmlzaWJpbGl0eSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1NwZWNpZmllcyB0aGUgcGFyc2UgdmlzaWJpbGl0eSB0aGF0IHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gdGhlIGRvY3VtZW50YXRpb24uIEFkZCBtdWx0aXBsZSBvcHRpb25zIG9mXG4gICAgICAgICAgICAgICAgdGhpcyB0eXBlIHRvIHNwZWNpZnkgbXVsdGlwbGUgbGV2ZWxzLigicHVibGljLHByb3RlY3RlZCIpJyB9LCAnZGVmYXVsdHBhY2thZ2VuYW1lJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdkZWZhdWx0cGFja2FnZW5hbWUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnTmFtZSB0byB1c2UgZm9yIHRoZSBkZWZhdWx0IHBhY2thZ2UuJyB9LCAnc291cmNlY29kZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnc291cmNlY29kZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnV2hldGhlciB0byBpbmNsdWRlIHN5bnRheCBoaWdobGlnaHRlZCBzb3VyY2UgY29kZScgfSwgJ3RlbXBsYXRlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd0ZW1wbGF0ZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ05hbWUgb2YgdGhlIHRlbXBsYXRlIHRvIHVzZSAob3B0aW9uYWwpJyB9LCAnZXhhbXBsZXMtZGlyJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdleGFtcGxlcy1kaXInOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRGlyZWN0b3J5IHRvIHNlYWNoZXIgZm9yIGV4YW1wbGUgZmlsZXMgcmVmZXJlbmNlZCBieSBAZXhhbXBsZSB0YWdzJyB9LCAnc2V0dGluZycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnc2V0dGluZyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ3MnOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnUHJvdmlkZSBjdXN0b20gc2V0dGluZyhzKSBhcyAia2V5PXZhbHVlIiwgcnVuIGFnYWluIHdpdGggPGluZm8+LS1saXN0LXNldHRpbmdzPC9pbmZvPiBmb3IgYSBsaXN0JyB9LCAnbGlzdC1zZXR0aW5ncycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnbGlzdC1zZXR0aW5ncyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnUmV0dXJucyBhIGxpc3Qgb2YgYXZhaWxhYmxlIHNldHRpbmdzJyB9LCAncGFyc2Vwcml2YXRlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdwYXJzZXByaXZhdGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1doZXRoZXIgdG8gcGFyc2UgRG9jQmxvY2tzIG1hcmtlZCB3aXRoIEBpbnRlcm5hbCB0YWcnIH0sICdoZWxwJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdoZWxwJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnaCc7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0Rpc3BsYXkgaGVscCBmb3IgdGhlIGdpdmVuIGNvbW1hbmQuIFdoZW4gbm8gY29tbWFuZCBpcyBnaXZlbiBkaXNwbGF5IGhlbHAgZm9yIHRoZSA8aW5mbz5saXN0PC9pbmZvPiBjb21tYW5kJyB9LCAncXVpZXQnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3F1aWV0JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAncSc7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0RvIG5vdCBvdXRwdXQgYW55IG1lc3NhZ2UnIH0sICd2ZXJib3NlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd2ZXJib3NlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAndnx2dnx2dnYnOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdJbmNyZWFzZSB0aGUgdmVyYm9zaXR5IG9mIG1lc3NhZ2VzOiAxIGZvciBub3JtYWwgb3V0cHV0LCAyIGZvciBtb3JlIHZlcmJvc2Ugb3V0cHV0IGFuZCAzIGZvciBkZWJ1ZycgfSwgJ3ZlcnNpb24nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3ZlcnNpb24nOyBwcml2YXRlICRzaG9ydGN1dCA9ICdWJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRGlzcGxheSB0aGlzIGFwcGxpY2F0aW9uIHZlcnNpb24nIH0sICdhbnNpJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdhbnNpJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTY7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRm9yY2UgKG9yIGRpc2FibGUgLS1uby1hbnNpKSBBTlNJIG91dHB1dCcgfSwgJ25vLWludGVyYWN0aW9uJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICduby1pbnRlcmFjdGlvbic7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ24nOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdEbyBub3QgYXNrIGFueSBpbnRlcmFjdGl2ZSBxdWVzdGlvbicgfSwgJ2NvbmZpZycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnY29uZmlnJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnYyc7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnTG9jYXRpb24gb2YgYSBjdXN0b20gY29uZmlndXJhdGlvbiBmaWxlJyB9LCAnbG9nJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdsb2cnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnTG9nIGZpbGUgdG8gd3JpdGUgdG8nIH0sICdlbnYnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2Vudic7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ2UnOyBwcml2YXRlICRtb2RlID0gMjsgcHJpdmF0ZSAkZGVmYXVsdCA9ICdwcm9kJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnVGhlIEVudmlyb25tZW50IG5hbWUuJyB9LCAnbm8tZGVidWcnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ25vLWRlYnVnJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdTd2l0Y2ggb2ZmIGRlYnVnIG1vZGUuJyB9XTsgcHJpdmF0ZSAkbmVnYXRpb25zID0gWyduby1hbnNpJyA9PiAnYW5zaSddOyBwcml2YXRlICRzaG9ydGN1dHMgPSBbJ3QnID0+ICd0YXJnZXQnLCAnZicgPT4gJ2ZpbGVuYW1lJywgJ2QnID0+ICdkaXJlY3RvcnknLCAnaScgPT4gJ2lnbm9yZScsICdtJyA9PiAnbWFya2VycycsICdzJyA9PiAnc2V0dGluZycsICdoJyA9PiAnaGVscCcsICdxJyA9PiAncXVpZXQnLCAndicgPT4gJ3ZlcmJvc2UnLCAndnYnID0+ICd2ZXJib3NlJywgJ3Z2dicgPT4gJ3ZlcmJvc2UnLCAnVicgPT4gJ3ZlcnNpb24nLCAnbicgPT4gJ25vLWludGVyYWN0aW9uJywgJ2MnID0+ICdjb25maWcnLCAnZScgPT4gJ2VudiddIH07IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1pZ25vcmVWYWxpZGF0aW9uRXJyb3JzID0gRkFMU0U7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1jb2RlID0gTlVMTDsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfXN5bm9wc2lzID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH11c2FnZXMgPSBbXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWhlbHBlclNldCA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSGVscGVyXEhlbHBlclNldCB7IHByaXZhdGUgJGhlbHBlcnMgPSBbJ2Zvcm1hdHRlcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxIZWxwZXJcRm9ybWF0dGVySGVscGVyIHsgcHJvdGVjdGVkICRoZWxwZXJTZXQgPSAuLi4gfSwgJ2RlYnVnX2Zvcm1hdHRlcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxIZWxwZXJcRGVidWdGb3JtYXR0ZXJIZWxwZXIgeyBwcml2YXRlICRjb2xvcnMgPSBbMCA9PiAnYmxhY2snLCAxID0+ICdyZWQnLCAyID0+ICdncmVlbicsIDMgPT4gJ3llbGxvdycsIDQgPT4gJ2JsdWUnLCA1ID0+ICdtYWdlbnRhJywgNiA9PiAnY3lhbicsIDcgPT4gJ3doaXRlJywgOCA9PiAnZGVmYXVsdCddOyBwcml2YXRlICRzdGFydGVkID0gW107IHByaXZhdGUgJGNvdW50ID0gLTE7IHByb3RlY3RlZCAkaGVscGVyU2V0ID0gLi4uIH0sICdwcm9jZXNzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEhlbHBlclxQcm9jZXNzSGVscGVyIHsgcHJvdGVjdGVkICRoZWxwZXJTZXQgPSAuLi4gfSwgJ3F1ZXN0aW9uJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEhlbHBlclxRdWVzdGlvbkhlbHBlciB7IHByaXZhdGUgJGlucHV0U3RyZWFtID0gTlVMTDsgcHJvdGVjdGVkICRoZWxwZXJTZXQgPSAuLi4gfV07IHByaXZhdGUgJGNvbW1hbmQgPSBOVUxMIH0gfSwgJGlucHV0ID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxBcmd2SW5wdXQgeyBwcml2YXRlICR0b2tlbnMgPSBbXTsgcHJpdmF0ZSAkcGFyc2VkID0gW107IHByb3RlY3RlZCAkZGVmaW5pdGlvbiA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXREZWZpbml0aW9uIHsgcHJpdmF0ZSAkYXJndW1lbnRzID0gWydjb21tYW5kJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0QXJndW1lbnQgeyBwcml2YXRlICRuYW1lID0gJ2NvbW1hbmQnOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1RoZSBjb21tYW5kIHRvIGV4ZWN1dGUnIH1dOyBwcml2YXRlICRyZXF1aXJlZENvdW50ID0gMTsgcHJpdmF0ZSAkbGFzdEFycmF5QXJndW1lbnQgPSBOVUxMOyBwcml2YXRlICRsYXN0T3B0aW9uYWxBcmd1bWVudCA9IE5VTEw7IHByaXZhdGUgJG9wdGlvbnMgPSBbJ3RhcmdldCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndGFyZ2V0JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAndCc7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnUGF0aCB3aGVyZSB0byBzdG9yZSB0aGUgZ2VuZXJhdGVkIG91dHB1dCcgfSwgJ2NhY2hlLWZvbGRlcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnY2FjaGUtZm9sZGVyJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1BhdGggd2hlcmUgdG8gc3RvcmUgdGhlIGNhY2hlIGZpbGVzJyB9LCAnZmlsZW5hbWUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2ZpbGVuYW1lJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnZic7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdGaWxlIHRvIHBhcnNlLCBnbG9iIHBhdHRlcm5zIGFyZSBzdXBwb3J0ZWQuIFByb3ZpZGUgbXVsdGlwbGUgb3B0aW9ucyBvZiB0aGlzIHR5cGUgdG8gYWRkXG4gICAgICAgICAgICAgICAgbXVsdGlwbGUgZmlsZXMuJyB9LCAnZGlyZWN0b3J5JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdkaXJlY3RvcnknOyBwcml2YXRlICRzaG9ydGN1dCA9ICdkJzsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ2RpcmVjdG9yeSB0byBwYXJzZSwgZ2xvYiBwYXR0ZXJucyBhcmUgc3VwcG9ydGVkLiBQcm92aWRlIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIHRvIGFkZFxuICAgICAgICAgICAgICAgIG11bHRpcGxlIGRpcmVjdG9yaWVzLicgfSwgJ2VuY29kaW5nJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdlbmNvZGluZyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdlbmNvZGluZyB0byBiZSB1c2VkIHRvIGludGVycHJldCBzb3VyY2UgZmlsZXMgd2l0aCcgfSwgJ2V4dGVuc2lvbnMnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2V4dGVuc2lvbnMnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdQcm92aWRlIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIHRvIGFkZCBtdWx0aXBsZSBleHRlbnNpb25zLiBkZWZhdWx0IGlzIHBocCcgfSwgJ2lnbm9yZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaWdub3JlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnaSc7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdGaWxlKHMpIGFuZCBkaXJlY3RvcmllcyAocmVsYXRpdmUgdG8gdGhlIHNvdXJjZS1jb2RlIGRpcmVjdG9yeSkgdGhhdCB3aWxsIGJlIGlnbm9yZWQuIEdsb2IgcGF0dGVybnMgYXJlIHN1cHBvcnRlZC4gQWRkIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIG9mIGFkZCBtb3JlIGlnbm9yZSBwYXR0ZXJucycgfSwgJ2lnbm9yZS10YWdzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdpZ25vcmUtdGFncyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1RhZyB0aGF0IHdpbGwgYmUgaWdub3JlZCwgZGVmYXVsdHMgdG8gbm9uZS4gcGFja2FnZSwgc3VicGFja2FnZSBhbmQgaWdub3JlIG1heSBub3QgYmUgaWdub3JlZC4gQWRkIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIHRvIGlnbm9yZSBtdWx0aXBsZSB0YWdzLicgfSwgJ2hpZGRlbicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaGlkZGVuJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdVc2UgdGhpcyBvcHRpb24gdG8gdGVsbCBwaHBEb2N1bWVudG9yIHRvIHBhcnNlIGZpbGVzIGFuZCBkaXJlY3RvcmllcyB0aGF0IGJlZ2luIHdpdGggYSBwZXJpb2QgKC4pLCBieSBkZWZhdWx0IHRoZXNlIGFyZSBpZ25vcmVkJyB9LCAnaWdub3JlLXN5bWxpbmtzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdpZ25vcmUtc3ltbGlua3MnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0lnbm9yZSBzeW1saW5rcyB0byBvdGhlciBmaWxlcyBvciBkaXJlY3RvcmllcywgZGVmYXVsdCBpcyBvbicgfSwgJ21hcmtlcnMnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ21hcmtlcnMnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdtJzsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0NvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1hcmtlcnMvdGFncyB0byBmaWx0ZXInIH0sICd0aXRsZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndGl0bGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnU2V0cyB0aGUgdGl0bGUgZm9yIHRoaXMgcHJvamVjdDsgZGVmYXVsdCBpcyB0aGUgcGhwRG9jdW1lbnRvciBsb2dvJyB9LCAnZm9yY2UnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2ZvcmNlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdGb3JjZXMgYSBmdWxsIGJ1aWxkIG9mIHRoZSBkb2N1bWVudGF0aW9uLCBkb2VzIG5vdCBpbmNyZW1lbnQgZXhpc3RpbmcgZG9jdW1lbnRhdGlvbicgfSwgJ3ZhbGlkYXRlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd2YWxpZGF0ZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnVmFsaWRhdGVzIGV2ZXJ5IHByb2Nlc3NlZCBmaWxlIHVzaW5nIFBIUCBMaW50LCBjb3N0cyBhIGxvdCBvZiBwZXJmb3JtYW5jZScgfSwgJ3Zpc2liaWxpdHknID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3Zpc2liaWxpdHknOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdTcGVjaWZpZXMgdGhlIHBhcnNlIHZpc2liaWxpdHkgdGhhdCBzaG91bGQgYmUgZGlzcGxheWVkIGluIHRoZSBkb2N1bWVudGF0aW9uLiBBZGQgbXVsdGlwbGUgb3B0aW9ucyBvZlxuICAgICAgICAgICAgICAgIHRoaXMgdHlwZSB0byBzcGVjaWZ5IG11bHRpcGxlIGxldmVscy4oInB1YmxpYyxwcm90ZWN0ZWQiKScgfSwgJ2RlZmF1bHRwYWNrYWdlbmFtZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZGVmYXVsdHBhY2thZ2VuYW1lJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ05hbWUgdG8gdXNlIGZvciB0aGUgZGVmYXVsdCBwYWNrYWdlLicgfSwgJ3NvdXJjZWNvZGUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3NvdXJjZWNvZGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1doZXRoZXIgdG8gaW5jbHVkZSBzeW50YXggaGlnaGxpZ2h0ZWQgc291cmNlIGNvZGUnIH0sICd0ZW1wbGF0ZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndGVtcGxhdGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdOYW1lIG9mIHRoZSB0ZW1wbGF0ZSB0byB1c2UgKG9wdGlvbmFsKScgfSwgJ2V4YW1wbGVzLWRpcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZXhhbXBsZXMtZGlyJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0RpcmVjdG9yeSB0byBzZWFjaGVyIGZvciBleGFtcGxlIGZpbGVzIHJlZmVyZW5jZWQgYnkgQGV4YW1wbGUgdGFncycgfSwgJ3NldHRpbmcnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3NldHRpbmcnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdzJzsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1Byb3ZpZGUgY3VzdG9tIHNldHRpbmcocykgYXMgImtleT12YWx1ZSIsIHJ1biBhZ2FpbiB3aXRoIDxpbmZvPi0tbGlzdC1zZXR0aW5nczwvaW5mbz4gZm9yIGEgbGlzdCcgfSwgJ2xpc3Qtc2V0dGluZ3MnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2xpc3Qtc2V0dGluZ3MnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1JldHVybnMgYSBsaXN0IG9mIGF2YWlsYWJsZSBzZXR0aW5ncycgfSwgJ3BhcnNlcHJpdmF0ZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAncGFyc2Vwcml2YXRlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdXaGV0aGVyIHRvIHBhcnNlIERvY0Jsb2NrcyBtYXJrZWQgd2l0aCBAaW50ZXJuYWwgdGFnJyB9LCAnaGVscCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaGVscCc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ2gnOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdEaXNwbGF5IGhlbHAgZm9yIHRoZSBnaXZlbiBjb21tYW5kLiBXaGVuIG5vIGNvbW1hbmQgaXMgZ2l2ZW4gZGlzcGxheSBoZWxwIGZvciB0aGUgPGluZm8+bGlzdDwvaW5mbz4gY29tbWFuZCcgfSwgJ3F1aWV0JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdxdWlldCc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ3EnOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdEbyBub3Qgb3V0cHV0IGFueSBtZXNzYWdlJyB9LCAndmVyYm9zZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndmVyYm9zZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ3Z8dnZ8dnZ2JzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnSW5jcmVhc2UgdGhlIHZlcmJvc2l0eSBvZiBtZXNzYWdlczogMSBmb3Igbm9ybWFsIG91dHB1dCwgMiBmb3IgbW9yZSB2ZXJib3NlIG91dHB1dCBhbmQgMyBmb3IgZGVidWcnIH0sICd2ZXJzaW9uJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd2ZXJzaW9uJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnVic7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0Rpc3BsYXkgdGhpcyBhcHBsaWNhdGlvbiB2ZXJzaW9uJyB9LCAnYW5zaScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnYW5zaSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE2OyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0ZvcmNlIChvciBkaXNhYmxlIC0tbm8tYW5zaSkgQU5TSSBvdXRwdXQnIH0sICduby1pbnRlcmFjdGlvbicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnbm8taW50ZXJhY3Rpb24nOyBwcml2YXRlICRzaG9ydGN1dCA9ICduJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRG8gbm90IGFzayBhbnkgaW50ZXJhY3RpdmUgcXVlc3Rpb24nIH0sICdjb25maWcnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2NvbmZpZyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ2MnOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0xvY2F0aW9uIG9mIGEgY3VzdG9tIGNvbmZpZ3VyYXRpb24gZmlsZScgfSwgJ2xvZycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnbG9nJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0xvZyBmaWxlIHRvIHdyaXRlIHRvJyB9LCAnZW52JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdlbnYnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdlJzsgcHJpdmF0ZSAkbW9kZSA9IDI7IHByaXZhdGUgJGRlZmF1bHQgPSAncHJvZCc7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1RoZSBFbnZpcm9ubWVudCBuYW1lLicgfSwgJ25vLWRlYnVnJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICduby1kZWJ1Zyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnU3dpdGNoIG9mZiBkZWJ1ZyBtb2RlLicgfV07IHByaXZhdGUgJG5lZ2F0aW9ucyA9IFsnbm8tYW5zaScgPT4gJ2Fuc2knXTsgcHJpdmF0ZSAkc2hvcnRjdXRzID0gWyd0JyA9PiAndGFyZ2V0JywgJ2YnID0+ICdmaWxlbmFtZScsICdkJyA9PiAnZGlyZWN0b3J5JywgJ2knID0+ICdpZ25vcmUnLCAnbScgPT4gJ21hcmtlcnMnLCAncycgPT4gJ3NldHRpbmcnLCAnaCcgPT4gJ2hlbHAnLCAncScgPT4gJ3F1aWV0JywgJ3YnID0+ICd2ZXJib3NlJywgJ3Z2JyA9PiAndmVyYm9zZScsICd2dnYnID0+ICd2ZXJib3NlJywgJ1YnID0+ICd2ZXJzaW9uJywgJ24nID0+ICduby1pbnRlcmFjdGlvbicsICdjJyA9PiAnY29uZmlnJywgJ2UnID0+ICdlbnYnXSB9OyBwcm90ZWN0ZWQgJHN0cmVhbSA9IE5VTEw7IHByb3RlY3RlZCAkb3B0aW9ucyA9IFtdOyBwcm90ZWN0ZWQgJGFyZ3VtZW50cyA9IFsnY29tbWFuZCcgPT4gJ3Byb2plY3Q6cnVuJ107IHByb3RlY3RlZCAkaW50ZXJhY3RpdmUgPSBUUlVFIH0sICRvdXRwdXQgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXE91dHB1dFxDb25zb2xlT3V0cHV0IHsgcHJpdmF0ZSAkc3RkZXJyID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcU3RyZWFtT3V0cHV0IHsgcHJpdmF0ZSAkc3RyZWFtID0gcmVzb3VyY2UoMTU5KSBvZiB0eXBlIChzdHJlYW0pOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcT3V0cHV0fXZlcmJvc2l0eSA9IDMyOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcT3V0cHV0fWZvcm1hdHRlciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlciB7IHByaXZhdGUgJGRlY29yYXRlZCA9IFRSVUU7IHByaXZhdGUgJHN0eWxlcyA9IFsnZXJyb3InID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlIHsgcHJpdmF0ZSAkY29sb3IgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbG9yIHsgLi4uIH07IHByaXZhdGUgJGZvcmVncm91bmQgPSAnd2hpdGUnOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJ3JlZCc7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IE5VTEwgfSwgJ2luZm8nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlIHsgcHJpdmF0ZSAkY29sb3IgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbG9yIHsgLi4uIH07IHByaXZhdGUgJGZvcmVncm91bmQgPSAnZ3JlZW4nOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJyc7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IE5VTEwgfSwgJ2NvbW1lbnQnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlIHsgcHJpdmF0ZSAkY29sb3IgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbG9yIHsgLi4uIH07IHByaXZhdGUgJGZvcmVncm91bmQgPSAneWVsbG93JzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl07IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH0sICdxdWVzdGlvbicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyBwcml2YXRlICRjb2xvciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29sb3IgeyAuLi4gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICdibGFjayc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnY3lhbic7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IE5VTEwgfV07IHByaXZhdGUgJHN0eWxlU3RhY2sgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZVN0YWNrIHsgcHJpdmF0ZSAkc3R5bGVzID0gW107IHByaXZhdGUgJGVtcHR5U3R5bGUgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IC4uLiB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJyc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnJzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRocmVmID0gTlVMTDsgcHJpdmF0ZSAkaGFuZGxlc0hyZWZHcmFjZWZ1bGx5ID0gVFJVRSB9IH0gfSB9OyBwcml2YXRlICRjb25zb2xlU2VjdGlvbk91dHB1dHMgPSBbXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XFN0cmVhbU91dHB1dH1zdHJlYW0gPSByZXNvdXJjZSgxNDQpIG9mIHR5cGUgKHN0cmVhbSk7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXE91dHB1dFxPdXRwdXR9dmVyYm9zaXR5ID0gMzI7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXE91dHB1dFxPdXRwdXR9Zm9ybWF0dGVyID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyIHsgcHJpdmF0ZSAkZGVjb3JhdGVkID0gVFJVRTsgcHJpdmF0ZSAkc3R5bGVzID0gWydlcnJvcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyBwcml2YXRlICRjb2xvciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29sb3IgeyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJzM3JzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICc0MSc7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXSB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJ3doaXRlJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICdyZWQnOyBwcml2YXRlICRvcHRpb25zID0gW107IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH0sICdpbmZvJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IHByaXZhdGUgJGZvcmVncm91bmQgPSAnMzInOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJyc7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXSB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJ2dyZWVuJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gW107IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH0sICdjb21tZW50JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IHByaXZhdGUgJGZvcmVncm91bmQgPSAnMzMnOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJyc7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXSB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJ3llbGxvdyc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnJzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFtdOyBwcml2YXRlICRocmVmID0gTlVMTDsgcHJpdmF0ZSAkaGFuZGxlc0hyZWZHcmFjZWZ1bGx5ID0gTlVMTCB9LCAncXVlc3Rpb24nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlIHsgcHJpdmF0ZSAkY29sb3IgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbG9yIHsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICczMCc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnNDYnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl0gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICdibGFjayc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnY3lhbic7IHByaXZhdGUgJG9wdGlvbnMgPSBbXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IE5VTEwgfV07IHByaXZhdGUgJHN0eWxlU3RhY2sgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZVN0YWNrIHsgcHJpdmF0ZSAkc3R5bGVzID0gW107IHByaXZhdGUgJGVtcHR5U3R5bGUgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IHByaXZhdGUgJGZvcmVncm91bmQgPSAnJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl0gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICcnOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJyc7IHByaXZhdGUgJG9wdGlvbnMgPSBbXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IFRSVUUgfSB9IH0gfSkgcGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3Ivc3ltZm9ueS9jb25zb2xlL0FwcGxpY2F0aW9uLnBocDoyOTUKICAgIDEuNjA1OCAgIDE3Mzg5MzA0ICAgNy4gU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxBcHBsaWNhdGlvbi0+ZG9SdW5Db21tYW5kKCRjb21tYW5kID0gY2xhc3MgcGhwRG9jdW1lbnRvclxDb25zb2xlXENvbW1hbmRcUHJvamVjdFxSdW5Db21tYW5kIHsgcHJpdmF0ZSAkcHJvamVjdERlc2NyaXB0b3JCdWlsZGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXFByb2plY3REZXNjcmlwdG9yQnVpbGRlciB7IHByb3RlY3RlZCAkYXNzZW1ibGVyRmFjdG9yeSA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlckZhY3RvcnkgeyBwcm90ZWN0ZWQgJGFzc2VtYmxlcnMgPSBbMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXEZpbGVBc3NlbWJsZXIgeyAuLi4gfSB9LCAxID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcQ29uc3RhbnRBc3NlbWJsZXIgeyAuLi4gfSB9LCAyID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVHJhaXRBc3NlbWJsZXIgeyAuLi4gfSB9LCAzID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcQ2xhc3NBc3NlbWJsZXIgeyAuLi4gfSB9LCA0ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcRW51bUFzc2VtYmxlciB7IC4uLiB9IH0sIDUgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxFbnVtQ2FzZUFzc2VtYmxlciB7IC4uLiB9IH0sIDYgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxJbnRlcmZhY2VBc3NlbWJsZXIgeyAuLi4gfSB9LCA3ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcUHJvcGVydHlBc3NlbWJsZXIgeyAuLi4gfSB9LCA4ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcQXJndW1lbnRBc3NlbWJsZXIgeyAuLi4gfSB9LCA5ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcTWV0aG9kQXNzZW1ibGVyIHsgLi4uIH0gfSwgMTAgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxGdW5jdGlvbkFzc2VtYmxlciB7IC4uLiB9IH0sIDExID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcTmFtZXNwYWNlQXNzZW1ibGVyIHsgLi4uIH0gfSwgMTIgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXEF1dGhvckFzc2VtYmxlciB7IC4uLiB9IH0sIDEzID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xEZXByZWNhdGVkQXNzZW1ibGVyIHsgLi4uIH0gfSwgMTQgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXEV4YW1wbGVBc3NlbWJsZXIgeyAuLi4gfSB9LCAxNSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcTGlua0Fzc2VtYmxlciB7IC4uLiB9IH0sIDE2ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xNZXRob2RBc3NlbWJsZXIgeyAuLi4gfSB9LCAxNyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcUHJvcGVydHlBc3NlbWJsZXIgeyAuLi4gfSB9LCAxOCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcUHJvcGVydHlBc3NlbWJsZXIgeyAuLi4gfSB9LCAxOSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcUHJvcGVydHlBc3NlbWJsZXIgeyAuLi4gfSB9LCAyMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcSW52YWxpZFRhZ0Fzc2VtYmxlciB7IC4uLiB9IH0sIDIxID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xWYXJBc3NlbWJsZXIgeyAuLi4gfSB9LCAyMiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcUGFyYW1Bc3NlbWJsZXIgeyAuLi4gfSB9LCAyMyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcVGhyb3dzQXNzZW1ibGVyIHsgLi4uIH0gfSwgMjQgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXFJldHVybkFzc2VtYmxlciB7IC4uLiB9IH0sIDI1ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xVc2VzQXNzZW1ibGVyIHsgLi4uIH0gfSwgMjYgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXFNlZUFzc2VtYmxlciB7IC4uLiB9IH0sIDI3ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xTaW5jZUFzc2VtYmxlciB7IC4uLiB9IH0sIDI4ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xWZXJzaW9uQXNzZW1ibGVyIHsgLi4uIH0gfV07IHByb3RlY3RlZCAkZmFsbGJhY2tBc3NlbWJsZXJzID0gWzAgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXEdlbmVyaWNUYWdBc3NlbWJsZXIgeyAuLi4gfSB9XSB9OyBwcm90ZWN0ZWQgJGZpbHRlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxGaWx0ZXJcRmlsdGVyIHsgcHJpdmF0ZSAkcGlwZWxpbmUgPSBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyBwcml2YXRlICRzdGFnZXMgPSBbMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRmlsdGVyXFN0cmlwSWdub3JlIHsgLi4uIH0sIDEgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcElnbm9yZWRUYWdzIHsgLi4uIH0sIDIgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcEludGVybmFsIHsgLi4uIH0sIDMgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcE9uVmlzaWJpbGl0eSB7IC4uLiB9XTsgcHJpdmF0ZSAkcHJvY2Vzc29yID0gY2xhc3MgTGVhZ3VlXFBpcGVsaW5lXEludGVycnVwdGlibGVQcm9jZXNzb3IgeyBwcml2YXRlICRjaGVjayA9IGNsYXNzIENsb3N1cmUgeyB2aXJ0dWFsICRjbG9zdXJlID0gInBocERvY3VtZW50b3JcRGVzY3JpcHRvclxGaWx0ZXJcRmlsdGVyOjpwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRmlsdGVyXHtjbG9zdXJlfSIsIC4uLiB9IH0gfSB9OyBwcm90ZWN0ZWQgJHByb2plY3QgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcUHJvamVjdERlc2NyaXB0b3IgeyBwcml2YXRlICRuYW1lID0gJ0RvY3VtZW50YXRpb24nOyBwcml2YXRlICRuYW1lc3BhY2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcTmFtZXNwYWNlRGVzY3JpcHRvciB7IHByb3RlY3RlZCAkcGFyZW50ID0gTlVMTDsgcHJvdGVjdGVkICRjaGlsZHJlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkZnVuY3Rpb25zID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRjb25zdGFudHMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGNsYXNzZXMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGludGVyZmFjZXMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJHRyYWl0cyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByaXZhdGUgJGVudW1zID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRmcXNlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiB7IHByaXZhdGUgJGZxc2VuID0gJ1xcJzsgcHJpdmF0ZSAkbmFtZSA9ICcnIH07IHByb3RlY3RlZCAkbmFtZSA9ICdcXCc7IHByb3RlY3RlZCAkbmFtZXNwYWNlID0gJyc7IHByb3RlY3RlZCAkcGFja2FnZSA9IE5VTEw7IHByb3RlY3RlZCAkc3VtbWFyeSA9ICcnOyBwcm90ZWN0ZWQgJGRlc2NyaXB0aW9uID0gTlVMTDsgcHJvdGVjdGVkICRmaWxlRGVzY3JpcHRvciA9IE5VTEw7IHByb3RlY3RlZCAkbGluZSA9IDA7IHByb3RlY3RlZCAkdGFncyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkZXJyb3JzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRpbmhlcml0ZWRFbGVtZW50ID0gTlVMTCB9OyBwcml2YXRlICRwYWNrYWdlID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXFBhY2thZ2VEZXNjcmlwdG9yIHsgcHJvdGVjdGVkICRwYXJlbnQgPSBOVUxMOyBwcm90ZWN0ZWQgJGNoaWxkcmVuID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRmdW5jdGlvbnMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGNvbnN0YW50cyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkY2xhc3NlcyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkaW50ZXJmYWNlcyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkdHJhaXRzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJpdmF0ZSAke3BocERvY3VtZW50b3JcRGVzY3JpcHRvclxOYW1lc3BhY2VEZXNjcmlwdG9yfWVudW1zID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRmcXNlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiB7IHByaXZhdGUgJGZxc2VuID0gJ1xcJzsgcHJpdmF0ZSAkbmFtZSA9ICcnIH07IHByb3RlY3RlZCAkbmFtZSA9ICdcXCc7IHByb3RlY3RlZCAkbmFtZXNwYWNlID0gJyc7IHByb3RlY3RlZCAkcGFja2FnZSA9IE5VTEw7IHByb3RlY3RlZCAkc3VtbWFyeSA9ICcnOyBwcm90ZWN0ZWQgJGRlc2NyaXB0aW9uID0gTlVMTDsgcHJvdGVjdGVkICRmaWxlRGVzY3JpcHRvciA9IE5VTEw7IHByb3RlY3RlZCAkbGluZSA9IDA7IHByb3RlY3RlZCAkdGFncyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkZXJyb3JzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRpbmhlcml0ZWRFbGVtZW50ID0gTlVMTCB9OyBwcml2YXRlICRmaWxlcyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFtdIH07IHByaXZhdGUgJGluZGV4ZXMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbXSB9OyBwcml2YXRlICRzZXR0aW5ncyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxQcm9qZWN0RGVzY3JpcHRvclxTZXR0aW5ncyB7IHByaXZhdGUgJGlzTW9kaWZpZWQgPSBGQUxTRTsgcHJpdmF0ZSAkdmlzaWJpbGl0eSA9IDc7IHByaXZhdGUgJGluY2x1ZGVTb3VyY2UgPSBGQUxTRTsgcHJpdmF0ZSAkY3VzdG9tID0gW10gfTsgcHJpdmF0ZSAkcGFydGlhbHMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbXSB9OyBwcml2YXRlICR2ZXJzaW9ucyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFswID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxWZXJzaW9uRGVzY3JpcHRvciB7IC4uLiB9XSB9OyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxEb2NCbG9ja1xEZXNjcmlwdGlvbkRlc2NyaXB0b3IgeyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiB7IHByaXZhdGUgJGJvZHlUZW1wbGF0ZSA9ICcnOyBwcml2YXRlICR0YWdzID0gWy4uLl0gfTsgcHJpdmF0ZSAkaW5saW5lVGFncyA9IFtdIH0gfTsgcHJpdmF0ZSAkc2VydmljZXNXaXRoQ3VzdG9tU2V0dGluZ3MgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXEFyZ3VtZW50XFJld2luZGFibGVHZW5lcmF0b3IgeyBwcml2YXRlICRnZW5lcmF0b3IgPSBjbGFzcyBDbG9zdXJlIHsgdmlydHVhbCAkY2xvc3VyZSA9ICIkdGhpcy0+Q29udGFpbmVyWGZxMkhiM1x7Y2xvc3VyZX0iIH07IHByaXZhdGUgJGNvdW50ID0gMiB9OyBwcml2YXRlICRhcGlTcGVjaWZpY2F0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxDb25maWd1cmF0aW9uXEFwaVNwZWNpZmljYXRpb24geyBwcml2YXRlICRzb3VyY2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXENvbmZpZ3VyYXRpb25cU291cmNlIHsgcHJpdmF0ZSAkZHNuID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEc24geyBwcml2YXRlICRkc24gPSAnLic7IHByaXZhdGUgJHVyaSA9IGNsYXNzIExlYWd1ZVxVcmlcVXJpIHsgLi4uIH07IHByaXZhdGUgJHBhcmFtZXRlcnMgPSBbLi4uXSB9OyBwcml2YXRlICRwYXRocyA9IFswID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGF0aCB7IC4uLiB9XSB9OyBwcml2YXRlICRvdXRwdXQgPSAnLic7IHByaXZhdGUgJGlnbm9yZSA9IFsnaGlkZGVuJyA9PiBUUlVFLCAnc3ltbGlua3MnID0+IFRSVUUsICdwYXRocycgPT4gW11dOyBwcml2YXRlICRleHRlbnNpb25zID0gWzAgPT4gJ3BocCcsIDEgPT4gJ3BocDMnLCAyID0+ICdwaHRtbCddOyBwcml2YXRlICR2aXNpYmlsaXR5ID0gWzAgPT4gJ3B1YmxpYycsIDEgPT4gJ3Byb3RlY3RlZCcsIDIgPT4gJ3ByaXZhdGUnXTsgcHJpdmF0ZSAkZGVmYXVsdFBhY2thZ2VOYW1lID0gJ0FwcGxpY2F0aW9uJzsgcHJpdmF0ZSAkaW5jbHVkZVNvdXJjZSA9IEZBTFNFOyBwcml2YXRlICRtYXJrZXJzID0gWzAgPT4gJ1RPRE8nLCAxID0+ICdGSVhNRSddOyBwcml2YXRlICRpZ25vcmVUYWdzID0gW107IHByaXZhdGUgJGV4YW1wbGVzID0gTlVMTDsgcHJpdmF0ZSAkZW5jb2RpbmcgPSAndXRmLTgnOyBwcml2YXRlICR2YWxpZGF0ZSA9IEZBTFNFIH0gfTsgcHJpdmF0ZSAkcGlwZWxpbmUgPSBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyBwcml2YXRlICRzdGFnZXMgPSBbMCA9PiBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyBwcml2YXRlICRzdGFnZXMgPSBbMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENvbmZpZ3VyZSB7IC4uLiB9LCAxID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcVHJhbnNmb3JtVG9QYXlsb2FkIHsgLi4uIH0sIDIgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxJbml0aWFsaXplQnVpbGRlckZyb21Db25maWcgeyAuLi4gfSwgMyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXFB1cmdlQ2FjaGVzV2hlbkZvcmNlZCB7IC4uLiB9XTsgcHJpdmF0ZSAkcHJvY2Vzc29yID0gY2xhc3MgTGVhZ3VlXFBpcGVsaW5lXEZpbmdlcnNDcm9zc2VkUHJvY2Vzc29yIHsgIH0gfSwgMSA9PiBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyBwcml2YXRlICRzdGFnZXMgPSBbXTsgcHJpdmF0ZSAkcHJvY2Vzc29yID0gY2xhc3MgTGVhZ3VlXFBpcGVsaW5lXEZpbmdlcnNDcm9zc2VkUHJvY2Vzc29yIHsgIH0gfSwgMiA9PiBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyBwcml2YXRlICRzdGFnZXMgPSBbMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBhcnNlclxUcmFuc2Zvcm1Ub1BhcnNlclBheWxvYWQgeyAuLi4gfSwgMSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBhcnNlclxDb2xsZWN0RmlsZXMgeyAuLi4gfSwgMiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXEdhcmJhZ2VDb2xsZWN0Q2FjaGUgeyAuLi4gfSwgMyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXExvYWRQcm9qZWN0RGVzY3JpcHRvckZyb21DYWNoZSB7IC4uLiB9LCA0ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcTG9hZEd1aWRlc0Zyb21DYWNoZSB7IC4uLiB9LCA1ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcUGFyc2VyXFBhcnNlRmlsZXMgeyAuLi4gfSwgNiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBhcnNlclxQYXJzZUd1aWRlcyB7IC4uLiB9LCA3ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcU3RvcmVQcm9qZWN0RGVzY3JpcHRvclRvQ2FjaGUgeyAuLi4gfSwgOCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXFN0b3JlR3VpZGVzVG9DYWNoZSB7IC4uLiB9XTsgcHJpdmF0ZSAkcHJvY2Vzc29yID0gY2xhc3MgTGVhZ3VlXFBpcGVsaW5lXEZpbmdlcnNDcm9zc2VkUHJvY2Vzc29yIHsgIH0gfSwgMyA9PiBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyBwcml2YXRlICRzdGFnZXMgPSBbMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXExvYWRQcm9qZWN0RGVzY3JpcHRvckZyb21DYWNoZSB7IC4uLiB9LCAxID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ29tcGlsZSB7IC4uLiB9LCAyID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcTG9hZEd1aWRlc0Zyb21DYWNoZSB7IC4uLiB9LCAzID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcVHJhbnNmb3JtIHsgLi4uIH1dOyBwcml2YXRlICRwcm9jZXNzb3IgPSBjbGFzcyBMZWFndWVcUGlwZWxpbmVcRmluZ2Vyc0Nyb3NzZWRQcm9jZXNzb3IgeyAgfSB9XTsgcHJpdmF0ZSAkcHJvY2Vzc29yID0gY2xhc3MgTGVhZ3VlXFBpcGVsaW5lXEZpbmdlcnNDcm9zc2VkUHJvY2Vzc29yIHsgIH0gfTsgcHJpdmF0ZSAkcHJvZ3Jlc3NCYXIgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEhlbHBlclxQcm9ncmVzc0JhciB7IHByaXZhdGUgJGJhcldpZHRoID0gMjg7IHByaXZhdGUgJGJhckNoYXIgPSBOVUxMOyBwcml2YXRlICRlbXB0eUJhckNoYXIgPSAnLSc7IHByaXZhdGUgJHByb2dyZXNzQ2hhciA9ICc+JzsgcHJpdmF0ZSAkZm9ybWF0ID0gJyAlY3VycmVudCUvJW1heCUgWyViYXIlXSAlcGVyY2VudDozcyUlJzsgcHJpdmF0ZSAkaW50ZXJuYWxGb3JtYXQgPSBOVUxMOyBwcml2YXRlICRyZWRyYXdGcmVxID0gTlVMTDsgcHJpdmF0ZSAkd3JpdGVDb3VudCA9IDY7IHByaXZhdGUgJGxhc3RXcml0ZVRpbWUgPSAxNjc4MTk3NzA3LjMyMjM7IHByaXZhdGUgJG1pblNlY29uZHNCZXR3ZWVuUmVkcmF3cyA9IDAuMDQ7IHByaXZhdGUgJG1heFNlY29uZHNCZXR3ZWVuUmVkcmF3cyA9IDE7IHByaXZhdGUgJG91dHB1dCA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XFN0cmVhbU91dHB1dCB7IHByaXZhdGUgJHN0cmVhbSA9IHJlc291cmNlKDE1OSkgb2YgdHlwZSAoc3RyZWFtKTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XE91dHB1dH12ZXJib3NpdHkgPSAzMjsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XE91dHB1dH1mb3JtYXR0ZXIgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXIgeyBwcml2YXRlICRkZWNvcmF0ZWQgPSBUUlVFOyBwcml2YXRlICRzdHlsZXMgPSBbJ2Vycm9yJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IC4uLiB9LCAnaW5mbycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyAuLi4gfSwgJ2NvbW1lbnQnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlIHsgLi4uIH0sICdxdWVzdGlvbicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyAuLi4gfV07IHByaXZhdGUgJHN0eWxlU3RhY2sgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZVN0YWNrIHsgcHJpdmF0ZSAkc3R5bGVzID0gWy4uLl07IHByaXZhdGUgJGVtcHR5U3R5bGUgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IC4uLiB9IH0gfSB9OyBwcml2YXRlICRzdGVwID0gMjA7IHByaXZhdGUgJG1heCA9IDM2OyBwcml2YXRlICRzdGFydFRpbWUgPSAxNjc4MTk3NzA2OyBwcml2YXRlICRzdGVwV2lkdGggPSAyOyBwcml2YXRlICRwZXJjZW50ID0gMC41NTU1NTU1NTU1NTU1NjsgcHJpdmF0ZSAkZm9ybWF0TGluZUNvdW50ID0gMDsgcHJpdmF0ZSAkbWVzc2FnZXMgPSBbXTsgcHJpdmF0ZSAkb3ZlcndyaXRlID0gVFJVRTsgcHJpdmF0ZSAkdGVybWluYWwgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXFRlcm1pbmFsIHsgIH07IHByaXZhdGUgJHByZXZpb3VzTWVzc2FnZSA9ICcgMTgvMzYgWz09PT09PT09PT09PT09Pi0tLS0tLS0tLS0tLS1dICA1MCUnOyBwcml2YXRlICRjdXJzb3IgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEN1cnNvciB7IHByaXZhdGUgJG91dHB1dCA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XFN0cmVhbU91dHB1dCB7IHByaXZhdGUgJHN0cmVhbSA9IHJlc291cmNlKDE1OSkgb2YgdHlwZSAoc3RyZWFtKTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XE91dHB1dH12ZXJib3NpdHkgPSAzMjsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XE91dHB1dH1mb3JtYXR0ZXIgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXIgeyBwcml2YXRlICRkZWNvcmF0ZWQgPSBUUlVFOyBwcml2YXRlICRzdHlsZXMgPSBbLi4uXTsgcHJpdmF0ZSAkc3R5bGVTdGFjayA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlU3RhY2sgeyAuLi4gfSB9IH07IHByaXZhdGUgJGlucHV0ID0gcmVzb3VyY2UoMSkgb2YgdHlwZSAoc3RyZWFtKSB9IH07IHByaXZhdGUgJHRyYW5zZm9ybWVyUHJvZ3Jlc3NCYXIgPSBOVUxMOyBwcml2YXRlICRldmVudERpc3BhdGNoZXIgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnREaXNwYXRjaGVyIHsgcHJpdmF0ZSAkbGlzdGVuZXJzID0gWydrZXJuZWwucmVzcG9uc2UnID0+IFswID0+IFswID0+IFsuLi5dXSwgLTEwMjQgPT4gWzAgPT4gWy4uLl1dLCAtMTI4ID0+IFswID0+IFsuLi5dXV0sICdrZXJuZWwucmVxdWVzdCcgPT4gWzEwMCA9PiBbMCA9PiBbLi4uXV0sIDE2ID0+IFswID0+IFsuLi5dXSwgMjU2ID0+IFswID0+IFsuLi5dXSwgMTUgPT4gWzAgPT4gWy4uLl1dLCAyMDQ4ID0+IFswID0+IFsuLi5dXSwgMzIgPT4gWzAgPT4gWy4uLl1dXSwgJ2tlcm5lbC5maW5pc2hfcmVxdWVzdCcgPT4gWzAgPT4gWzAgPT4gWy4uLl0sIDEgPT4gWy4uLl1dLCAtMTUgPT4gWzAgPT4gWy4uLl1dXSwgJ2tlcm5lbC5jb250cm9sbGVyX2FyZ3VtZW50cycgPT4gWzAgPT4gWzAgPT4gWy4uLl1dXSwgJ2tlcm5lbC5leGNlcHRpb24nID0+IFswID0+IFswID0+IFsuLi5dXSwgLTEyOCA9PiBbMCA9PiBbLi4uXV0sIC02NCA9PiBbMCA9PiBbLi4uXV1dLCAnY29uc29sZS5lcnJvcicgPT4gWy0xMjggPT4gWzAgPT4gWy4uLl1dLCAwID0+IFswID0+IFsuLi5dXV0sICdjb25zb2xlLnRlcm1pbmF0ZScgPT4gWy0xMjggPT4gWzAgPT4gWy4uLl1dLCAtMjU1ID0+IFswID0+IFsuLi5dXV0sICdjb25zb2xlLmNvbW1hbmQnID0+IFsyMDQ4ID0+IFswID0+IFsuLi5dXSwgMjU1ID0+IFswID0+IFsuLi5dXV0sICd0cmFuc2Zvcm1lci50cmFuc2Zvcm1hdGlvbi5wb3N0JyA9PiBbMCA9PiBbMCA9PiBjbGFzcyBDbG9zdXJlIHsgdmlydHVhbCAkY2xvc3VyZSA9ICIkdGhpcy0+cGhwRG9jdW1lbnRvclxDb25zb2xlXENvbW1hbmRcUHJvamVjdFx7Y2xvc3VyZX0iLCAuLi4gfV1dXTsgcHJpdmF0ZSAkc29ydGVkID0gW107IHByaXZhdGUgJG9wdGltaXplZCA9IFsnY29uc29sZS5jb21tYW5kJyA9PiBbMCA9PiBjbGFzcyBDbG9zdXJlIHsgdmlydHVhbCAkY2xvc3VyZSA9ICIkdGhpcy0+Y29uZmlndXJlIiB9LCAxID0+IGNsYXNzIENsb3N1cmUgeyB2aXJ0dWFsICRjbG9zdXJlID0gIiR0aGlzLT5vbkNvbW1hbmQiIH1dXSB9OyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9YXBwbGljYXRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXENvbnNvbGVcQXBwbGljYXRpb24geyBwcml2YXRlICR7U3ltZm9ueVxCdW5kbGVcRnJhbWV3b3JrQnVuZGxlXENvbnNvbGVcQXBwbGljYXRpb259a2VybmVsID0gY2xhc3MgcGhwRG9jdW1lbnRvclxLZXJuZWwgeyBwcm90ZWN0ZWQgJGJ1bmRsZXMgPSBbJ0ZyYW1ld29ya0J1bmRsZScgPT4gY2xhc3MgU3ltZm9ueVxCdW5kbGVcRnJhbWV3b3JrQnVuZGxlXEZyYW1ld29ya0J1bmRsZSB7IHByb3RlY3RlZCAkbmFtZSA9ICdGcmFtZXdvcmtCdW5kbGUnOyBwcm90ZWN0ZWQgJGV4dGVuc2lvbiA9IE5VTEw7IHByb3RlY3RlZCAkcGF0aCA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxIdHRwS2VybmVsXEJ1bmRsZVxCdW5kbGV9bmFtZXNwYWNlID0gJ1N5bWZvbnlcXEJ1bmRsZVxcRnJhbWV3b3JrQnVuZGxlJzsgcHJvdGVjdGVkICRjb250YWluZXIgPSBjbGFzcyBDb250YWluZXJYZnEySGIzXHBocERvY3VtZW50b3JfS2VybmVsUHJvZENvbnRhaW5lciB7IC4uLiB9IH0sICdNb25vbG9nQnVuZGxlJyA9PiBjbGFzcyBTeW1mb255XEJ1bmRsZVxNb25vbG9nQnVuZGxlXE1vbm9sb2dCdW5kbGUgeyBwcm90ZWN0ZWQgJG5hbWUgPSAnTW9ub2xvZ0J1bmRsZSc7IHByb3RlY3RlZCAkZXh0ZW5zaW9uID0gTlVMTDsgcHJvdGVjdGVkICRwYXRoID0gTlVMTDsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XEh0dHBLZXJuZWxcQnVuZGxlXEJ1bmRsZX1uYW1lc3BhY2UgPSAnU3ltZm9ueVxcQnVuZGxlXFxNb25vbG9nQnVuZGxlJzsgcHJvdGVjdGVkICRjb250YWluZXIgPSBjbGFzcyBDb250YWluZXJYZnEySGIzXHBocERvY3VtZW50b3JfS2VybmVsUHJvZENvbnRhaW5lciB7IC4uLiB9IH0sICdUYWN0aWNpYW5CdW5kbGUnID0+IGNsYXNzIExlYWd1ZVxUYWN0aWNpYW5cQnVuZGxlXFRhY3RpY2lhbkJ1bmRsZSB7IHByaXZhdGUgJGhhbmRsZXJNYXBwaW5nID0gY2xhc3MgTGVhZ3VlXFRhY3RpY2lhblxCdW5kbGVcRGVwZW5kZW5jeUluamVjdGlvblxIYW5kbGVyTWFwcGluZ1xDb21wb3NpdGVNYXBwaW5nIHsgLi4uIH07IHByb3RlY3RlZCAkbmFtZSA9ICdUYWN0aWNpYW5CdW5kbGUnOyBwcm90ZWN0ZWQgJGV4dGVuc2lvbiA9IE5VTEw7IHByb3RlY3RlZCAkcGF0aCA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxIdHRwS2VybmVsXEJ1bmRsZVxCdW5kbGV9bmFtZXNwYWNlID0gJ0xlYWd1ZVxcVGFjdGljaWFuXFxCdW5kbGUnOyBwcm90ZWN0ZWQgJGNvbnRhaW5lciA9IGNsYXNzIENvbnRhaW5lclhmcTJIYjNccGhwRG9jdW1lbnRvcl9LZXJuZWxQcm9kQ29udGFpbmVyIHsgLi4uIH0gfV07IHByb3RlY3RlZCAkY29udGFpbmVyID0gY2xhc3MgQ29udGFpbmVyWGZxMkhiM1xwaHBEb2N1bWVudG9yX0tlcm5lbFByb2RDb250YWluZXIgeyBwcm90ZWN0ZWQgJGNvbnRhaW5lckRpciA9ICdwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3Zhci9jYWNoZS9wcm9kXFxDb250YWluZXJYZnEySGIzJzsgcHJvdGVjdGVkICR0YXJnZXREaXIgPSAncGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92YXIvY2FjaGUvcHJvZCc7IHByb3RlY3RlZCAkcGFyYW1ldGVycyA9IFsna2VybmVsLnByb2plY3RfZGlyJyA9PiAncGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhcicsICdrZXJuZWwuZW52aXJvbm1lbnQnID0+ICdwcm9kJywgJ2tlcm5lbC5kZWJ1ZycgPT4gRkFMU0UsICdrZXJuZWwubG9nc19kaXInID0+ICdwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3Zhci9sb2cnLCAna2VybmVsLmJ1bmRsZXMnID0+IFsuLi5dLCAna2VybmVsLmJ1bmRsZXNfbWV0YWRhdGEnID0+IFsuLi5dLCAna2VybmVsLmNoYXJzZXQnID0+ICdVVEYtOCcsICdrZXJuZWwuY29udGFpbmVyX2NsYXNzJyA9PiAncGhwRG9jdW1lbnRvcl9LZXJuZWxQcm9kQ29udGFpbmVyJywgJ2NvbnRhaW5lci5hdXRvd2lyaW5nLnN0cmljdF9tb2RlJyA9PiBUUlVFLCAnY29udGFpbmVyLmR1bXBlci5pbmxpbmVfY2xhc3NfbG9hZGVyJyA9PiBUUlVFLCAnbGlua2VyLnN1YnN0aXR1dGlvbnMnID0+IFsuLi5dLCAnZXZlbnRfZGlzcGF0Y2hlci5ldmVudF9hbGlhc2VzJyA9PiBbLi4uXSwgJ2ZyYWdtZW50LnJlbmRlcmVyLmhpbmNsdWRlLmdsb2JhbF90ZW1wbGF0ZScgPT4gTlVMTCwgJ2ZyYWdtZW50LnBhdGgnID0+ICcvX2ZyYWdtZW50JywgJ2tlcm5lbC5zZWNyZXQnID0+ICdmb29iYXInLCAna2VybmVsLmh0dHBfbWV0aG9kX292ZXJyaWRlJyA9PiBUUlVFLCAna2VybmVsLnRydXN0ZWRfaG9zdHMnID0+IFsuLi5dLCAna2VybmVsLmRlZmF1bHRfbG9jYWxlJyA9PiAnZW4nLCAna2VybmVsLmVycm9yX2NvbnRyb2xsZXInID0+ICdlcnJvcl9jb250cm9sbGVyJywgJ2RlYnVnLmZpbGVfbGlua19mb3JtYXQnID0+IE5VTEwsICdkYXRhX2NvbGxlY3Rvci50ZW1wbGF0ZXMnID0+IFsuLi5dLCAnZGVidWcuZXJyb3JfaGFuZGxlci50aHJvd19hdCcgPT4gMCwgJ3JvdXRlci5yZXF1ZXN0X2NvbnRleHQuaG9zdCcgPT4gJ2xvY2FsaG9zdCcsICdyb3V0ZXIucmVxdWVzdF9jb250ZXh0LnNjaGVtZScgPT4gJ2h0dHAnLCAncm91dGVyLnJlcXVlc3RfY29udGV4dC5iYXNlX3VybCcgPT4gJycsICdyb3V0ZXIucmVzb3VyY2UnID0+ICdrZXJuZWw6OmxvYWRSb3V0ZXMnLCAncmVxdWVzdF9saXN0ZW5lci5odHRwX3BvcnQnID0+IDgwLCAncmVxdWVzdF9saXN0ZW5lci5odHRwc19wb3J0JyA9PiA0NDMsICdtb25vbG9nLnVzZV9taWNyb3NlY29uZHMnID0+IFRSVUUsICdtb25vbG9nLnN3aWZ0X21haWxlci5oYW5kbGVycycgPT4gWy4uLl0sICdtb25vbG9nLmhhbmRsZXJzX3RvX2NoYW5uZWxzJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5pZHMnID0+IFsuLi5dXTsgcHJpdmF0ZSAkYnVpbGRQYXJhbWV0ZXJzID0gWydjb250YWluZXIuYnVpbGRfaGFzaCcgPT4gJ1hmcTJIYjMnLCAnY29udGFpbmVyLmJ1aWxkX2lkJyA9PiAnZjk5ZmExODEnLCAnY29udGFpbmVyLmJ1aWxkX3RpbWUnID0+IDE2NDA3MTU0NTJdOyBwcm90ZWN0ZWQgJGdldFNlcnZpY2UgPSBjbGFzcyBDbG9zdXJlIHsgdmlydHVhbCAkY2xvc3VyZSA9ICIkdGhpcy0+Z2V0U2VydmljZSIgfTsgcHJpdmF0ZSAkbG9hZGVkRHluYW1pY1BhcmFtZXRlcnMgPSBbJ2tlcm5lbC5ydW50aW1lX2Vudmlyb25tZW50JyA9PiBGQUxTRSwgJ2tlcm5lbC5idWlsZF9kaXInID0+IEZBTFNFLCAna2VybmVsLmNhY2hlX2RpcicgPT4gRkFMU0VdOyBwcml2YXRlICRkeW5hbWljUGFyYW1ldGVycyA9IFtdOyBwcm90ZWN0ZWQgJHBhcmFtZXRlckJhZyA9IE5VTEw7IHByb3RlY3RlZCAkc2VydmljZXMgPSBbJ2tlcm5lbCcgPT4gLi4uLCAnY29uc29sZS5jb21tYW5kX2xvYWRlcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kTG9hZGVyXENvbnRhaW5lckNvbW1hbmRMb2FkZXIgeyAuLi4gfSwgJ2NvbnNvbGUuY29tbWFuZC5wdWJsaWNfYWxpYXMucGhwRG9jdW1lbnRvclxDb25zb2xlXENvbW1hbmRcUHJvamVjdFxMaXN0U2V0dGluZ3NDb21tYW5kJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXENvbnNvbGVcQ29tbWFuZFxQcm9qZWN0XExpc3RTZXR0aW5nc0NvbW1hbmQgeyAuLi4gfSwgJ3JvdXRlcicgPT4gY2xhc3MgU3ltZm9ueVxCdW5kbGVcRnJhbWV3b3JrQnVuZGxlXFJvdXRpbmdcUm91dGVyIHsgLi4uIH0sICd0YWN0aWNpYW4uY29tbWFuZGJ1cy5kZWZhdWx0JyA9PiBjbGFzcyBMZWFndWVcVGFjdGljaWFuXENvbW1hbmRCdXMgeyAuLi4gfSwgJ2V2ZW50X2Rpc3BhdGNoZXInID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XEV2ZW50RGlzcGF0Y2hlclxFdmVudERpc3BhdGNoZXIgeyAuLi4gfSwgJ2NvbnNvbGUuY29tbWFuZC5wdWJsaWNfYWxpYXMucGhwRG9jdW1lbnRvclxDb25zb2xlXENvbW1hbmRcUHJvamVjdFxSdW5Db21tYW5kJyA9PiAuLi4sICdjb25zb2xlLmNvbW1hbmQucHVibGljX2FsaWFzLnRhY3RpY2lhbi5jb21tYW5kLmRlYnVnJyA9PiBjbGFzcyBMZWFndWVcVGFjdGljaWFuXEJ1bmRsZVxDb21tYW5kXERlYnVnQ29tbWFuZCB7IC4uLiB9XTsgcHJvdGVjdGVkICRwcml2YXRlcyA9IFsncGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcElnbm9yZScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcElnbm9yZSB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcElnbm9yZWRUYWdzJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRmlsdGVyXFN0cmlwSWdub3JlZFRhZ3MgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcRGVzY3JpcHRvclxGaWx0ZXJcU3RyaXBJbnRlcm5hbCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcEludGVybmFsIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRmlsdGVyXFN0cmlwT25WaXNpYmlsaXR5JyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRmlsdGVyXFN0cmlwT25WaXNpYmlsaXR5IHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcUHJvamVjdERlc2NyaXB0b3JCdWlsZGVyJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcUHJvamVjdERlc2NyaXB0b3JCdWlsZGVyIHsgLi4uIH0sICdtb25vbG9nLmxvZ2dlcicgPT4gY2xhc3MgU3ltZm9ueVxCcmlkZ2VcTW9ub2xvZ1xMb2dnZXIgeyAuLi4gfSwgJ21vbm9sb2cuaGFuZGxlci5tYWluJyA9PiBjbGFzcyBTeW1mb255XEJyaWRnZVxNb25vbG9nXEhhbmRsZXJcQ29uc29sZUhhbmRsZXIgeyAuLi4gfSwgJ2ZpbGVzJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxDYWNoZVxGaWxlc3lzdGVtQWRhcHRlciB7IC4uLiB9LCAnZGVzY3JpcHRvcnMnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXENhY2hlXEZpbGVzeXN0ZW1BZGFwdGVyIHsgLi4uIH0sICdyb3V0ZXIucmVxdWVzdF9jb250ZXh0JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxSb3V0aW5nXFJlcXVlc3RDb250ZXh0IHsgLi4uIH0sICdyb3V0ZXIuZXhwcmVzc2lvbl9sYW5ndWFnZV9wcm92aWRlcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcUm91dGluZ1xNYXRjaGVyXEV4cHJlc3Npb25MYW5ndWFnZVByb3ZpZGVyIHsgLi4uIH0sICdzbHVnZ2VyJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxTdHJpbmdcU2x1Z2dlclxBc2NpaVNsdWdnZXIgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcVHJhbnNmb3JtZXJcUm91dGVyXFJvdXRlcicgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxSb3V0ZXJcUm91dGVyIHsgLi4uIH0sICdMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cRGlzYWxsb3dlZFJhd0h0bWxcRGlzYWxsb3dlZFJhd0h0bWxFeHRlbnNpb24nID0+IGNsYXNzIExlYWd1ZVxDb21tb25NYXJrXEV4dGVuc2lvblxEaXNhbGxvd2VkUmF3SHRtbFxEaXNhbGxvd2VkUmF3SHRtbEV4dGVuc2lvbiB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxXcml0ZXJcVHdpZ1xFbnZpcm9ubWVudEZhY3RvcnknID0+IGNsYXNzIHBocERvY3VtZW50b3JcVHJhbnNmb3JtZXJcV3JpdGVyXFR3aWdcRW52aXJvbm1lbnRGYWN0b3J5IHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENvbmZpZ3VyZScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxDb25maWd1cmUgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcVHJhbnNmb3JtVG9QYXlsb2FkJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFRyYW5zZm9ybVRvUGF5bG9hZCB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxJbml0aWFsaXplQnVpbGRlckZyb21Db25maWcnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcSW5pdGlhbGl6ZUJ1aWxkZXJGcm9tQ29uZmlnIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXFB1cmdlQ2FjaGVzV2hlbkZvcmNlZCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxDYWNoZVxQdXJnZUNhY2hlc1doZW5Gb3JjZWQgeyAuLi4gfSwgJ3BocGRvYy5jb25maWd1cmF0aW9uLnBpcGVsaW5lJyA9PiBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyAuLi4gfSwgJ3BocGRvYy5jYWNoZS5waXBlbGluZScgPT4gY2xhc3MgTGVhZ3VlXFBpcGVsaW5lXFBpcGVsaW5lIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBhcnNlclxUcmFuc2Zvcm1Ub1BhcnNlclBheWxvYWQnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcUGFyc2VyXFRyYW5zZm9ybVRvUGFyc2VyUGF5bG9hZCB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmFjdG9yeScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmFjdG9yeSB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxQYXJzZXJcQ29sbGVjdEZpbGVzJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBhcnNlclxDb2xsZWN0RmlsZXMgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcRGVzY3JpcHRvclxDYWNoZVxQcm9qZWN0RGVzY3JpcHRvck1hcHBlcicgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENhY2hlXFByb2plY3REZXNjcmlwdG9yTWFwcGVyIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXEdhcmJhZ2VDb2xsZWN0Q2FjaGUnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcR2FyYmFnZUNvbGxlY3RDYWNoZSB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxDYWNoZVxMb2FkUHJvamVjdERlc2NyaXB0b3JGcm9tQ2FjaGUnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcTG9hZFByb2plY3REZXNjcmlwdG9yRnJvbUNhY2hlIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXExvYWRHdWlkZXNGcm9tQ2FjaGUnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcTG9hZEd1aWRlc0Zyb21DYWNoZSB7IC4uLiB9LCAnZGVidWcuc3RvcHdhdGNoJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxTdG9wd2F0Y2hcU3RvcHdhdGNoIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXFBhcnNlclxNaWRkbGV3YXJlXFN0b3B3YXRjaE1pZGRsZXdhcmUnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXE1pZGRsZXdhcmVcU3RvcHdhdGNoTWlkZGxld2FyZSB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxQYXJzZXJcTWlkZGxld2FyZVxFbWl0dGluZ01pZGRsZXdhcmUnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXE1pZGRsZXdhcmVcRW1pdHRpbmdNaWRkbGV3YXJlIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXFBhcnNlclxNaWRkbGV3YXJlXENhY2hlTWlkZGxld2FyZScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcTWlkZGxld2FyZVxDYWNoZU1pZGRsZXdhcmUgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcUGFyc2VyXE1pZGRsZXdhcmVcRXJyb3JIYW5kbGluZ01pZGRsZXdhcmUnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXE1pZGRsZXdhcmVcRXJyb3JIYW5kbGluZ01pZGRsZXdhcmUgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcUGFyc2VyXE1pZGRsZXdhcmVcUmVFbmNvZGluZ01pZGRsZXdhcmUnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXE1pZGRsZXdhcmVcUmVFbmNvZGluZ01pZGRsZXdhcmUgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcUGFyc2VyXFBhcnNlcicgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcUGFyc2VyIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBhcnNlclxQYXJzZUZpbGVzJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBhcnNlclxQYXJzZUZpbGVzIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBhcnNlclxQYXJzZUd1aWRlcycgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxQYXJzZXJcUGFyc2VHdWlkZXMgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcU3RvcmVQcm9qZWN0RGVzY3JpcHRvclRvQ2FjaGUnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcU3RvcmVQcm9qZWN0RGVzY3JpcHRvclRvQ2FjaGUgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcU3RvcmVHdWlkZXNUb0NhY2hlJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXFN0b3JlR3VpZGVzVG9DYWNoZSB7IC4uLiB9LCAncGhwZG9jLnBhcnNlLnBpcGVsaW5lJyA9PiBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ29tcGlsZScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxDb21waWxlIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXFRyYW5zZm9ybWVyXFdyaXRlclxGaWxlSW8nID0+IGNsYXNzIHBocERvY3VtZW50b3JcVHJhbnNmb3JtZXJcV3JpdGVyXEZpbGVJbyB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxXcml0ZXJcR3JhcGhcUGxhbnR1bWxSZW5kZXJlcicgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxXcml0ZXJcR3JhcGhcUGxhbnR1bWxSZW5kZXJlciB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxXcml0ZXJcR3JhcGgnID0+IGNsYXNzIHBocERvY3VtZW50b3JcVHJhbnNmb3JtZXJcV3JpdGVyXEdyYXBoIHsgLi4uIH0sICdwaHBEb2N1bWVudG9yXEd1aWRlc1xSZW5kZXJlcicgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxHdWlkZXNcUmVuZGVyZXIgeyAuLi4gfSwgJ3BocERvY3VtZW50b3JcVHJhbnNmb3JtZXJcV3JpdGVyXFJlbmRlckd1aWRlJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFRyYW5zZm9ybWVyXFdyaXRlclxSZW5kZXJHdWlkZSB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxXcml0ZXJcUGF0aEdlbmVyYXRvcicgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxXcml0ZXJcUGF0aEdlbmVyYXRvciB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxXcml0ZXJcU291cmNlY29kZScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxXcml0ZXJcU291cmNlY29kZSB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxXcml0ZXJcVHdpZycgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxXcml0ZXJcVHdpZyB7IC4uLiB9LCAncGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxUcmFuc2Zvcm0nID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcVHJhbnNmb3JtIHsgLi4uIH0sICdwaHBkb2MudHJhbnNmb3JtLnBpcGVsaW5lJyA9PiBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyAuLi4gfSwgJ2RlYnVnLmZpbGVfbGlua19mb3JtYXR0ZXInID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XEh0dHBLZXJuZWxcRGVidWdcRmlsZUxpbmtGb3JtYXR0ZXIgeyAuLi4gfSwgJ2RlYnVnLmRlYnVnX2hhbmRsZXJzX2xpc3RlbmVyJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxIdHRwS2VybmVsXEV2ZW50TGlzdGVuZXJcRGVidWdIYW5kbGVyc0xpc3RlbmVyIHsgLi4uIH1dOyBwcm90ZWN0ZWQgJGZpbGVNYXAgPSBbJy5jb250YWluZXIucHJpdmF0ZS5jYWNoZV9jbGVhcmVyJyA9PiAnZ2V0X0NvbnRhaW5lcl9Qcml2YXRlX0NhY2hlQ2xlYXJlclNlcnZpY2UnLCAnLmNvbnRhaW5lci5wcml2YXRlLmZpbGVzeXN0ZW0nID0+ICdnZXRfQ29udGFpbmVyX1ByaXZhdGVfRmlsZXN5c3RlbVNlcnZpY2UnLCAnU3ltZm9ueVxCdW5kbGVcRnJhbWV3b3JrQnVuZGxlXENvbnRyb2xsZXJcUmVkaXJlY3RDb250cm9sbGVyJyA9PiAnZ2V0UmVkaXJlY3RDb250cm9sbGVyU2VydmljZScsICdTeW1mb255XEJ1bmRsZVxGcmFtZXdvcmtCdW5kbGVcQ29udHJvbGxlclxUZW1wbGF0ZUNvbnRyb2xsZXInID0+ICdnZXRUZW1wbGF0ZUNvbnRyb2xsZXJTZXJ2aWNlJywgJ2NhY2hlLmFwcCcgPT4gJ2dldENhY2hlX0FwcFNlcnZpY2UnLCAnY2FjaGUuYXBwX2NsZWFyZXInID0+ICdnZXRDYWNoZV9BcHBDbGVhcmVyU2VydmljZScsICdjYWNoZS5nbG9iYWxfY2xlYXJlcicgPT4gJ2dldENhY2hlX0dsb2JhbENsZWFyZXJTZXJ2aWNlJywgJ2NhY2hlLnN5c3RlbScgPT4gJ2dldENhY2hlX1N5c3RlbVNlcnZpY2UnLCAnY2FjaGUuc3lzdGVtX2NsZWFyZXInID0+ICdnZXRDYWNoZV9TeXN0ZW1DbGVhcmVyU2VydmljZScsICdjYWNoZV93YXJtZXInID0+ICdnZXRDYWNoZVdhcm1lclNlcnZpY2UnLCAnY29uc29sZS5jb21tYW5kLnB1YmxpY19hbGlhcy5waHBEb2N1bWVudG9yXENvbnNvbGVcQ29tbWFuZFxQcm9qZWN0XExpc3RTZXR0aW5nc0NvbW1hbmQnID0+ICdnZXRMaXN0U2V0dGluZ3NDb21tYW5kU2VydmljZScsICdjb25zb2xlLmNvbW1hbmQucHVibGljX2FsaWFzLnBocERvY3VtZW50b3JcQ29uc29sZVxDb21tYW5kXFByb2plY3RcUnVuQ29tbWFuZCcgPT4gJ2dldFJ1bkNvbW1hbmRTZXJ2aWNlJywgJ2NvbnNvbGUuY29tbWFuZC5wdWJsaWNfYWxpYXMudGFjdGljaWFuLmNvbW1hbmQuZGVidWcnID0+ICdnZXRDb25zb2xlX0NvbW1hbmRfUHVibGljQWxpYXNfVGFjdGljaWFuX0NvbW1hbmRfRGVidWdTZXJ2aWNlJywgJ2NvbnNvbGUuY29tbWFuZF9sb2FkZXInID0+ICdnZXRDb25zb2xlX0NvbW1hbmRMb2FkZXJTZXJ2aWNlJywgJ2NvbnRhaW5lci5lbnZfdmFyX3Byb2Nlc3NvcnNfbG9jYXRvcicgPT4gJ2dldENvbnRhaW5lcl9FbnZWYXJQcm9jZXNzb3JzTG9jYXRvclNlcnZpY2UnLCAnZXJyb3JfY29udHJvbGxlcicgPT4gJ2dldEVycm9yQ29udHJvbGxlclNlcnZpY2UnLCAncm91dGluZy5sb2FkZXInID0+ICdnZXRSb3V0aW5nX0xvYWRlclNlcnZpY2UnLCAnc2VydmljZXNfcmVzZXR0ZXInID0+ICdnZXRTZXJ2aWNlc1Jlc2V0dGVyU2VydmljZScsICd0YWN0aWNpYW4uY29tbWFuZGJ1cy5kZWZhdWx0JyA9PiAnZ2V0VGFjdGljaWFuX0NvbW1hbmRidXNfRGVmYXVsdFNlcnZpY2UnXTsgcHJvdGVjdGVkICRtZXRob2RNYXAgPSBbJ2V2ZW50X2Rpc3BhdGNoZXInID0+ICdnZXRFdmVudERpc3BhdGNoZXJTZXJ2aWNlJywgJ2h0dHBfa2VybmVsJyA9PiAnZ2V0SHR0cEtlcm5lbFNlcnZpY2UnLCAncmVxdWVzdF9zdGFjaycgPT4gJ2dldFJlcXVlc3RTdGFja1NlcnZpY2UnLCAncm91dGVyJyA9PiAnZ2V0Um91dGVyU2VydmljZScsICdjYWNoZV9jbGVhcmVyJyA9PiAnZ2V0Q2FjaGVDbGVhcmVyU2VydmljZScsICdmaWxlc3lzdGVtJyA9PiAnZ2V0RmlsZXN5c3RlbVNlcnZpY2UnXTsgcHJvdGVjdGVkICRmYWN0b3JpZXMgPSBbXTsgcHJvdGVjdGVkICRhbGlhc2VzID0gW107IHByb3RlY3RlZCAkbG9hZGluZyA9IFtdOyBwcm90ZWN0ZWQgJHJlc29sdmluZyA9IFtdOyBwcm90ZWN0ZWQgJHN5bnRoZXRpY0lkcyA9IFsna2VybmVsJyA9PiBUUlVFXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cQ29udGFpbmVyfWVudkNhY2hlID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXENvbnRhaW5lcn1jb21waWxlZCA9IEZBTFNFOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxDb250YWluZXJ9Z2V0RW52ID0gTlVMTCB9OyBwcm90ZWN0ZWQgJGVudmlyb25tZW50ID0gJ3Byb2QnOyBwcm90ZWN0ZWQgJGRlYnVnID0gRkFMU0U7IHByb3RlY3RlZCAkYm9vdGVkID0gVFJVRTsgcHJvdGVjdGVkICRzdGFydFRpbWUgPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcSHR0cEtlcm5lbFxLZXJuZWx9cHJvamVjdERpciA9ICdwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyJzsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XEh0dHBLZXJuZWxcS2VybmVsfXdhcm11cERpciA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxIdHRwS2VybmVsXEtlcm5lbH1yZXF1ZXN0U3RhY2tTaXplID0gMDsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XEh0dHBLZXJuZWxcS2VybmVsfXJlc2V0U2VydmljZXMgPSBGQUxTRSB9OyBwcml2YXRlICR7U3ltZm9ueVxCdW5kbGVcRnJhbWV3b3JrQnVuZGxlXENvbnNvbGVcQXBwbGljYXRpb259Y29tbWFuZHNSZWdpc3RlcmVkID0gVFJVRTsgcHJpdmF0ZSAke1N5bWZvbnlcQnVuZGxlXEZyYW1ld29ya0J1bmRsZVxDb25zb2xlXEFwcGxpY2F0aW9ufXJlZ2lzdHJhdGlvbkVycm9ycyA9IFtdOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxBcHBsaWNhdGlvbn1jb21tYW5kcyA9IFsnaGVscCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXEhlbHBDb21tYW5kIHsgcHJpdmF0ZSAkY29tbWFuZCA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1hcHBsaWNhdGlvbiA9IC4uLjsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfW5hbWUgPSAnaGVscCc7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1wcm9jZXNzVGl0bGUgPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9YWxpYXNlcyA9IFtdOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9ZGVmaW5pdGlvbiA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXREZWZpbml0aW9uIHsgcHJpdmF0ZSAkYXJndW1lbnRzID0gWy4uLl07IHByaXZhdGUgJHJlcXVpcmVkQ291bnQgPSAwOyBwcml2YXRlICRsYXN0QXJyYXlBcmd1bWVudCA9IE5VTEw7IHByaXZhdGUgJGxhc3RPcHRpb25hbEFyZ3VtZW50ID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dEFyZ3VtZW50IHsgLi4uIH07IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkbmVnYXRpb25zID0gWy4uLl07IHByaXZhdGUgJHNob3J0Y3V0cyA9IFsuLi5dIH07IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1oaWRkZW4gPSBGQUxTRTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWhlbHAgPSAnVGhlIDxpbmZvPiVjb21tYW5kLm5hbWUlPC9pbmZvPiBjb21tYW5kIGRpc3BsYXlzIGhlbHAgZm9yIGEgZ2l2ZW4gY29tbWFuZDpcblxuICA8aW5mbz4lY29tbWFuZC5mdWxsX25hbWUlIGxpc3Q8L2luZm8+XG5cbllvdSBjYW4gYWxzbyBvdXRwdXQgdGhlIGhlbHAgaW4gb3RoZXIgZm9ybWF0cyBieSB1c2luZyB0aGUgPGNvbW1lbnQ+LS1mb3JtYXQ8L2NvbW1lbnQ+IG9wdGlvbjpcblxuICA8aW5mbz4lY29tbWFuZC5mdWxsX25hbWUlIC0tZm9ybWF0PXhtbCBsaXN0PC9pbmZvPlxuXG5UbyBkaXNwbGF5IHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBjb21tYW5kcywgcGxlYXNlIHVzZSB0aGUgPGluZm8+bGlzdDwvaW5mbz4gY29tbWFuZC4nOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9ZGVzY3JpcHRpb24gPSAnRGlzcGxheSBoZWxwIGZvciBhIGNvbW1hbmQnOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9ZnVsbERlZmluaXRpb24gPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9aWdub3JlVmFsaWRhdGlvbkVycm9ycyA9IFRSVUU7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1jb2RlID0gTlVMTDsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfXN5bm9wc2lzID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH11c2FnZXMgPSBbXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWhlbHBlclNldCA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSGVscGVyXEhlbHBlclNldCB7IHByaXZhdGUgJGhlbHBlcnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29tbWFuZCA9IE5VTEwgfSB9LCAnbGlzdCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXExpc3RDb21tYW5kIHsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWFwcGxpY2F0aW9uID0gLi4uOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9bmFtZSA9ICdsaXN0JzsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfXByb2Nlc3NUaXRsZSA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1hbGlhc2VzID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1kZWZpbml0aW9uID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dERlZmluaXRpb24geyBwcml2YXRlICRhcmd1bWVudHMgPSBbLi4uXTsgcHJpdmF0ZSAkcmVxdWlyZWRDb3VudCA9IDA7IHByaXZhdGUgJGxhc3RBcnJheUFyZ3VtZW50ID0gTlVMTDsgcHJpdmF0ZSAkbGFzdE9wdGlvbmFsQXJndW1lbnQgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0QXJndW1lbnQgeyAuLi4gfTsgcHJpdmF0ZSAkb3B0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRuZWdhdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkc2hvcnRjdXRzID0gWy4uLl0gfTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWhpZGRlbiA9IEZBTFNFOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9aGVscCA9ICdUaGUgPGluZm8+JWNvbW1hbmQubmFtZSU8L2luZm8+IGNvbW1hbmQgbGlzdHMgYWxsIGNvbW1hbmRzOlxuXG4gIDxpbmZvPiVjb21tYW5kLmZ1bGxfbmFtZSU8L2luZm8+XG5cbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBjb21tYW5kcyBmb3IgYSBzcGVjaWZpYyBuYW1lc3BhY2U6XG5cbiAgPGluZm8+JWNvbW1hbmQuZnVsbF9uYW1lJSB0ZXN0PC9pbmZvPlxuXG5Zb3UgY2FuIGFsc28gb3V0cHV0IHRoZSBpbmZvcm1hdGlvbiBpbiBvdGhlciBmb3JtYXRzIGJ5IHVzaW5nIHRoZSA8Y29tbWVudD4tLWZvcm1hdDwvY29tbWVudD4gb3B0aW9uOlxuXG4gIDxpbmZvPiVjb21tYW5kLmZ1bGxfbmFtZSUgLS1mb3JtYXQ9eG1sPC9pbmZvPlxuXG5JdFwncyBhbHNvIHBvc3NpYmxlIHRvIGdldCByYXcgbGlzdCBvZiBjb21tYW5kcyAodXNlZnVsIGZvciBlbWJlZGRpbmcgY29tbWFuZCBydW5uZXIpOlxuXG4gIDxpbmZvPiVjb21tYW5kLmZ1bGxfbmFtZSUgLS1yYXc8L2luZm8+JzsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWRlc2NyaXB0aW9uID0gJ0xpc3QgY29tbWFuZHMnOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9ZnVsbERlZmluaXRpb24gPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9aWdub3JlVmFsaWRhdGlvbkVycm9ycyA9IEZBTFNFOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9Y29kZSA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1zeW5vcHNpcyA9IFtdOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9dXNhZ2VzID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1oZWxwZXJTZXQgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEhlbHBlclxIZWxwZXJTZXQgeyBwcml2YXRlICRoZWxwZXJzID0gWy4uLl07IHByaXZhdGUgJGNvbW1hbmQgPSBOVUxMIH0gfSwgJ3NldHRpbmdzOmxpc3QnID0+IGNsYXNzIHBocERvY3VtZW50b3JcQ29uc29sZVxDb21tYW5kXFByb2plY3RcTGlzdFNldHRpbmdzQ29tbWFuZCB7IHByaXZhdGUgJHNlcnZpY2VzV2l0aEN1c3RvbVNldHRpbmdzID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxBcmd1bWVudFxSZXdpbmRhYmxlR2VuZXJhdG9yIHsgcHJpdmF0ZSAkZ2VuZXJhdG9yID0gY2xhc3MgQ2xvc3VyZSB7IHZpcnR1YWwgJGNsb3N1cmUgPSAiJHRoaXMtPkNvbnRhaW5lclhmcTJIYjNce2Nsb3N1cmV9IiwgLi4uIH07IHByaXZhdGUgJGNvdW50ID0gMiB9OyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9YXBwbGljYXRpb24gPSAuLi47IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1uYW1lID0gJ3NldHRpbmdzOmxpc3QnOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9cHJvY2Vzc1RpdGxlID0gTlVMTDsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWFsaWFzZXMgPSBbXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWRlZmluaXRpb24gPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0RGVmaW5pdGlvbiB7IHByaXZhdGUgJGFyZ3VtZW50cyA9IFsuLi5dOyBwcml2YXRlICRyZXF1aXJlZENvdW50ID0gMDsgcHJpdmF0ZSAkbGFzdEFycmF5QXJndW1lbnQgPSBOVUxMOyBwcml2YXRlICRsYXN0T3B0aW9uYWxBcmd1bWVudCA9IE5VTEw7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkbmVnYXRpb25zID0gWy4uLl07IHByaXZhdGUgJHNob3J0Y3V0cyA9IFsuLi5dIH07IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1oaWRkZW4gPSBGQUxTRTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWhlbHAgPSAnJzsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWRlc2NyaXB0aW9uID0gJyc7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1mdWxsRGVmaW5pdGlvbiA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1pZ25vcmVWYWxpZGF0aW9uRXJyb3JzID0gRkFMU0U7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1jb2RlID0gTlVMTDsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfXN5bm9wc2lzID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH11c2FnZXMgPSBbXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWhlbHBlclNldCA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSGVscGVyXEhlbHBlclNldCB7IHByaXZhdGUgJGhlbHBlcnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29tbWFuZCA9IE5VTEwgfSB9LCAncHJvamVjdDpydW4nID0+IC4uLiwgJ3J1bicgPT4gLi4uLCAnZGVidWc6dGFjdGljaWFuJyA9PiBjbGFzcyBMZWFndWVcVGFjdGljaWFuXEJ1bmRsZVxDb21tYW5kXERlYnVnQ29tbWFuZCB7IHByaXZhdGUgJG1hcHBpbmdzID0gWydkZWZhdWx0JyA9PiBbLi4uXV07IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1hcHBsaWNhdGlvbiA9IC4uLjsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfW5hbWUgPSAnZGVidWc6dGFjdGljaWFuJzsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfXByb2Nlc3NUaXRsZSA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1hbGlhc2VzID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1kZWZpbml0aW9uID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dERlZmluaXRpb24geyBwcml2YXRlICRhcmd1bWVudHMgPSBbLi4uXTsgcHJpdmF0ZSAkcmVxdWlyZWRDb3VudCA9IDA7IHByaXZhdGUgJGxhc3RBcnJheUFyZ3VtZW50ID0gTlVMTDsgcHJpdmF0ZSAkbGFzdE9wdGlvbmFsQXJndW1lbnQgPSBOVUxMOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl07IHByaXZhdGUgJG5lZ2F0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRzaG9ydGN1dHMgPSBbLi4uXSB9OyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9aGlkZGVuID0gRkFMU0U7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1oZWxwID0gJyc7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1kZXNjcmlwdGlvbiA9ICcnOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9ZnVsbERlZmluaXRpb24gPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9aWdub3JlVmFsaWRhdGlvbkVycm9ycyA9IEZBTFNFOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9Y29kZSA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1zeW5vcHNpcyA9IFtdOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9dXNhZ2VzID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1oZWxwZXJTZXQgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEhlbHBlclxIZWxwZXJTZXQgeyBwcml2YXRlICRoZWxwZXJzID0gWy4uLl07IHByaXZhdGUgJGNvbW1hbmQgPSBOVUxMIH0gfV07IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEFwcGxpY2F0aW9ufXdhbnRIZWxwcyA9IEZBTFNFOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxBcHBsaWNhdGlvbn1ydW5uaW5nQ29tbWFuZCA9IC4uLjsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQXBwbGljYXRpb259bmFtZSA9ICdwaHBEb2N1bWVudG9yJzsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQXBwbGljYXRpb259dmVyc2lvbiA9ICd2My4yLjEnOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxBcHBsaWNhdGlvbn1jb21tYW5kTG9hZGVyID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kTG9hZGVyXENvbnRhaW5lckNvbW1hbmRMb2FkZXIgeyBwcml2YXRlICRjb250YWluZXIgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXEFyZ3VtZW50XFNlcnZpY2VMb2NhdG9yIHsgcHJpdmF0ZSAkZmFjdG9yeSA9IGNsYXNzIENsb3N1cmUgeyB2aXJ0dWFsICRjbG9zdXJlID0gIiR0aGlzLT5nZXRTZXJ2aWNlIiB9OyBwcml2YXRlICRzZXJ2aWNlTWFwID0gWydjb25zb2xlLmNvbW1hbmQuYWJvdXQnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLmFzc2V0c19pbnN0YWxsJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV9jbGVhcicgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuY2FjaGVfcG9vbF9jbGVhcicgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuY2FjaGVfcG9vbF9kZWxldGUnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLmNhY2hlX3Bvb2xfbGlzdCcgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuY2FjaGVfcG9vbF9wcnVuZScgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuY2FjaGVfd2FybXVwJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5jb25maWdfZGVidWcnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLmNvbmZpZ19kdW1wX3JlZmVyZW5jZScgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuY29udGFpbmVyX2RlYnVnJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5jb250YWluZXJfbGludCcgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuZGVidWdfYXV0b3dpcmluZycgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuZXZlbnRfZGlzcGF0Y2hlcl9kZWJ1ZycgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQucm91dGVyX2RlYnVnJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5yb3V0ZXJfbWF0Y2gnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLnNlY3JldHNfZGVjcnlwdF90b19sb2NhbCcgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuc2VjcmV0c19lbmNyeXB0X2Zyb21fbG9jYWwnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLnNlY3JldHNfZ2VuZXJhdGVfa2V5JyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5zZWNyZXRzX2xpc3QnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLnNlY3JldHNfcmVtb3ZlJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5zZWNyZXRzX3NldCcgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQueWFtbF9saW50JyA9PiBbLi4uXV07IHByaXZhdGUgJHNlcnZpY2VUeXBlcyA9IFsnY29uc29sZS5jb21tYW5kLmFib3V0JyA9PiAnPycsICdjb25zb2xlLmNvbW1hbmQuYXNzZXRzX2luc3RhbGwnID0+ICc/JywgJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV9jbGVhcicgPT4gJz8nLCAnY29uc29sZS5jb21tYW5kLmNhY2hlX3Bvb2xfY2xlYXInID0+ICc/JywgJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV9wb29sX2RlbGV0ZScgPT4gJz8nLCAnY29uc29sZS5jb21tYW5kLmNhY2hlX3Bvb2xfbGlzdCcgPT4gJz8nLCAnY29uc29sZS5jb21tYW5kLmNhY2hlX3Bvb2xfcHJ1bmUnID0+ICc/JywgJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV93YXJtdXAnID0+ICc/JywgJ2NvbnNvbGUuY29tbWFuZC5jb25maWdfZGVidWcnID0+ICc/JywgJ2NvbnNvbGUuY29tbWFuZC5jb25maWdfZHVtcF9yZWZlcmVuY2UnID0+ICc/JywgJ2NvbnNvbGUuY29tbWFuZC5jb250YWluZXJfZGVidWcnID0+ICc/JywgJ2NvbnNvbGUuY29tbWFuZC5jb250YWluZXJfbGludCcgPT4gJz8nLCAnY29uc29sZS5jb21tYW5kLmRlYnVnX2F1dG93aXJpbmcnID0+ICc/JywgJ2NvbnNvbGUuY29tbWFuZC5ldmVudF9kaXNwYXRjaGVyX2RlYnVnJyA9PiAnPycsICdjb25zb2xlLmNvbW1hbmQucm91dGVyX2RlYnVnJyA9PiAnPycsICdjb25zb2xlLmNvbW1hbmQucm91dGVyX21hdGNoJyA9PiAnPycsICdjb25zb2xlLmNvbW1hbmQuc2VjcmV0c19kZWNyeXB0X3RvX2xvY2FsJyA9PiAnPycsICdjb25zb2xlLmNvbW1hbmQuc2VjcmV0c19lbmNyeXB0X2Zyb21fbG9jYWwnID0+ICc/JywgJ2NvbnNvbGUuY29tbWFuZC5zZWNyZXRzX2dlbmVyYXRlX2tleScgPT4gJz8nLCAnY29uc29sZS5jb21tYW5kLnNlY3JldHNfbGlzdCcgPT4gJz8nLCAnY29uc29sZS5jb21tYW5kLnNlY3JldHNfcmVtb3ZlJyA9PiAnPycsICdjb25zb2xlLmNvbW1hbmQuc2VjcmV0c19zZXQnID0+ICc/JywgJ2NvbnNvbGUuY29tbWFuZC55YW1sX2xpbnQnID0+ICc/J107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXFNlcnZpY2VMb2NhdG9yfWV4dGVybmFsSWQgPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxTZXJ2aWNlTG9jYXRvcn1jb250YWluZXIgPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxTZXJ2aWNlTG9jYXRvcn1mYWN0b3JpZXMgPSBbJ2NvbnNvbGUuY29tbWFuZC5hYm91dCcgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuYXNzZXRzX2luc3RhbGwnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLmNhY2hlX2NsZWFyJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV9wb29sX2NsZWFyJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV9wb29sX2RlbGV0ZScgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuY2FjaGVfcG9vbF9saXN0JyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV9wb29sX3BydW5lJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV93YXJtdXAnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLmNvbmZpZ19kZWJ1ZycgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuY29uZmlnX2R1bXBfcmVmZXJlbmNlJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5jb250YWluZXJfZGVidWcnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLmNvbnRhaW5lcl9saW50JyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5kZWJ1Z19hdXRvd2lyaW5nJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5ldmVudF9kaXNwYXRjaGVyX2RlYnVnJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5yb3V0ZXJfZGVidWcnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLnJvdXRlcl9tYXRjaCcgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuc2VjcmV0c19kZWNyeXB0X3RvX2xvY2FsJyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC5zZWNyZXRzX2VuY3J5cHRfZnJvbV9sb2NhbCcgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuc2VjcmV0c19nZW5lcmF0ZV9rZXknID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLnNlY3JldHNfbGlzdCcgPT4gWy4uLl0sICdjb25zb2xlLmNvbW1hbmQuc2VjcmV0c19yZW1vdmUnID0+IFsuLi5dLCAnY29uc29sZS5jb21tYW5kLnNlY3JldHNfc2V0JyA9PiBbLi4uXSwgJ2NvbnNvbGUuY29tbWFuZC55YW1sX2xpbnQnID0+IFsuLi5dXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cU2VydmljZUxvY2F0b3J9bG9hZGluZyA9IFtdOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxTZXJ2aWNlTG9jYXRvcn1wcm92aWRlZFR5cGVzID0gTlVMTCB9OyBwcml2YXRlICRjb21tYW5kTWFwID0gWydhYm91dCcgPT4gJ2NvbnNvbGUuY29tbWFuZC5hYm91dCcsICdhc3NldHM6aW5zdGFsbCcgPT4gJ2NvbnNvbGUuY29tbWFuZC5hc3NldHNfaW5zdGFsbCcsICdjYWNoZTpjbGVhcicgPT4gJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV9jbGVhcicsICdjYWNoZTpwb29sOmNsZWFyJyA9PiAnY29uc29sZS5jb21tYW5kLmNhY2hlX3Bvb2xfY2xlYXInLCAnY2FjaGU6cG9vbDpwcnVuZScgPT4gJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV9wb29sX3BydW5lJywgJ2NhY2hlOnBvb2w6ZGVsZXRlJyA9PiAnY29uc29sZS5jb21tYW5kLmNhY2hlX3Bvb2xfZGVsZXRlJywgJ2NhY2hlOnBvb2w6bGlzdCcgPT4gJ2NvbnNvbGUuY29tbWFuZC5jYWNoZV9wb29sX2xpc3QnLCAnY2FjaGU6d2FybXVwJyA9PiAnY29uc29sZS5jb21tYW5kLmNhY2hlX3dhcm11cCcsICdkZWJ1Zzpjb25maWcnID0+ICdjb25zb2xlLmNvbW1hbmQuY29uZmlnX2RlYnVnJywgJ2NvbmZpZzpkdW1wLXJlZmVyZW5jZScgPT4gJ2NvbnNvbGUuY29tbWFuZC5jb25maWdfZHVtcF9yZWZlcmVuY2UnLCAnZGVidWc6Y29udGFpbmVyJyA9PiAnY29uc29sZS5jb21tYW5kLmNvbnRhaW5lcl9kZWJ1ZycsICdsaW50OmNvbnRhaW5lcicgPT4gJ2NvbnNvbGUuY29tbWFuZC5jb250YWluZXJfbGludCcsICdkZWJ1ZzphdXRvd2lyaW5nJyA9PiAnY29uc29sZS5jb21tYW5kLmRlYnVnX2F1dG93aXJpbmcnLCAnZGVidWc6ZXZlbnQtZGlzcGF0Y2hlcicgPT4gJ2NvbnNvbGUuY29tbWFuZC5ldmVudF9kaXNwYXRjaGVyX2RlYnVnJywgJ2RlYnVnOnJvdXRlcicgPT4gJ2NvbnNvbGUuY29tbWFuZC5yb3V0ZXJfZGVidWcnLCAncm91dGVyOm1hdGNoJyA9PiAnY29uc29sZS5jb21tYW5kLnJvdXRlcl9tYXRjaCcsICdsaW50OnlhbWwnID0+ICdjb25zb2xlLmNvbW1hbmQueWFtbF9saW50JywgJ3NlY3JldHM6c2V0JyA9PiAnY29uc29sZS5jb21tYW5kLnNlY3JldHNfc2V0JywgJ3NlY3JldHM6cmVtb3ZlJyA9PiAnY29uc29sZS5jb21tYW5kLnNlY3JldHNfcmVtb3ZlJywgJ3NlY3JldHM6Z2VuZXJhdGUta2V5cycgPT4gJ2NvbnNvbGUuY29tbWFuZC5zZWNyZXRzX2dlbmVyYXRlX2tleScsICdzZWNyZXRzOmxpc3QnID0+ICdjb25zb2xlLmNvbW1hbmQuc2VjcmV0c19saXN0JywgJ3NlY3JldHM6ZGVjcnlwdC10by1sb2NhbCcgPT4gJ2NvbnNvbGUuY29tbWFuZC5zZWNyZXRzX2RlY3J5cHRfdG9fbG9jYWwnLCAnc2VjcmV0czplbmNyeXB0LWZyb20tbG9jYWwnID0+ICdjb25zb2xlLmNvbW1hbmQuc2VjcmV0c19lbmNyeXB0X2Zyb21fbG9jYWwnXSB9OyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxBcHBsaWNhdGlvbn1jYXRjaEV4Y2VwdGlvbnMgPSBUUlVFOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxBcHBsaWNhdGlvbn1hdXRvRXhpdCA9IFRSVUU7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEFwcGxpY2F0aW9ufWRlZmluaXRpb24gPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0RGVmaW5pdGlvbiB7IHByaXZhdGUgJGFyZ3VtZW50cyA9IFsnY29tbWFuZCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dEFyZ3VtZW50IHsgcHJpdmF0ZSAkbmFtZSA9ICdjb21tYW5kJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdUaGUgY29tbWFuZCB0byBleGVjdXRlJyB9XTsgcHJpdmF0ZSAkcmVxdWlyZWRDb3VudCA9IDE7IHByaXZhdGUgJGxhc3RBcnJheUFyZ3VtZW50ID0gTlVMTDsgcHJpdmF0ZSAkbGFzdE9wdGlvbmFsQXJndW1lbnQgPSBOVUxMOyBwcml2YXRlICRvcHRpb25zID0gWydoZWxwJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdoZWxwJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnaCc7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0Rpc3BsYXkgaGVscCBmb3IgdGhlIGdpdmVuIGNvbW1hbmQuIFdoZW4gbm8gY29tbWFuZCBpcyBnaXZlbiBkaXNwbGF5IGhlbHAgZm9yIHRoZSA8aW5mbz5saXN0PC9pbmZvPiBjb21tYW5kJyB9LCAncXVpZXQnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3F1aWV0JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAncSc7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0RvIG5vdCBvdXRwdXQgYW55IG1lc3NhZ2UnIH0sICd2ZXJib3NlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd2ZXJib3NlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAndnx2dnx2dnYnOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdJbmNyZWFzZSB0aGUgdmVyYm9zaXR5IG9mIG1lc3NhZ2VzOiAxIGZvciBub3JtYWwgb3V0cHV0LCAyIGZvciBtb3JlIHZlcmJvc2Ugb3V0cHV0IGFuZCAzIGZvciBkZWJ1ZycgfSwgJ3ZlcnNpb24nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3ZlcnNpb24nOyBwcml2YXRlICRzaG9ydGN1dCA9ICdWJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRGlzcGxheSB0aGlzIGFwcGxpY2F0aW9uIHZlcnNpb24nIH0sICdhbnNpJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdhbnNpJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTY7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRm9yY2UgKG9yIGRpc2FibGUgLS1uby1hbnNpKSBBTlNJIG91dHB1dCcgfSwgJ25vLWludGVyYWN0aW9uJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICduby1pbnRlcmFjdGlvbic7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ24nOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdEbyBub3QgYXNrIGFueSBpbnRlcmFjdGl2ZSBxdWVzdGlvbicgfSwgJ2NvbmZpZycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnY29uZmlnJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnYyc7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnTG9jYXRpb24gb2YgYSBjdXN0b20gY29uZmlndXJhdGlvbiBmaWxlJyB9LCAnbG9nJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdsb2cnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnTG9nIGZpbGUgdG8gd3JpdGUgdG8nIH0sICdlbnYnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2Vudic7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ2UnOyBwcml2YXRlICRtb2RlID0gMjsgcHJpdmF0ZSAkZGVmYXVsdCA9ICdwcm9kJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnVGhlIEVudmlyb25tZW50IG5hbWUuJyB9LCAnbm8tZGVidWcnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ25vLWRlYnVnJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdTd2l0Y2ggb2ZmIGRlYnVnIG1vZGUuJyB9XTsgcHJpdmF0ZSAkbmVnYXRpb25zID0gWyduby1hbnNpJyA9PiAnYW5zaSddOyBwcml2YXRlICRzaG9ydGN1dHMgPSBbJ2gnID0+ICdoZWxwJywgJ3EnID0+ICdxdWlldCcsICd2JyA9PiAndmVyYm9zZScsICd2dicgPT4gJ3ZlcmJvc2UnLCAndnZ2JyA9PiAndmVyYm9zZScsICdWJyA9PiAndmVyc2lvbicsICduJyA9PiAnbm8taW50ZXJhY3Rpb24nLCAnYycgPT4gJ2NvbmZpZycsICdlJyA9PiAnZW52J10gfTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQXBwbGljYXRpb259aGVscGVyU2V0ID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxIZWxwZXJcSGVscGVyU2V0IHsgcHJpdmF0ZSAkaGVscGVycyA9IFsnZm9ybWF0dGVyJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEhlbHBlclxGb3JtYXR0ZXJIZWxwZXIgeyBwcm90ZWN0ZWQgJGhlbHBlclNldCA9IC4uLiB9LCAnZGVidWdfZm9ybWF0dGVyJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEhlbHBlclxEZWJ1Z0Zvcm1hdHRlckhlbHBlciB7IHByaXZhdGUgJGNvbG9ycyA9IFsuLi5dOyBwcml2YXRlICRzdGFydGVkID0gWy4uLl07IHByaXZhdGUgJGNvdW50ID0gLTE7IHByb3RlY3RlZCAkaGVscGVyU2V0ID0gLi4uIH0sICdwcm9jZXNzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEhlbHBlclxQcm9jZXNzSGVscGVyIHsgcHJvdGVjdGVkICRoZWxwZXJTZXQgPSAuLi4gfSwgJ3F1ZXN0aW9uJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEhlbHBlclxRdWVzdGlvbkhlbHBlciB7IHByaXZhdGUgJGlucHV0U3RyZWFtID0gTlVMTDsgcHJvdGVjdGVkICRoZWxwZXJTZXQgPSAuLi4gfV07IHByaXZhdGUgJGNvbW1hbmQgPSBOVUxMIH07IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEFwcGxpY2F0aW9ufWRpc3BhdGNoZXIgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnREaXNwYXRjaGVyIHsgcHJpdmF0ZSAkbGlzdGVuZXJzID0gWydrZXJuZWwucmVzcG9uc2UnID0+IFswID0+IFsuLi5dLCAtMTAyNCA9PiBbLi4uXSwgLTEyOCA9PiBbLi4uXV0sICdrZXJuZWwucmVxdWVzdCcgPT4gWzEwMCA9PiBbLi4uXSwgMTYgPT4gWy4uLl0sIDI1NiA9PiBbLi4uXSwgMTUgPT4gWy4uLl0sIDIwNDggPT4gWy4uLl0sIDMyID0+IFsuLi5dXSwgJ2tlcm5lbC5maW5pc2hfcmVxdWVzdCcgPT4gWzAgPT4gWy4uLl0sIC0xNSA9PiBbLi4uXV0sICdrZXJuZWwuY29udHJvbGxlcl9hcmd1bWVudHMnID0+IFswID0+IFsuLi5dXSwgJ2tlcm5lbC5leGNlcHRpb24nID0+IFswID0+IFsuLi5dLCAtMTI4ID0+IFsuLi5dLCAtNjQgPT4gWy4uLl1dLCAnY29uc29sZS5lcnJvcicgPT4gWy0xMjggPT4gWy4uLl0sIDAgPT4gWy4uLl1dLCAnY29uc29sZS50ZXJtaW5hdGUnID0+IFstMTI4ID0+IFsuLi5dLCAtMjU1ID0+IFsuLi5dXSwgJ2NvbnNvbGUuY29tbWFuZCcgPT4gWzIwNDggPT4gWy4uLl0sIDI1NSA9PiBbLi4uXV0sICd0cmFuc2Zvcm1lci50cmFuc2Zvcm1hdGlvbi5wb3N0JyA9PiBbMCA9PiBbLi4uXV1dOyBwcml2YXRlICRzb3J0ZWQgPSBbXTsgcHJpdmF0ZSAkb3B0aW1pemVkID0gWydjb25zb2xlLmNvbW1hbmQnID0+IFswID0+IGNsYXNzIENsb3N1cmUgeyB2aXJ0dWFsICRjbG9zdXJlID0gIiR0aGlzLT5jb25maWd1cmUiLCAuLi4gfSwgMSA9PiBjbGFzcyBDbG9zdXJlIHsgdmlydHVhbCAkY2xvc3VyZSA9ICIkdGhpcy0+b25Db21tYW5kIiwgLi4uIH1dXSB9OyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxBcHBsaWNhdGlvbn10ZXJtaW5hbCA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcVGVybWluYWwgeyAgfTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQXBwbGljYXRpb259ZGVmYXVsdENvbW1hbmQgPSAnbGlzdCc7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEFwcGxpY2F0aW9ufXNpbmdsZUNvbW1hbmQgPSBGQUxTRTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQXBwbGljYXRpb259aW5pdGlhbGl6ZWQgPSBUUlVFOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxBcHBsaWNhdGlvbn1zaWduYWxSZWdpc3RyeSA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEFwcGxpY2F0aW9ufXNpZ25hbHNUb0Rpc3BhdGNoRXZlbnQgPSBbXSB9OyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9bmFtZSA9ICdwcm9qZWN0OnJ1bic7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1wcm9jZXNzVGl0bGUgPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9YWxpYXNlcyA9IFswID0+ICdydW4nXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWRlZmluaXRpb24gPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0RGVmaW5pdGlvbiB7IHByaXZhdGUgJGFyZ3VtZW50cyA9IFtdOyBwcml2YXRlICRyZXF1aXJlZENvdW50ID0gMDsgcHJpdmF0ZSAkbGFzdEFycmF5QXJndW1lbnQgPSBOVUxMOyBwcml2YXRlICRsYXN0T3B0aW9uYWxBcmd1bWVudCA9IE5VTEw7IHByaXZhdGUgJG9wdGlvbnMgPSBbJ3RhcmdldCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndGFyZ2V0JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAndCc7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnUGF0aCB3aGVyZSB0byBzdG9yZSB0aGUgZ2VuZXJhdGVkIG91dHB1dCcgfSwgJ2NhY2hlLWZvbGRlcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnY2FjaGUtZm9sZGVyJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1BhdGggd2hlcmUgdG8gc3RvcmUgdGhlIGNhY2hlIGZpbGVzJyB9LCAnZmlsZW5hbWUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2ZpbGVuYW1lJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnZic7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdGaWxlIHRvIHBhcnNlLCBnbG9iIHBhdHRlcm5zIGFyZSBzdXBwb3J0ZWQuIFByb3ZpZGUgbXVsdGlwbGUgb3B0aW9ucyBvZiB0aGlzIHR5cGUgdG8gYWRkXG4gICAgICAgICAgICAgICAgbXVsdGlwbGUgZmlsZXMuJyB9LCAnZGlyZWN0b3J5JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdkaXJlY3RvcnknOyBwcml2YXRlICRzaG9ydGN1dCA9ICdkJzsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ2RpcmVjdG9yeSB0byBwYXJzZSwgZ2xvYiBwYXR0ZXJucyBhcmUgc3VwcG9ydGVkLiBQcm92aWRlIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIHRvIGFkZFxuICAgICAgICAgICAgICAgIG11bHRpcGxlIGRpcmVjdG9yaWVzLicgfSwgJ2VuY29kaW5nJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdlbmNvZGluZyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdlbmNvZGluZyB0byBiZSB1c2VkIHRvIGludGVycHJldCBzb3VyY2UgZmlsZXMgd2l0aCcgfSwgJ2V4dGVuc2lvbnMnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2V4dGVuc2lvbnMnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdQcm92aWRlIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIHRvIGFkZCBtdWx0aXBsZSBleHRlbnNpb25zLiBkZWZhdWx0IGlzIHBocCcgfSwgJ2lnbm9yZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaWdub3JlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnaSc7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdGaWxlKHMpIGFuZCBkaXJlY3RvcmllcyAocmVsYXRpdmUgdG8gdGhlIHNvdXJjZS1jb2RlIGRpcmVjdG9yeSkgdGhhdCB3aWxsIGJlIGlnbm9yZWQuIEdsb2IgcGF0dGVybnMgYXJlIHN1cHBvcnRlZC4gQWRkIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIG9mIGFkZCBtb3JlIGlnbm9yZSBwYXR0ZXJucycgfSwgJ2lnbm9yZS10YWdzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdpZ25vcmUtdGFncyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1RhZyB0aGF0IHdpbGwgYmUgaWdub3JlZCwgZGVmYXVsdHMgdG8gbm9uZS4gcGFja2FnZSwgc3VicGFja2FnZSBhbmQgaWdub3JlIG1heSBub3QgYmUgaWdub3JlZC4gQWRkIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIHRvIGlnbm9yZSBtdWx0aXBsZSB0YWdzLicgfSwgJ2hpZGRlbicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaGlkZGVuJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdVc2UgdGhpcyBvcHRpb24gdG8gdGVsbCBwaHBEb2N1bWVudG9yIHRvIHBhcnNlIGZpbGVzIGFuZCBkaXJlY3RvcmllcyB0aGF0IGJlZ2luIHdpdGggYSBwZXJpb2QgKC4pLCBieSBkZWZhdWx0IHRoZXNlIGFyZSBpZ25vcmVkJyB9LCAnaWdub3JlLXN5bWxpbmtzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdpZ25vcmUtc3ltbGlua3MnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0lnbm9yZSBzeW1saW5rcyB0byBvdGhlciBmaWxlcyBvciBkaXJlY3RvcmllcywgZGVmYXVsdCBpcyBvbicgfSwgJ21hcmtlcnMnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ21hcmtlcnMnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdtJzsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0NvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1hcmtlcnMvdGFncyB0byBmaWx0ZXInIH0sICd0aXRsZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndGl0bGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnU2V0cyB0aGUgdGl0bGUgZm9yIHRoaXMgcHJvamVjdDsgZGVmYXVsdCBpcyB0aGUgcGhwRG9jdW1lbnRvciBsb2dvJyB9LCAnZm9yY2UnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2ZvcmNlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdGb3JjZXMgYSBmdWxsIGJ1aWxkIG9mIHRoZSBkb2N1bWVudGF0aW9uLCBkb2VzIG5vdCBpbmNyZW1lbnQgZXhpc3RpbmcgZG9jdW1lbnRhdGlvbicgfSwgJ3ZhbGlkYXRlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd2YWxpZGF0ZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnVmFsaWRhdGVzIGV2ZXJ5IHByb2Nlc3NlZCBmaWxlIHVzaW5nIFBIUCBMaW50LCBjb3N0cyBhIGxvdCBvZiBwZXJmb3JtYW5jZScgfSwgJ3Zpc2liaWxpdHknID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3Zpc2liaWxpdHknOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdTcGVjaWZpZXMgdGhlIHBhcnNlIHZpc2liaWxpdHkgdGhhdCBzaG91bGQgYmUgZGlzcGxheWVkIGluIHRoZSBkb2N1bWVudGF0aW9uLiBBZGQgbXVsdGlwbGUgb3B0aW9ucyBvZlxuICAgICAgICAgICAgICAgIHRoaXMgdHlwZSB0byBzcGVjaWZ5IG11bHRpcGxlIGxldmVscy4oInB1YmxpYyxwcm90ZWN0ZWQiKScgfSwgJ2RlZmF1bHRwYWNrYWdlbmFtZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZGVmYXVsdHBhY2thZ2VuYW1lJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ05hbWUgdG8gdXNlIGZvciB0aGUgZGVmYXVsdCBwYWNrYWdlLicgfSwgJ3NvdXJjZWNvZGUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3NvdXJjZWNvZGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1doZXRoZXIgdG8gaW5jbHVkZSBzeW50YXggaGlnaGxpZ2h0ZWQgc291cmNlIGNvZGUnIH0sICd0ZW1wbGF0ZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndGVtcGxhdGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdOYW1lIG9mIHRoZSB0ZW1wbGF0ZSB0byB1c2UgKG9wdGlvbmFsKScgfSwgJ2V4YW1wbGVzLWRpcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZXhhbXBsZXMtZGlyJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0RpcmVjdG9yeSB0byBzZWFjaGVyIGZvciBleGFtcGxlIGZpbGVzIHJlZmVyZW5jZWQgYnkgQGV4YW1wbGUgdGFncycgfSwgJ3NldHRpbmcnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3NldHRpbmcnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdzJzsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1Byb3ZpZGUgY3VzdG9tIHNldHRpbmcocykgYXMgImtleT12YWx1ZSIsIHJ1biBhZ2FpbiB3aXRoIDxpbmZvPi0tbGlzdC1zZXR0aW5nczwvaW5mbz4gZm9yIGEgbGlzdCcgfSwgJ2xpc3Qtc2V0dGluZ3MnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2xpc3Qtc2V0dGluZ3MnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1JldHVybnMgYSBsaXN0IG9mIGF2YWlsYWJsZSBzZXR0aW5ncycgfSwgJ3BhcnNlcHJpdmF0ZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAncGFyc2Vwcml2YXRlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdXaGV0aGVyIHRvIHBhcnNlIERvY0Jsb2NrcyBtYXJrZWQgd2l0aCBAaW50ZXJuYWwgdGFnJyB9XTsgcHJpdmF0ZSAkbmVnYXRpb25zID0gW107IHByaXZhdGUgJHNob3J0Y3V0cyA9IFsndCcgPT4gJ3RhcmdldCcsICdmJyA9PiAnZmlsZW5hbWUnLCAnZCcgPT4gJ2RpcmVjdG9yeScsICdpJyA9PiAnaWdub3JlJywgJ20nID0+ICdtYXJrZXJzJywgJ3MnID0+ICdzZXR0aW5nJ10gfTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWhpZGRlbiA9IEZBTFNFOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb21tYW5kXENvbW1hbmR9aGVscCA9ICcgICAgICAgICAgICAgICAgcGhwRG9jdW1lbnRvciBjcmVhdGVzIGRvY3VtZW50YXRpb24gZnJvbSBQSFAgc291cmNlIGZpbGVzLiBUaGUgc2ltcGxlc3Qgd2F5XG4gICAgICAgICAgICAgICAgdG8gdXNlIGl0IGlzOlxuXG4gICAgICAgICAgICAgICAgICAgIDxpbmZvPiQgcGhwZG9jIHJ1biAtZCBbZGlyZWN0b3J5IHRvIHBhcnNlXSAtdCBbb3V0cHV0IGRpcmVjdG9yeV08L2luZm8+XG5cbiAgICAgICAgICAgICAgICBUaGlzIHdpbGwgcGFyc2UgZXZlcnkgZmlsZSBlbmRpbmcgd2l0aCAucGhwIGluIDxkaXJlY3RvcnlcbiAgICAgICAgICAgICAgICB0byBwYXJzZT4gYW5kIHRoZW4gb3V0cHV0IGEgSFRNTCBzaXRlIGNvbnRhaW5pbmcgZWFzaWx5IHJlYWRhYmxlIGRvY3VtZW50YXRpb25cbiAgICAgICAgICAgICAgICBpbiA8b3V0cHV0IGRpcmVjdG9yeT4uXG5cbiAgICAgICAgICAgICAgICBwaHBEb2N1bWVudG9yIHdpbGwgdHJ5IHRvIGxvb2sgZm9yIGEgcGhwZG9jLmRpc3QueG1sIG9yIHBocGRvYy54bWwgZmlsZScuLi47IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1kZXNjcmlwdGlvbiA9ICdQYXJzZXMgYW5kIHRyYW5zZm9ybXMgdGhlIGdpdmVuIGZpbGVzIHRvIGEgc3BlY2lmaWVkIGxvY2F0aW9uJzsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWZ1bGxEZWZpbml0aW9uID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dERlZmluaXRpb24geyBwcml2YXRlICRhcmd1bWVudHMgPSBbJ2NvbW1hbmQnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRBcmd1bWVudCB7IHByaXZhdGUgJG5hbWUgPSAnY29tbWFuZCc7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnVGhlIGNvbW1hbmQgdG8gZXhlY3V0ZScgfV07IHByaXZhdGUgJHJlcXVpcmVkQ291bnQgPSAxOyBwcml2YXRlICRsYXN0QXJyYXlBcmd1bWVudCA9IE5VTEw7IHByaXZhdGUgJGxhc3RPcHRpb25hbEFyZ3VtZW50ID0gTlVMTDsgcHJpdmF0ZSAkb3B0aW9ucyA9IFsndGFyZ2V0JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd0YXJnZXQnOyBwcml2YXRlICRzaG9ydGN1dCA9ICd0JzsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdQYXRoIHdoZXJlIHRvIHN0b3JlIHRoZSBnZW5lcmF0ZWQgb3V0cHV0JyB9LCAnY2FjaGUtZm9sZGVyJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdjYWNoZS1mb2xkZXInOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnUGF0aCB3aGVyZSB0byBzdG9yZSB0aGUgY2FjaGUgZmlsZXMnIH0sICdmaWxlbmFtZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZmlsZW5hbWUnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdmJzsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0ZpbGUgdG8gcGFyc2UsIGdsb2IgcGF0dGVybnMgYXJlIHN1cHBvcnRlZC4gUHJvdmlkZSBtdWx0aXBsZSBvcHRpb25zIG9mIHRoaXMgdHlwZSB0byBhZGRcbiAgICAgICAgICAgICAgICBtdWx0aXBsZSBmaWxlcy4nIH0sICdkaXJlY3RvcnknID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2RpcmVjdG9yeSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ2QnOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnZGlyZWN0b3J5IHRvIHBhcnNlLCBnbG9iIHBhdHRlcm5zIGFyZSBzdXBwb3J0ZWQuIFByb3ZpZGUgbXVsdGlwbGUgb3B0aW9ucyBvZiB0aGlzIHR5cGUgdG8gYWRkXG4gICAgICAgICAgICAgICAgbXVsdGlwbGUgZGlyZWN0b3JpZXMuJyB9LCAnZW5jb2RpbmcnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2VuY29kaW5nJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ2VuY29kaW5nIHRvIGJlIHVzZWQgdG8gaW50ZXJwcmV0IHNvdXJjZSBmaWxlcyB3aXRoJyB9LCAnZXh0ZW5zaW9ucycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZXh0ZW5zaW9ucyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1Byb3ZpZGUgbXVsdGlwbGUgb3B0aW9ucyBvZiB0aGlzIHR5cGUgdG8gYWRkIG11bHRpcGxlIGV4dGVuc2lvbnMuIGRlZmF1bHQgaXMgcGhwJyB9LCAnaWdub3JlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdpZ25vcmUnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdpJzsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0ZpbGUocykgYW5kIGRpcmVjdG9yaWVzIChyZWxhdGl2ZSB0byB0aGUgc291cmNlLWNvZGUgZGlyZWN0b3J5KSB0aGF0IHdpbGwgYmUgaWdub3JlZC4gR2xvYiBwYXR0ZXJucyBhcmUgc3VwcG9ydGVkLiBBZGQgbXVsdGlwbGUgb3B0aW9ucyBvZiB0aGlzIHR5cGUgb2YgYWRkIG1vcmUgaWdub3JlIHBhdHRlcm5zJyB9LCAnaWdub3JlLXRhZ3MnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2lnbm9yZS10YWdzJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnVGFnIHRoYXQgd2lsbCBiZSBpZ25vcmVkLCBkZWZhdWx0cyB0byBub25lLiBwYWNrYWdlLCBzdWJwYWNrYWdlIGFuZCBpZ25vcmUgbWF5IG5vdCBiZSBpZ25vcmVkLiBBZGQgbXVsdGlwbGUgb3B0aW9ucyBvZiB0aGlzIHR5cGUgdG8gaWdub3JlIG11bHRpcGxlIHRhZ3MuJyB9LCAnaGlkZGVuJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdoaWRkZW4nOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1VzZSB0aGlzIG9wdGlvbiB0byB0ZWxsIHBocERvY3VtZW50b3IgdG8gcGFyc2UgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIHRoYXQgYmVnaW4gd2l0aCBhIHBlcmlvZCAoLiksIGJ5IGRlZmF1bHQgdGhlc2UgYXJlIGlnbm9yZWQnIH0sICdpZ25vcmUtc3ltbGlua3MnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2lnbm9yZS1zeW1saW5rcyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnSWdub3JlIHN5bWxpbmtzIHRvIG90aGVyIGZpbGVzIG9yIGRpcmVjdG9yaWVzLCBkZWZhdWx0IGlzIG9uJyB9LCAnbWFya2VycycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnbWFya2Vycyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ20nOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnQ29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbWFya2Vycy90YWdzIHRvIGZpbHRlcicgfSwgJ3RpdGxlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd0aXRsZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdTZXRzIHRoZSB0aXRsZSBmb3IgdGhpcyBwcm9qZWN0OyBkZWZhdWx0IGlzIHRoZSBwaHBEb2N1bWVudG9yIGxvZ28nIH0sICdmb3JjZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZm9yY2UnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0ZvcmNlcyBhIGZ1bGwgYnVpbGQgb2YgdGhlIGRvY3VtZW50YXRpb24sIGRvZXMgbm90IGluY3JlbWVudCBleGlzdGluZyBkb2N1bWVudGF0aW9uJyB9LCAndmFsaWRhdGUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3ZhbGlkYXRlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdWYWxpZGF0ZXMgZXZlcnkgcHJvY2Vzc2VkIGZpbGUgdXNpbmcgUEhQIExpbnQsIGNvc3RzIGEgbG90IG9mIHBlcmZvcm1hbmNlJyB9LCAndmlzaWJpbGl0eScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndmlzaWJpbGl0eSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1NwZWNpZmllcyB0aGUgcGFyc2UgdmlzaWJpbGl0eSB0aGF0IHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gdGhlIGRvY3VtZW50YXRpb24uIEFkZCBtdWx0aXBsZSBvcHRpb25zIG9mXG4gICAgICAgICAgICAgICAgdGhpcyB0eXBlIHRvIHNwZWNpZnkgbXVsdGlwbGUgbGV2ZWxzLigicHVibGljLHByb3RlY3RlZCIpJyB9LCAnZGVmYXVsdHBhY2thZ2VuYW1lJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdkZWZhdWx0cGFja2FnZW5hbWUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnTmFtZSB0byB1c2UgZm9yIHRoZSBkZWZhdWx0IHBhY2thZ2UuJyB9LCAnc291cmNlY29kZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnc291cmNlY29kZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnV2hldGhlciB0byBpbmNsdWRlIHN5bnRheCBoaWdobGlnaHRlZCBzb3VyY2UgY29kZScgfSwgJ3RlbXBsYXRlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd0ZW1wbGF0ZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ05hbWUgb2YgdGhlIHRlbXBsYXRlIHRvIHVzZSAob3B0aW9uYWwpJyB9LCAnZXhhbXBsZXMtZGlyJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdleGFtcGxlcy1kaXInOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRGlyZWN0b3J5IHRvIHNlYWNoZXIgZm9yIGV4YW1wbGUgZmlsZXMgcmVmZXJlbmNlZCBieSBAZXhhbXBsZSB0YWdzJyB9LCAnc2V0dGluZycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnc2V0dGluZyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ3MnOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnUHJvdmlkZSBjdXN0b20gc2V0dGluZyhzKSBhcyAia2V5PXZhbHVlIiwgcnVuIGFnYWluIHdpdGggPGluZm8+LS1saXN0LXNldHRpbmdzPC9pbmZvPiBmb3IgYSBsaXN0JyB9LCAnbGlzdC1zZXR0aW5ncycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnbGlzdC1zZXR0aW5ncyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnUmV0dXJucyBhIGxpc3Qgb2YgYXZhaWxhYmxlIHNldHRpbmdzJyB9LCAncGFyc2Vwcml2YXRlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdwYXJzZXByaXZhdGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1doZXRoZXIgdG8gcGFyc2UgRG9jQmxvY2tzIG1hcmtlZCB3aXRoIEBpbnRlcm5hbCB0YWcnIH0sICdoZWxwJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdoZWxwJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnaCc7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0Rpc3BsYXkgaGVscCBmb3IgdGhlIGdpdmVuIGNvbW1hbmQuIFdoZW4gbm8gY29tbWFuZCBpcyBnaXZlbiBkaXNwbGF5IGhlbHAgZm9yIHRoZSA8aW5mbz5saXN0PC9pbmZvPiBjb21tYW5kJyB9LCAncXVpZXQnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3F1aWV0JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAncSc7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0RvIG5vdCBvdXRwdXQgYW55IG1lc3NhZ2UnIH0sICd2ZXJib3NlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd2ZXJib3NlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAndnx2dnx2dnYnOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdJbmNyZWFzZSB0aGUgdmVyYm9zaXR5IG9mIG1lc3NhZ2VzOiAxIGZvciBub3JtYWwgb3V0cHV0LCAyIGZvciBtb3JlIHZlcmJvc2Ugb3V0cHV0IGFuZCAzIGZvciBkZWJ1ZycgfSwgJ3ZlcnNpb24nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3ZlcnNpb24nOyBwcml2YXRlICRzaG9ydGN1dCA9ICdWJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRGlzcGxheSB0aGlzIGFwcGxpY2F0aW9uIHZlcnNpb24nIH0sICdhbnNpJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdhbnNpJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTY7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRm9yY2UgKG9yIGRpc2FibGUgLS1uby1hbnNpKSBBTlNJIG91dHB1dCcgfSwgJ25vLWludGVyYWN0aW9uJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICduby1pbnRlcmFjdGlvbic7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ24nOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdEbyBub3QgYXNrIGFueSBpbnRlcmFjdGl2ZSBxdWVzdGlvbicgfSwgJ2NvbmZpZycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnY29uZmlnJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnYyc7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnTG9jYXRpb24gb2YgYSBjdXN0b20gY29uZmlndXJhdGlvbiBmaWxlJyB9LCAnbG9nJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdsb2cnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnTG9nIGZpbGUgdG8gd3JpdGUgdG8nIH0sICdlbnYnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2Vudic7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ2UnOyBwcml2YXRlICRtb2RlID0gMjsgcHJpdmF0ZSAkZGVmYXVsdCA9ICdwcm9kJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnVGhlIEVudmlyb25tZW50IG5hbWUuJyB9LCAnbm8tZGVidWcnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ25vLWRlYnVnJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdTd2l0Y2ggb2ZmIGRlYnVnIG1vZGUuJyB9XTsgcHJpdmF0ZSAkbmVnYXRpb25zID0gWyduby1hbnNpJyA9PiAnYW5zaSddOyBwcml2YXRlICRzaG9ydGN1dHMgPSBbJ3QnID0+ICd0YXJnZXQnLCAnZicgPT4gJ2ZpbGVuYW1lJywgJ2QnID0+ICdkaXJlY3RvcnknLCAnaScgPT4gJ2lnbm9yZScsICdtJyA9PiAnbWFya2VycycsICdzJyA9PiAnc2V0dGluZycsICdoJyA9PiAnaGVscCcsICdxJyA9PiAncXVpZXQnLCAndicgPT4gJ3ZlcmJvc2UnLCAndnYnID0+ICd2ZXJib3NlJywgJ3Z2dicgPT4gJ3ZlcmJvc2UnLCAnVicgPT4gJ3ZlcnNpb24nLCAnbicgPT4gJ25vLWludGVyYWN0aW9uJywgJ2MnID0+ICdjb25maWcnLCAnZScgPT4gJ2VudiddIH07IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1pZ25vcmVWYWxpZGF0aW9uRXJyb3JzID0gRkFMU0U7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH1jb2RlID0gTlVMTDsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfXN5bm9wc2lzID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbW1hbmRcQ29tbWFuZH11c2FnZXMgPSBbXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kfWhlbHBlclNldCA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSGVscGVyXEhlbHBlclNldCB7IHByaXZhdGUgJGhlbHBlcnMgPSBbJ2Zvcm1hdHRlcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxIZWxwZXJcRm9ybWF0dGVySGVscGVyIHsgcHJvdGVjdGVkICRoZWxwZXJTZXQgPSAuLi4gfSwgJ2RlYnVnX2Zvcm1hdHRlcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxIZWxwZXJcRGVidWdGb3JtYXR0ZXJIZWxwZXIgeyBwcml2YXRlICRjb2xvcnMgPSBbMCA9PiAnYmxhY2snLCAxID0+ICdyZWQnLCAyID0+ICdncmVlbicsIDMgPT4gJ3llbGxvdycsIDQgPT4gJ2JsdWUnLCA1ID0+ICdtYWdlbnRhJywgNiA9PiAnY3lhbicsIDcgPT4gJ3doaXRlJywgOCA9PiAnZGVmYXVsdCddOyBwcml2YXRlICRzdGFydGVkID0gW107IHByaXZhdGUgJGNvdW50ID0gLTE7IHByb3RlY3RlZCAkaGVscGVyU2V0ID0gLi4uIH0sICdwcm9jZXNzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEhlbHBlclxQcm9jZXNzSGVscGVyIHsgcHJvdGVjdGVkICRoZWxwZXJTZXQgPSAuLi4gfSwgJ3F1ZXN0aW9uJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEhlbHBlclxRdWVzdGlvbkhlbHBlciB7IHByaXZhdGUgJGlucHV0U3RyZWFtID0gTlVMTDsgcHJvdGVjdGVkICRoZWxwZXJTZXQgPSAuLi4gfV07IHByaXZhdGUgJGNvbW1hbmQgPSBOVUxMIH0gfSwgJGlucHV0ID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxBcmd2SW5wdXQgeyBwcml2YXRlICR0b2tlbnMgPSBbXTsgcHJpdmF0ZSAkcGFyc2VkID0gW107IHByb3RlY3RlZCAkZGVmaW5pdGlvbiA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXREZWZpbml0aW9uIHsgcHJpdmF0ZSAkYXJndW1lbnRzID0gWydjb21tYW5kJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0QXJndW1lbnQgeyBwcml2YXRlICRuYW1lID0gJ2NvbW1hbmQnOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1RoZSBjb21tYW5kIHRvIGV4ZWN1dGUnIH1dOyBwcml2YXRlICRyZXF1aXJlZENvdW50ID0gMTsgcHJpdmF0ZSAkbGFzdEFycmF5QXJndW1lbnQgPSBOVUxMOyBwcml2YXRlICRsYXN0T3B0aW9uYWxBcmd1bWVudCA9IE5VTEw7IHByaXZhdGUgJG9wdGlvbnMgPSBbJ3RhcmdldCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndGFyZ2V0JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAndCc7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnUGF0aCB3aGVyZSB0byBzdG9yZSB0aGUgZ2VuZXJhdGVkIG91dHB1dCcgfSwgJ2NhY2hlLWZvbGRlcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnY2FjaGUtZm9sZGVyJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1BhdGggd2hlcmUgdG8gc3RvcmUgdGhlIGNhY2hlIGZpbGVzJyB9LCAnZmlsZW5hbWUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2ZpbGVuYW1lJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnZic7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdGaWxlIHRvIHBhcnNlLCBnbG9iIHBhdHRlcm5zIGFyZSBzdXBwb3J0ZWQuIFByb3ZpZGUgbXVsdGlwbGUgb3B0aW9ucyBvZiB0aGlzIHR5cGUgdG8gYWRkXG4gICAgICAgICAgICAgICAgbXVsdGlwbGUgZmlsZXMuJyB9LCAnZGlyZWN0b3J5JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdkaXJlY3RvcnknOyBwcml2YXRlICRzaG9ydGN1dCA9ICdkJzsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ2RpcmVjdG9yeSB0byBwYXJzZSwgZ2xvYiBwYXR0ZXJucyBhcmUgc3VwcG9ydGVkLiBQcm92aWRlIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIHRvIGFkZFxuICAgICAgICAgICAgICAgIG11bHRpcGxlIGRpcmVjdG9yaWVzLicgfSwgJ2VuY29kaW5nJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdlbmNvZGluZyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdlbmNvZGluZyB0byBiZSB1c2VkIHRvIGludGVycHJldCBzb3VyY2UgZmlsZXMgd2l0aCcgfSwgJ2V4dGVuc2lvbnMnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2V4dGVuc2lvbnMnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdQcm92aWRlIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIHRvIGFkZCBtdWx0aXBsZSBleHRlbnNpb25zLiBkZWZhdWx0IGlzIHBocCcgfSwgJ2lnbm9yZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaWdub3JlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnaSc7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdGaWxlKHMpIGFuZCBkaXJlY3RvcmllcyAocmVsYXRpdmUgdG8gdGhlIHNvdXJjZS1jb2RlIGRpcmVjdG9yeSkgdGhhdCB3aWxsIGJlIGlnbm9yZWQuIEdsb2IgcGF0dGVybnMgYXJlIHN1cHBvcnRlZC4gQWRkIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIG9mIGFkZCBtb3JlIGlnbm9yZSBwYXR0ZXJucycgfSwgJ2lnbm9yZS10YWdzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdpZ25vcmUtdGFncyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1RhZyB0aGF0IHdpbGwgYmUgaWdub3JlZCwgZGVmYXVsdHMgdG8gbm9uZS4gcGFja2FnZSwgc3VicGFja2FnZSBhbmQgaWdub3JlIG1heSBub3QgYmUgaWdub3JlZC4gQWRkIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIHRvIGlnbm9yZSBtdWx0aXBsZSB0YWdzLicgfSwgJ2hpZGRlbicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaGlkZGVuJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdVc2UgdGhpcyBvcHRpb24gdG8gdGVsbCBwaHBEb2N1bWVudG9yIHRvIHBhcnNlIGZpbGVzIGFuZCBkaXJlY3RvcmllcyB0aGF0IGJlZ2luIHdpdGggYSBwZXJpb2QgKC4pLCBieSBkZWZhdWx0IHRoZXNlIGFyZSBpZ25vcmVkJyB9LCAnaWdub3JlLXN5bWxpbmtzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdpZ25vcmUtc3ltbGlua3MnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0lnbm9yZSBzeW1saW5rcyB0byBvdGhlciBmaWxlcyBvciBkaXJlY3RvcmllcywgZGVmYXVsdCBpcyBvbicgfSwgJ21hcmtlcnMnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ21hcmtlcnMnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdtJzsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0NvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1hcmtlcnMvdGFncyB0byBmaWx0ZXInIH0sICd0aXRsZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndGl0bGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnU2V0cyB0aGUgdGl0bGUgZm9yIHRoaXMgcHJvamVjdDsgZGVmYXVsdCBpcyB0aGUgcGhwRG9jdW1lbnRvciBsb2dvJyB9LCAnZm9yY2UnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2ZvcmNlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdGb3JjZXMgYSBmdWxsIGJ1aWxkIG9mIHRoZSBkb2N1bWVudGF0aW9uLCBkb2VzIG5vdCBpbmNyZW1lbnQgZXhpc3RpbmcgZG9jdW1lbnRhdGlvbicgfSwgJ3ZhbGlkYXRlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd2YWxpZGF0ZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnVmFsaWRhdGVzIGV2ZXJ5IHByb2Nlc3NlZCBmaWxlIHVzaW5nIFBIUCBMaW50LCBjb3N0cyBhIGxvdCBvZiBwZXJmb3JtYW5jZScgfSwgJ3Zpc2liaWxpdHknID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3Zpc2liaWxpdHknOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdTcGVjaWZpZXMgdGhlIHBhcnNlIHZpc2liaWxpdHkgdGhhdCBzaG91bGQgYmUgZGlzcGxheWVkIGluIHRoZSBkb2N1bWVudGF0aW9uLiBBZGQgbXVsdGlwbGUgb3B0aW9ucyBvZlxuICAgICAgICAgICAgICAgIHRoaXMgdHlwZSB0byBzcGVjaWZ5IG11bHRpcGxlIGxldmVscy4oInB1YmxpYyxwcm90ZWN0ZWQiKScgfSwgJ2RlZmF1bHRwYWNrYWdlbmFtZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZGVmYXVsdHBhY2thZ2VuYW1lJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ05hbWUgdG8gdXNlIGZvciB0aGUgZGVmYXVsdCBwYWNrYWdlLicgfSwgJ3NvdXJjZWNvZGUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3NvdXJjZWNvZGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1doZXRoZXIgdG8gaW5jbHVkZSBzeW50YXggaGlnaGxpZ2h0ZWQgc291cmNlIGNvZGUnIH0sICd0ZW1wbGF0ZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndGVtcGxhdGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdOYW1lIG9mIHRoZSB0ZW1wbGF0ZSB0byB1c2UgKG9wdGlvbmFsKScgfSwgJ2V4YW1wbGVzLWRpcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZXhhbXBsZXMtZGlyJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0RpcmVjdG9yeSB0byBzZWFjaGVyIGZvciBleGFtcGxlIGZpbGVzIHJlZmVyZW5jZWQgYnkgQGV4YW1wbGUgdGFncycgfSwgJ3NldHRpbmcnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3NldHRpbmcnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdzJzsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1Byb3ZpZGUgY3VzdG9tIHNldHRpbmcocykgYXMgImtleT12YWx1ZSIsIHJ1biBhZ2FpbiB3aXRoIDxpbmZvPi0tbGlzdC1zZXR0aW5nczwvaW5mbz4gZm9yIGEgbGlzdCcgfSwgJ2xpc3Qtc2V0dGluZ3MnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2xpc3Qtc2V0dGluZ3MnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1JldHVybnMgYSBsaXN0IG9mIGF2YWlsYWJsZSBzZXR0aW5ncycgfSwgJ3BhcnNlcHJpdmF0ZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAncGFyc2Vwcml2YXRlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdXaGV0aGVyIHRvIHBhcnNlIERvY0Jsb2NrcyBtYXJrZWQgd2l0aCBAaW50ZXJuYWwgdGFnJyB9LCAnaGVscCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaGVscCc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ2gnOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdEaXNwbGF5IGhlbHAgZm9yIHRoZSBnaXZlbiBjb21tYW5kLiBXaGVuIG5vIGNvbW1hbmQgaXMgZ2l2ZW4gZGlzcGxheSBoZWxwIGZvciB0aGUgPGluZm8+bGlzdDwvaW5mbz4gY29tbWFuZCcgfSwgJ3F1aWV0JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdxdWlldCc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ3EnOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdEbyBub3Qgb3V0cHV0IGFueSBtZXNzYWdlJyB9LCAndmVyYm9zZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndmVyYm9zZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ3Z8dnZ8dnZ2JzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnSW5jcmVhc2UgdGhlIHZlcmJvc2l0eSBvZiBtZXNzYWdlczogMSBmb3Igbm9ybWFsIG91dHB1dCwgMiBmb3IgbW9yZSB2ZXJib3NlIG91dHB1dCBhbmQgMyBmb3IgZGVidWcnIH0sICd2ZXJzaW9uJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd2ZXJzaW9uJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnVic7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0Rpc3BsYXkgdGhpcyBhcHBsaWNhdGlvbiB2ZXJzaW9uJyB9LCAnYW5zaScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnYW5zaSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE2OyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0ZvcmNlIChvciBkaXNhYmxlIC0tbm8tYW5zaSkgQU5TSSBvdXRwdXQnIH0sICduby1pbnRlcmFjdGlvbicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnbm8taW50ZXJhY3Rpb24nOyBwcml2YXRlICRzaG9ydGN1dCA9ICduJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRG8gbm90IGFzayBhbnkgaW50ZXJhY3RpdmUgcXVlc3Rpb24nIH0sICdjb25maWcnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2NvbmZpZyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ2MnOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0xvY2F0aW9uIG9mIGEgY3VzdG9tIGNvbmZpZ3VyYXRpb24gZmlsZScgfSwgJ2xvZycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnbG9nJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0xvZyBmaWxlIHRvIHdyaXRlIHRvJyB9LCAnZW52JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdlbnYnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdlJzsgcHJpdmF0ZSAkbW9kZSA9IDI7IHByaXZhdGUgJGRlZmF1bHQgPSAncHJvZCc7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1RoZSBFbnZpcm9ubWVudCBuYW1lLicgfSwgJ25vLWRlYnVnJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICduby1kZWJ1Zyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnU3dpdGNoIG9mZiBkZWJ1ZyBtb2RlLicgfV07IHByaXZhdGUgJG5lZ2F0aW9ucyA9IFsnbm8tYW5zaScgPT4gJ2Fuc2knXTsgcHJpdmF0ZSAkc2hvcnRjdXRzID0gWyd0JyA9PiAndGFyZ2V0JywgJ2YnID0+ICdmaWxlbmFtZScsICdkJyA9PiAnZGlyZWN0b3J5JywgJ2knID0+ICdpZ25vcmUnLCAnbScgPT4gJ21hcmtlcnMnLCAncycgPT4gJ3NldHRpbmcnLCAnaCcgPT4gJ2hlbHAnLCAncScgPT4gJ3F1aWV0JywgJ3YnID0+ICd2ZXJib3NlJywgJ3Z2JyA9PiAndmVyYm9zZScsICd2dnYnID0+ICd2ZXJib3NlJywgJ1YnID0+ICd2ZXJzaW9uJywgJ24nID0+ICduby1pbnRlcmFjdGlvbicsICdjJyA9PiAnY29uZmlnJywgJ2UnID0+ICdlbnYnXSB9OyBwcm90ZWN0ZWQgJHN0cmVhbSA9IE5VTEw7IHByb3RlY3RlZCAkb3B0aW9ucyA9IFtdOyBwcm90ZWN0ZWQgJGFyZ3VtZW50cyA9IFsnY29tbWFuZCcgPT4gJ3Byb2plY3Q6cnVuJ107IHByb3RlY3RlZCAkaW50ZXJhY3RpdmUgPSBUUlVFIH0sICRvdXRwdXQgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXE91dHB1dFxDb25zb2xlT3V0cHV0IHsgcHJpdmF0ZSAkc3RkZXJyID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcU3RyZWFtT3V0cHV0IHsgcHJpdmF0ZSAkc3RyZWFtID0gcmVzb3VyY2UoMTU5KSBvZiB0eXBlIChzdHJlYW0pOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcT3V0cHV0fXZlcmJvc2l0eSA9IDMyOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcT3V0cHV0fWZvcm1hdHRlciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlciB7IHByaXZhdGUgJGRlY29yYXRlZCA9IFRSVUU7IHByaXZhdGUgJHN0eWxlcyA9IFsnZXJyb3InID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlIHsgcHJpdmF0ZSAkY29sb3IgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbG9yIHsgLi4uIH07IHByaXZhdGUgJGZvcmVncm91bmQgPSAnd2hpdGUnOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJ3JlZCc7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IE5VTEwgfSwgJ2luZm8nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlIHsgcHJpdmF0ZSAkY29sb3IgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbG9yIHsgLi4uIH07IHByaXZhdGUgJGZvcmVncm91bmQgPSAnZ3JlZW4nOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJyc7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IE5VTEwgfSwgJ2NvbW1lbnQnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlIHsgcHJpdmF0ZSAkY29sb3IgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbG9yIHsgLi4uIH07IHByaXZhdGUgJGZvcmVncm91bmQgPSAneWVsbG93JzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl07IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH0sICdxdWVzdGlvbicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyBwcml2YXRlICRjb2xvciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29sb3IgeyAuLi4gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICdibGFjayc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnY3lhbic7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IE5VTEwgfV07IHByaXZhdGUgJHN0eWxlU3RhY2sgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZVN0YWNrIHsgcHJpdmF0ZSAkc3R5bGVzID0gW107IHByaXZhdGUgJGVtcHR5U3R5bGUgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IC4uLiB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJyc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnJzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRocmVmID0gTlVMTDsgcHJpdmF0ZSAkaGFuZGxlc0hyZWZHcmFjZWZ1bGx5ID0gVFJVRSB9IH0gfSB9OyBwcml2YXRlICRjb25zb2xlU2VjdGlvbk91dHB1dHMgPSBbXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XFN0cmVhbU91dHB1dH1zdHJlYW0gPSByZXNvdXJjZSgxNDQpIG9mIHR5cGUgKHN0cmVhbSk7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXE91dHB1dFxPdXRwdXR9dmVyYm9zaXR5ID0gMzI7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXE91dHB1dFxPdXRwdXR9Zm9ybWF0dGVyID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyIHsgcHJpdmF0ZSAkZGVjb3JhdGVkID0gVFJVRTsgcHJpdmF0ZSAkc3R5bGVzID0gWydlcnJvcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyBwcml2YXRlICRjb2xvciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29sb3IgeyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJzM3JzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICc0MSc7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXSB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJ3doaXRlJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICdyZWQnOyBwcml2YXRlICRvcHRpb25zID0gW107IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH0sICdpbmZvJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IHByaXZhdGUgJGZvcmVncm91bmQgPSAnMzInOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJyc7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXSB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJ2dyZWVuJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gW107IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH0sICdjb21tZW50JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IHByaXZhdGUgJGZvcmVncm91bmQgPSAnMzMnOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJyc7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXSB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJ3llbGxvdyc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnJzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFtdOyBwcml2YXRlICRocmVmID0gTlVMTDsgcHJpdmF0ZSAkaGFuZGxlc0hyZWZHcmFjZWZ1bGx5ID0gTlVMTCB9LCAncXVlc3Rpb24nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlIHsgcHJpdmF0ZSAkY29sb3IgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbG9yIHsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICczMCc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnNDYnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl0gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICdibGFjayc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnY3lhbic7IHByaXZhdGUgJG9wdGlvbnMgPSBbXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IE5VTEwgfV07IHByaXZhdGUgJHN0eWxlU3RhY2sgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZVN0YWNrIHsgcHJpdmF0ZSAkc3R5bGVzID0gW107IHByaXZhdGUgJGVtcHR5U3R5bGUgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IHByaXZhdGUgJGZvcmVncm91bmQgPSAnJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl0gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICcnOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJyc7IHByaXZhdGUgJG9wdGlvbnMgPSBbXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IFRSVUUgfSB9IH0gfSkgcGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3Ivc3ltZm9ueS9mcmFtZXdvcmstYnVuZGxlL0NvbnNvbGUvQXBwbGljYXRpb24ucGhwOjk2CiAgICAxLjYyMjAgICAxNzQxMzY2NCAgIDguIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29tbWFuZFxDb21tYW5kLT5ydW4oJGlucHV0ID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxBcmd2SW5wdXQgeyBwcml2YXRlICR0b2tlbnMgPSBbXTsgcHJpdmF0ZSAkcGFyc2VkID0gW107IHByb3RlY3RlZCAkZGVmaW5pdGlvbiA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXREZWZpbml0aW9uIHsgcHJpdmF0ZSAkYXJndW1lbnRzID0gWydjb21tYW5kJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0QXJndW1lbnQgeyBwcml2YXRlICRuYW1lID0gJ2NvbW1hbmQnOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1RoZSBjb21tYW5kIHRvIGV4ZWN1dGUnIH1dOyBwcml2YXRlICRyZXF1aXJlZENvdW50ID0gMTsgcHJpdmF0ZSAkbGFzdEFycmF5QXJndW1lbnQgPSBOVUxMOyBwcml2YXRlICRsYXN0T3B0aW9uYWxBcmd1bWVudCA9IE5VTEw7IHByaXZhdGUgJG9wdGlvbnMgPSBbJ3RhcmdldCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndGFyZ2V0JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAndCc7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnUGF0aCB3aGVyZSB0byBzdG9yZSB0aGUgZ2VuZXJhdGVkIG91dHB1dCcgfSwgJ2NhY2hlLWZvbGRlcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnY2FjaGUtZm9sZGVyJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1BhdGggd2hlcmUgdG8gc3RvcmUgdGhlIGNhY2hlIGZpbGVzJyB9LCAnZmlsZW5hbWUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2ZpbGVuYW1lJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnZic7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdGaWxlIHRvIHBhcnNlLCBnbG9iIHBhdHRlcm5zIGFyZSBzdXBwb3J0ZWQuIFByb3ZpZGUgbXVsdGlwbGUgb3B0aW9ucyBvZiB0aGlzIHR5cGUgdG8gYWRkXG4gICAgICAgICAgICAgICAgbXVsdGlwbGUgZmlsZXMuJyB9LCAnZGlyZWN0b3J5JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdkaXJlY3RvcnknOyBwcml2YXRlICRzaG9ydGN1dCA9ICdkJzsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ2RpcmVjdG9yeSB0byBwYXJzZSwgZ2xvYiBwYXR0ZXJucyBhcmUgc3VwcG9ydGVkLiBQcm92aWRlIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIHRvIGFkZFxuICAgICAgICAgICAgICAgIG11bHRpcGxlIGRpcmVjdG9yaWVzLicgfSwgJ2VuY29kaW5nJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdlbmNvZGluZyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdlbmNvZGluZyB0byBiZSB1c2VkIHRvIGludGVycHJldCBzb3VyY2UgZmlsZXMgd2l0aCcgfSwgJ2V4dGVuc2lvbnMnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2V4dGVuc2lvbnMnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdQcm92aWRlIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIHRvIGFkZCBtdWx0aXBsZSBleHRlbnNpb25zLiBkZWZhdWx0IGlzIHBocCcgfSwgJ2lnbm9yZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaWdub3JlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnaSc7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdGaWxlKHMpIGFuZCBkaXJlY3RvcmllcyAocmVsYXRpdmUgdG8gdGhlIHNvdXJjZS1jb2RlIGRpcmVjdG9yeSkgdGhhdCB3aWxsIGJlIGlnbm9yZWQuIEdsb2IgcGF0dGVybnMgYXJlIHN1cHBvcnRlZC4gQWRkIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIG9mIGFkZCBtb3JlIGlnbm9yZSBwYXR0ZXJucycgfSwgJ2lnbm9yZS10YWdzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdpZ25vcmUtdGFncyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1RhZyB0aGF0IHdpbGwgYmUgaWdub3JlZCwgZGVmYXVsdHMgdG8gbm9uZS4gcGFja2FnZSwgc3VicGFja2FnZSBhbmQgaWdub3JlIG1heSBub3QgYmUgaWdub3JlZC4gQWRkIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIHRvIGlnbm9yZSBtdWx0aXBsZSB0YWdzLicgfSwgJ2hpZGRlbicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaGlkZGVuJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdVc2UgdGhpcyBvcHRpb24gdG8gdGVsbCBwaHBEb2N1bWVudG9yIHRvIHBhcnNlIGZpbGVzIGFuZCBkaXJlY3RvcmllcyB0aGF0IGJlZ2luIHdpdGggYSBwZXJpb2QgKC4pLCBieSBkZWZhdWx0IHRoZXNlIGFyZSBpZ25vcmVkJyB9LCAnaWdub3JlLXN5bWxpbmtzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdpZ25vcmUtc3ltbGlua3MnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0lnbm9yZSBzeW1saW5rcyB0byBvdGhlciBmaWxlcyBvciBkaXJlY3RvcmllcywgZGVmYXVsdCBpcyBvbicgfSwgJ21hcmtlcnMnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ21hcmtlcnMnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdtJzsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0NvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1hcmtlcnMvdGFncyB0byBmaWx0ZXInIH0sICd0aXRsZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndGl0bGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnU2V0cyB0aGUgdGl0bGUgZm9yIHRoaXMgcHJvamVjdDsgZGVmYXVsdCBpcyB0aGUgcGhwRG9jdW1lbnRvciBsb2dvJyB9LCAnZm9yY2UnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2ZvcmNlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdGb3JjZXMgYSBmdWxsIGJ1aWxkIG9mIHRoZSBkb2N1bWVudGF0aW9uLCBkb2VzIG5vdCBpbmNyZW1lbnQgZXhpc3RpbmcgZG9jdW1lbnRhdGlvbicgfSwgJ3ZhbGlkYXRlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd2YWxpZGF0ZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnVmFsaWRhdGVzIGV2ZXJ5IHByb2Nlc3NlZCBmaWxlIHVzaW5nIFBIUCBMaW50LCBjb3N0cyBhIGxvdCBvZiBwZXJmb3JtYW5jZScgfSwgJ3Zpc2liaWxpdHknID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3Zpc2liaWxpdHknOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdTcGVjaWZpZXMgdGhlIHBhcnNlIHZpc2liaWxpdHkgdGhhdCBzaG91bGQgYmUgZGlzcGxheWVkIGluIHRoZSBkb2N1bWVudGF0aW9uLiBBZGQgbXVsdGlwbGUgb3B0aW9ucyBvZlxuICAgICAgICAgICAgICAgIHRoaXMgdHlwZSB0byBzcGVjaWZ5IG11bHRpcGxlIGxldmVscy4oInB1YmxpYyxwcm90ZWN0ZWQiKScgfSwgJ2RlZmF1bHRwYWNrYWdlbmFtZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZGVmYXVsdHBhY2thZ2VuYW1lJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ05hbWUgdG8gdXNlIGZvciB0aGUgZGVmYXVsdCBwYWNrYWdlLicgfSwgJ3NvdXJjZWNvZGUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3NvdXJjZWNvZGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1doZXRoZXIgdG8gaW5jbHVkZSBzeW50YXggaGlnaGxpZ2h0ZWQgc291cmNlIGNvZGUnIH0sICd0ZW1wbGF0ZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndGVtcGxhdGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdOYW1lIG9mIHRoZSB0ZW1wbGF0ZSB0byB1c2UgKG9wdGlvbmFsKScgfSwgJ2V4YW1wbGVzLWRpcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZXhhbXBsZXMtZGlyJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0RpcmVjdG9yeSB0byBzZWFjaGVyIGZvciBleGFtcGxlIGZpbGVzIHJlZmVyZW5jZWQgYnkgQGV4YW1wbGUgdGFncycgfSwgJ3NldHRpbmcnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3NldHRpbmcnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdzJzsgcHJpdmF0ZSAkbW9kZSA9IDEyOyBwcml2YXRlICRkZWZhdWx0ID0gW107IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1Byb3ZpZGUgY3VzdG9tIHNldHRpbmcocykgYXMgImtleT12YWx1ZSIsIHJ1biBhZ2FpbiB3aXRoIDxpbmZvPi0tbGlzdC1zZXR0aW5nczwvaW5mbz4gZm9yIGEgbGlzdCcgfSwgJ2xpc3Qtc2V0dGluZ3MnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2xpc3Qtc2V0dGluZ3MnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1JldHVybnMgYSBsaXN0IG9mIGF2YWlsYWJsZSBzZXR0aW5ncycgfSwgJ3BhcnNlcHJpdmF0ZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAncGFyc2Vwcml2YXRlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdXaGV0aGVyIHRvIHBhcnNlIERvY0Jsb2NrcyBtYXJrZWQgd2l0aCBAaW50ZXJuYWwgdGFnJyB9LCAnaGVscCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaGVscCc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ2gnOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdEaXNwbGF5IGhlbHAgZm9yIHRoZSBnaXZlbiBjb21tYW5kLiBXaGVuIG5vIGNvbW1hbmQgaXMgZ2l2ZW4gZGlzcGxheSBoZWxwIGZvciB0aGUgPGluZm8+bGlzdDwvaW5mbz4gY29tbWFuZCcgfSwgJ3F1aWV0JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdxdWlldCc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ3EnOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdEbyBub3Qgb3V0cHV0IGFueSBtZXNzYWdlJyB9LCAndmVyYm9zZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndmVyYm9zZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ3Z8dnZ8dnZ2JzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnSW5jcmVhc2UgdGhlIHZlcmJvc2l0eSBvZiBtZXNzYWdlczogMSBmb3Igbm9ybWFsIG91dHB1dCwgMiBmb3IgbW9yZSB2ZXJib3NlIG91dHB1dCBhbmQgMyBmb3IgZGVidWcnIH0sICd2ZXJzaW9uJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd2ZXJzaW9uJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnVic7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0Rpc3BsYXkgdGhpcyBhcHBsaWNhdGlvbiB2ZXJzaW9uJyB9LCAnYW5zaScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnYW5zaSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE2OyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0ZvcmNlIChvciBkaXNhYmxlIC0tbm8tYW5zaSkgQU5TSSBvdXRwdXQnIH0sICduby1pbnRlcmFjdGlvbicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnbm8taW50ZXJhY3Rpb24nOyBwcml2YXRlICRzaG9ydGN1dCA9ICduJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRG8gbm90IGFzayBhbnkgaW50ZXJhY3RpdmUgcXVlc3Rpb24nIH0sICdjb25maWcnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2NvbmZpZyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ2MnOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0xvY2F0aW9uIG9mIGEgY3VzdG9tIGNvbmZpZ3VyYXRpb24gZmlsZScgfSwgJ2xvZycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnbG9nJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0xvZyBmaWxlIHRvIHdyaXRlIHRvJyB9LCAnZW52JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdlbnYnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdlJzsgcHJpdmF0ZSAkbW9kZSA9IDI7IHByaXZhdGUgJGRlZmF1bHQgPSAncHJvZCc7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1RoZSBFbnZpcm9ubWVudCBuYW1lLicgfSwgJ25vLWRlYnVnJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICduby1kZWJ1Zyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnU3dpdGNoIG9mZiBkZWJ1ZyBtb2RlLicgfV07IHByaXZhdGUgJG5lZ2F0aW9ucyA9IFsnbm8tYW5zaScgPT4gJ2Fuc2knXTsgcHJpdmF0ZSAkc2hvcnRjdXRzID0gWyd0JyA9PiAndGFyZ2V0JywgJ2YnID0+ICdmaWxlbmFtZScsICdkJyA9PiAnZGlyZWN0b3J5JywgJ2knID0+ICdpZ25vcmUnLCAnbScgPT4gJ21hcmtlcnMnLCAncycgPT4gJ3NldHRpbmcnLCAnaCcgPT4gJ2hlbHAnLCAncScgPT4gJ3F1aWV0JywgJ3YnID0+ICd2ZXJib3NlJywgJ3Z2JyA9PiAndmVyYm9zZScsICd2dnYnID0+ICd2ZXJib3NlJywgJ1YnID0+ICd2ZXJzaW9uJywgJ24nID0+ICduby1pbnRlcmFjdGlvbicsICdjJyA9PiAnY29uZmlnJywgJ2UnID0+ICdlbnYnXSB9OyBwcm90ZWN0ZWQgJHN0cmVhbSA9IE5VTEw7IHByb3RlY3RlZCAkb3B0aW9ucyA9IFtdOyBwcm90ZWN0ZWQgJGFyZ3VtZW50cyA9IFsnY29tbWFuZCcgPT4gJ3Byb2plY3Q6cnVuJ107IHByb3RlY3RlZCAkaW50ZXJhY3RpdmUgPSBUUlVFIH0sICRvdXRwdXQgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXE91dHB1dFxDb25zb2xlT3V0cHV0IHsgcHJpdmF0ZSAkc3RkZXJyID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcU3RyZWFtT3V0cHV0IHsgcHJpdmF0ZSAkc3RyZWFtID0gcmVzb3VyY2UoMTU5KSBvZiB0eXBlIChzdHJlYW0pOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcT3V0cHV0fXZlcmJvc2l0eSA9IDMyOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcT3V0cHV0fWZvcm1hdHRlciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlciB7IHByaXZhdGUgJGRlY29yYXRlZCA9IFRSVUU7IHByaXZhdGUgJHN0eWxlcyA9IFsnZXJyb3InID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlIHsgcHJpdmF0ZSAkY29sb3IgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbG9yIHsgLi4uIH07IHByaXZhdGUgJGZvcmVncm91bmQgPSAnd2hpdGUnOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJ3JlZCc7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IE5VTEwgfSwgJ2luZm8nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlIHsgcHJpdmF0ZSAkY29sb3IgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbG9yIHsgLi4uIH07IHByaXZhdGUgJGZvcmVncm91bmQgPSAnZ3JlZW4nOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJyc7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IE5VTEwgfSwgJ2NvbW1lbnQnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlIHsgcHJpdmF0ZSAkY29sb3IgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbG9yIHsgLi4uIH07IHByaXZhdGUgJGZvcmVncm91bmQgPSAneWVsbG93JzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl07IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH0sICdxdWVzdGlvbicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyBwcml2YXRlICRjb2xvciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29sb3IgeyAuLi4gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICdibGFjayc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnY3lhbic7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IE5VTEwgfV07IHByaXZhdGUgJHN0eWxlU3RhY2sgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZVN0YWNrIHsgcHJpdmF0ZSAkc3R5bGVzID0gW107IHByaXZhdGUgJGVtcHR5U3R5bGUgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IC4uLiB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJyc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnJzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRocmVmID0gTlVMTDsgcHJpdmF0ZSAkaGFuZGxlc0hyZWZHcmFjZWZ1bGx5ID0gVFJVRSB9IH0gfSB9OyBwcml2YXRlICRjb25zb2xlU2VjdGlvbk91dHB1dHMgPSBbXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XFN0cmVhbU91dHB1dH1zdHJlYW0gPSByZXNvdXJjZSgxNDQpIG9mIHR5cGUgKHN0cmVhbSk7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXE91dHB1dFxPdXRwdXR9dmVyYm9zaXR5ID0gMzI7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXE91dHB1dFxPdXRwdXR9Zm9ybWF0dGVyID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyIHsgcHJpdmF0ZSAkZGVjb3JhdGVkID0gVFJVRTsgcHJpdmF0ZSAkc3R5bGVzID0gWydlcnJvcicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyBwcml2YXRlICRjb2xvciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29sb3IgeyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJzM3JzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICc0MSc7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXSB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJ3doaXRlJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICdyZWQnOyBwcml2YXRlICRvcHRpb25zID0gW107IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH0sICdpbmZvJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IHByaXZhdGUgJGZvcmVncm91bmQgPSAnMzInOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJyc7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXSB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJ2dyZWVuJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gW107IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH0sICdjb21tZW50JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IHByaXZhdGUgJGZvcmVncm91bmQgPSAnMzMnOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJyc7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXSB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJ3llbGxvdyc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnJzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFtdOyBwcml2YXRlICRocmVmID0gTlVMTDsgcHJpdmF0ZSAkaGFuZGxlc0hyZWZHcmFjZWZ1bGx5ID0gTlVMTCB9LCAncXVlc3Rpb24nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlIHsgcHJpdmF0ZSAkY29sb3IgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbG9yIHsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICczMCc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnNDYnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl0gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICdibGFjayc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnY3lhbic7IHByaXZhdGUgJG9wdGlvbnMgPSBbXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IE5VTEwgfV07IHByaXZhdGUgJHN0eWxlU3RhY2sgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZVN0YWNrIHsgcHJpdmF0ZSAkc3R5bGVzID0gW107IHByaXZhdGUgJGVtcHR5U3R5bGUgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IHByaXZhdGUgJGZvcmVncm91bmQgPSAnJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl0gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICcnOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJyc7IHByaXZhdGUgJG9wdGlvbnMgPSBbXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IFRSVUUgfSB9IH0gfSkgcGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3Ivc3ltZm9ueS9jb25zb2xlL0FwcGxpY2F0aW9uLnBocDo5OTYKICAgIDEuNjI4MCAgIDE3NDE0MDQwICAgOS4gcGhwRG9jdW1lbnRvclxDb25zb2xlXENvbW1hbmRcUHJvamVjdFxSdW5Db21tYW5kLT5leGVjdXRlKCRpbnB1dCA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcQXJndklucHV0IHsgcHJpdmF0ZSAkdG9rZW5zID0gW107IHByaXZhdGUgJHBhcnNlZCA9IFtdOyBwcm90ZWN0ZWQgJGRlZmluaXRpb24gPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0RGVmaW5pdGlvbiB7IHByaXZhdGUgJGFyZ3VtZW50cyA9IFsnY29tbWFuZCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dEFyZ3VtZW50IHsgcHJpdmF0ZSAkbmFtZSA9ICdjb21tYW5kJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdUaGUgY29tbWFuZCB0byBleGVjdXRlJyB9XTsgcHJpdmF0ZSAkcmVxdWlyZWRDb3VudCA9IDE7IHByaXZhdGUgJGxhc3RBcnJheUFyZ3VtZW50ID0gTlVMTDsgcHJpdmF0ZSAkbGFzdE9wdGlvbmFsQXJndW1lbnQgPSBOVUxMOyBwcml2YXRlICRvcHRpb25zID0gWyd0YXJnZXQnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3RhcmdldCc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ3QnOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1BhdGggd2hlcmUgdG8gc3RvcmUgdGhlIGdlbmVyYXRlZCBvdXRwdXQnIH0sICdjYWNoZS1mb2xkZXInID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2NhY2hlLWZvbGRlcic7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdQYXRoIHdoZXJlIHRvIHN0b3JlIHRoZSBjYWNoZSBmaWxlcycgfSwgJ2ZpbGVuYW1lJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdmaWxlbmFtZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ2YnOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRmlsZSB0byBwYXJzZSwgZ2xvYiBwYXR0ZXJucyBhcmUgc3VwcG9ydGVkLiBQcm92aWRlIG11bHRpcGxlIG9wdGlvbnMgb2YgdGhpcyB0eXBlIHRvIGFkZFxuICAgICAgICAgICAgICAgIG11bHRpcGxlIGZpbGVzLicgfSwgJ2RpcmVjdG9yeScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZGlyZWN0b3J5JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnZCc7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdkaXJlY3RvcnkgdG8gcGFyc2UsIGdsb2IgcGF0dGVybnMgYXJlIHN1cHBvcnRlZC4gUHJvdmlkZSBtdWx0aXBsZSBvcHRpb25zIG9mIHRoaXMgdHlwZSB0byBhZGRcbiAgICAgICAgICAgICAgICBtdWx0aXBsZSBkaXJlY3Rvcmllcy4nIH0sICdlbmNvZGluZycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZW5jb2RpbmcnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSA0OyBwcml2YXRlICRkZWZhdWx0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnZW5jb2RpbmcgdG8gYmUgdXNlZCB0byBpbnRlcnByZXQgc291cmNlIGZpbGVzIHdpdGgnIH0sICdleHRlbnNpb25zJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdleHRlbnNpb25zJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnUHJvdmlkZSBtdWx0aXBsZSBvcHRpb25zIG9mIHRoaXMgdHlwZSB0byBhZGQgbXVsdGlwbGUgZXh0ZW5zaW9ucy4gZGVmYXVsdCBpcyBwaHAnIH0sICdpZ25vcmUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2lnbm9yZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ2knOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRmlsZShzKSBhbmQgZGlyZWN0b3JpZXMgKHJlbGF0aXZlIHRvIHRoZSBzb3VyY2UtY29kZSBkaXJlY3RvcnkpIHRoYXQgd2lsbCBiZSBpZ25vcmVkLiBHbG9iIHBhdHRlcm5zIGFyZSBzdXBwb3J0ZWQuIEFkZCBtdWx0aXBsZSBvcHRpb25zIG9mIHRoaXMgdHlwZSBvZiBhZGQgbW9yZSBpZ25vcmUgcGF0dGVybnMnIH0sICdpZ25vcmUtdGFncycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaWdub3JlLXRhZ3MnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdUYWcgdGhhdCB3aWxsIGJlIGlnbm9yZWQsIGRlZmF1bHRzIHRvIG5vbmUuIHBhY2thZ2UsIHN1YnBhY2thZ2UgYW5kIGlnbm9yZSBtYXkgbm90IGJlIGlnbm9yZWQuIEFkZCBtdWx0aXBsZSBvcHRpb25zIG9mIHRoaXMgdHlwZSB0byBpZ25vcmUgbXVsdGlwbGUgdGFncy4nIH0sICdoaWRkZW4nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2hpZGRlbic7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnVXNlIHRoaXMgb3B0aW9uIHRvIHRlbGwgcGhwRG9jdW1lbnRvciB0byBwYXJzZSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgdGhhdCBiZWdpbiB3aXRoIGEgcGVyaW9kICguKSwgYnkgZGVmYXVsdCB0aGVzZSBhcmUgaWdub3JlZCcgfSwgJ2lnbm9yZS1zeW1saW5rcycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnaWdub3JlLXN5bWxpbmtzJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdJZ25vcmUgc3ltbGlua3MgdG8gb3RoZXIgZmlsZXMgb3IgZGlyZWN0b3JpZXMsIGRlZmF1bHQgaXMgb24nIH0sICdtYXJrZXJzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdtYXJrZXJzJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnbSc7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdDb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtYXJrZXJzL3RhZ3MgdG8gZmlsdGVyJyB9LCAndGl0bGUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3RpdGxlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gNDsgcHJpdmF0ZSAkZGVmYXVsdCA9IE5VTEw7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1NldHMgdGhlIHRpdGxlIGZvciB0aGlzIHByb2plY3Q7IGRlZmF1bHQgaXMgdGhlIHBocERvY3VtZW50b3IgbG9nbycgfSwgJ2ZvcmNlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdmb3JjZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRm9yY2VzIGEgZnVsbCBidWlsZCBvZiB0aGUgZG9jdW1lbnRhdGlvbiwgZG9lcyBub3QgaW5jcmVtZW50IGV4aXN0aW5nIGRvY3VtZW50YXRpb24nIH0sICd2YWxpZGF0ZScgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndmFsaWRhdGUnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1ZhbGlkYXRlcyBldmVyeSBwcm9jZXNzZWQgZmlsZSB1c2luZyBQSFAgTGludCwgY29zdHMgYSBsb3Qgb2YgcGVyZm9ybWFuY2UnIH0sICd2aXNpYmlsaXR5JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICd2aXNpYmlsaXR5JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnU3BlY2lmaWVzIHRoZSBwYXJzZSB2aXNpYmlsaXR5IHRoYXQgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiB0aGUgZG9jdW1lbnRhdGlvbi4gQWRkIG11bHRpcGxlIG9wdGlvbnMgb2ZcbiAgICAgICAgICAgICAgICB0aGlzIHR5cGUgdG8gc3BlY2lmeSBtdWx0aXBsZSBsZXZlbHMuKCJwdWJsaWMscHJvdGVjdGVkIiknIH0sICdkZWZhdWx0cGFja2FnZW5hbWUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2RlZmF1bHRwYWNrYWdlbmFtZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdOYW1lIHRvIHVzZSBmb3IgdGhlIGRlZmF1bHQgcGFja2FnZS4nIH0sICdzb3VyY2Vjb2RlJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdzb3VyY2Vjb2RlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdXaGV0aGVyIHRvIGluY2x1ZGUgc3ludGF4IGhpZ2hsaWdodGVkIHNvdXJjZSBjb2RlJyB9LCAndGVtcGxhdGUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3RlbXBsYXRlJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTI7IHByaXZhdGUgJGRlZmF1bHQgPSBbXTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnTmFtZSBvZiB0aGUgdGVtcGxhdGUgdG8gdXNlIChvcHRpb25hbCknIH0sICdleGFtcGxlcy1kaXInID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2V4YW1wbGVzLWRpcic7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdEaXJlY3RvcnkgdG8gc2VhY2hlciBmb3IgZXhhbXBsZSBmaWxlcyByZWZlcmVuY2VkIGJ5IEBleGFtcGxlIHRhZ3MnIH0sICdzZXR0aW5nJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdzZXR0aW5nJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAncyc7IHByaXZhdGUgJG1vZGUgPSAxMjsgcHJpdmF0ZSAkZGVmYXVsdCA9IFtdOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdQcm92aWRlIGN1c3RvbSBzZXR0aW5nKHMpIGFzICJrZXk9dmFsdWUiLCBydW4gYWdhaW4gd2l0aCA8aW5mbz4tLWxpc3Qtc2V0dGluZ3M8L2luZm8+IGZvciBhIGxpc3QnIH0sICdsaXN0LXNldHRpbmdzJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdsaXN0LXNldHRpbmdzJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSBOVUxMOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdSZXR1cm5zIGEgbGlzdCBvZiBhdmFpbGFibGUgc2V0dGluZ3MnIH0sICdwYXJzZXByaXZhdGUnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3BhcnNlcHJpdmF0ZSc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnV2hldGhlciB0byBwYXJzZSBEb2NCbG9ja3MgbWFya2VkIHdpdGggQGludGVybmFsIHRhZycgfSwgJ2hlbHAnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2hlbHAnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdoJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRGlzcGxheSBoZWxwIGZvciB0aGUgZ2l2ZW4gY29tbWFuZC4gV2hlbiBubyBjb21tYW5kIGlzIGdpdmVuIGRpc3BsYXkgaGVscCBmb3IgdGhlIDxpbmZvPmxpc3Q8L2luZm8+IGNvbW1hbmQnIH0sICdxdWlldCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAncXVpZXQnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdxJzsgcHJpdmF0ZSAkbW9kZSA9IDE7IHByaXZhdGUgJGRlZmF1bHQgPSBGQUxTRTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSAnRG8gbm90IG91dHB1dCBhbnkgbWVzc2FnZScgfSwgJ3ZlcmJvc2UnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ3ZlcmJvc2UnOyBwcml2YXRlICRzaG9ydGN1dCA9ICd2fHZ2fHZ2dic7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0luY3JlYXNlIHRoZSB2ZXJib3NpdHkgb2YgbWVzc2FnZXM6IDEgZm9yIG5vcm1hbCBvdXRwdXQsIDIgZm9yIG1vcmUgdmVyYm9zZSBvdXRwdXQgYW5kIDMgZm9yIGRlYnVnJyB9LCAndmVyc2lvbicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAndmVyc2lvbic7IHByaXZhdGUgJHNob3J0Y3V0ID0gJ1YnOyBwcml2YXRlICRtb2RlID0gMTsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdEaXNwbGF5IHRoaXMgYXBwbGljYXRpb24gdmVyc2lvbicgfSwgJ2Fuc2knID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2Fuc2knOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxNjsgcHJpdmF0ZSAkZGVmYXVsdCA9IEZBTFNFOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdGb3JjZSAob3IgZGlzYWJsZSAtLW5vLWFuc2kpIEFOU0kgb3V0cHV0JyB9LCAnbm8taW50ZXJhY3Rpb24nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ25vLWludGVyYWN0aW9uJzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnbic7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ0RvIG5vdCBhc2sgYW55IGludGVyYWN0aXZlIHF1ZXN0aW9uJyB9LCAnY29uZmlnJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXElucHV0XElucHV0T3B0aW9uIHsgcHJpdmF0ZSAkbmFtZSA9ICdjb25maWcnOyBwcml2YXRlICRzaG9ydGN1dCA9ICdjJzsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdMb2NhdGlvbiBvZiBhIGN1c3RvbSBjb25maWd1cmF0aW9uIGZpbGUnIH0sICdsb2cnID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcSW5wdXRcSW5wdXRPcHRpb24geyBwcml2YXRlICRuYW1lID0gJ2xvZyc7IHByaXZhdGUgJHNob3J0Y3V0ID0gTlVMTDsgcHJpdmF0ZSAkbW9kZSA9IDQ7IHByaXZhdGUgJGRlZmF1bHQgPSBOVUxMOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdMb2cgZmlsZSB0byB3cml0ZSB0bycgfSwgJ2VudicgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnZW52JzsgcHJpdmF0ZSAkc2hvcnRjdXQgPSAnZSc7IHByaXZhdGUgJG1vZGUgPSAyOyBwcml2YXRlICRkZWZhdWx0ID0gJ3Byb2QnOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9ICdUaGUgRW52aXJvbm1lbnQgbmFtZS4nIH0sICduby1kZWJ1ZycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxJbnB1dFxJbnB1dE9wdGlvbiB7IHByaXZhdGUgJG5hbWUgPSAnbm8tZGVidWcnOyBwcml2YXRlICRzaG9ydGN1dCA9IE5VTEw7IHByaXZhdGUgJG1vZGUgPSAxOyBwcml2YXRlICRkZWZhdWx0ID0gRkFMU0U7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gJ1N3aXRjaCBvZmYgZGVidWcgbW9kZS4nIH1dOyBwcml2YXRlICRuZWdhdGlvbnMgPSBbJ25vLWFuc2knID0+ICdhbnNpJ107IHByaXZhdGUgJHNob3J0Y3V0cyA9IFsndCcgPT4gJ3RhcmdldCcsICdmJyA9PiAnZmlsZW5hbWUnLCAnZCcgPT4gJ2RpcmVjdG9yeScsICdpJyA9PiAnaWdub3JlJywgJ20nID0+ICdtYXJrZXJzJywgJ3MnID0+ICdzZXR0aW5nJywgJ2gnID0+ICdoZWxwJywgJ3EnID0+ICdxdWlldCcsICd2JyA9PiAndmVyYm9zZScsICd2dicgPT4gJ3ZlcmJvc2UnLCAndnZ2JyA9PiAndmVyYm9zZScsICdWJyA9PiAndmVyc2lvbicsICduJyA9PiAnbm8taW50ZXJhY3Rpb24nLCAnYycgPT4gJ2NvbmZpZycsICdlJyA9PiAnZW52J10gfTsgcHJvdGVjdGVkICRzdHJlYW0gPSBOVUxMOyBwcm90ZWN0ZWQgJG9wdGlvbnMgPSBbXTsgcHJvdGVjdGVkICRhcmd1bWVudHMgPSBbJ2NvbW1hbmQnID0+ICdwcm9qZWN0OnJ1biddOyBwcm90ZWN0ZWQgJGludGVyYWN0aXZlID0gVFJVRSB9LCAkb3V0cHV0ID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcQ29uc29sZU91dHB1dCB7IHByaXZhdGUgJHN0ZGVyciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XFN0cmVhbU91dHB1dCB7IHByaXZhdGUgJHN0cmVhbSA9IHJlc291cmNlKDE1OSkgb2YgdHlwZSAoc3RyZWFtKTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XE91dHB1dH12ZXJib3NpdHkgPSAzMjsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XE91dHB1dH1mb3JtYXR0ZXIgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXIgeyBwcml2YXRlICRkZWNvcmF0ZWQgPSBUUlVFOyBwcml2YXRlICRzdHlsZXMgPSBbJ2Vycm9yJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IC4uLiB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJ3doaXRlJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICdyZWQnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl07IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH0sICdpbmZvJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IC4uLiB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJ2dyZWVuJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl07IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH0sICdjb21tZW50JyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IC4uLiB9OyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJ3llbGxvdyc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnJzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRocmVmID0gTlVMTDsgcHJpdmF0ZSAkaGFuZGxlc0hyZWZHcmFjZWZ1bGx5ID0gTlVMTCB9LCAncXVlc3Rpb24nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlIHsgcHJpdmF0ZSAkY29sb3IgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbG9yIHsgLi4uIH07IHByaXZhdGUgJGZvcmVncm91bmQgPSAnYmxhY2snOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJ2N5YW4nOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl07IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH1dOyBwcml2YXRlICRzdHlsZVN0YWNrID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGVTdGFjayB7IHByaXZhdGUgJHN0eWxlcyA9IFtdOyBwcml2YXRlICRlbXB0eVN0eWxlID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyBwcml2YXRlICRjb2xvciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29sb3IgeyAuLi4gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICcnOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJyc7IHByaXZhdGUgJG9wdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IFRSVUUgfSB9IH0gfTsgcHJpdmF0ZSAkY29uc29sZVNlY3Rpb25PdXRwdXRzID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXE91dHB1dFxTdHJlYW1PdXRwdXR9c3RyZWFtID0gcmVzb3VyY2UoMTQ0KSBvZiB0eXBlIChzdHJlYW0pOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcT3V0cHV0fXZlcmJvc2l0eSA9IDMyOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcT3V0cHV0fWZvcm1hdHRlciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlciB7IHByaXZhdGUgJGRlY29yYXRlZCA9IFRSVUU7IHByaXZhdGUgJHN0eWxlcyA9IFsnZXJyb3InID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlclN0eWxlIHsgcHJpdmF0ZSAkY29sb3IgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXENvbG9yIHsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICczNyc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnNDEnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl0gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICd3aGl0ZSc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAncmVkJzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFtdOyBwcml2YXRlICRocmVmID0gTlVMTDsgcHJpdmF0ZSAkaGFuZGxlc0hyZWZHcmFjZWZ1bGx5ID0gTlVMTCB9LCAnaW5mbycgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyBwcml2YXRlICRjb2xvciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29sb3IgeyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJzMyJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl0gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICdncmVlbic7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnJzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFtdOyBwcml2YXRlICRocmVmID0gTlVMTDsgcHJpdmF0ZSAkaGFuZGxlc0hyZWZHcmFjZWZ1bGx5ID0gTlVMTCB9LCAnY29tbWVudCcgPT4gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyBwcml2YXRlICRjb2xvciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29sb3IgeyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJzMzJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gWy4uLl0gfTsgcHJpdmF0ZSAkZm9yZWdyb3VuZCA9ICd5ZWxsb3cnOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJyc7IHByaXZhdGUgJG9wdGlvbnMgPSBbXTsgcHJpdmF0ZSAkaHJlZiA9IE5VTEw7IHByaXZhdGUgJGhhbmRsZXNIcmVmR3JhY2VmdWxseSA9IE5VTEwgfSwgJ3F1ZXN0aW9uJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXJTdHlsZSB7IHByaXZhdGUgJGNvbG9yID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxDb2xvciB7IHByaXZhdGUgJGZvcmVncm91bmQgPSAnMzAnOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJzQ2JzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFsuLi5dIH07IHByaXZhdGUgJGZvcmVncm91bmQgPSAnYmxhY2snOyBwcml2YXRlICRiYWNrZ3JvdW5kID0gJ2N5YW4nOyBwcml2YXRlICRvcHRpb25zID0gW107IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBOVUxMIH1dOyBwcml2YXRlICRzdHlsZVN0YWNrID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGVTdGFjayB7IHByaXZhdGUgJHN0eWxlcyA9IFtdOyBwcml2YXRlICRlbXB0eVN0eWxlID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyU3R5bGUgeyBwcml2YXRlICRjb2xvciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcQ29sb3IgeyBwcml2YXRlICRmb3JlZ3JvdW5kID0gJyc7IHByaXZhdGUgJGJhY2tncm91bmQgPSAnJzsgcHJpdmF0ZSAkb3B0aW9ucyA9IFsuLi5dIH07IHByaXZhdGUgJGZvcmVncm91bmQgPSAnJzsgcHJpdmF0ZSAkYmFja2dyb3VuZCA9ICcnOyBwcml2YXRlICRvcHRpb25zID0gW107IHByaXZhdGUgJGhyZWYgPSBOVUxMOyBwcml2YXRlICRoYW5kbGVzSHJlZkdyYWNlZnVsbHkgPSBUUlVFIH0gfSB9IH0pIHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3N5bWZvbnkvY29uc29sZS9Db21tYW5kL0NvbW1hbmQucGhwOjI5OQogICAgMS42MzYzICAgMTc1MDY0MDAgIDEwLiBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUtPl9faW52b2tlKCRwYXlsb2FkID0gWyd0YXJnZXQnID0+IE5VTEwsICdjYWNoZS1mb2xkZXInID0+IE5VTEwsICdmaWxlbmFtZScgPT4gW10sICdkaXJlY3RvcnknID0+IFtdLCAnZW5jb2RpbmcnID0+IE5VTEwsICdleHRlbnNpb25zJyA9PiBbXSwgJ2lnbm9yZScgPT4gW10sICdpZ25vcmUtdGFncycgPT4gW10sICdoaWRkZW4nID0+IEZBTFNFLCAnaWdub3JlLXN5bWxpbmtzJyA9PiBGQUxTRSwgJ21hcmtlcnMnID0+IFtdLCAndGl0bGUnID0+IE5VTEwsICdmb3JjZScgPT4gRkFMU0UsICd2YWxpZGF0ZScgPT4gRkFMU0UsICd2aXNpYmlsaXR5JyA9PiBbXSwgJ2RlZmF1bHRwYWNrYWdlbmFtZScgPT4gTlVMTCwgJ3NvdXJjZWNvZGUnID0+IEZBTFNFLCAndGVtcGxhdGUnID0+IFtdLCAnZXhhbXBsZXMtZGlyJyA9PiBOVUxMLCAnc2V0dGluZycgPT4gW10sICdsaXN0LXNldHRpbmdzJyA9PiBGQUxTRSwgJ3BhcnNlcHJpdmF0ZScgPT4gRkFMU0UsICdoZWxwJyA9PiBGQUxTRSwgJ3F1aWV0JyA9PiBGQUxTRSwgJ3ZlcmJvc2UnID0+IEZBTFNFLCAndmVyc2lvbicgPT4gRkFMU0UsICdhbnNpJyA9PiBGQUxTRSwgJ25vLWludGVyYWN0aW9uJyA9PiBGQUxTRSwgJ2NvbmZpZycgPT4gTlVMTCwgJ2xvZycgPT4gTlVMTCwgJ2VudicgPT4gJ3Byb2QnLCAnbm8tZGVidWcnID0+IEZBTFNFXSkgcGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci9zcmMvcGhwRG9jdW1lbnRvci9Db25zb2xlL0NvbW1hbmQvUHJvamVjdC9SdW5Db21tYW5kLnBocDoyOTAKICAgIDEuNjM2MyAgIDE3NTA2NDAwICAxMS4gTGVhZ3VlXFBpcGVsaW5lXFBpcGVsaW5lLT5wcm9jZXNzKCRwYXlsb2FkID0gWyd0YXJnZXQnID0+IE5VTEwsICdjYWNoZS1mb2xkZXInID0+IE5VTEwsICdmaWxlbmFtZScgPT4gW10sICdkaXJlY3RvcnknID0+IFtdLCAnZW5jb2RpbmcnID0+IE5VTEwsICdleHRlbnNpb25zJyA9PiBbXSwgJ2lnbm9yZScgPT4gW10sICdpZ25vcmUtdGFncycgPT4gW10sICdoaWRkZW4nID0+IEZBTFNFLCAnaWdub3JlLXN5bWxpbmtzJyA9PiBGQUxTRSwgJ21hcmtlcnMnID0+IFtdLCAndGl0bGUnID0+IE5VTEwsICdmb3JjZScgPT4gRkFMU0UsICd2YWxpZGF0ZScgPT4gRkFMU0UsICd2aXNpYmlsaXR5JyA9PiBbXSwgJ2RlZmF1bHRwYWNrYWdlbmFtZScgPT4gTlVMTCwgJ3NvdXJjZWNvZGUnID0+IEZBTFNFLCAndGVtcGxhdGUnID0+IFtdLCAnZXhhbXBsZXMtZGlyJyA9PiBOVUxMLCAnc2V0dGluZycgPT4gW10sICdsaXN0LXNldHRpbmdzJyA9PiBGQUxTRSwgJ3BhcnNlcHJpdmF0ZScgPT4gRkFMU0UsICdoZWxwJyA9PiBGQUxTRSwgJ3F1aWV0JyA9PiBGQUxTRSwgJ3ZlcmJvc2UnID0+IEZBTFNFLCAndmVyc2lvbicgPT4gRkFMU0UsICdhbnNpJyA9PiBGQUxTRSwgJ25vLWludGVyYWN0aW9uJyA9PiBGQUxTRSwgJ2NvbmZpZycgPT4gTlVMTCwgJ2xvZycgPT4gTlVMTCwgJ2VudicgPT4gJ3Byb2QnLCAnbm8tZGVidWcnID0+IEZBTFNFXSkgcGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3IvbGVhZ3VlL3BpcGVsaW5lL3NyYy9QaXBlbGluZS5waHA6MzkKICAgIDEuNjM2MyAgIDE3NTA2NDAwICAxMi4gTGVhZ3VlXFBpcGVsaW5lXEZpbmdlcnNDcm9zc2VkUHJvY2Vzc29yLT5wcm9jZXNzKCRwYXlsb2FkID0gWyd0YXJnZXQnID0+IE5VTEwsICdjYWNoZS1mb2xkZXInID0+IE5VTEwsICdmaWxlbmFtZScgPT4gW10sICdkaXJlY3RvcnknID0+IFtdLCAnZW5jb2RpbmcnID0+IE5VTEwsICdleHRlbnNpb25zJyA9PiBbXSwgJ2lnbm9yZScgPT4gW10sICdpZ25vcmUtdGFncycgPT4gW10sICdoaWRkZW4nID0+IEZBTFNFLCAnaWdub3JlLXN5bWxpbmtzJyA9PiBGQUxTRSwgJ21hcmtlcnMnID0+IFtdLCAndGl0bGUnID0+IE5VTEwsICdmb3JjZScgPT4gRkFMU0UsICd2YWxpZGF0ZScgPT4gRkFMU0UsICd2aXNpYmlsaXR5JyA9PiBbXSwgJ2RlZmF1bHRwYWNrYWdlbmFtZScgPT4gTlVMTCwgJ3NvdXJjZWNvZGUnID0+IEZBTFNFLCAndGVtcGxhdGUnID0+IFtdLCAnZXhhbXBsZXMtZGlyJyA9PiBOVUxMLCAnc2V0dGluZycgPT4gW10sICdsaXN0LXNldHRpbmdzJyA9PiBGQUxTRSwgJ3BhcnNlcHJpdmF0ZScgPT4gRkFMU0UsICdoZWxwJyA9PiBGQUxTRSwgJ3F1aWV0JyA9PiBGQUxTRSwgJ3ZlcmJvc2UnID0+IEZBTFNFLCAndmVyc2lvbicgPT4gRkFMU0UsICdhbnNpJyA9PiBGQUxTRSwgJ25vLWludGVyYWN0aW9uJyA9PiBGQUxTRSwgJ2NvbmZpZycgPT4gTlVMTCwgJ2xvZycgPT4gTlVMTCwgJ2VudicgPT4gJ3Byb2QnLCAnbm8tZGVidWcnID0+IEZBTFNFXSwgLi4uJHN0YWdlcyA9IHZhcmlhZGljKGNsYXNzIExlYWd1ZVxQaXBlbGluZVxQaXBlbGluZSB7IHByaXZhdGUgJHN0YWdlcyA9IFswID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ29uZmlndXJlIHsgcHJpdmF0ZSAkY29uZmlnRmFjdG9yeSA9IGNsYXNzIHBocERvY3VtZW50b3JcQ29uZmlndXJhdGlvblxDb25maWd1cmF0aW9uRmFjdG9yeSB7IHByaXZhdGUgJG1pZGRsZXdhcmVzID0gWzAgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxDb25maWd1cmF0aW9uXENvbW1hbmRsaW5lT3B0aW9uc01pZGRsZXdhcmUgeyAuLi4gfSwgMSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXENvbmZpZ3VyYXRpb25cUGF0aE5vcm1hbGl6aW5nTWlkZGxld2FyZSB7IC4uLiB9LCAyID0+IGNsYXNzIHBocERvY3VtZW50b3JcQ29uZmlndXJhdGlvblxQcm92aWRlVGVtcGxhdGVPdmVycmlkZVBhdGhNaWRkbGV3YXJlIHsgLi4uIH1dOyBwcml2YXRlICRkZWZhdWx0RmlsZXMgPSBbMCA9PiAnRzpcXEdpdGh1YlxccGhwZG9jLXRlc3QvcGhwZG9jLnhtbCcsIDEgPT4gJ0c6XFxHaXRodWJcXHBocGRvYy10ZXN0L3BocGRvYy5kaXN0LnhtbCcsIDIgPT4gJ0c6XFxHaXRodWJcXHBocGRvYy10ZXN0L3BocGRvYy54bWwuZGlzdCcsIDMgPT4gJ0c6XFxHaXRodWJcXHBocGRvYy10ZXN0Ly5waHBkb2MueG1sLmRpc3QnLCA0ID0+ICdHOlxcR2l0aHViXFxwaHBkb2MtdGVzdC8ucGhwZG9jLnhtbCcsIDUgPT4gJ0c6XFxHaXRodWJcXHBocGRvYy10ZXN0Ly5waHBkb2MuZGlzdC54bWwnXTsgcHJpdmF0ZSAkc3ltZm9ueUNvbmZpZ0ZhY3RvcnkgPSBjbGFzcyBwaHBEb2N1bWVudG9yXENvbmZpZ3VyYXRpb25cU3ltZm9ueUNvbmZpZ0ZhY3RvcnkgeyBwcml2YXRlICRjb25maWd1cmF0aW9uRGVmaW5pdGlvbnMgPSBbLi4uXSB9IH07IHByaXZhdGUgJGNvbmZpZ3VyYXRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXENvbmZpZ3VyYXRpb25cQ29uZmlndXJhdGlvbiB7IHB1YmxpYyAkcGhwZG9jdW1lbnRvciA9IFsnY29uZmlnVmVyc2lvbicgPT4gJzMnLCAndGl0bGUnID0+ICdEb2N1bWVudGF0aW9uJywgJ3VzZS1jYWNoZScgPT4gVFJVRSwgJ3BhdGhzJyA9PiBbLi4uXSwgJ3ZlcnNpb25zJyA9PiBbLi4uXSwgJ3NldHRpbmdzJyA9PiBbLi4uXSwgJ3RlbXBsYXRlcycgPT4gWy4uLl1dIH07IHByaXZhdGUgJGxvZ2dlciA9IGNsYXNzIFN5bWZvbnlcQnJpZGdlXE1vbm9sb2dcTG9nZ2VyIHsgcHJvdGVjdGVkICRuYW1lID0gJ2FwcCc7IHByb3RlY3RlZCAkaGFuZGxlcnMgPSBbMCA9PiBjbGFzcyBTeW1mb255XEJyaWRnZVxNb25vbG9nXEhhbmRsZXJcQ29uc29sZUhhbmRsZXIgeyAuLi4gfV07IHByb3RlY3RlZCAkcHJvY2Vzc29ycyA9IFtdOyBwcm90ZWN0ZWQgJG1pY3Jvc2Vjb25kVGltZXN0YW1wcyA9IFRSVUU7IHByb3RlY3RlZCAkdGltZXpvbmUgPSBjbGFzcyBEYXRlVGltZVpvbmUgeyBwdWJsaWMgJHRpbWV6b25lX3R5cGUgPSAzOyBwdWJsaWMgJHRpbWV6b25lID0gJ0FzaWEvU2hhbmdoYWknIH07IHByb3RlY3RlZCAkZXhjZXB0aW9uSGFuZGxlciA9IE5VTEwgfTsgcHJpdmF0ZSAkbG9jYXRvciA9IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXENhY2hlXExvY2F0b3IgeyBwcml2YXRlICRwYXRoID0gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXRoIHsgcHJpdmF0ZSAkcGF0aCA9ICcucGhwZG9jL2NhY2hlJyB9OyBwcml2YXRlICRmaWxlQ2FjaGUgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxDYWNoZVxGaWxlc3lzdGVtQWRhcHRlciB7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1uYW1lc3BhY2UgPSAnd2FSM1U0YlRlTTonOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9ZGVmYXVsdExpZmV0aW1lID0gMzE1NTY5MjY7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1uYW1lc3BhY2VWZXJzaW9uID0gJyc7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn12ZXJzaW9uaW5nSXNFbmFibGVkID0gRkFMU0U7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1kZWZlcnJlZCA9IFsuLi5dOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9aWRzID0gWy4uLl07IHByb3RlY3RlZCAkbWF4SWRMZW5ndGggPSBOVUxMOyBwcm90ZWN0ZWQgJGxvZ2dlciA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1jYWxsYmFja1dyYXBwZXIgPSBbLi4uXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfWNvbXB1dGluZyA9IFsuLi5dOyBwcml2YXRlICRtYXJzaGFsbGVyID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcTWFyc2hhbGxlclxEZWZhdWx0TWFyc2hhbGxlciB7IC4uLiB9OyBwcml2YXRlICRkaXJlY3RvcnkgPSAnLnBocGRvYy9jYWNoZVxcZmlsZXNcXCc7IHByaXZhdGUgJHRtcCA9ICcucGhwZG9jL2NhY2hlXFxmaWxlc1xcZTAxYThkY2EzYTc1JyB9OyBwcml2YXRlICRkZXNjcmlwdG9yQ2FjaGUgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxDYWNoZVxGaWxlc3lzdGVtQWRhcHRlciB7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1uYW1lc3BhY2UgPSAnZ0ZGQkMrSkI0SDonOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9ZGVmYXVsdExpZmV0aW1lID0gMzE1NTY5MjY7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1uYW1lc3BhY2VWZXJzaW9uID0gJyc7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn12ZXJzaW9uaW5nSXNFbmFibGVkID0gRkFMU0U7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1kZWZlcnJlZCA9IFsuLi5dOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9aWRzID0gWy4uLl07IHByb3RlY3RlZCAkbWF4SWRMZW5ndGggPSBOVUxMOyBwcm90ZWN0ZWQgJGxvZ2dlciA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1jYWxsYmFja1dyYXBwZXIgPSBbLi4uXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfWNvbXB1dGluZyA9IFsuLi5dOyBwcml2YXRlICRtYXJzaGFsbGVyID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcTWFyc2hhbGxlclxEZWZhdWx0TWFyc2hhbGxlciB7IC4uLiB9OyBwcml2YXRlICRkaXJlY3RvcnkgPSAnRzpcXEdpdGh1YlxccGhwZG9jLXRlc3RcXC5waHBkb2NcXGNhY2hlXFxkZXNjcmlwdG9yc1xcJzsgcHJpdmF0ZSAkdG1wID0gTlVMTCB9IH07IHByaXZhdGUgJGVudmlyb25tZW50RmFjdG9yeSA9IGNsYXNzIHBocERvY3VtZW50b3JcVHJhbnNmb3JtZXJcV3JpdGVyXFR3aWdcRW52aXJvbm1lbnRGYWN0b3J5IHsgcHJpdmF0ZSAkcmVuZGVyZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFRyYW5zZm9ybWVyXFdyaXRlclxUd2lnXExpbmtSZW5kZXJlciB7IHByaXZhdGUgJGRlc3RpbmF0aW9uID0gJyc7IHByaXZhdGUgJHJvdXRlciA9IGNsYXNzIHBocERvY3VtZW50b3JcVHJhbnNmb3JtZXJcUm91dGVyXFJvdXRlciB7IC4uLiB9OyBwcml2YXRlICRwcm9qZWN0ID0gTlVMTDsgcHJpdmF0ZSAkY29udmVydFRvUm9vdFBhdGggPSBUUlVFIH07IHByaXZhdGUgJHRlbXBsYXRlT3ZlcnJpZGVzQXQgPSBOVUxMOyBwcml2YXRlICRtYXJrRG93bkNvbnZlcnRlciA9IGNsYXNzIExlYWd1ZVxDb21tb25NYXJrXENvbW1vbk1hcmtDb252ZXJ0ZXIgeyBwcm90ZWN0ZWQgJGVudmlyb25tZW50ID0gY2xhc3MgTGVhZ3VlXENvbW1vbk1hcmtcRW52aXJvbm1lbnQgeyAuLi4gfTsgcHJvdGVjdGVkICRkb2NQYXJzZXIgPSBjbGFzcyBMZWFndWVcQ29tbW9uTWFya1xEb2NQYXJzZXIgeyAuLi4gfTsgcHJvdGVjdGVkICRodG1sUmVuZGVyZXIgPSBjbGFzcyBMZWFndWVcQ29tbW9uTWFya1xIdG1sUmVuZGVyZXIgeyAuLi4gfSB9IH0gfSwgMSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFRyYW5zZm9ybVRvUGF5bG9hZCB7IHByaXZhdGUgJGRlc2NyaXB0b3JCdWlsZGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXFByb2plY3REZXNjcmlwdG9yQnVpbGRlciB7IHByb3RlY3RlZCAkYXNzZW1ibGVyRmFjdG9yeSA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlckZhY3RvcnkgeyBwcm90ZWN0ZWQgJGFzc2VtYmxlcnMgPSBbLi4uXTsgcHJvdGVjdGVkICRmYWxsYmFja0Fzc2VtYmxlcnMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGZpbHRlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxGaWx0ZXJcRmlsdGVyIHsgcHJpdmF0ZSAkcGlwZWxpbmUgPSBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyAuLi4gfSB9OyBwcm90ZWN0ZWQgJHByb2plY3QgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcUHJvamVjdERlc2NyaXB0b3IgeyBwcml2YXRlICRuYW1lID0gJ0RvY3VtZW50YXRpb24nOyBwcml2YXRlICRuYW1lc3BhY2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcTmFtZXNwYWNlRGVzY3JpcHRvciB7IC4uLiB9OyBwcml2YXRlICRwYWNrYWdlID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXFBhY2thZ2VEZXNjcmlwdG9yIHsgLi4uIH07IHByaXZhdGUgJGZpbGVzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyAuLi4gfTsgcHJpdmF0ZSAkaW5kZXhlcyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgLi4uIH07IHByaXZhdGUgJHNldHRpbmdzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXFByb2plY3REZXNjcmlwdG9yXFNldHRpbmdzIHsgLi4uIH07IHByaXZhdGUgJHBhcnRpYWxzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyAuLi4gfTsgcHJpdmF0ZSAkdmVyc2lvbnMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IC4uLiB9OyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxEb2NCbG9ja1xEZXNjcmlwdGlvbkRlc2NyaXB0b3IgeyAuLi4gfSB9OyBwcml2YXRlICRzZXJ2aWNlc1dpdGhDdXN0b21TZXR0aW5ncyA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cQXJndW1lbnRcUmV3aW5kYWJsZUdlbmVyYXRvciB7IHByaXZhdGUgJGdlbmVyYXRvciA9IGNsYXNzIENsb3N1cmUgeyB2aXJ0dWFsICRjbG9zdXJlID0gIiR0aGlzLT5Db250YWluZXJYZnEySGIzXHtjbG9zdXJlfSIsIC4uLiB9OyBwcml2YXRlICRjb3VudCA9IDIgfTsgcHJpdmF0ZSAkYXBpU3BlY2lmaWNhdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcQ29uZmlndXJhdGlvblxBcGlTcGVjaWZpY2F0aW9uIHsgcHJpdmF0ZSAkc291cmNlID0gY2xhc3MgcGhwRG9jdW1lbnRvclxDb25maWd1cmF0aW9uXFNvdXJjZSB7IC4uLiB9OyBwcml2YXRlICRvdXRwdXQgPSAnLic7IHByaXZhdGUgJGlnbm9yZSA9IFsuLi5dOyBwcml2YXRlICRleHRlbnNpb25zID0gWy4uLl07IHByaXZhdGUgJHZpc2liaWxpdHkgPSBbLi4uXTsgcHJpdmF0ZSAkZGVmYXVsdFBhY2thZ2VOYW1lID0gJ0FwcGxpY2F0aW9uJzsgcHJpdmF0ZSAkaW5jbHVkZVNvdXJjZSA9IEZBTFNFOyBwcml2YXRlICRtYXJrZXJzID0gWy4uLl07IHByaXZhdGUgJGlnbm9yZVRhZ3MgPSBbLi4uXTsgcHJpdmF0ZSAkZXhhbXBsZXMgPSBOVUxMOyBwcml2YXRlICRlbmNvZGluZyA9ICd1dGYtOCc7IHByaXZhdGUgJHZhbGlkYXRlID0gRkFMU0UgfSB9IH0sIDIgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxJbml0aWFsaXplQnVpbGRlckZyb21Db25maWcgeyBwcml2YXRlICRwYXJ0aWFscyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFtdIH0gfSwgMyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXFB1cmdlQ2FjaGVzV2hlbkZvcmNlZCB7IHByaXZhdGUgJGZpbGVzQ2FjaGUgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxDYWNoZVxGaWxlc3lzdGVtQWRhcHRlciB7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1uYW1lc3BhY2UgPSAnd2FSM1U0YlRlTTonOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9ZGVmYXVsdExpZmV0aW1lID0gMzE1NTY5MjY7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1uYW1lc3BhY2VWZXJzaW9uID0gJyc7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn12ZXJzaW9uaW5nSXNFbmFibGVkID0gRkFMU0U7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1kZWZlcnJlZCA9IFtdOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9aWRzID0gWyc0MDhiMzhhNTE4Mjk1OTFiMTY2ZWNjOTZhOTkzNjVhYi0yN2UwZGY4NDQ4ODA3OTc2NDk3YWIwYjI1MDNjOGMxYScgPT4gJzQwOGIzOGE1MTgyOTU5MWIxNjZlY2M5NmE5OTM2NWFiLTI3ZTBkZjg0NDg4MDc5NzY0OTdhYjBiMjUwM2M4YzFhJywgJ2NiZjA4ZjRlOTYwYjdlYWQwOTQ4NTM1YTQxYWQ1ZWE1LTJjMDBmOTMzZjQwMGY3M2RiYjYzYjg4OTk5YjgzY2NiJyA9PiAnY2JmMDhmNGU5NjBiN2VhZDA5NDg1MzVhNDFhZDVlYTUtMmMwMGY5MzNmNDAwZjczZGJiNjNiODg5OTliODNjY2InLCAnOWNmYzkyYjA0NTkwZTc4OWVmNmUxNzJmMzg3MTFhMWUtNmIyZmY2ZDQ3NjFmNGVhM2ZjOWE3ZmI5OTY1MjIzMDcnID0+ICc5Y2ZjOTJiMDQ1OTBlNzg5ZWY2ZTE3MmYzODcxMWExZS02YjJmZjZkNDc2MWY0ZWEzZmM5YTdmYjk5NjUyMjMwNycsICc3N2E2ZTgwMjE2NjFjNDI5YTY3MjlhZmVkNjNhNDQ4Ny0zNTg0YjUyM2FjODRlOTFjNzUxNGRiM2Q3NmFlMzc2MycgPT4gJzc3YTZlODAyMTY2MWM0MjlhNjcyOWFmZWQ2M2E0NDg3LTM1ODRiNTIzYWM4NGU5MWM3NTE0ZGIzZDc2YWUzNzYzJywgJzdkYTg4MDE5YmFhNzE0ZThiODhhMTU1ZDAzNTc4OTRiLTI3NjcyMjYzM2QyNzQyM2JkNzI2OGVkNDMyOWNlNzY4JyA9PiAnN2RhODgwMTliYWE3MTRlOGI4OGExNTVkMDM1Nzg5NGItMjc2NzIyNjMzZDI3NDIzYmQ3MjY4ZWQ0MzI5Y2U3NjgnLCAnM2I1MWFlYTQ3MzI1OWUxMDgxOGJhZGZiOWQ3MzM3N2EtOGNiOGNhYTAyMzcyYzdmYTRmZDRhNzdhMGVjMzFiZjcnID0+ICczYjUxYWVhNDczMjU5ZTEwODE4YmFkZmI5ZDczMzc3YS04Y2I4Y2FhMDIzNzJjN2ZhNGZkNGE3N2EwZWMzMWJmNycsICdjZjcwOGI4NjYyNGY3NWFmMTExYzhiNjNhYTdiY2ZlNS05ODRkODc5MWY3ZDk4NGMyNmY0ZDFhOGU2NzFmNjUyMicgPT4gJ2NmNzA4Yjg2NjI0Zjc1YWYxMTFjOGI2M2FhN2JjZmU1LTk4NGQ4NzkxZjdkOTg0YzI2ZjRkMWE4ZTY3MWY2NTIyJywgJzA4NDdiZmY5ZjlmZDBkYmI3Mjg4OGE1ZWNlYTk5MzZmLTQwYWEyODM3ODA0MGEyN2NhYjI5MzJjZDQyYWQyOGU1JyA9PiAnMDg0N2JmZjlmOWZkMGRiYjcyODg4YTVlY2VhOTkzNmYtNDBhYTI4Mzc4MDQwYTI3Y2FiMjkzMmNkNDJhZDI4ZTUnLCAnZTNlNGQ3NDgwZjcyZDY3OGE0YWIxOTZjY2RhOThjNTAtZTIxODBjMTExMDk3ZDIwZjc0ZjQ3MDI5ODg4NzE5MTInID0+ICdlM2U0ZDc0ODBmNzJkNjc4YTRhYjE5NmNjZGE5OGM1MC1lMjE4MGMxMTEwOTdkMjBmNzRmNDcwMjk4ODg3MTkxMicsICdkMDgzYzI4YzFhMDQ2ZTNhNTFmNWM5ZjVmMWIyMDA4Yi04ZGZlOGU4NDViMDQwN2RjNWU0NWY5MDkzODgzMDY5YicgPT4gJ2QwODNjMjhjMWEwNDZlM2E1MWY1YzlmNWYxYjIwMDhiLThkZmU4ZTg0NWIwNDA3ZGM1ZTQ1ZjkwOTM4ODMwNjliJywgJzZjYWE1ODdkODk2ZWQ2OWJjZGM4ODQ2MTgzODFiZGUyLWM2N2U0YjUxMWZmYmVlZjI1YmIxMzM1OWVhOTlhMTA1JyA9PiAnNmNhYTU4N2Q4OTZlZDY5YmNkYzg4NDYxODM4MWJkZTItYzY3ZTRiNTExZmZiZWVmMjViYjEzMzU5ZWE5OWExMDUnLCAnMGY2MWM3MDFlMDA2OGMwZjQxMWIyZDU0ZWZjMGI4ZWYtODQwNjljYWYzOGJjMjQyYTQxODk4YmE4YjBjOGIwOGMnID0+ICcwZjYxYzcwMWUwMDY4YzBmNDExYjJkNTRlZmMwYjhlZi04NDA2OWNhZjM4YmMyNDJhNDE4OThiYThiMGM4YjA4YycsICczZjIyYmY2YmQyZDVkZDIwMzA5Zjg3MjU3M2NmMzI4NS0wNTViZTBhMDE5NjY2MzYwMDMxNTdiZGMyNWFmOTA2YicgPT4gJzNmMjJiZjZiZDJkNWRkMjAzMDlmODcyNTczY2YzMjg1LTA1NWJlMGEwMTk2NjYzNjAwMzE1N2JkYzI1YWY5MDZiJywgJ2FkZWMyMDU0MjkxMzEzZmM0ZWI4NThmNDAxZGE3NTJjLTIwYjVlNDVlOGMyNzRlYzRiN2MzM2FmMGZjYWU5ZjlkJyA9PiAnYWRlYzIwNTQyOTEzMTNmYzRlYjg1OGY0MDFkYTc1MmMtMjBiNWU0NWU4YzI3NGVjNGI3YzMzYWYwZmNhZTlmOWQnLCAnNWU3YjA4MWE3ZWZhOGViYTc0NTE4ZjdiYWNmY2QxNTktOTI0Zjk1MzNlOGE3NDFkMTMxNzM2ZmJmODZmODZmOTcnID0+ICc1ZTdiMDgxYTdlZmE4ZWJhNzQ1MThmN2JhY2ZjZDE1OS05MjRmOTUzM2U4YTc0MWQxMzE3MzZmYmY4NmY4NmY5NycsICcxZDAwOGVjYjAzMjc2MWU3OTRmNWVlNjZlNjhhYjQ1NS0xMmY5M2Y2NDI0NzZmZmI1OWE3YzgwMGNiNTM2NzYzMycgPT4gJzFkMDA4ZWNiMDMyNzYxZTc5NGY1ZWU2NmU2OGFiNDU1LTEyZjkzZjY0MjQ3NmZmYjU5YTdjODAwY2I1MzY3NjMzJywgJ2E0ZTAzNjljNGY2Njc0YmJhOGM3NGI5OGVkMGE1ODQ4LTMyOGFiNjZjYzI3MjQ4NGYzZjY5NjAwY2NmYTdmODkyJyA9PiAnYTRlMDM2OWM0ZjY2NzRiYmE4Yzc0Yjk4ZWQwYTU4NDgtMzI4YWI2NmNjMjcyNDg0ZjNmNjk2MDBjY2ZhN2Y4OTInLCAnNWQ3MWNhMjE5YTE2NjRjZjNmNTVlMzcyOWViYTFkNzItN2M3YjFiNWI1ZTk0MjZmNzU1MTRiZjA0Y2MyYWZmNzQnID0+ICc1ZDcxY2EyMTlhMTY2NGNmM2Y1NWUzNzI5ZWJhMWQ3Mi03YzdiMWI1YjVlOTQyNmY3NTUxNGJmMDRjYzJhZmY3NCcsICc1MzlkZTA1YWE3ODg0ZGIyMjY4MmJlOTAzOTg1YzUzNi1mMTQxMzgyNjM2NzllYTk0NjI5MTI2N2FmNmYwMDczZScgPT4gJzUzOWRlMDVhYTc4ODRkYjIyNjgyYmU5MDM5ODVjNTM2LWYxNDEzODI2MzY3OWVhOTQ2MjkxMjY3YWY2ZjAwNzNlJywgJzM5Nzg4ZmE2MDdiOTBjODU1YWYwN2MxYjhmMDg4N2ZhLTUxMmYwNTlhYzJiN2U5MDgwYTY2MTRmYWRkMTg4NTI5JyA9PiAnMzk3ODhmYTYwN2I5MGM4NTVhZjA3YzFiOGYwODg3ZmEtNTEyZjA1OWFjMmI3ZTkwODBhNjYxNGZhZGQxODg1MjknXTsgcHJvdGVjdGVkICRtYXhJZExlbmd0aCA9IE5VTEw7IHByb3RlY3RlZCAkbG9nZ2VyID0gTlVMTDsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfWNhbGxiYWNrV3JhcHBlciA9IFswID0+ICdTeW1mb255XFxDb21wb25lbnRcXENhY2hlXFxMb2NrUmVnaXN0cnknLCAxID0+ICdjb21wdXRlJ107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1jb21wdXRpbmcgPSBbJzM5Nzg4ZmE2MDdiOTBjODU1YWYwN2MxYjhmMDg4N2ZhLTUxMmYwNTlhYzJiN2U5MDgwYTY2MTRmYWRkMTg4NTI5JyA9PiAnMzk3ODhmYTYwN2I5MGM4NTVhZjA3YzFiOGYwODg3ZmEtNTEyZjA1OWFjMmI3ZTkwODBhNjYxNGZhZGQxODg1MjknXTsgcHJpdmF0ZSAkbWFyc2hhbGxlciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENhY2hlXE1hcnNoYWxsZXJcRGVmYXVsdE1hcnNoYWxsZXIgeyBwcml2YXRlICR1c2VJZ2JpbmFyeVNlcmlhbGl6ZSA9IEZBTFNFIH07IHByaXZhdGUgJGRpcmVjdG9yeSA9ICcucGhwZG9jL2NhY2hlXFxmaWxlc1xcJzsgcHJpdmF0ZSAkdG1wID0gJy5waHBkb2MvY2FjaGVcXGZpbGVzXFxlMDFhOGRjYTNhNzUnIH07IHByaXZhdGUgJGRlc2NyaXB0b3JzQ2FjaGUgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxDYWNoZVxGaWxlc3lzdGVtQWRhcHRlciB7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1uYW1lc3BhY2UgPSAnZ0ZGQkMrSkI0SDonOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9ZGVmYXVsdExpZmV0aW1lID0gMzE1NTY5MjY7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1uYW1lc3BhY2VWZXJzaW9uID0gJyc7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn12ZXJzaW9uaW5nSXNFbmFibGVkID0gRkFMU0U7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1kZWZlcnJlZCA9IFtdOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9aWRzID0gWydwaHBEb2N1bWVudG9yLXByb2plY3REZXNjcmlwdG9yLWZpbGVsaXN0JyA9PiAncGhwRG9jdW1lbnRvci1wcm9qZWN0RGVzY3JpcHRvci1maWxlbGlzdCcsICdwaHBEb2N1bWVudG9yLXByb2plY3REZXNjcmlwdG9yLXNldHRpbmdzJyA9PiAncGhwRG9jdW1lbnRvci1wcm9qZWN0RGVzY3JpcHRvci1zZXR0aW5ncyddOyBwcm90ZWN0ZWQgJG1heElkTGVuZ3RoID0gTlVMTDsgcHJvdGVjdGVkICRsb2dnZXIgPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9Y2FsbGJhY2tXcmFwcGVyID0gWzAgPT4gJ1N5bWZvbnlcXENvbXBvbmVudFxcQ2FjaGVcXExvY2tSZWdpc3RyeScsIDEgPT4gJ2NvbXB1dGUnXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfWNvbXB1dGluZyA9IFtdOyBwcml2YXRlICRtYXJzaGFsbGVyID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcTWFyc2hhbGxlclxEZWZhdWx0TWFyc2hhbGxlciB7IHByaXZhdGUgJHVzZUlnYmluYXJ5U2VyaWFsaXplID0gRkFMU0UgfTsgcHJpdmF0ZSAkZGlyZWN0b3J5ID0gJ0c6XFxHaXRodWJcXHBocGRvYy10ZXN0XFwucGhwZG9jXFxjYWNoZVxcZGVzY3JpcHRvcnNcXCc7IHByaXZhdGUgJHRtcCA9IE5VTEwgfTsgcHJpdmF0ZSAkbG9nZ2VyID0gY2xhc3MgU3ltZm9ueVxCcmlkZ2VcTW9ub2xvZ1xMb2dnZXIgeyBwcm90ZWN0ZWQgJG5hbWUgPSAnYXBwJzsgcHJvdGVjdGVkICRoYW5kbGVycyA9IFswID0+IGNsYXNzIFN5bWZvbnlcQnJpZGdlXE1vbm9sb2dcSGFuZGxlclxDb25zb2xlSGFuZGxlciB7IC4uLiB9XTsgcHJvdGVjdGVkICRwcm9jZXNzb3JzID0gW107IHByb3RlY3RlZCAkbWljcm9zZWNvbmRUaW1lc3RhbXBzID0gVFJVRTsgcHJvdGVjdGVkICR0aW1lem9uZSA9IGNsYXNzIERhdGVUaW1lWm9uZSB7IHB1YmxpYyAkdGltZXpvbmVfdHlwZSA9IDM7IHB1YmxpYyAkdGltZXpvbmUgPSAnQXNpYS9TaGFuZ2hhaScgfTsgcHJvdGVjdGVkICRleGNlcHRpb25IYW5kbGVyID0gTlVMTCB9IH1dOyBwcml2YXRlICRwcm9jZXNzb3IgPSBjbGFzcyBMZWFndWVcUGlwZWxpbmVcRmluZ2Vyc0Nyb3NzZWRQcm9jZXNzb3IgeyAgfSB9LCBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyBwcml2YXRlICRzdGFnZXMgPSBbXTsgcHJpdmF0ZSAkcHJvY2Vzc29yID0gY2xhc3MgTGVhZ3VlXFBpcGVsaW5lXEZpbmdlcnNDcm9zc2VkUHJvY2Vzc29yIHsgIH0gfSwgY2xhc3MgTGVhZ3VlXFBpcGVsaW5lXFBpcGVsaW5lIHsgcHJpdmF0ZSAkc3RhZ2VzID0gWzAgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxQYXJzZXJcVHJhbnNmb3JtVG9QYXJzZXJQYXlsb2FkIHsgIH0sIDEgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxQYXJzZXJcQ29sbGVjdEZpbGVzIHsgcHJpdmF0ZSAkZmlsZUNvbGxlY3RvciA9IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUNvbGxlY3RvciB7IHByaXZhdGUgJHNwZWNpZmljYXRpb25GYWN0b3J5ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcU3BlY2lmaWNhdGlvbkZhY3RvcnkgeyAgfTsgcHJpdmF0ZSAkZmx5U3lzdGVtRmFjdG9yeSA9IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZhY3RvcnkgeyBwcml2YXRlICRtb3VudE1hbmFnZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXE1vdW50TWFuYWdlciB7IC4uLiB9IH0gfTsgcHJpdmF0ZSAkbG9nZ2VyID0gY2xhc3MgU3ltZm9ueVxCcmlkZ2VcTW9ub2xvZ1xMb2dnZXIgeyBwcm90ZWN0ZWQgJG5hbWUgPSAnYXBwJzsgcHJvdGVjdGVkICRoYW5kbGVycyA9IFswID0+IGNsYXNzIFN5bWZvbnlcQnJpZGdlXE1vbm9sb2dcSGFuZGxlclxDb25zb2xlSGFuZGxlciB7IC4uLiB9XTsgcHJvdGVjdGVkICRwcm9jZXNzb3JzID0gW107IHByb3RlY3RlZCAkbWljcm9zZWNvbmRUaW1lc3RhbXBzID0gVFJVRTsgcHJvdGVjdGVkICR0aW1lem9uZSA9IGNsYXNzIERhdGVUaW1lWm9uZSB7IHB1YmxpYyAkdGltZXpvbmVfdHlwZSA9IDM7IHB1YmxpYyAkdGltZXpvbmUgPSAnQXNpYS9TaGFuZ2hhaScgfTsgcHJvdGVjdGVkICRleGNlcHRpb25IYW5kbGVyID0gTlVMTCB9IH0sIDIgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxDYWNoZVxHYXJiYWdlQ29sbGVjdENhY2hlIHsgcHJpdmF0ZSAkZGVzY3JpcHRvck1hcHBlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDYWNoZVxQcm9qZWN0RGVzY3JpcHRvck1hcHBlciB7IHByaXZhdGUgJGNhY2hlID0gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcQ2FjaGVcRmlsZXN5c3RlbUFkYXB0ZXIgeyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9bmFtZXNwYWNlID0gJ2dGRkJDK0pCNEg6JzsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfWRlZmF1bHRMaWZldGltZSA9IDMxNTU2OTI2OyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9bmFtZXNwYWNlVmVyc2lvbiA9ICcnOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9dmVyc2lvbmluZ0lzRW5hYmxlZCA9IEZBTFNFOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9ZGVmZXJyZWQgPSBbLi4uXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfWlkcyA9IFsuLi5dOyBwcm90ZWN0ZWQgJG1heElkTGVuZ3RoID0gTlVMTDsgcHJvdGVjdGVkICRsb2dnZXIgPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9Y2FsbGJhY2tXcmFwcGVyID0gWy4uLl07IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1jb21wdXRpbmcgPSBbLi4uXTsgcHJpdmF0ZSAkbWFyc2hhbGxlciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENhY2hlXE1hcnNoYWxsZXJcRGVmYXVsdE1hcnNoYWxsZXIgeyAuLi4gfTsgcHJpdmF0ZSAkZGlyZWN0b3J5ID0gJ0c6XFxHaXRodWJcXHBocGRvYy10ZXN0XFwucGhwZG9jXFxjYWNoZVxcZGVzY3JpcHRvcnNcXCc7IHByaXZhdGUgJHRtcCA9IE5VTEwgfSB9IH0sIDMgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxDYWNoZVxMb2FkUHJvamVjdERlc2NyaXB0b3JGcm9tQ2FjaGUgeyBwcml2YXRlICRkZXNjcmlwdG9yTWFwcGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENhY2hlXFByb2plY3REZXNjcmlwdG9yTWFwcGVyIHsgcHJpdmF0ZSAkY2FjaGUgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxDYWNoZVxGaWxlc3lzdGVtQWRhcHRlciB7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1uYW1lc3BhY2UgPSAnZ0ZGQkMrSkI0SDonOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9ZGVmYXVsdExpZmV0aW1lID0gMzE1NTY5MjY7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1uYW1lc3BhY2VWZXJzaW9uID0gJyc7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn12ZXJzaW9uaW5nSXNFbmFibGVkID0gRkFMU0U7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1kZWZlcnJlZCA9IFsuLi5dOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9aWRzID0gWy4uLl07IHByb3RlY3RlZCAkbWF4SWRMZW5ndGggPSBOVUxMOyBwcm90ZWN0ZWQgJGxvZ2dlciA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1jYWxsYmFja1dyYXBwZXIgPSBbLi4uXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfWNvbXB1dGluZyA9IFsuLi5dOyBwcml2YXRlICRtYXJzaGFsbGVyID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcTWFyc2hhbGxlclxEZWZhdWx0TWFyc2hhbGxlciB7IC4uLiB9OyBwcml2YXRlICRkaXJlY3RvcnkgPSAnRzpcXEdpdGh1YlxccGhwZG9jLXRlc3RcXC5waHBkb2NcXGNhY2hlXFxkZXNjcmlwdG9yc1xcJzsgcHJpdmF0ZSAkdG1wID0gTlVMTCB9IH07IHByaXZhdGUgJGxvZ2dlciA9IGNsYXNzIFN5bWZvbnlcQnJpZGdlXE1vbm9sb2dcTG9nZ2VyIHsgcHJvdGVjdGVkICRuYW1lID0gJ2FwcCc7IHByb3RlY3RlZCAkaGFuZGxlcnMgPSBbMCA9PiBjbGFzcyBTeW1mb255XEJyaWRnZVxNb25vbG9nXEhhbmRsZXJcQ29uc29sZUhhbmRsZXIgeyAuLi4gfV07IHByb3RlY3RlZCAkcHJvY2Vzc29ycyA9IFtdOyBwcm90ZWN0ZWQgJG1pY3Jvc2Vjb25kVGltZXN0YW1wcyA9IFRSVUU7IHByb3RlY3RlZCAkdGltZXpvbmUgPSBjbGFzcyBEYXRlVGltZVpvbmUgeyBwdWJsaWMgJHRpbWV6b25lX3R5cGUgPSAzOyBwdWJsaWMgJHRpbWV6b25lID0gJ0FzaWEvU2hhbmdoYWknIH07IHByb3RlY3RlZCAkZXhjZXB0aW9uSGFuZGxlciA9IE5VTEwgfSB9LCA0ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcTG9hZEd1aWRlc0Zyb21DYWNoZSB7IHByaXZhdGUgJGxvZ2dlciA9IGNsYXNzIFN5bWZvbnlcQnJpZGdlXE1vbm9sb2dcTG9nZ2VyIHsgcHJvdGVjdGVkICRuYW1lID0gJ2FwcCc7IHByb3RlY3RlZCAkaGFuZGxlcnMgPSBbMCA9PiBjbGFzcyBTeW1mb255XEJyaWRnZVxNb25vbG9nXEhhbmRsZXJcQ29uc29sZUhhbmRsZXIgeyAuLi4gfV07IHByb3RlY3RlZCAkcHJvY2Vzc29ycyA9IFtdOyBwcm90ZWN0ZWQgJG1pY3Jvc2Vjb25kVGltZXN0YW1wcyA9IFRSVUU7IHByb3RlY3RlZCAkdGltZXpvbmUgPSBjbGFzcyBEYXRlVGltZVpvbmUgeyBwdWJsaWMgJHRpbWV6b25lX3R5cGUgPSAzOyBwdWJsaWMgJHRpbWV6b25lID0gJ0FzaWEvU2hhbmdoYWknIH07IHByb3RlY3RlZCAkZXhjZXB0aW9uSGFuZGxlciA9IE5VTEwgfTsgcHJpdmF0ZSAkY29tbWFuZEJ1cyA9IGNsYXNzIExlYWd1ZVxUYWN0aWNpYW5cQ29tbWFuZEJ1cyB7IHByaXZhdGUgJG1pZGRsZXdhcmVDaGFpbiA9IGNsYXNzIENsb3N1cmUgeyB2aXJ0dWFsICRjbG9zdXJlID0gIiR0aGlzLT5MZWFndWVcVGFjdGljaWFuXHtjbG9zdXJlfSIgfSB9IH0sIDUgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxQYXJzZXJcUGFyc2VGaWxlcyB7IHByaXZhdGUgJHBhcnNlciA9IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXFBhcnNlciB7IHByaXZhdGUgJGRlZmF1bHRQYWNrYWdlTmFtZSA9ICdBcHBsaWNhdGlvbic7IHByaXZhdGUgJHZhbGlkYXRlID0gRkFMU0U7IHByaXZhdGUgJG1hcmtlcnMgPSBbMCA9PiAnVE9ETycsIDEgPT4gJ0ZJWE1FJ107IHByaXZhdGUgJHBhdGggPSAnJzsgcHJpdmF0ZSAkbG9nZ2VyID0gY2xhc3MgU3ltZm9ueVxCcmlkZ2VcTW9ub2xvZ1xMb2dnZXIgeyBwcm90ZWN0ZWQgJG5hbWUgPSAnYXBwJzsgcHJvdGVjdGVkICRoYW5kbGVycyA9IFsuLi5dOyBwcm90ZWN0ZWQgJHByb2Nlc3NvcnMgPSBbLi4uXTsgcHJvdGVjdGVkICRtaWNyb3NlY29uZFRpbWVzdGFtcHMgPSBUUlVFOyBwcm90ZWN0ZWQgJHRpbWV6b25lID0gY2xhc3MgRGF0ZVRpbWVab25lIHsgLi4uIH07IHByb3RlY3RlZCAkZXhjZXB0aW9uSGFuZGxlciA9IE5VTEwgfTsgcHJpdmF0ZSAkZW5jb2RpbmcgPSAndXRmLTgnOyBwcml2YXRlICRzdG9wd2F0Y2ggPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxTdG9wd2F0Y2hcU3RvcHdhdGNoIHsgcHJpdmF0ZSAkbW9yZVByZWNpc2lvbiA9IFRSVUU7IHByaXZhdGUgJHNlY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGFjdGl2ZVNlY3Rpb25zID0gWy4uLl0gfTsgcHJpdmF0ZSAkcHJvamVjdEZhY3RvcnkgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb2plY3RGYWN0b3J5IHsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdEZhY3RvcnlTdHJhdGVnaWVzIHsgLi4uIH0gfSB9OyBwcml2YXRlICRsb2dnZXIgPSBjbGFzcyBTeW1mb255XEJyaWRnZVxNb25vbG9nXExvZ2dlciB7IHByb3RlY3RlZCAkbmFtZSA9ICdhcHAnOyBwcm90ZWN0ZWQgJGhhbmRsZXJzID0gWzAgPT4gY2xhc3MgU3ltZm9ueVxCcmlkZ2VcTW9ub2xvZ1xIYW5kbGVyXENvbnNvbGVIYW5kbGVyIHsgLi4uIH1dOyBwcm90ZWN0ZWQgJHByb2Nlc3NvcnMgPSBbXTsgcHJvdGVjdGVkICRtaWNyb3NlY29uZFRpbWVzdGFtcHMgPSBUUlVFOyBwcm90ZWN0ZWQgJHRpbWV6b25lID0gY2xhc3MgRGF0ZVRpbWVab25lIHsgcHVibGljICR0aW1lem9uZV90eXBlID0gMzsgcHVibGljICR0aW1lem9uZSA9ICdBc2lhL1NoYW5naGFpJyB9OyBwcm90ZWN0ZWQgJGV4Y2VwdGlvbkhhbmRsZXIgPSBOVUxMIH07IHByaXZhdGUgJHJlRW5jb2RpbmdNaWRkbGV3YXJlID0gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcTWlkZGxld2FyZVxSZUVuY29kaW5nTWlkZGxld2FyZSB7IHByaXZhdGUgJGVuY29kaW5nID0gJ3V0Zi04JyB9IH0sIDYgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxQYXJzZXJcUGFyc2VHdWlkZXMgeyBwcml2YXRlICRjb21tYW5kQnVzID0gY2xhc3MgTGVhZ3VlXFRhY3RpY2lhblxDb21tYW5kQnVzIHsgcHJpdmF0ZSAkbWlkZGxld2FyZUNoYWluID0gY2xhc3MgQ2xvc3VyZSB7IHZpcnR1YWwgJGNsb3N1cmUgPSAiJHRoaXMtPkxlYWd1ZVxUYWN0aWNpYW5ce2Nsb3N1cmV9IiB9IH07IHByaXZhdGUgJGxvZ2dlciA9IGNsYXNzIFN5bWZvbnlcQnJpZGdlXE1vbm9sb2dcTG9nZ2VyIHsgcHJvdGVjdGVkICRuYW1lID0gJ2FwcCc7IHByb3RlY3RlZCAkaGFuZGxlcnMgPSBbMCA9PiBjbGFzcyBTeW1mb255XEJyaWRnZVxNb25vbG9nXEhhbmRsZXJcQ29uc29sZUhhbmRsZXIgeyAuLi4gfV07IHByb3RlY3RlZCAkcHJvY2Vzc29ycyA9IFtdOyBwcm90ZWN0ZWQgJG1pY3Jvc2Vjb25kVGltZXN0YW1wcyA9IFRSVUU7IHByb3RlY3RlZCAkdGltZXpvbmUgPSBjbGFzcyBEYXRlVGltZVpvbmUgeyBwdWJsaWMgJHRpbWV6b25lX3R5cGUgPSAzOyBwdWJsaWMgJHRpbWV6b25lID0gJ0FzaWEvU2hhbmdoYWknIH07IHByb3RlY3RlZCAkZXhjZXB0aW9uSGFuZGxlciA9IE5VTEwgfTsgcHJpdmF0ZSAkZmx5U3lzdGVtRmFjdG9yeSA9IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZhY3RvcnkgeyBwcml2YXRlICRtb3VudE1hbmFnZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXE1vdW50TWFuYWdlciB7IHByb3RlY3RlZCAkZmlsZXN5c3RlbXMgPSBbLi4uXTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWy4uLl0gfSB9IH0sIDcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxDYWNoZVxTdG9yZVByb2plY3REZXNjcmlwdG9yVG9DYWNoZSB7IHByaXZhdGUgJGRlc2NyaXB0b3JNYXBwZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ2FjaGVcUHJvamVjdERlc2NyaXB0b3JNYXBwZXIgeyBwcml2YXRlICRjYWNoZSA9IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXENhY2hlXEZpbGVzeXN0ZW1BZGFwdGVyIHsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfW5hbWVzcGFjZSA9ICdnRkZCQytKQjRIOic7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1kZWZhdWx0TGlmZXRpbWUgPSAzMTU1NjkyNjsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfW5hbWVzcGFjZVZlcnNpb24gPSAnJzsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfXZlcnNpb25pbmdJc0VuYWJsZWQgPSBGQUxTRTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfWRlZmVycmVkID0gWy4uLl07IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1pZHMgPSBbLi4uXTsgcHJvdGVjdGVkICRtYXhJZExlbmd0aCA9IE5VTEw7IHByb3RlY3RlZCAkbG9nZ2VyID0gTlVMTDsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfWNhbGxiYWNrV3JhcHBlciA9IFsuLi5dOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9Y29tcHV0aW5nID0gWy4uLl07IHByaXZhdGUgJG1hcnNoYWxsZXIgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDYWNoZVxNYXJzaGFsbGVyXERlZmF1bHRNYXJzaGFsbGVyIHsgLi4uIH07IHByaXZhdGUgJGRpcmVjdG9yeSA9ICdHOlxcR2l0aHViXFxwaHBkb2MtdGVzdFxcLnBocGRvY1xcY2FjaGVcXGRlc2NyaXB0b3JzXFwnOyBwcml2YXRlICR0bXAgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkbG9nZ2VyID0gY2xhc3MgU3ltZm9ueVxCcmlkZ2VcTW9ub2xvZ1xMb2dnZXIgeyBwcm90ZWN0ZWQgJG5hbWUgPSAnYXBwJzsgcHJvdGVjdGVkICRoYW5kbGVycyA9IFswID0+IGNsYXNzIFN5bWZvbnlcQnJpZGdlXE1vbm9sb2dcSGFuZGxlclxDb25zb2xlSGFuZGxlciB7IC4uLiB9XTsgcHJvdGVjdGVkICRwcm9jZXNzb3JzID0gW107IHByb3RlY3RlZCAkbWljcm9zZWNvbmRUaW1lc3RhbXBzID0gVFJVRTsgcHJvdGVjdGVkICR0aW1lem9uZSA9IGNsYXNzIERhdGVUaW1lWm9uZSB7IHB1YmxpYyAkdGltZXpvbmVfdHlwZSA9IDM7IHB1YmxpYyAkdGltZXpvbmUgPSAnQXNpYS9TaGFuZ2hhaScgfTsgcHJvdGVjdGVkICRleGNlcHRpb25IYW5kbGVyID0gTlVMTCB9IH0sIDggPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxDYWNoZVxTdG9yZUd1aWRlc1RvQ2FjaGUgeyBwcml2YXRlICRsb2dnZXIgPSBjbGFzcyBTeW1mb255XEJyaWRnZVxNb25vbG9nXExvZ2dlciB7IHByb3RlY3RlZCAkbmFtZSA9ICdhcHAnOyBwcm90ZWN0ZWQgJGhhbmRsZXJzID0gWzAgPT4gY2xhc3MgU3ltZm9ueVxCcmlkZ2VcTW9ub2xvZ1xIYW5kbGVyXENvbnNvbGVIYW5kbGVyIHsgLi4uIH1dOyBwcm90ZWN0ZWQgJHByb2Nlc3NvcnMgPSBbXTsgcHJvdGVjdGVkICRtaWNyb3NlY29uZFRpbWVzdGFtcHMgPSBUUlVFOyBwcm90ZWN0ZWQgJHRpbWV6b25lID0gY2xhc3MgRGF0ZVRpbWVab25lIHsgcHVibGljICR0aW1lem9uZV90eXBlID0gMzsgcHVibGljICR0aW1lem9uZSA9ICdBc2lhL1NoYW5naGFpJyB9OyBwcm90ZWN0ZWQgJGV4Y2VwdGlvbkhhbmRsZXIgPSBOVUxMIH07IHByaXZhdGUgJGNvbW1hbmRCdXMgPSBjbGFzcyBMZWFndWVcVGFjdGljaWFuXENvbW1hbmRCdXMgeyBwcml2YXRlICRtaWRkbGV3YXJlQ2hhaW4gPSBjbGFzcyBDbG9zdXJlIHsgdmlydHVhbCAkY2xvc3VyZSA9ICIkdGhpcy0+TGVhZ3VlXFRhY3RpY2lhblx7Y2xvc3VyZX0iIH0gfSB9XTsgcHJpdmF0ZSAkcHJvY2Vzc29yID0gY2xhc3MgTGVhZ3VlXFBpcGVsaW5lXEZpbmdlcnNDcm9zc2VkUHJvY2Vzc29yIHsgIH0gfSwgY2xhc3MgTGVhZ3VlXFBpcGVsaW5lXFBpcGVsaW5lIHsgcHJpdmF0ZSAkc3RhZ2VzID0gWzAgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxDYWNoZVxMb2FkUHJvamVjdERlc2NyaXB0b3JGcm9tQ2FjaGUgeyBwcml2YXRlICRkZXNjcmlwdG9yTWFwcGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENhY2hlXFByb2plY3REZXNjcmlwdG9yTWFwcGVyIHsgcHJpdmF0ZSAkY2FjaGUgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxDYWNoZVxGaWxlc3lzdGVtQWRhcHRlciB7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1uYW1lc3BhY2UgPSAnZ0ZGQkMrSkI0SDonOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9ZGVmYXVsdExpZmV0aW1lID0gMzE1NTY5MjY7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1uYW1lc3BhY2VWZXJzaW9uID0gJyc7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn12ZXJzaW9uaW5nSXNFbmFibGVkID0gRkFMU0U7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1kZWZlcnJlZCA9IFsuLi5dOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9aWRzID0gWy4uLl07IHByb3RlY3RlZCAkbWF4SWRMZW5ndGggPSBOVUxMOyBwcm90ZWN0ZWQgJGxvZ2dlciA9IE5VTEw7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1jYWxsYmFja1dyYXBwZXIgPSBbLi4uXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfWNvbXB1dGluZyA9IFsuLi5dOyBwcml2YXRlICRtYXJzaGFsbGVyID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcTWFyc2hhbGxlclxEZWZhdWx0TWFyc2hhbGxlciB7IC4uLiB9OyBwcml2YXRlICRkaXJlY3RvcnkgPSAnRzpcXEdpdGh1YlxccGhwZG9jLXRlc3RcXC5waHBkb2NcXGNhY2hlXFxkZXNjcmlwdG9yc1xcJzsgcHJpdmF0ZSAkdG1wID0gTlVMTCB9IH07IHByaXZhdGUgJGxvZ2dlciA9IGNsYXNzIFN5bWZvbnlcQnJpZGdlXE1vbm9sb2dcTG9nZ2VyIHsgcHJvdGVjdGVkICRuYW1lID0gJ2FwcCc7IHByb3RlY3RlZCAkaGFuZGxlcnMgPSBbMCA9PiBjbGFzcyBTeW1mb255XEJyaWRnZVxNb25vbG9nXEhhbmRsZXJcQ29uc29sZUhhbmRsZXIgeyAuLi4gfV07IHByb3RlY3RlZCAkcHJvY2Vzc29ycyA9IFtdOyBwcm90ZWN0ZWQgJG1pY3Jvc2Vjb25kVGltZXN0YW1wcyA9IFRSVUU7IHByb3RlY3RlZCAkdGltZXpvbmUgPSBjbGFzcyBEYXRlVGltZVpvbmUgeyBwdWJsaWMgJHRpbWV6b25lX3R5cGUgPSAzOyBwdWJsaWMgJHRpbWV6b25lID0gJ0FzaWEvU2hhbmdoYWknIH07IHByb3RlY3RlZCAkZXhjZXB0aW9uSGFuZGxlciA9IE5VTEwgfSB9LCAxID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ29tcGlsZSB7IHByaXZhdGUgJGNvbXBpbGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxDb21waWxlclxDb21waWxlciB7ICB9IH0sIDIgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxDYWNoZVxMb2FkR3VpZGVzRnJvbUNhY2hlIHsgcHJpdmF0ZSAkbG9nZ2VyID0gY2xhc3MgU3ltZm9ueVxCcmlkZ2VcTW9ub2xvZ1xMb2dnZXIgeyBwcm90ZWN0ZWQgJG5hbWUgPSAnYXBwJzsgcHJvdGVjdGVkICRoYW5kbGVycyA9IFswID0+IGNsYXNzIFN5bWZvbnlcQnJpZGdlXE1vbm9sb2dcSGFuZGxlclxDb25zb2xlSGFuZGxlciB7IC4uLiB9XTsgcHJvdGVjdGVkICRwcm9jZXNzb3JzID0gW107IHByb3RlY3RlZCAkbWljcm9zZWNvbmRUaW1lc3RhbXBzID0gVFJVRTsgcHJvdGVjdGVkICR0aW1lem9uZSA9IGNsYXNzIERhdGVUaW1lWm9uZSB7IHB1YmxpYyAkdGltZXpvbmVfdHlwZSA9IDM7IHB1YmxpYyAkdGltZXpvbmUgPSAnQXNpYS9TaGFuZ2hhaScgfTsgcHJvdGVjdGVkICRleGNlcHRpb25IYW5kbGVyID0gTlVMTCB9OyBwcml2YXRlICRjb21tYW5kQnVzID0gY2xhc3MgTGVhZ3VlXFRhY3RpY2lhblxDb21tYW5kQnVzIHsgcHJpdmF0ZSAkbWlkZGxld2FyZUNoYWluID0gY2xhc3MgQ2xvc3VyZSB7IHZpcnR1YWwgJGNsb3N1cmUgPSAiJHRoaXMtPkxlYWd1ZVxUYWN0aWNpYW5ce2Nsb3N1cmV9IiB9IH0gfSwgMyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFRyYW5zZm9ybSB7IHByaXZhdGUgJHRyYW5zZm9ybWVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxUcmFuc2Zvcm1lciB7IHByb3RlY3RlZCAkdGFyZ2V0ID0gTlVMTDsgcHJpdmF0ZSAkZGVzdGluYXRpb24gPSBOVUxMOyBwcm90ZWN0ZWQgJHdyaXRlcnMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFRyYW5zZm9ybWVyXFdyaXRlclxDb2xsZWN0aW9uIHsgcHJpdmF0ZSAkd3JpdGVycyA9IFsuLi5dIH07IHByaXZhdGUgJGxvZ2dlciA9IGNsYXNzIFN5bWZvbnlcQnJpZGdlXE1vbm9sb2dcTG9nZ2VyIHsgcHJvdGVjdGVkICRuYW1lID0gJ2FwcCc7IHByb3RlY3RlZCAkaGFuZGxlcnMgPSBbLi4uXTsgcHJvdGVjdGVkICRwcm9jZXNzb3JzID0gWy4uLl07IHByb3RlY3RlZCAkbWljcm9zZWNvbmRUaW1lc3RhbXBzID0gVFJVRTsgcHJvdGVjdGVkICR0aW1lem9uZSA9IGNsYXNzIERhdGVUaW1lWm9uZSB7IC4uLiB9OyBwcm90ZWN0ZWQgJGV4Y2VwdGlvbkhhbmRsZXIgPSBOVUxMIH07IHByaXZhdGUgJGZseVN5c3RlbUZhY3RvcnkgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GYWN0b3J5IHsgcHJpdmF0ZSAkbW91bnRNYW5hZ2VyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxNb3VudE1hbmFnZXIgeyAuLi4gfSB9OyBwcml2YXRlICRldmVudERpc3BhdGNoZXIgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxFdmVudERpc3BhdGNoZXJcRXZlbnREaXNwYXRjaGVyIHsgcHJpdmF0ZSAkbGlzdGVuZXJzID0gWy4uLl07IHByaXZhdGUgJHNvcnRlZCA9IFsuLi5dOyBwcml2YXRlICRvcHRpbWl6ZWQgPSBbLi4uXSB9IH07IHByaXZhdGUgJGxvZ2dlciA9IGNsYXNzIFN5bWZvbnlcQnJpZGdlXE1vbm9sb2dcTG9nZ2VyIHsgcHJvdGVjdGVkICRuYW1lID0gJ2FwcCc7IHByb3RlY3RlZCAkaGFuZGxlcnMgPSBbMCA9PiBjbGFzcyBTeW1mb255XEJyaWRnZVxNb25vbG9nXEhhbmRsZXJcQ29uc29sZUhhbmRsZXIgeyAuLi4gfV07IHByb3RlY3RlZCAkcHJvY2Vzc29ycyA9IFtdOyBwcm90ZWN0ZWQgJG1pY3Jvc2Vjb25kVGltZXN0YW1wcyA9IFRSVUU7IHByb3RlY3RlZCAkdGltZXpvbmUgPSBjbGFzcyBEYXRlVGltZVpvbmUgeyBwdWJsaWMgJHRpbWV6b25lX3R5cGUgPSAzOyBwdWJsaWMgJHRpbWV6b25lID0gJ0FzaWEvU2hhbmdoYWknIH07IHByb3RlY3RlZCAkZXhjZXB0aW9uSGFuZGxlciA9IE5VTEwgfTsgcHJpdmF0ZSAkdGVtcGxhdGVGYWN0b3J5ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxUcmFuc2Zvcm1lclxUZW1wbGF0ZVxGYWN0b3J5IHsgcHJpdmF0ZSAkZmx5U3lzdGVtRmFjdG9yeSA9IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZhY3RvcnkgeyBwcml2YXRlICRtb3VudE1hbmFnZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXE1vdW50TWFuYWdlciB7IC4uLiB9IH07IHByaXZhdGUgJGdsb2JhbFRlbXBsYXRlc1BhdGggPSAncGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci9zcmMvcGhwRG9jdW1lbnRvci8uLi8uLi9kYXRhL3RlbXBsYXRlcyc7IHByaXZhdGUgJHdyaXRlckNvbGxlY3Rpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFRyYW5zZm9ybWVyXFdyaXRlclxDb2xsZWN0aW9uIHsgcHJpdmF0ZSAkd3JpdGVycyA9IFsuLi5dIH0gfTsgcHJpdmF0ZSAkZmx5U3lzdGVtRmFjdG9yeSA9IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZhY3RvcnkgeyBwcml2YXRlICRtb3VudE1hbmFnZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXE1vdW50TWFuYWdlciB7IHByb3RlY3RlZCAkZmlsZXN5c3RlbXMgPSBbLi4uXTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWy4uLl0gfSB9IH1dOyBwcml2YXRlICRwcm9jZXNzb3IgPSBjbGFzcyBMZWFndWVcUGlwZWxpbmVcRmluZ2Vyc0Nyb3NzZWRQcm9jZXNzb3IgeyAgfSB9KSkgcGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3IvbGVhZ3VlL3BpcGVsaW5lL3NyYy9QaXBlbGluZS5waHA6MzQKICAgIDEuODA5NiAgIDE4MjE3NjQ4ICAxMy4gTGVhZ3VlXFBpcGVsaW5lXFBpcGVsaW5lLT5fX2ludm9rZSgkcGF5bG9hZCA9IGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcUGF5bG9hZCB7IHByaXZhdGUgJGNvbmZpZyA9IFsncGhwZG9jdW1lbnRvcicgPT4gWydjb25maWdWZXJzaW9uJyA9PiAnMycsICd0aXRsZScgPT4gJ0RvY3VtZW50YXRpb24nLCAndXNlLWNhY2hlJyA9PiBUUlVFLCAncGF0aHMnID0+IFsnb3V0cHV0JyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERzbiB7IHByaXZhdGUgJGRzbiA9ICcucGhwZG9jL2J1aWxkJzsgcHJpdmF0ZSAkdXJpID0gY2xhc3MgTGVhZ3VlXFVyaVxVcmkgeyAuLi4gfTsgcHJpdmF0ZSAkcGFyYW1ldGVycyA9IFsuLi5dIH0sICdjYWNoZScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXRoIHsgcHJpdmF0ZSAkcGF0aCA9ICcucGhwZG9jL2NhY2hlJyB9XSwgJ3ZlcnNpb25zJyA9PiBbJzEuMC4wJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXENvbmZpZ3VyYXRpb25cVmVyc2lvblNwZWNpZmljYXRpb24geyBwcml2YXRlICRudW1iZXIgPSAnMS4wLjAnOyBwdWJsaWMgJGFwaSA9IFsuLi5dOyBwdWJsaWMgJGd1aWRlcyA9IFsuLi5dIH1dLCAnc2V0dGluZ3MnID0+IFtdLCAndGVtcGxhdGVzJyA9PiBbMCA9PiBbJ25hbWUnID0+ICdkZWZhdWx0JywgJ3BhcmFtZXRlcnMnID0+IFsuLi5dXV1dXTsgcHJpdmF0ZSAkYnVpbGRlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxQcm9qZWN0RGVzY3JpcHRvckJ1aWxkZXIgeyBwcm90ZWN0ZWQgJGFzc2VtYmxlckZhY3RvcnkgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJGYWN0b3J5IHsgcHJvdGVjdGVkICRhc3NlbWJsZXJzID0gWzAgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxGaWxlQXNzZW1ibGVyIHsgLi4uIH0gfSwgMSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXENvbnN0YW50QXNzZW1ibGVyIHsgLi4uIH0gfSwgMiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRyYWl0QXNzZW1ibGVyIHsgLi4uIH0gfSwgMyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXENsYXNzQXNzZW1ibGVyIHsgLi4uIH0gfSwgNCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXEVudW1Bc3NlbWJsZXIgeyAuLi4gfSB9LCA1ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcRW51bUNhc2VBc3NlbWJsZXIgeyAuLi4gfSB9LCA2ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcSW50ZXJmYWNlQXNzZW1ibGVyIHsgLi4uIH0gfSwgNyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFByb3BlcnR5QXNzZW1ibGVyIHsgLi4uIH0gfSwgOCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXEFyZ3VtZW50QXNzZW1ibGVyIHsgLi4uIH0gfSwgOSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXE1ldGhvZEFzc2VtYmxlciB7IC4uLiB9IH0sIDEwID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcRnVuY3Rpb25Bc3NlbWJsZXIgeyAuLi4gfSB9LCAxMSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXE5hbWVzcGFjZUFzc2VtYmxlciB7IC4uLiB9IH0sIDEyID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xBdXRob3JBc3NlbWJsZXIgeyAuLi4gfSB9LCAxMyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcRGVwcmVjYXRlZEFzc2VtYmxlciB7IC4uLiB9IH0sIDE0ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xFeGFtcGxlQXNzZW1ibGVyIHsgLi4uIH0gfSwgMTUgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXExpbmtBc3NlbWJsZXIgeyAuLi4gfSB9LCAxNiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcTWV0aG9kQXNzZW1ibGVyIHsgLi4uIH0gfSwgMTcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXFByb3BlcnR5QXNzZW1ibGVyIHsgLi4uIH0gfSwgMTggPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXFByb3BlcnR5QXNzZW1ibGVyIHsgLi4uIH0gfSwgMTkgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXFByb3BlcnR5QXNzZW1ibGVyIHsgLi4uIH0gfSwgMjAgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXEludmFsaWRUYWdBc3NlbWJsZXIgeyAuLi4gfSB9LCAyMSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcVmFyQXNzZW1ibGVyIHsgLi4uIH0gfSwgMjIgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXFBhcmFtQXNzZW1ibGVyIHsgLi4uIH0gfSwgMjMgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXFRocm93c0Fzc2VtYmxlciB7IC4uLiB9IH0sIDI0ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xSZXR1cm5Bc3NlbWJsZXIgeyAuLi4gfSB9LCAyNSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcVXNlc0Fzc2VtYmxlciB7IC4uLiB9IH0sIDI2ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xTZWVBc3NlbWJsZXIgeyAuLi4gfSB9LCAyNyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcU2luY2VBc3NlbWJsZXIgeyAuLi4gfSB9LCAyOCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcVmVyc2lvbkFzc2VtYmxlciB7IC4uLiB9IH1dOyBwcm90ZWN0ZWQgJGZhbGxiYWNrQXNzZW1ibGVycyA9IFswID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xHZW5lcmljVGFnQXNzZW1ibGVyIHsgLi4uIH0gfV0gfTsgcHJvdGVjdGVkICRmaWx0ZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRmlsdGVyXEZpbHRlciB7IHByaXZhdGUgJHBpcGVsaW5lID0gY2xhc3MgTGVhZ3VlXFBpcGVsaW5lXFBpcGVsaW5lIHsgcHJpdmF0ZSAkc3RhZ2VzID0gWzAgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcElnbm9yZSB7IC4uLiB9LCAxID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxGaWx0ZXJcU3RyaXBJZ25vcmVkVGFncyB7IC4uLiB9LCAyID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxGaWx0ZXJcU3RyaXBJbnRlcm5hbCB7IC4uLiB9LCAzID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxGaWx0ZXJcU3RyaXBPblZpc2liaWxpdHkgeyAuLi4gfV07IHByaXZhdGUgJHByb2Nlc3NvciA9IGNsYXNzIExlYWd1ZVxQaXBlbGluZVxJbnRlcnJ1cHRpYmxlUHJvY2Vzc29yIHsgcHJpdmF0ZSAkY2hlY2sgPSBjbGFzcyBDbG9zdXJlIHsgdmlydHVhbCAkY2xvc3VyZSA9ICJwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRmlsdGVyXEZpbHRlcjo6cGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclx7Y2xvc3VyZX0iLCAuLi4gfSB9IH0gfTsgcHJvdGVjdGVkICRwcm9qZWN0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXFByb2plY3REZXNjcmlwdG9yIHsgcHJpdmF0ZSAkbmFtZSA9ICdEb2N1bWVudGF0aW9uJzsgcHJpdmF0ZSAkbmFtZXNwYWNlID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXE5hbWVzcGFjZURlc2NyaXB0b3IgeyBwcm90ZWN0ZWQgJHBhcmVudCA9IE5VTEw7IHByb3RlY3RlZCAkY2hpbGRyZW4gPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGZ1bmN0aW9ucyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkY29uc3RhbnRzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRjbGFzc2VzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRpbnRlcmZhY2VzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICR0cmFpdHMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcml2YXRlICRlbnVtcyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkZnFzZW4gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4geyBwcml2YXRlICRmcXNlbiA9ICdcXCc7IHByaXZhdGUgJG5hbWUgPSAnJyB9OyBwcm90ZWN0ZWQgJG5hbWUgPSAnXFwnOyBwcm90ZWN0ZWQgJG5hbWVzcGFjZSA9ICcnOyBwcm90ZWN0ZWQgJHBhY2thZ2UgPSBOVUxMOyBwcm90ZWN0ZWQgJHN1bW1hcnkgPSAnJzsgcHJvdGVjdGVkICRkZXNjcmlwdGlvbiA9IE5VTEw7IHByb3RlY3RlZCAkZmlsZURlc2NyaXB0b3IgPSBOVUxMOyBwcm90ZWN0ZWQgJGxpbmUgPSAwOyBwcm90ZWN0ZWQgJHRhZ3MgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGVycm9ycyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkaW5oZXJpdGVkRWxlbWVudCA9IE5VTEwgfTsgcHJpdmF0ZSAkcGFja2FnZSA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxQYWNrYWdlRGVzY3JpcHRvciB7IHByb3RlY3RlZCAkcGFyZW50ID0gTlVMTDsgcHJvdGVjdGVkICRjaGlsZHJlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkZnVuY3Rpb25zID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRjb25zdGFudHMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGNsYXNzZXMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGludGVyZmFjZXMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJHRyYWl0cyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByaXZhdGUgJHtwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcTmFtZXNwYWNlRGVzY3JpcHRvcn1lbnVtcyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkZnFzZW4gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4geyBwcml2YXRlICRmcXNlbiA9ICdcXCc7IHByaXZhdGUgJG5hbWUgPSAnJyB9OyBwcm90ZWN0ZWQgJG5hbWUgPSAnXFwnOyBwcm90ZWN0ZWQgJG5hbWVzcGFjZSA9ICcnOyBwcm90ZWN0ZWQgJHBhY2thZ2UgPSBOVUxMOyBwcm90ZWN0ZWQgJHN1bW1hcnkgPSAnJzsgcHJvdGVjdGVkICRkZXNjcmlwdGlvbiA9IE5VTEw7IHByb3RlY3RlZCAkZmlsZURlc2NyaXB0b3IgPSBOVUxMOyBwcm90ZWN0ZWQgJGxpbmUgPSAwOyBwcm90ZWN0ZWQgJHRhZ3MgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGVycm9ycyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkaW5oZXJpdGVkRWxlbWVudCA9IE5VTEwgfTsgcHJpdmF0ZSAkZmlsZXMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbXSB9OyBwcml2YXRlICRpbmRleGVzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gW10gfTsgcHJpdmF0ZSAkc2V0dGluZ3MgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcUHJvamVjdERlc2NyaXB0b3JcU2V0dGluZ3MgeyBwcml2YXRlICRpc01vZGlmaWVkID0gRkFMU0U7IHByaXZhdGUgJHZpc2liaWxpdHkgPSA3OyBwcml2YXRlICRpbmNsdWRlU291cmNlID0gRkFMU0U7IHByaXZhdGUgJGN1c3RvbSA9IFtdIH07IHByaXZhdGUgJHBhcnRpYWxzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gW10gfTsgcHJpdmF0ZSAkdmVyc2lvbnMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcVmVyc2lvbkRlc2NyaXB0b3IgeyAuLi4gfV0gfTsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRG9jQmxvY2tcRGVzY3JpcHRpb25EZXNjcmlwdG9yIHsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyBwcml2YXRlICRib2R5VGVtcGxhdGUgPSAnJzsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dIH07IHByaXZhdGUgJGlubGluZVRhZ3MgPSBbXSB9IH07IHByaXZhdGUgJHNlcnZpY2VzV2l0aEN1c3RvbVNldHRpbmdzID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcRGVwZW5kZW5jeUluamVjdGlvblxBcmd1bWVudFxSZXdpbmRhYmxlR2VuZXJhdG9yIHsgcHJpdmF0ZSAkZ2VuZXJhdG9yID0gY2xhc3MgQ2xvc3VyZSB7IHZpcnR1YWwgJGNsb3N1cmUgPSAiJHRoaXMtPkNvbnRhaW5lclhmcTJIYjNce2Nsb3N1cmV9IiB9OyBwcml2YXRlICRjb3VudCA9IDIgfTsgcHJpdmF0ZSAkYXBpU3BlY2lmaWNhdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcQ29uZmlndXJhdGlvblxBcGlTcGVjaWZpY2F0aW9uIHsgcHJpdmF0ZSAkc291cmNlID0gY2xhc3MgcGhwRG9jdW1lbnRvclxDb25maWd1cmF0aW9uXFNvdXJjZSB7IHByaXZhdGUgJGRzbiA9IGNsYXNzIHBocERvY3VtZW50b3JcRHNuIHsgcHJpdmF0ZSAkZHNuID0gJy4nOyBwcml2YXRlICR1cmkgPSBjbGFzcyBMZWFndWVcVXJpXFVyaSB7IC4uLiB9OyBwcml2YXRlICRwYXJhbWV0ZXJzID0gWy4uLl0gfTsgcHJpdmF0ZSAkcGF0aHMgPSBbMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhdGggeyAuLi4gfV0gfTsgcHJpdmF0ZSAkb3V0cHV0ID0gJy4nOyBwcml2YXRlICRpZ25vcmUgPSBbJ2hpZGRlbicgPT4gVFJVRSwgJ3N5bWxpbmtzJyA9PiBUUlVFLCAncGF0aHMnID0+IFtdXTsgcHJpdmF0ZSAkZXh0ZW5zaW9ucyA9IFswID0+ICdwaHAnLCAxID0+ICdwaHAzJywgMiA9PiAncGh0bWwnXTsgcHJpdmF0ZSAkdmlzaWJpbGl0eSA9IFswID0+ICdwdWJsaWMnLCAxID0+ICdwcm90ZWN0ZWQnLCAyID0+ICdwcml2YXRlJ107IHByaXZhdGUgJGRlZmF1bHRQYWNrYWdlTmFtZSA9ICdBcHBsaWNhdGlvbic7IHByaXZhdGUgJGluY2x1ZGVTb3VyY2UgPSBGQUxTRTsgcHJpdmF0ZSAkbWFya2VycyA9IFswID0+ICdUT0RPJywgMSA9PiAnRklYTUUnXTsgcHJpdmF0ZSAkaWdub3JlVGFncyA9IFtdOyBwcml2YXRlICRleGFtcGxlcyA9IE5VTEw7IHByaXZhdGUgJGVuY29kaW5nID0gJ3V0Zi04JzsgcHJpdmF0ZSAkdmFsaWRhdGUgPSBGQUxTRSB9IH0gfSkgcGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3IvbGVhZ3VlL3BpcGVsaW5lL3NyYy9GaW5nZXJzQ3Jvc3NlZFByb2Nlc3Nvci5waHA6MTEKICAgIDEuODA5OSAgIDE4MjE3NjQ4ICAxNC4gTGVhZ3VlXFBpcGVsaW5lXFBpcGVsaW5lLT5wcm9jZXNzKCRwYXlsb2FkID0gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxQYXlsb2FkIHsgcHJpdmF0ZSAkY29uZmlnID0gWydwaHBkb2N1bWVudG9yJyA9PiBbJ2NvbmZpZ1ZlcnNpb24nID0+ICczJywgJ3RpdGxlJyA9PiAnRG9jdW1lbnRhdGlvbicsICd1c2UtY2FjaGUnID0+IFRSVUUsICdwYXRocycgPT4gWydvdXRwdXQnID0+IGNsYXNzIHBocERvY3VtZW50b3JcRHNuIHsgcHJpdmF0ZSAkZHNuID0gJy5waHBkb2MvYnVpbGQnOyBwcml2YXRlICR1cmkgPSBjbGFzcyBMZWFndWVcVXJpXFVyaSB7IC4uLiB9OyBwcml2YXRlICRwYXJhbWV0ZXJzID0gWy4uLl0gfSwgJ2NhY2hlJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhdGggeyBwcml2YXRlICRwYXRoID0gJy5waHBkb2MvY2FjaGUnIH1dLCAndmVyc2lvbnMnID0+IFsnMS4wLjAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcQ29uZmlndXJhdGlvblxWZXJzaW9uU3BlY2lmaWNhdGlvbiB7IHByaXZhdGUgJG51bWJlciA9ICcxLjAuMCc7IHB1YmxpYyAkYXBpID0gWy4uLl07IHB1YmxpYyAkZ3VpZGVzID0gWy4uLl0gfV0sICdzZXR0aW5ncycgPT4gW10sICd0ZW1wbGF0ZXMnID0+IFswID0+IFsnbmFtZScgPT4gJ2RlZmF1bHQnLCAncGFyYW1ldGVycycgPT4gWy4uLl1dXV1dOyBwcml2YXRlICRidWlsZGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXFByb2plY3REZXNjcmlwdG9yQnVpbGRlciB7IHByb3RlY3RlZCAkYXNzZW1ibGVyRmFjdG9yeSA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlckZhY3RvcnkgeyBwcm90ZWN0ZWQgJGFzc2VtYmxlcnMgPSBbMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXEZpbGVBc3NlbWJsZXIgeyAuLi4gfSB9LCAxID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcQ29uc3RhbnRBc3NlbWJsZXIgeyAuLi4gfSB9LCAyID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVHJhaXRBc3NlbWJsZXIgeyAuLi4gfSB9LCAzID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcQ2xhc3NBc3NlbWJsZXIgeyAuLi4gfSB9LCA0ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcRW51bUFzc2VtYmxlciB7IC4uLiB9IH0sIDUgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxFbnVtQ2FzZUFzc2VtYmxlciB7IC4uLiB9IH0sIDYgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxJbnRlcmZhY2VBc3NlbWJsZXIgeyAuLi4gfSB9LCA3ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcUHJvcGVydHlBc3NlbWJsZXIgeyAuLi4gfSB9LCA4ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcQXJndW1lbnRBc3NlbWJsZXIgeyAuLi4gfSB9LCA5ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcTWV0aG9kQXNzZW1ibGVyIHsgLi4uIH0gfSwgMTAgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxGdW5jdGlvbkFzc2VtYmxlciB7IC4uLiB9IH0sIDExID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcTmFtZXNwYWNlQXNzZW1ibGVyIHsgLi4uIH0gfSwgMTIgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXEF1dGhvckFzc2VtYmxlciB7IC4uLiB9IH0sIDEzID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xEZXByZWNhdGVkQXNzZW1ibGVyIHsgLi4uIH0gfSwgMTQgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXEV4YW1wbGVBc3NlbWJsZXIgeyAuLi4gfSB9LCAxNSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcTGlua0Fzc2VtYmxlciB7IC4uLiB9IH0sIDE2ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xNZXRob2RBc3NlbWJsZXIgeyAuLi4gfSB9LCAxNyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcUHJvcGVydHlBc3NlbWJsZXIgeyAuLi4gfSB9LCAxOCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcUHJvcGVydHlBc3NlbWJsZXIgeyAuLi4gfSB9LCAxOSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcUHJvcGVydHlBc3NlbWJsZXIgeyAuLi4gfSB9LCAyMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcSW52YWxpZFRhZ0Fzc2VtYmxlciB7IC4uLiB9IH0sIDIxID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xWYXJBc3NlbWJsZXIgeyAuLi4gfSB9LCAyMiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcUGFyYW1Bc3NlbWJsZXIgeyAuLi4gfSB9LCAyMyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcVGhyb3dzQXNzZW1ibGVyIHsgLi4uIH0gfSwgMjQgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXFJldHVybkFzc2VtYmxlciB7IC4uLiB9IH0sIDI1ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xVc2VzQXNzZW1ibGVyIHsgLi4uIH0gfSwgMjYgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXFNlZUFzc2VtYmxlciB7IC4uLiB9IH0sIDI3ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xTaW5jZUFzc2VtYmxlciB7IC4uLiB9IH0sIDI4ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xWZXJzaW9uQXNzZW1ibGVyIHsgLi4uIH0gfV07IHByb3RlY3RlZCAkZmFsbGJhY2tBc3NlbWJsZXJzID0gWzAgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXEdlbmVyaWNUYWdBc3NlbWJsZXIgeyAuLi4gfSB9XSB9OyBwcm90ZWN0ZWQgJGZpbHRlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxGaWx0ZXJcRmlsdGVyIHsgcHJpdmF0ZSAkcGlwZWxpbmUgPSBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyBwcml2YXRlICRzdGFnZXMgPSBbMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRmlsdGVyXFN0cmlwSWdub3JlIHsgLi4uIH0sIDEgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcElnbm9yZWRUYWdzIHsgLi4uIH0sIDIgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcEludGVybmFsIHsgLi4uIH0sIDMgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcE9uVmlzaWJpbGl0eSB7IC4uLiB9XTsgcHJpdmF0ZSAkcHJvY2Vzc29yID0gY2xhc3MgTGVhZ3VlXFBpcGVsaW5lXEludGVycnVwdGlibGVQcm9jZXNzb3IgeyBwcml2YXRlICRjaGVjayA9IGNsYXNzIENsb3N1cmUgeyB2aXJ0dWFsICRjbG9zdXJlID0gInBocERvY3VtZW50b3JcRGVzY3JpcHRvclxGaWx0ZXJcRmlsdGVyOjpwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRmlsdGVyXHtjbG9zdXJlfSIsIC4uLiB9IH0gfSB9OyBwcm90ZWN0ZWQgJHByb2plY3QgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcUHJvamVjdERlc2NyaXB0b3IgeyBwcml2YXRlICRuYW1lID0gJ0RvY3VtZW50YXRpb24nOyBwcml2YXRlICRuYW1lc3BhY2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcTmFtZXNwYWNlRGVzY3JpcHRvciB7IHByb3RlY3RlZCAkcGFyZW50ID0gTlVMTDsgcHJvdGVjdGVkICRjaGlsZHJlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkZnVuY3Rpb25zID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRjb25zdGFudHMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGNsYXNzZXMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGludGVyZmFjZXMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJHRyYWl0cyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByaXZhdGUgJGVudW1zID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRmcXNlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiB7IHByaXZhdGUgJGZxc2VuID0gJ1xcJzsgcHJpdmF0ZSAkbmFtZSA9ICcnIH07IHByb3RlY3RlZCAkbmFtZSA9ICdcXCc7IHByb3RlY3RlZCAkbmFtZXNwYWNlID0gJyc7IHByb3RlY3RlZCAkcGFja2FnZSA9IE5VTEw7IHByb3RlY3RlZCAkc3VtbWFyeSA9ICcnOyBwcm90ZWN0ZWQgJGRlc2NyaXB0aW9uID0gTlVMTDsgcHJvdGVjdGVkICRmaWxlRGVzY3JpcHRvciA9IE5VTEw7IHByb3RlY3RlZCAkbGluZSA9IDA7IHByb3RlY3RlZCAkdGFncyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkZXJyb3JzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRpbmhlcml0ZWRFbGVtZW50ID0gTlVMTCB9OyBwcml2YXRlICRwYWNrYWdlID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXFBhY2thZ2VEZXNjcmlwdG9yIHsgcHJvdGVjdGVkICRwYXJlbnQgPSBOVUxMOyBwcm90ZWN0ZWQgJGNoaWxkcmVuID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRmdW5jdGlvbnMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGNvbnN0YW50cyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkY2xhc3NlcyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkaW50ZXJmYWNlcyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkdHJhaXRzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJpdmF0ZSAke3BocERvY3VtZW50b3JcRGVzY3JpcHRvclxOYW1lc3BhY2VEZXNjcmlwdG9yfWVudW1zID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRmcXNlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiB7IHByaXZhdGUgJGZxc2VuID0gJ1xcJzsgcHJpdmF0ZSAkbmFtZSA9ICcnIH07IHByb3RlY3RlZCAkbmFtZSA9ICdcXCc7IHByb3RlY3RlZCAkbmFtZXNwYWNlID0gJyc7IHByb3RlY3RlZCAkcGFja2FnZSA9IE5VTEw7IHByb3RlY3RlZCAkc3VtbWFyeSA9ICcnOyBwcm90ZWN0ZWQgJGRlc2NyaXB0aW9uID0gTlVMTDsgcHJvdGVjdGVkICRmaWxlRGVzY3JpcHRvciA9IE5VTEw7IHByb3RlY3RlZCAkbGluZSA9IDA7IHByb3RlY3RlZCAkdGFncyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkZXJyb3JzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRpbmhlcml0ZWRFbGVtZW50ID0gTlVMTCB9OyBwcml2YXRlICRmaWxlcyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFtdIH07IHByaXZhdGUgJGluZGV4ZXMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbXSB9OyBwcml2YXRlICRzZXR0aW5ncyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxQcm9qZWN0RGVzY3JpcHRvclxTZXR0aW5ncyB7IHByaXZhdGUgJGlzTW9kaWZpZWQgPSBGQUxTRTsgcHJpdmF0ZSAkdmlzaWJpbGl0eSA9IDc7IHByaXZhdGUgJGluY2x1ZGVTb3VyY2UgPSBGQUxTRTsgcHJpdmF0ZSAkY3VzdG9tID0gW10gfTsgcHJpdmF0ZSAkcGFydGlhbHMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbXSB9OyBwcml2YXRlICR2ZXJzaW9ucyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFswID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxWZXJzaW9uRGVzY3JpcHRvciB7IC4uLiB9XSB9OyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxEb2NCbG9ja1xEZXNjcmlwdGlvbkRlc2NyaXB0b3IgeyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiB7IHByaXZhdGUgJGJvZHlUZW1wbGF0ZSA9ICcnOyBwcml2YXRlICR0YWdzID0gWy4uLl0gfTsgcHJpdmF0ZSAkaW5saW5lVGFncyA9IFtdIH0gfTsgcHJpdmF0ZSAkc2VydmljZXNXaXRoQ3VzdG9tU2V0dGluZ3MgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXEFyZ3VtZW50XFJld2luZGFibGVHZW5lcmF0b3IgeyBwcml2YXRlICRnZW5lcmF0b3IgPSBjbGFzcyBDbG9zdXJlIHsgdmlydHVhbCAkY2xvc3VyZSA9ICIkdGhpcy0+Q29udGFpbmVyWGZxMkhiM1x7Y2xvc3VyZX0iIH07IHByaXZhdGUgJGNvdW50ID0gMiB9OyBwcml2YXRlICRhcGlTcGVjaWZpY2F0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxDb25maWd1cmF0aW9uXEFwaVNwZWNpZmljYXRpb24geyBwcml2YXRlICRzb3VyY2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXENvbmZpZ3VyYXRpb25cU291cmNlIHsgcHJpdmF0ZSAkZHNuID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEc24geyBwcml2YXRlICRkc24gPSAnLic7IHByaXZhdGUgJHVyaSA9IGNsYXNzIExlYWd1ZVxVcmlcVXJpIHsgLi4uIH07IHByaXZhdGUgJHBhcmFtZXRlcnMgPSBbLi4uXSB9OyBwcml2YXRlICRwYXRocyA9IFswID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGF0aCB7IC4uLiB9XSB9OyBwcml2YXRlICRvdXRwdXQgPSAnLic7IHByaXZhdGUgJGlnbm9yZSA9IFsnaGlkZGVuJyA9PiBUUlVFLCAnc3ltbGlua3MnID0+IFRSVUUsICdwYXRocycgPT4gW11dOyBwcml2YXRlICRleHRlbnNpb25zID0gWzAgPT4gJ3BocCcsIDEgPT4gJ3BocDMnLCAyID0+ICdwaHRtbCddOyBwcml2YXRlICR2aXNpYmlsaXR5ID0gWzAgPT4gJ3B1YmxpYycsIDEgPT4gJ3Byb3RlY3RlZCcsIDIgPT4gJ3ByaXZhdGUnXTsgcHJpdmF0ZSAkZGVmYXVsdFBhY2thZ2VOYW1lID0gJ0FwcGxpY2F0aW9uJzsgcHJpdmF0ZSAkaW5jbHVkZVNvdXJjZSA9IEZBTFNFOyBwcml2YXRlICRtYXJrZXJzID0gWzAgPT4gJ1RPRE8nLCAxID0+ICdGSVhNRSddOyBwcml2YXRlICRpZ25vcmVUYWdzID0gW107IHByaXZhdGUgJGV4YW1wbGVzID0gTlVMTDsgcHJpdmF0ZSAkZW5jb2RpbmcgPSAndXRmLTgnOyBwcml2YXRlICR2YWxpZGF0ZSA9IEZBTFNFIH0gfSB9KSBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9sZWFndWUvcGlwZWxpbmUvc3JjL1BpcGVsaW5lLnBocDozOQogICAgMS44MTAyICAgMTgyMTc2NDggIDE1LiBMZWFndWVcUGlwZWxpbmVcRmluZ2Vyc0Nyb3NzZWRQcm9jZXNzb3ItPnByb2Nlc3MoJHBheWxvYWQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBheWxvYWQgeyBwcml2YXRlICRjb25maWcgPSBbJ3BocGRvY3VtZW50b3InID0+IFsnY29uZmlnVmVyc2lvbicgPT4gJzMnLCAndGl0bGUnID0+ICdEb2N1bWVudGF0aW9uJywgJ3VzZS1jYWNoZScgPT4gVFJVRSwgJ3BhdGhzJyA9PiBbJ291dHB1dCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEc24geyBwcml2YXRlICRkc24gPSAnLnBocGRvYy9idWlsZCc7IHByaXZhdGUgJHVyaSA9IGNsYXNzIExlYWd1ZVxVcmlcVXJpIHsgLi4uIH07IHByaXZhdGUgJHBhcmFtZXRlcnMgPSBbLi4uXSB9LCAnY2FjaGUnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGF0aCB7IHByaXZhdGUgJHBhdGggPSAnLnBocGRvYy9jYWNoZScgfV0sICd2ZXJzaW9ucycgPT4gWycxLjAuMCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxDb25maWd1cmF0aW9uXFZlcnNpb25TcGVjaWZpY2F0aW9uIHsgcHJpdmF0ZSAkbnVtYmVyID0gJzEuMC4wJzsgcHVibGljICRhcGkgPSBbLi4uXTsgcHVibGljICRndWlkZXMgPSBbLi4uXSB9XSwgJ3NldHRpbmdzJyA9PiBbXSwgJ3RlbXBsYXRlcycgPT4gWzAgPT4gWyduYW1lJyA9PiAnZGVmYXVsdCcsICdwYXJhbWV0ZXJzJyA9PiBbLi4uXV1dXV07IHByaXZhdGUgJGJ1aWxkZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcUHJvamVjdERlc2NyaXB0b3JCdWlsZGVyIHsgcHJvdGVjdGVkICRhc3NlbWJsZXJGYWN0b3J5ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyRmFjdG9yeSB7IHByb3RlY3RlZCAkYXNzZW1ibGVycyA9IFswID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcRmlsZUFzc2VtYmxlciB7IC4uLiB9IH0sIDEgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxDb25zdGFudEFzc2VtYmxlciB7IC4uLiB9IH0sIDIgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUcmFpdEFzc2VtYmxlciB7IC4uLiB9IH0sIDMgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxDbGFzc0Fzc2VtYmxlciB7IC4uLiB9IH0sIDQgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxFbnVtQXNzZW1ibGVyIHsgLi4uIH0gfSwgNSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXEVudW1DYXNlQXNzZW1ibGVyIHsgLi4uIH0gfSwgNiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXEludGVyZmFjZUFzc2VtYmxlciB7IC4uLiB9IH0sIDcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxQcm9wZXJ0eUFzc2VtYmxlciB7IC4uLiB9IH0sIDggPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxBcmd1bWVudEFzc2VtYmxlciB7IC4uLiB9IH0sIDkgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxNZXRob2RBc3NlbWJsZXIgeyAuLi4gfSB9LCAxMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXEZ1bmN0aW9uQXNzZW1ibGVyIHsgLi4uIH0gfSwgMTEgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxOYW1lc3BhY2VBc3NlbWJsZXIgeyAuLi4gfSB9LCAxMiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcQXV0aG9yQXNzZW1ibGVyIHsgLi4uIH0gfSwgMTMgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXERlcHJlY2F0ZWRBc3NlbWJsZXIgeyAuLi4gfSB9LCAxNCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcRXhhbXBsZUFzc2VtYmxlciB7IC4uLiB9IH0sIDE1ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xMaW5rQXNzZW1ibGVyIHsgLi4uIH0gfSwgMTYgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXE1ldGhvZEFzc2VtYmxlciB7IC4uLiB9IH0sIDE3ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xQcm9wZXJ0eUFzc2VtYmxlciB7IC4uLiB9IH0sIDE4ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xQcm9wZXJ0eUFzc2VtYmxlciB7IC4uLiB9IH0sIDE5ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xQcm9wZXJ0eUFzc2VtYmxlciB7IC4uLiB9IH0sIDIwID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xJbnZhbGlkVGFnQXNzZW1ibGVyIHsgLi4uIH0gfSwgMjEgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXFZhckFzc2VtYmxlciB7IC4uLiB9IH0sIDIyID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xQYXJhbUFzc2VtYmxlciB7IC4uLiB9IH0sIDIzID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xUaHJvd3NBc3NlbWJsZXIgeyAuLi4gfSB9LCAyNCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcUmV0dXJuQXNzZW1ibGVyIHsgLi4uIH0gfSwgMjUgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXFVzZXNBc3NlbWJsZXIgeyAuLi4gfSB9LCAyNiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcU2VlQXNzZW1ibGVyIHsgLi4uIH0gfSwgMjcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXFNpbmNlQXNzZW1ibGVyIHsgLi4uIH0gfSwgMjggPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXFZlcnNpb25Bc3NlbWJsZXIgeyAuLi4gfSB9XTsgcHJvdGVjdGVkICRmYWxsYmFja0Fzc2VtYmxlcnMgPSBbMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcR2VuZXJpY1RhZ0Fzc2VtYmxlciB7IC4uLiB9IH1dIH07IHByb3RlY3RlZCAkZmlsdGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxGaWx0ZXIgeyBwcml2YXRlICRwaXBlbGluZSA9IGNsYXNzIExlYWd1ZVxQaXBlbGluZVxQaXBlbGluZSB7IHByaXZhdGUgJHN0YWdlcyA9IFswID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxGaWx0ZXJcU3RyaXBJZ25vcmUgeyAuLi4gfSwgMSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRmlsdGVyXFN0cmlwSWdub3JlZFRhZ3MgeyAuLi4gfSwgMiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRmlsdGVyXFN0cmlwSW50ZXJuYWwgeyAuLi4gfSwgMyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRmlsdGVyXFN0cmlwT25WaXNpYmlsaXR5IHsgLi4uIH1dOyBwcml2YXRlICRwcm9jZXNzb3IgPSBjbGFzcyBMZWFndWVcUGlwZWxpbmVcSW50ZXJydXB0aWJsZVByb2Nlc3NvciB7IHByaXZhdGUgJGNoZWNrID0gY2xhc3MgQ2xvc3VyZSB7IHZpcnR1YWwgJGNsb3N1cmUgPSAicGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxGaWx0ZXI6OnBocERvY3VtZW50b3JcRGVzY3JpcHRvclxGaWx0ZXJce2Nsb3N1cmV9IiwgLi4uIH0gfSB9IH07IHByb3RlY3RlZCAkcHJvamVjdCA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxQcm9qZWN0RGVzY3JpcHRvciB7IHByaXZhdGUgJG5hbWUgPSAnRG9jdW1lbnRhdGlvbic7IHByaXZhdGUgJG5hbWVzcGFjZSA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxOYW1lc3BhY2VEZXNjcmlwdG9yIHsgcHJvdGVjdGVkICRwYXJlbnQgPSBOVUxMOyBwcm90ZWN0ZWQgJGNoaWxkcmVuID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRmdW5jdGlvbnMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGNvbnN0YW50cyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkY2xhc3NlcyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkaW50ZXJmYWNlcyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkdHJhaXRzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJpdmF0ZSAkZW51bXMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGZxc2VuID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIHsgcHJpdmF0ZSAkZnFzZW4gPSAnXFwnOyBwcml2YXRlICRuYW1lID0gJycgfTsgcHJvdGVjdGVkICRuYW1lID0gJ1xcJzsgcHJvdGVjdGVkICRuYW1lc3BhY2UgPSAnJzsgcHJvdGVjdGVkICRwYWNrYWdlID0gTlVMTDsgcHJvdGVjdGVkICRzdW1tYXJ5ID0gJyc7IHByb3RlY3RlZCAkZGVzY3JpcHRpb24gPSBOVUxMOyBwcm90ZWN0ZWQgJGZpbGVEZXNjcmlwdG9yID0gTlVMTDsgcHJvdGVjdGVkICRsaW5lID0gMDsgcHJvdGVjdGVkICR0YWdzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRlcnJvcnMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGluaGVyaXRlZEVsZW1lbnQgPSBOVUxMIH07IHByaXZhdGUgJHBhY2thZ2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcUGFja2FnZURlc2NyaXB0b3IgeyBwcm90ZWN0ZWQgJHBhcmVudCA9IE5VTEw7IHByb3RlY3RlZCAkY2hpbGRyZW4gPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGZ1bmN0aW9ucyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkY29uc3RhbnRzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRjbGFzc2VzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRpbnRlcmZhY2VzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICR0cmFpdHMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcml2YXRlICR7cGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXE5hbWVzcGFjZURlc2NyaXB0b3J9ZW51bXMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGZxc2VuID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIHsgcHJpdmF0ZSAkZnFzZW4gPSAnXFwnOyBwcml2YXRlICRuYW1lID0gJycgfTsgcHJvdGVjdGVkICRuYW1lID0gJ1xcJzsgcHJvdGVjdGVkICRuYW1lc3BhY2UgPSAnJzsgcHJvdGVjdGVkICRwYWNrYWdlID0gTlVMTDsgcHJvdGVjdGVkICRzdW1tYXJ5ID0gJyc7IHByb3RlY3RlZCAkZGVzY3JpcHRpb24gPSBOVUxMOyBwcm90ZWN0ZWQgJGZpbGVEZXNjcmlwdG9yID0gTlVMTDsgcHJvdGVjdGVkICRsaW5lID0gMDsgcHJvdGVjdGVkICR0YWdzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRlcnJvcnMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGluaGVyaXRlZEVsZW1lbnQgPSBOVUxMIH07IHByaXZhdGUgJGZpbGVzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gW10gfTsgcHJpdmF0ZSAkaW5kZXhlcyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFtdIH07IHByaXZhdGUgJHNldHRpbmdzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXFByb2plY3REZXNjcmlwdG9yXFNldHRpbmdzIHsgcHJpdmF0ZSAkaXNNb2RpZmllZCA9IEZBTFNFOyBwcml2YXRlICR2aXNpYmlsaXR5ID0gNzsgcHJpdmF0ZSAkaW5jbHVkZVNvdXJjZSA9IEZBTFNFOyBwcml2YXRlICRjdXN0b20gPSBbXSB9OyBwcml2YXRlICRwYXJ0aWFscyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFtdIH07IHByaXZhdGUgJHZlcnNpb25zID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWzAgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXFZlcnNpb25EZXNjcmlwdG9yIHsgLi4uIH1dIH07IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXERvY0Jsb2NrXERlc2NyaXB0aW9uRGVzY3JpcHRvciB7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIHsgcHJpdmF0ZSAkYm9keVRlbXBsYXRlID0gJyc7IHByaXZhdGUgJHRhZ3MgPSBbLi4uXSB9OyBwcml2YXRlICRpbmxpbmVUYWdzID0gW10gfSB9OyBwcml2YXRlICRzZXJ2aWNlc1dpdGhDdXN0b21TZXR0aW5ncyA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XERlcGVuZGVuY3lJbmplY3Rpb25cQXJndW1lbnRcUmV3aW5kYWJsZUdlbmVyYXRvciB7IHByaXZhdGUgJGdlbmVyYXRvciA9IGNsYXNzIENsb3N1cmUgeyB2aXJ0dWFsICRjbG9zdXJlID0gIiR0aGlzLT5Db250YWluZXJYZnEySGIzXHtjbG9zdXJlfSIgfTsgcHJpdmF0ZSAkY291bnQgPSAyIH07IHByaXZhdGUgJGFwaVNwZWNpZmljYXRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXENvbmZpZ3VyYXRpb25cQXBpU3BlY2lmaWNhdGlvbiB7IHByaXZhdGUgJHNvdXJjZSA9IGNsYXNzIHBocERvY3VtZW50b3JcQ29uZmlndXJhdGlvblxTb3VyY2UgeyBwcml2YXRlICRkc24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXERzbiB7IHByaXZhdGUgJGRzbiA9ICcuJzsgcHJpdmF0ZSAkdXJpID0gY2xhc3MgTGVhZ3VlXFVyaVxVcmkgeyAuLi4gfTsgcHJpdmF0ZSAkcGFyYW1ldGVycyA9IFsuLi5dIH07IHByaXZhdGUgJHBhdGhzID0gWzAgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXRoIHsgLi4uIH1dIH07IHByaXZhdGUgJG91dHB1dCA9ICcuJzsgcHJpdmF0ZSAkaWdub3JlID0gWydoaWRkZW4nID0+IFRSVUUsICdzeW1saW5rcycgPT4gVFJVRSwgJ3BhdGhzJyA9PiBbXV07IHByaXZhdGUgJGV4dGVuc2lvbnMgPSBbMCA9PiAncGhwJywgMSA9PiAncGhwMycsIDIgPT4gJ3BodG1sJ107IHByaXZhdGUgJHZpc2liaWxpdHkgPSBbMCA9PiAncHVibGljJywgMSA9PiAncHJvdGVjdGVkJywgMiA9PiAncHJpdmF0ZSddOyBwcml2YXRlICRkZWZhdWx0UGFja2FnZU5hbWUgPSAnQXBwbGljYXRpb24nOyBwcml2YXRlICRpbmNsdWRlU291cmNlID0gRkFMU0U7IHByaXZhdGUgJG1hcmtlcnMgPSBbMCA9PiAnVE9ETycsIDEgPT4gJ0ZJWE1FJ107IHByaXZhdGUgJGlnbm9yZVRhZ3MgPSBbXTsgcHJpdmF0ZSAkZXhhbXBsZXMgPSBOVUxMOyBwcml2YXRlICRlbmNvZGluZyA9ICd1dGYtOCc7IHByaXZhdGUgJHZhbGlkYXRlID0gRkFMU0UgfSB9IH0sIC4uLiRzdGFnZXMgPSB2YXJpYWRpYyhjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBhcnNlclxUcmFuc2Zvcm1Ub1BhcnNlclBheWxvYWQgeyAgfSwgY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxQYXJzZXJcQ29sbGVjdEZpbGVzIHsgcHJpdmF0ZSAkZmlsZUNvbGxlY3RvciA9IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUNvbGxlY3RvciB7IHByaXZhdGUgJHNwZWNpZmljYXRpb25GYWN0b3J5ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcU3BlY2lmaWNhdGlvbkZhY3RvcnkgeyAgfTsgcHJpdmF0ZSAkZmx5U3lzdGVtRmFjdG9yeSA9IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZhY3RvcnkgeyBwcml2YXRlICRtb3VudE1hbmFnZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXE1vdW50TWFuYWdlciB7IHByb3RlY3RlZCAkZmlsZXN5c3RlbXMgPSBbJzUwNThmMWFmODM4ODYzM2Y2MDljYWRiNzVhNzVkYzlkJyA9PiBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyAuLi4gfV07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFtdIH0gfSB9OyBwcml2YXRlICRsb2dnZXIgPSBjbGFzcyBTeW1mb255XEJyaWRnZVxNb25vbG9nXExvZ2dlciB7IHByb3RlY3RlZCAkbmFtZSA9ICdhcHAnOyBwcm90ZWN0ZWQgJGhhbmRsZXJzID0gWzAgPT4gY2xhc3MgU3ltZm9ueVxCcmlkZ2VcTW9ub2xvZ1xIYW5kbGVyXENvbnNvbGVIYW5kbGVyIHsgcHJpdmF0ZSAkb3V0cHV0ID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcU3RyZWFtT3V0cHV0IHsgcHJpdmF0ZSAkc3RyZWFtID0gcmVzb3VyY2UoMTU5KSBvZiB0eXBlIChzdHJlYW0pOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcT3V0cHV0fXZlcmJvc2l0eSA9IDMyOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcT3V0cHV0fWZvcm1hdHRlciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlciB7IC4uLiB9IH07IHByaXZhdGUgJHZlcmJvc2l0eUxldmVsTWFwID0gWzMyID0+IDQwMCwgNjQgPT4gMjUwLCAxMjggPT4gMjAwLCAyNTYgPT4gMTAwLCAxNiA9PiA0MDBdOyBwcml2YXRlICRjb25zb2xlRm9ybWF0dGVyT3B0aW9ucyA9IFtdOyBwcm90ZWN0ZWQgJGxldmVsID0gNDAwOyBwcm90ZWN0ZWQgJGJ1YmJsZSA9IFRSVUU7IHByb3RlY3RlZCAkcHJvY2Vzc29ycyA9IFtdOyBwcm90ZWN0ZWQgJGZvcm1hdHRlciA9IE5VTEwgfV07IHByb3RlY3RlZCAkcHJvY2Vzc29ycyA9IFtdOyBwcm90ZWN0ZWQgJG1pY3Jvc2Vjb25kVGltZXN0YW1wcyA9IFRSVUU7IHByb3RlY3RlZCAkdGltZXpvbmUgPSBjbGFzcyBEYXRlVGltZVpvbmUgeyBwdWJsaWMgJHRpbWV6b25lX3R5cGUgPSAzOyBwdWJsaWMgJHRpbWV6b25lID0gJ0FzaWEvU2hhbmdoYWknIH07IHByb3RlY3RlZCAkZXhjZXB0aW9uSGFuZGxlciA9IE5VTEwgfSB9LCBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXEdhcmJhZ2VDb2xsZWN0Q2FjaGUgeyBwcml2YXRlICRkZXNjcmlwdG9yTWFwcGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENhY2hlXFByb2plY3REZXNjcmlwdG9yTWFwcGVyIHsgcHJpdmF0ZSAkY2FjaGUgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxDYWNoZVxGaWxlc3lzdGVtQWRhcHRlciB7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1uYW1lc3BhY2UgPSAnZ0ZGQkMrSkI0SDonOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9ZGVmYXVsdExpZmV0aW1lID0gMzE1NTY5MjY7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1uYW1lc3BhY2VWZXJzaW9uID0gJyc7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn12ZXJzaW9uaW5nSXNFbmFibGVkID0gRkFMU0U7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1kZWZlcnJlZCA9IFtdOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9aWRzID0gWydwaHBEb2N1bWVudG9yLXByb2plY3REZXNjcmlwdG9yLWZpbGVsaXN0JyA9PiAncGhwRG9jdW1lbnRvci1wcm9qZWN0RGVzY3JpcHRvci1maWxlbGlzdCcsICdwaHBEb2N1bWVudG9yLXByb2plY3REZXNjcmlwdG9yLXNldHRpbmdzJyA9PiAncGhwRG9jdW1lbnRvci1wcm9qZWN0RGVzY3JpcHRvci1zZXR0aW5ncyddOyBwcm90ZWN0ZWQgJG1heElkTGVuZ3RoID0gTlVMTDsgcHJvdGVjdGVkICRsb2dnZXIgPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9Y2FsbGJhY2tXcmFwcGVyID0gWzAgPT4gJ1N5bWZvbnlcXENvbXBvbmVudFxcQ2FjaGVcXExvY2tSZWdpc3RyeScsIDEgPT4gJ2NvbXB1dGUnXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfWNvbXB1dGluZyA9IFtdOyBwcml2YXRlICRtYXJzaGFsbGVyID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcTWFyc2hhbGxlclxEZWZhdWx0TWFyc2hhbGxlciB7IHByaXZhdGUgJHVzZUlnYmluYXJ5U2VyaWFsaXplID0gRkFMU0UgfTsgcHJpdmF0ZSAkZGlyZWN0b3J5ID0gJ0c6XFxHaXRodWJcXHBocGRvYy10ZXN0XFwucGhwZG9jXFxjYWNoZVxcZGVzY3JpcHRvcnNcXCc7IHByaXZhdGUgJHRtcCA9IE5VTEwgfSB9IH0sIGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcTG9hZFByb2plY3REZXNjcmlwdG9yRnJvbUNhY2hlIHsgcHJpdmF0ZSAkZGVzY3JpcHRvck1hcHBlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDYWNoZVxQcm9qZWN0RGVzY3JpcHRvck1hcHBlciB7IHByaXZhdGUgJGNhY2hlID0gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcQ2FjaGVcRmlsZXN5c3RlbUFkYXB0ZXIgeyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9bmFtZXNwYWNlID0gJ2dGRkJDK0pCNEg6JzsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfWRlZmF1bHRMaWZldGltZSA9IDMxNTU2OTI2OyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9bmFtZXNwYWNlVmVyc2lvbiA9ICcnOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9dmVyc2lvbmluZ0lzRW5hYmxlZCA9IEZBTFNFOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9ZGVmZXJyZWQgPSBbXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfWlkcyA9IFsncGhwRG9jdW1lbnRvci1wcm9qZWN0RGVzY3JpcHRvci1maWxlbGlzdCcgPT4gJ3BocERvY3VtZW50b3ItcHJvamVjdERlc2NyaXB0b3ItZmlsZWxpc3QnLCAncGhwRG9jdW1lbnRvci1wcm9qZWN0RGVzY3JpcHRvci1zZXR0aW5ncycgPT4gJ3BocERvY3VtZW50b3ItcHJvamVjdERlc2NyaXB0b3Itc2V0dGluZ3MnXTsgcHJvdGVjdGVkICRtYXhJZExlbmd0aCA9IE5VTEw7IHByb3RlY3RlZCAkbG9nZ2VyID0gTlVMTDsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfWNhbGxiYWNrV3JhcHBlciA9IFswID0+ICdTeW1mb255XFxDb21wb25lbnRcXENhY2hlXFxMb2NrUmVnaXN0cnknLCAxID0+ICdjb21wdXRlJ107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1jb21wdXRpbmcgPSBbXTsgcHJpdmF0ZSAkbWFyc2hhbGxlciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENhY2hlXE1hcnNoYWxsZXJcRGVmYXVsdE1hcnNoYWxsZXIgeyBwcml2YXRlICR1c2VJZ2JpbmFyeVNlcmlhbGl6ZSA9IEZBTFNFIH07IHByaXZhdGUgJGRpcmVjdG9yeSA9ICdHOlxcR2l0aHViXFxwaHBkb2MtdGVzdFxcLnBocGRvY1xcY2FjaGVcXGRlc2NyaXB0b3JzXFwnOyBwcml2YXRlICR0bXAgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkbG9nZ2VyID0gY2xhc3MgU3ltZm9ueVxCcmlkZ2VcTW9ub2xvZ1xMb2dnZXIgeyBwcm90ZWN0ZWQgJG5hbWUgPSAnYXBwJzsgcHJvdGVjdGVkICRoYW5kbGVycyA9IFswID0+IGNsYXNzIFN5bWZvbnlcQnJpZGdlXE1vbm9sb2dcSGFuZGxlclxDb25zb2xlSGFuZGxlciB7IHByaXZhdGUgJG91dHB1dCA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XFN0cmVhbU91dHB1dCB7IHByaXZhdGUgJHN0cmVhbSA9IHJlc291cmNlKDE1OSkgb2YgdHlwZSAoc3RyZWFtKTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XE91dHB1dH12ZXJib3NpdHkgPSAzMjsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XE91dHB1dH1mb3JtYXR0ZXIgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXIgeyAuLi4gfSB9OyBwcml2YXRlICR2ZXJib3NpdHlMZXZlbE1hcCA9IFszMiA9PiA0MDAsIDY0ID0+IDI1MCwgMTI4ID0+IDIwMCwgMjU2ID0+IDEwMCwgMTYgPT4gNDAwXTsgcHJpdmF0ZSAkY29uc29sZUZvcm1hdHRlck9wdGlvbnMgPSBbXTsgcHJvdGVjdGVkICRsZXZlbCA9IDQwMDsgcHJvdGVjdGVkICRidWJibGUgPSBUUlVFOyBwcm90ZWN0ZWQgJHByb2Nlc3NvcnMgPSBbXTsgcHJvdGVjdGVkICRmb3JtYXR0ZXIgPSBOVUxMIH1dOyBwcm90ZWN0ZWQgJHByb2Nlc3NvcnMgPSBbXTsgcHJvdGVjdGVkICRtaWNyb3NlY29uZFRpbWVzdGFtcHMgPSBUUlVFOyBwcm90ZWN0ZWQgJHRpbWV6b25lID0gY2xhc3MgRGF0ZVRpbWVab25lIHsgcHVibGljICR0aW1lem9uZV90eXBlID0gMzsgcHVibGljICR0aW1lem9uZSA9ICdBc2lhL1NoYW5naGFpJyB9OyBwcm90ZWN0ZWQgJGV4Y2VwdGlvbkhhbmRsZXIgPSBOVUxMIH0gfSwgY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxDYWNoZVxMb2FkR3VpZGVzRnJvbUNhY2hlIHsgcHJpdmF0ZSAkbG9nZ2VyID0gY2xhc3MgU3ltZm9ueVxCcmlkZ2VcTW9ub2xvZ1xMb2dnZXIgeyBwcm90ZWN0ZWQgJG5hbWUgPSAnYXBwJzsgcHJvdGVjdGVkICRoYW5kbGVycyA9IFswID0+IGNsYXNzIFN5bWZvbnlcQnJpZGdlXE1vbm9sb2dcSGFuZGxlclxDb25zb2xlSGFuZGxlciB7IHByaXZhdGUgJG91dHB1dCA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XFN0cmVhbU91dHB1dCB7IHByaXZhdGUgJHN0cmVhbSA9IHJlc291cmNlKDE1OSkgb2YgdHlwZSAoc3RyZWFtKTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XE91dHB1dH12ZXJib3NpdHkgPSAzMjsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XE91dHB1dH1mb3JtYXR0ZXIgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXIgeyAuLi4gfSB9OyBwcml2YXRlICR2ZXJib3NpdHlMZXZlbE1hcCA9IFszMiA9PiA0MDAsIDY0ID0+IDI1MCwgMTI4ID0+IDIwMCwgMjU2ID0+IDEwMCwgMTYgPT4gNDAwXTsgcHJpdmF0ZSAkY29uc29sZUZvcm1hdHRlck9wdGlvbnMgPSBbXTsgcHJvdGVjdGVkICRsZXZlbCA9IDQwMDsgcHJvdGVjdGVkICRidWJibGUgPSBUUlVFOyBwcm90ZWN0ZWQgJHByb2Nlc3NvcnMgPSBbXTsgcHJvdGVjdGVkICRmb3JtYXR0ZXIgPSBOVUxMIH1dOyBwcm90ZWN0ZWQgJHByb2Nlc3NvcnMgPSBbXTsgcHJvdGVjdGVkICRtaWNyb3NlY29uZFRpbWVzdGFtcHMgPSBUUlVFOyBwcm90ZWN0ZWQgJHRpbWV6b25lID0gY2xhc3MgRGF0ZVRpbWVab25lIHsgcHVibGljICR0aW1lem9uZV90eXBlID0gMzsgcHVibGljICR0aW1lem9uZSA9ICdBc2lhL1NoYW5naGFpJyB9OyBwcm90ZWN0ZWQgJGV4Y2VwdGlvbkhhbmRsZXIgPSBOVUxMIH07IHByaXZhdGUgJGNvbW1hbmRCdXMgPSBjbGFzcyBMZWFndWVcVGFjdGljaWFuXENvbW1hbmRCdXMgeyBwcml2YXRlICRtaWRkbGV3YXJlQ2hhaW4gPSBjbGFzcyBDbG9zdXJlIHsgdmlydHVhbCAkY2xvc3VyZSA9ICIkdGhpcy0+TGVhZ3VlXFRhY3RpY2lhblx7Y2xvc3VyZX0iIH0gfSB9LCBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXFBhcnNlclxQYXJzZUZpbGVzIHsgcHJpdmF0ZSAkcGFyc2VyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcUGFyc2VyIHsgcHJpdmF0ZSAkZGVmYXVsdFBhY2thZ2VOYW1lID0gJ0FwcGxpY2F0aW9uJzsgcHJpdmF0ZSAkdmFsaWRhdGUgPSBGQUxTRTsgcHJpdmF0ZSAkbWFya2VycyA9IFswID0+ICdUT0RPJywgMSA9PiAnRklYTUUnXTsgcHJpdmF0ZSAkcGF0aCA9ICcnOyBwcml2YXRlICRsb2dnZXIgPSBjbGFzcyBTeW1mb255XEJyaWRnZVxNb25vbG9nXExvZ2dlciB7IHByb3RlY3RlZCAkbmFtZSA9ICdhcHAnOyBwcm90ZWN0ZWQgJGhhbmRsZXJzID0gWzAgPT4gY2xhc3MgU3ltZm9ueVxCcmlkZ2VcTW9ub2xvZ1xIYW5kbGVyXENvbnNvbGVIYW5kbGVyIHsgcHJpdmF0ZSAkb3V0cHV0ID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcU3RyZWFtT3V0cHV0IHsgLi4uIH07IHByaXZhdGUgJHZlcmJvc2l0eUxldmVsTWFwID0gWy4uLl07IHByaXZhdGUgJGNvbnNvbGVGb3JtYXR0ZXJPcHRpb25zID0gWy4uLl07IHByb3RlY3RlZCAkbGV2ZWwgPSA0MDA7IHByb3RlY3RlZCAkYnViYmxlID0gVFJVRTsgcHJvdGVjdGVkICRwcm9jZXNzb3JzID0gWy4uLl07IHByb3RlY3RlZCAkZm9ybWF0dGVyID0gTlVMTCB9XTsgcHJvdGVjdGVkICRwcm9jZXNzb3JzID0gW107IHByb3RlY3RlZCAkbWljcm9zZWNvbmRUaW1lc3RhbXBzID0gVFJVRTsgcHJvdGVjdGVkICR0aW1lem9uZSA9IGNsYXNzIERhdGVUaW1lWm9uZSB7IHB1YmxpYyAkdGltZXpvbmVfdHlwZSA9IDM7IHB1YmxpYyAkdGltZXpvbmUgPSAnQXNpYS9TaGFuZ2hhaScgfTsgcHJvdGVjdGVkICRleGNlcHRpb25IYW5kbGVyID0gTlVMTCB9OyBwcml2YXRlICRlbmNvZGluZyA9ICd1dGYtOCc7IHByaXZhdGUgJHN0b3B3YXRjaCA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XFN0b3B3YXRjaFxTdG9wd2F0Y2ggeyBwcml2YXRlICRtb3JlUHJlY2lzaW9uID0gVFJVRTsgcHJpdmF0ZSAkc2VjdGlvbnMgPSBbJ19fcm9vdF9fJyA9PiBjbGFzcyBTeW1mb255XENvbXBvbmVudFxTdG9wd2F0Y2hcU2VjdGlvbiB7IHByaXZhdGUgJGV2ZW50cyA9IFsuLi5dOyBwcml2YXRlICRvcmlnaW4gPSBOVUxMOyBwcml2YXRlICRtb3JlUHJlY2lzaW9uID0gVFJVRTsgcHJpdmF0ZSAkaWQgPSBOVUxMOyBwcml2YXRlICRjaGlsZHJlbiA9IFsuLi5dIH1dOyBwcml2YXRlICRhY3RpdmVTZWN0aW9ucyA9IFsnX19yb290X18nID0+IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XFN0b3B3YXRjaFxTZWN0aW9uIHsgcHJpdmF0ZSAkZXZlbnRzID0gWy4uLl07IHByaXZhdGUgJG9yaWdpbiA9IE5VTEw7IHByaXZhdGUgJG1vcmVQcmVjaXNpb24gPSBUUlVFOyBwcml2YXRlICRpZCA9IE5VTEw7IHByaXZhdGUgJGNoaWxkcmVuID0gWy4uLl0gfV0gfTsgcHJpdmF0ZSAkcHJvamVjdEZhY3RvcnkgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb2plY3RGYWN0b3J5IHsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdEZhY3RvcnlTdHJhdGVnaWVzIHsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIFNwbFByaW9yaXR5UXVldWUgeyAgfSB9IH0gfTsgcHJpdmF0ZSAkbG9nZ2VyID0gY2xhc3MgU3ltZm9ueVxCcmlkZ2VcTW9ub2xvZ1xMb2dnZXIgeyBwcm90ZWN0ZWQgJG5hbWUgPSAnYXBwJzsgcHJvdGVjdGVkICRoYW5kbGVycyA9IFswID0+IGNsYXNzIFN5bWZvbnlcQnJpZGdlXE1vbm9sb2dcSGFuZGxlclxDb25zb2xlSGFuZGxlciB7IHByaXZhdGUgJG91dHB1dCA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XFN0cmVhbU91dHB1dCB7IHByaXZhdGUgJHN0cmVhbSA9IHJlc291cmNlKDE1OSkgb2YgdHlwZSAoc3RyZWFtKTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XE91dHB1dH12ZXJib3NpdHkgPSAzMjsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcT3V0cHV0XE91dHB1dH1mb3JtYXR0ZXIgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXEZvcm1hdHRlclxPdXRwdXRGb3JtYXR0ZXIgeyAuLi4gfSB9OyBwcml2YXRlICR2ZXJib3NpdHlMZXZlbE1hcCA9IFszMiA9PiA0MDAsIDY0ID0+IDI1MCwgMTI4ID0+IDIwMCwgMjU2ID0+IDEwMCwgMTYgPT4gNDAwXTsgcHJpdmF0ZSAkY29uc29sZUZvcm1hdHRlck9wdGlvbnMgPSBbXTsgcHJvdGVjdGVkICRsZXZlbCA9IDQwMDsgcHJvdGVjdGVkICRidWJibGUgPSBUUlVFOyBwcm90ZWN0ZWQgJHByb2Nlc3NvcnMgPSBbXTsgcHJvdGVjdGVkICRmb3JtYXR0ZXIgPSBOVUxMIH1dOyBwcm90ZWN0ZWQgJHByb2Nlc3NvcnMgPSBbXTsgcHJvdGVjdGVkICRtaWNyb3NlY29uZFRpbWVzdGFtcHMgPSBUUlVFOyBwcm90ZWN0ZWQgJHRpbWV6b25lID0gY2xhc3MgRGF0ZVRpbWVab25lIHsgcHVibGljICR0aW1lem9uZV90eXBlID0gMzsgcHVibGljICR0aW1lem9uZSA9ICdBc2lhL1NoYW5naGFpJyB9OyBwcm90ZWN0ZWQgJGV4Y2VwdGlvbkhhbmRsZXIgPSBOVUxMIH07IHByaXZhdGUgJHJlRW5jb2RpbmdNaWRkbGV3YXJlID0gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcTWlkZGxld2FyZVxSZUVuY29kaW5nTWlkZGxld2FyZSB7IHByaXZhdGUgJGVuY29kaW5nID0gJ3V0Zi04JyB9IH0sIGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcUGFyc2VyXFBhcnNlR3VpZGVzIHsgcHJpdmF0ZSAkY29tbWFuZEJ1cyA9IGNsYXNzIExlYWd1ZVxUYWN0aWNpYW5cQ29tbWFuZEJ1cyB7IHByaXZhdGUgJG1pZGRsZXdhcmVDaGFpbiA9IGNsYXNzIENsb3N1cmUgeyB2aXJ0dWFsICRjbG9zdXJlID0gIiR0aGlzLT5MZWFndWVcVGFjdGljaWFuXHtjbG9zdXJlfSIgfSB9OyBwcml2YXRlICRsb2dnZXIgPSBjbGFzcyBTeW1mb255XEJyaWRnZVxNb25vbG9nXExvZ2dlciB7IHByb3RlY3RlZCAkbmFtZSA9ICdhcHAnOyBwcm90ZWN0ZWQgJGhhbmRsZXJzID0gWzAgPT4gY2xhc3MgU3ltZm9ueVxCcmlkZ2VcTW9ub2xvZ1xIYW5kbGVyXENvbnNvbGVIYW5kbGVyIHsgcHJpdmF0ZSAkb3V0cHV0ID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcU3RyZWFtT3V0cHV0IHsgcHJpdmF0ZSAkc3RyZWFtID0gcmVzb3VyY2UoMTU5KSBvZiB0eXBlIChzdHJlYW0pOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcT3V0cHV0fXZlcmJvc2l0eSA9IDMyOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcT3V0cHV0fWZvcm1hdHRlciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlciB7IC4uLiB9IH07IHByaXZhdGUgJHZlcmJvc2l0eUxldmVsTWFwID0gWzMyID0+IDQwMCwgNjQgPT4gMjUwLCAxMjggPT4gMjAwLCAyNTYgPT4gMTAwLCAxNiA9PiA0MDBdOyBwcml2YXRlICRjb25zb2xlRm9ybWF0dGVyT3B0aW9ucyA9IFtdOyBwcm90ZWN0ZWQgJGxldmVsID0gNDAwOyBwcm90ZWN0ZWQgJGJ1YmJsZSA9IFRSVUU7IHByb3RlY3RlZCAkcHJvY2Vzc29ycyA9IFtdOyBwcm90ZWN0ZWQgJGZvcm1hdHRlciA9IE5VTEwgfV07IHByb3RlY3RlZCAkcHJvY2Vzc29ycyA9IFtdOyBwcm90ZWN0ZWQgJG1pY3Jvc2Vjb25kVGltZXN0YW1wcyA9IFRSVUU7IHByb3RlY3RlZCAkdGltZXpvbmUgPSBjbGFzcyBEYXRlVGltZVpvbmUgeyBwdWJsaWMgJHRpbWV6b25lX3R5cGUgPSAzOyBwdWJsaWMgJHRpbWV6b25lID0gJ0FzaWEvU2hhbmdoYWknIH07IHByb3RlY3RlZCAkZXhjZXB0aW9uSGFuZGxlciA9IE5VTEwgfTsgcHJpdmF0ZSAkZmx5U3lzdGVtRmFjdG9yeSA9IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZhY3RvcnkgeyBwcml2YXRlICRtb3VudE1hbmFnZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXE1vdW50TWFuYWdlciB7IHByb3RlY3RlZCAkZmlsZXN5c3RlbXMgPSBbJzUwNThmMWFmODM4ODYzM2Y2MDljYWRiNzVhNzVkYzlkJyA9PiBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyAuLi4gfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWy4uLl07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyAuLi4gfSB9XTsgcHJvdGVjdGVkICRwbHVnaW5zID0gW10gfSB9IH0sIGNsYXNzIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcQ2FjaGVcU3RvcmVQcm9qZWN0RGVzY3JpcHRvclRvQ2FjaGUgeyBwcml2YXRlICRkZXNjcmlwdG9yTWFwcGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENhY2hlXFByb2plY3REZXNjcmlwdG9yTWFwcGVyIHsgcHJpdmF0ZSAkY2FjaGUgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxDYWNoZVxGaWxlc3lzdGVtQWRhcHRlciB7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1uYW1lc3BhY2UgPSAnZ0ZGQkMrSkI0SDonOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9ZGVmYXVsdExpZmV0aW1lID0gMzE1NTY5MjY7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1uYW1lc3BhY2VWZXJzaW9uID0gJyc7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn12ZXJzaW9uaW5nSXNFbmFibGVkID0gRkFMU0U7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1kZWZlcnJlZCA9IFtdOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9aWRzID0gWydwaHBEb2N1bWVudG9yLXByb2plY3REZXNjcmlwdG9yLWZpbGVsaXN0JyA9PiAncGhwRG9jdW1lbnRvci1wcm9qZWN0RGVzY3JpcHRvci1maWxlbGlzdCcsICdwaHBEb2N1bWVudG9yLXByb2plY3REZXNjcmlwdG9yLXNldHRpbmdzJyA9PiAncGhwRG9jdW1lbnRvci1wcm9qZWN0RGVzY3JpcHRvci1zZXR0aW5ncyddOyBwcm90ZWN0ZWQgJG1heElkTGVuZ3RoID0gTlVMTDsgcHJvdGVjdGVkICRsb2dnZXIgPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9Y2FsbGJhY2tXcmFwcGVyID0gWzAgPT4gJ1N5bWZvbnlcXENvbXBvbmVudFxcQ2FjaGVcXExvY2tSZWdpc3RyeScsIDEgPT4gJ2NvbXB1dGUnXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfWNvbXB1dGluZyA9IFtdOyBwcml2YXRlICRtYXJzaGFsbGVyID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcTWFyc2hhbGxlclxEZWZhdWx0TWFyc2hhbGxlciB7IHByaXZhdGUgJHVzZUlnYmluYXJ5U2VyaWFsaXplID0gRkFMU0UgfTsgcHJpdmF0ZSAkZGlyZWN0b3J5ID0gJ0c6XFxHaXRodWJcXHBocGRvYy10ZXN0XFwucGhwZG9jXFxjYWNoZVxcZGVzY3JpcHRvcnNcXCc7IHByaXZhdGUgJHRtcCA9IE5VTEwgfSB9OyBwcml2YXRlICRsb2dnZXIgPSBjbGFzcyBTeW1mb255XEJyaWRnZVxNb25vbG9nXExvZ2dlciB7IHByb3RlY3RlZCAkbmFtZSA9ICdhcHAnOyBwcm90ZWN0ZWQgJGhhbmRsZXJzID0gWzAgPT4gY2xhc3MgU3ltZm9ueVxCcmlkZ2VcTW9ub2xvZ1xIYW5kbGVyXENvbnNvbGVIYW5kbGVyIHsgcHJpdmF0ZSAkb3V0cHV0ID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcU3RyZWFtT3V0cHV0IHsgcHJpdmF0ZSAkc3RyZWFtID0gcmVzb3VyY2UoMTU5KSBvZiB0eXBlIChzdHJlYW0pOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcT3V0cHV0fXZlcmJvc2l0eSA9IDMyOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxPdXRwdXRcT3V0cHV0fWZvcm1hdHRlciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENvbnNvbGVcRm9ybWF0dGVyXE91dHB1dEZvcm1hdHRlciB7IC4uLiB9IH07IHByaXZhdGUgJHZlcmJvc2l0eUxldmVsTWFwID0gWzMyID0+IDQwMCwgNjQgPT4gMjUwLCAxMjggPT4gMjAwLCAyNTYgPT4gMTAwLCAxNiA9PiA0MDBdOyBwcml2YXRlICRjb25zb2xlRm9ybWF0dGVyT3B0aW9ucyA9IFtdOyBwcm90ZWN0ZWQgJGxldmVsID0gNDAwOyBwcm90ZWN0ZWQgJGJ1YmJsZSA9IFRSVUU7IHByb3RlY3RlZCAkcHJvY2Vzc29ycyA9IFtdOyBwcm90ZWN0ZWQgJGZvcm1hdHRlciA9IE5VTEwgfV07IHByb3RlY3RlZCAkcHJvY2Vzc29ycyA9IFtdOyBwcm90ZWN0ZWQgJG1pY3Jvc2Vjb25kVGltZXN0YW1wcyA9IFRSVUU7IHByb3RlY3RlZCAkdGltZXpvbmUgPSBjbGFzcyBEYXRlVGltZVpvbmUgeyBwdWJsaWMgJHRpbWV6b25lX3R5cGUgPSAzOyBwdWJsaWMgJHRpbWV6b25lID0gJ0FzaWEvU2hhbmdoYWknIH07IHByb3RlY3RlZCAkZXhjZXB0aW9uSGFuZGxlciA9IE5VTEwgfSB9LCBjbGFzcyBwaHBEb2N1bWVudG9yXFBpcGVsaW5lXFN0YWdlXENhY2hlXFN0b3JlR3VpZGVzVG9DYWNoZSB7IHByaXZhdGUgJGxvZ2dlciA9IGNsYXNzIFN5bWZvbnlcQnJpZGdlXE1vbm9sb2dcTG9nZ2VyIHsgcHJvdGVjdGVkICRuYW1lID0gJ2FwcCc7IHByb3RlY3RlZCAkaGFuZGxlcnMgPSBbMCA9PiBjbGFzcyBTeW1mb255XEJyaWRnZVxNb25vbG9nXEhhbmRsZXJcQ29uc29sZUhhbmRsZXIgeyBwcml2YXRlICRvdXRwdXQgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxDb25zb2xlXE91dHB1dFxTdHJlYW1PdXRwdXQgeyBwcml2YXRlICRzdHJlYW0gPSByZXNvdXJjZSgxNTkpIG9mIHR5cGUgKHN0cmVhbSk7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXE91dHB1dFxPdXRwdXR9dmVyYm9zaXR5ID0gMzI7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDb25zb2xlXE91dHB1dFxPdXRwdXR9Zm9ybWF0dGVyID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ29uc29sZVxGb3JtYXR0ZXJcT3V0cHV0Rm9ybWF0dGVyIHsgLi4uIH0gfTsgcHJpdmF0ZSAkdmVyYm9zaXR5TGV2ZWxNYXAgPSBbMzIgPT4gNDAwLCA2NCA9PiAyNTAsIDEyOCA9PiAyMDAsIDI1NiA9PiAxMDAsIDE2ID0+IDQwMF07IHByaXZhdGUgJGNvbnNvbGVGb3JtYXR0ZXJPcHRpb25zID0gW107IHByb3RlY3RlZCAkbGV2ZWwgPSA0MDA7IHByb3RlY3RlZCAkYnViYmxlID0gVFJVRTsgcHJvdGVjdGVkICRwcm9jZXNzb3JzID0gW107IHByb3RlY3RlZCAkZm9ybWF0dGVyID0gTlVMTCB9XTsgcHJvdGVjdGVkICRwcm9jZXNzb3JzID0gW107IHByb3RlY3RlZCAkbWljcm9zZWNvbmRUaW1lc3RhbXBzID0gVFJVRTsgcHJvdGVjdGVkICR0aW1lem9uZSA9IGNsYXNzIERhdGVUaW1lWm9uZSB7IHB1YmxpYyAkdGltZXpvbmVfdHlwZSA9IDM7IHB1YmxpYyAkdGltZXpvbmUgPSAnQXNpYS9TaGFuZ2hhaScgfTsgcHJvdGVjdGVkICRleGNlcHRpb25IYW5kbGVyID0gTlVMTCB9OyBwcml2YXRlICRjb21tYW5kQnVzID0gY2xhc3MgTGVhZ3VlXFRhY3RpY2lhblxDb21tYW5kQnVzIHsgcHJpdmF0ZSAkbWlkZGxld2FyZUNoYWluID0gY2xhc3MgQ2xvc3VyZSB7IHZpcnR1YWwgJGNsb3N1cmUgPSAiJHRoaXMtPkxlYWd1ZVxUYWN0aWNpYW5ce2Nsb3N1cmV9IiB9IH0gfSkpIHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL2xlYWd1ZS9waXBlbGluZS9zcmMvUGlwZWxpbmUucGhwOjM0CiAgICAxLjkxOTYgICAxODU5NjkyMCAgMTYuIHBocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcUGFyc2VyXFBhcnNlRmlsZXMtPl9faW52b2tlKCRwYXlsb2FkID0gY2xhc3MgcGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxQYXJzZXJcUGF5bG9hZCB7IHByaXZhdGUgJGZpbGVzID0gWzAgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbLi4uXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFsuLi5dOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9hYnN0cmFjdC5waHAnIH0sIDEgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbLi4uXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFsuLi5dOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9hdXRob3IucGhwJyB9LCAyID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWy4uLl07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbLi4uXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvY2F0ZWdvcnkucGhwJyB9LCAzID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWy4uLl07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbLi4uXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvY29weXJpZ2h0LnBocCcgfSwgNCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsuLi5dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gWy4uLl07IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL2RlcHJlY2F0ZWQucGhwJyB9LCA1ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWy4uLl07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbLi4uXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvZXhhbXBsZS5waHAnIH0sIDYgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbLi4uXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFsuLi5dOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9maWxlc291cmNlLnBocCcgfSwgNyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsuLi5dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gWy4uLl07IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL2ZpbmFsLnBocCcgfSwgOCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsuLi5dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gWy4uLl07IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL2dsb2JhbC5waHAnIH0sIDkgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbLi4uXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFsuLi5dOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9pZ25vcmUucGhwJyB9LCAxMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsuLi5dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gWy4uLl07IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL2ludGVybmFsLnBocCcgfSwgMTEgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbLi4uXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFsuLi5dOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9saWNlbnNlLnBocCcgfSwgMTIgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbLi4uXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFsuLi5dOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9saW5rLnBocCcgfSwgMTMgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbLi4uXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFsuLi5dOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9tZXRob2QucGhwJyB9LCAxNCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsuLi5dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gWy4uLl07IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL25hbWUucGhwJyB9LCAxNSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsuLi5dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gWy4uLl07IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL3BhY2thZ2UucGhwJyB9LCAxNiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsuLi5dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gWy4uLl07IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL3BhcmFtLnBocCcgfSwgMTcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbLi4uXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFsuLi5dOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9wcm9wZXJ0eS5waHAnIH0sIDE4ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWy4uLl07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbLi4uXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvcmV0dXJuLnBocCcgfSwgMTkgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbLi4uXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFsuLi5dOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9zZWUucGhwJyB9LCAyMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsuLi5dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gWy4uLl07IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL3NpbmNlLnBocCcgfSwgMjEgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbLi4uXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFsuLi5dOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9zdGF0aWMucGhwJyB9LCAyMiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsuLi5dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gWy4uLl07IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL3N0YXRpY3Zhci5waHAnIH0sIDIzID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWy4uLl07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbLi4uXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvc3VicGFja2FnZS5waHAnIH0sIDI0ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWy4uLl07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbLi4uXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvdGhyb3dzLnBocCcgfSwgMjUgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbLi4uXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFsuLi5dOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy90b2RvLnBocCcgfSwgMjYgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbLi4uXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFsuLi5dOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy90dXRvcmlhbC5waHAnIH0sIDI3ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWy4uLl07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbLi4uXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvdXNlcy5waHAnIH0sIDI4ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWy4uLl07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbLi4uXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvdmFyLnBocCcgfSwgMjkgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbLi4uXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFsuLi5dOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy92ZXJzaW9uLnBocCcgfSwgMzAgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbLi4uXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFsuLi5dOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9pbmxpbmUvZXhhbXBsZS5waHAnIH0sIDMxID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWy4uLl07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbLi4uXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvaW5saW5lL2luaGVyaXRkb2MucGhwJyB9LCAzMiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsuLi5dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gWy4uLl07IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2lubGluZS9pbnRlcm5hbC5waHAnIH0sIDMzID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWy4uLl07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbLi4uXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvaW5saW5lL2xpbmsucGhwJyB9LCAzNCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsuLi5dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gWy4uLl07IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2lubGluZS9zb3VyY2UucGhwJyB9LCAzNSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsuLi5dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gWy4uLl07IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2lubGluZS90dXRvcmlhbC5waHAnIH1dOyBwcml2YXRlICR7cGhwRG9jdW1lbnRvclxQaXBlbGluZVxTdGFnZVxQYXlsb2FkfWNvbmZpZyA9IFsncGhwZG9jdW1lbnRvcicgPT4gWydjb25maWdWZXJzaW9uJyA9PiAnMycsICd0aXRsZScgPT4gJ0RvY3VtZW50YXRpb24nLCAndXNlLWNhY2hlJyA9PiBUUlVFLCAncGF0aHMnID0+IFsnb3V0cHV0JyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERzbiB7IHByaXZhdGUgJGRzbiA9ICcucGhwZG9jL2J1aWxkJzsgcHJpdmF0ZSAkdXJpID0gY2xhc3MgTGVhZ3VlXFVyaVxVcmkgeyAuLi4gfTsgcHJpdmF0ZSAkcGFyYW1ldGVycyA9IFsuLi5dIH0sICdjYWNoZScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXRoIHsgcHJpdmF0ZSAkcGF0aCA9ICcucGhwZG9jL2NhY2hlJyB9XSwgJ3ZlcnNpb25zJyA9PiBbJzEuMC4wJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXENvbmZpZ3VyYXRpb25cVmVyc2lvblNwZWNpZmljYXRpb24geyBwcml2YXRlICRudW1iZXIgPSAnMS4wLjAnOyBwdWJsaWMgJGFwaSA9IFsuLi5dOyBwdWJsaWMgJGd1aWRlcyA9IFsuLi5dIH1dLCAnc2V0dGluZ3MnID0+IFtdLCAndGVtcGxhdGVzJyA9PiBbMCA9PiBbJ25hbWUnID0+ICdkZWZhdWx0JywgJ3BhcmFtZXRlcnMnID0+IFsuLi5dXV1dXTsgcHJpdmF0ZSAke3BocERvY3VtZW50b3JcUGlwZWxpbmVcU3RhZ2VcUGF5bG9hZH1idWlsZGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXFByb2plY3REZXNjcmlwdG9yQnVpbGRlciB7IHByb3RlY3RlZCAkYXNzZW1ibGVyRmFjdG9yeSA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlckZhY3RvcnkgeyBwcm90ZWN0ZWQgJGFzc2VtYmxlcnMgPSBbMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXEZpbGVBc3NlbWJsZXIgeyAuLi4gfSB9LCAxID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcQ29uc3RhbnRBc3NlbWJsZXIgeyAuLi4gfSB9LCAyID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVHJhaXRBc3NlbWJsZXIgeyAuLi4gfSB9LCAzID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcQ2xhc3NBc3NlbWJsZXIgeyAuLi4gfSB9LCA0ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcRW51bUFzc2VtYmxlciB7IC4uLiB9IH0sIDUgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxFbnVtQ2FzZUFzc2VtYmxlciB7IC4uLiB9IH0sIDYgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxJbnRlcmZhY2VBc3NlbWJsZXIgeyAuLi4gfSB9LCA3ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcUHJvcGVydHlBc3NlbWJsZXIgeyAuLi4gfSB9LCA4ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcQXJndW1lbnRBc3NlbWJsZXIgeyAuLi4gfSB9LCA5ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcTWV0aG9kQXNzZW1ibGVyIHsgLi4uIH0gfSwgMTAgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxGdW5jdGlvbkFzc2VtYmxlciB7IC4uLiB9IH0sIDExID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcTmFtZXNwYWNlQXNzZW1ibGVyIHsgLi4uIH0gfSwgMTIgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXEF1dGhvckFzc2VtYmxlciB7IC4uLiB9IH0sIDEzID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xEZXByZWNhdGVkQXNzZW1ibGVyIHsgLi4uIH0gfSwgMTQgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXEV4YW1wbGVBc3NlbWJsZXIgeyAuLi4gfSB9LCAxNSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcTGlua0Fzc2VtYmxlciB7IC4uLiB9IH0sIDE2ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xNZXRob2RBc3NlbWJsZXIgeyAuLi4gfSB9LCAxNyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcUHJvcGVydHlBc3NlbWJsZXIgeyAuLi4gfSB9LCAxOCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcUHJvcGVydHlBc3NlbWJsZXIgeyAuLi4gfSB9LCAxOSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcUHJvcGVydHlBc3NlbWJsZXIgeyAuLi4gfSB9LCAyMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcSW52YWxpZFRhZ0Fzc2VtYmxlciB7IC4uLiB9IH0sIDIxID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xWYXJBc3NlbWJsZXIgeyAuLi4gfSB9LCAyMiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcUGFyYW1Bc3NlbWJsZXIgeyAuLi4gfSB9LCAyMyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxBc3NlbWJsZXJNYXRjaGVyIHsgcHJpdmF0ZSAkbWF0Y2hlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXE1hdGNoZXIgeyAuLi4gfTsgcHJpdmF0ZSAkYXNzZW1ibGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcUmVmbGVjdG9yXFRhZ3NcVGhyb3dzQXNzZW1ibGVyIHsgLi4uIH0gfSwgMjQgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXFJldHVybkFzc2VtYmxlciB7IC4uLiB9IH0sIDI1ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xVc2VzQXNzZW1ibGVyIHsgLi4uIH0gfSwgMjYgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXFNlZUFzc2VtYmxlciB7IC4uLiB9IH0sIDI3ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xTaW5jZUFzc2VtYmxlciB7IC4uLiB9IH0sIDI4ID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXEFzc2VtYmxlck1hdGNoZXIgeyBwcml2YXRlICRtYXRjaGVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcTWF0Y2hlciB7IC4uLiB9OyBwcml2YXRlICRhc3NlbWJsZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxSZWZsZWN0b3JcVGFnc1xWZXJzaW9uQXNzZW1ibGVyIHsgLi4uIH0gfV07IHByb3RlY3RlZCAkZmFsbGJhY2tBc3NlbWJsZXJzID0gWzAgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEJ1aWxkZXJcQXNzZW1ibGVyTWF0Y2hlciB7IHByaXZhdGUgJG1hdGNoZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQnVpbGRlclxNYXRjaGVyIHsgLi4uIH07IHByaXZhdGUgJGFzc2VtYmxlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxCdWlsZGVyXFJlZmxlY3RvclxUYWdzXEdlbmVyaWNUYWdBc3NlbWJsZXIgeyAuLi4gfSB9XSB9OyBwcm90ZWN0ZWQgJGZpbHRlciA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxGaWx0ZXJcRmlsdGVyIHsgcHJpdmF0ZSAkcGlwZWxpbmUgPSBjbGFzcyBMZWFndWVcUGlwZWxpbmVcUGlwZWxpbmUgeyBwcml2YXRlICRzdGFnZXMgPSBbMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRmlsdGVyXFN0cmlwSWdub3JlIHsgLi4uIH0sIDEgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcElnbm9yZWRUYWdzIHsgLi4uIH0sIDIgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcEludGVybmFsIHsgLi4uIH0sIDMgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXEZpbHRlclxTdHJpcE9uVmlzaWJpbGl0eSB7IC4uLiB9XTsgcHJpdmF0ZSAkcHJvY2Vzc29yID0gY2xhc3MgTGVhZ3VlXFBpcGVsaW5lXEludGVycnVwdGlibGVQcm9jZXNzb3IgeyBwcml2YXRlICRjaGVjayA9IGNsYXNzIENsb3N1cmUgeyB2aXJ0dWFsICRjbG9zdXJlID0gInBocERvY3VtZW50b3JcRGVzY3JpcHRvclxGaWx0ZXJcRmlsdGVyOjpwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcRmlsdGVyXHtjbG9zdXJlfSIsIC4uLiB9IH0gfSB9OyBwcm90ZWN0ZWQgJHByb2plY3QgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcUHJvamVjdERlc2NyaXB0b3IgeyBwcml2YXRlICRuYW1lID0gJ0RvY3VtZW50YXRpb24nOyBwcml2YXRlICRuYW1lc3BhY2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcTmFtZXNwYWNlRGVzY3JpcHRvciB7IHByb3RlY3RlZCAkcGFyZW50ID0gTlVMTDsgcHJvdGVjdGVkICRjaGlsZHJlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkZnVuY3Rpb25zID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRjb25zdGFudHMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGNsYXNzZXMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGludGVyZmFjZXMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJHRyYWl0cyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByaXZhdGUgJGVudW1zID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRmcXNlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiB7IHByaXZhdGUgJGZxc2VuID0gJ1xcJzsgcHJpdmF0ZSAkbmFtZSA9ICcnIH07IHByb3RlY3RlZCAkbmFtZSA9ICdcXCc7IHByb3RlY3RlZCAkbmFtZXNwYWNlID0gJyc7IHByb3RlY3RlZCAkcGFja2FnZSA9IE5VTEw7IHByb3RlY3RlZCAkc3VtbWFyeSA9ICcnOyBwcm90ZWN0ZWQgJGRlc2NyaXB0aW9uID0gTlVMTDsgcHJvdGVjdGVkICRmaWxlRGVzY3JpcHRvciA9IE5VTEw7IHByb3RlY3RlZCAkbGluZSA9IDA7IHByb3RlY3RlZCAkdGFncyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkZXJyb3JzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRpbmhlcml0ZWRFbGVtZW50ID0gTlVMTCB9OyBwcml2YXRlICRwYWNrYWdlID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXFBhY2thZ2VEZXNjcmlwdG9yIHsgcHJvdGVjdGVkICRwYXJlbnQgPSBOVUxMOyBwcm90ZWN0ZWQgJGNoaWxkcmVuID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRmdW5jdGlvbnMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbLi4uXSB9OyBwcm90ZWN0ZWQgJGNvbnN0YW50cyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkY2xhc3NlcyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkaW50ZXJmYWNlcyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkdHJhaXRzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJpdmF0ZSAke3BocERvY3VtZW50b3JcRGVzY3JpcHRvclxOYW1lc3BhY2VEZXNjcmlwdG9yfWVudW1zID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRmcXNlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiB7IHByaXZhdGUgJGZxc2VuID0gJ1xcJzsgcHJpdmF0ZSAkbmFtZSA9ICcnIH07IHByb3RlY3RlZCAkbmFtZSA9ICdcXCc7IHByb3RlY3RlZCAkbmFtZXNwYWNlID0gJyc7IHByb3RlY3RlZCAkcGFja2FnZSA9IE5VTEw7IHByb3RlY3RlZCAkc3VtbWFyeSA9ICcnOyBwcm90ZWN0ZWQgJGRlc2NyaXB0aW9uID0gTlVMTDsgcHJvdGVjdGVkICRmaWxlRGVzY3JpcHRvciA9IE5VTEw7IHByb3RlY3RlZCAkbGluZSA9IDA7IHByb3RlY3RlZCAkdGFncyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFsuLi5dIH07IHByb3RlY3RlZCAkZXJyb3JzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEZXNjcmlwdG9yXENvbGxlY3Rpb24geyBwcm90ZWN0ZWQgJGl0ZW1zID0gWy4uLl0gfTsgcHJvdGVjdGVkICRpbmhlcml0ZWRFbGVtZW50ID0gTlVMTCB9OyBwcml2YXRlICRmaWxlcyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFtdIH07IHByaXZhdGUgJGluZGV4ZXMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbXSB9OyBwcml2YXRlICRzZXR0aW5ncyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxQcm9qZWN0RGVzY3JpcHRvclxTZXR0aW5ncyB7IHByaXZhdGUgJGlzTW9kaWZpZWQgPSBGQUxTRTsgcHJpdmF0ZSAkdmlzaWJpbGl0eSA9IDc7IHByaXZhdGUgJGluY2x1ZGVTb3VyY2UgPSBGQUxTRTsgcHJpdmF0ZSAkY3VzdG9tID0gW10gfTsgcHJpdmF0ZSAkcGFydGlhbHMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXERlc2NyaXB0b3JcQ29sbGVjdGlvbiB7IHByb3RlY3RlZCAkaXRlbXMgPSBbXSB9OyBwcml2YXRlICR2ZXJzaW9ucyA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxDb2xsZWN0aW9uIHsgcHJvdGVjdGVkICRpdGVtcyA9IFswID0+IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxWZXJzaW9uRGVzY3JpcHRvciB7IC4uLiB9XSB9OyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcRGVzY3JpcHRvclxEb2NCbG9ja1xEZXNjcmlwdGlvbkRlc2NyaXB0b3IgeyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiB7IHByaXZhdGUgJGJvZHlUZW1wbGF0ZSA9ICcnOyBwcml2YXRlICR0YWdzID0gWy4uLl0gfTsgcHJpdmF0ZSAkaW5saW5lVGFncyA9IFtdIH0gfTsgcHJpdmF0ZSAkc2VydmljZXNXaXRoQ3VzdG9tU2V0dGluZ3MgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxEZXBlbmRlbmN5SW5qZWN0aW9uXEFyZ3VtZW50XFJld2luZGFibGVHZW5lcmF0b3IgeyBwcml2YXRlICRnZW5lcmF0b3IgPSBjbGFzcyBDbG9zdXJlIHsgdmlydHVhbCAkY2xvc3VyZSA9ICIkdGhpcy0+Q29udGFpbmVyWGZxMkhiM1x7Y2xvc3VyZX0iIH07IHByaXZhdGUgJGNvdW50ID0gMiB9OyBwcml2YXRlICRhcGlTcGVjaWZpY2F0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxDb25maWd1cmF0aW9uXEFwaVNwZWNpZmljYXRpb24geyBwcml2YXRlICRzb3VyY2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXENvbmZpZ3VyYXRpb25cU291cmNlIHsgcHJpdmF0ZSAkZHNuID0gY2xhc3MgcGhwRG9jdW1lbnRvclxEc24geyBwcml2YXRlICRkc24gPSAnLic7IHByaXZhdGUgJHVyaSA9IGNsYXNzIExlYWd1ZVxVcmlcVXJpIHsgLi4uIH07IHByaXZhdGUgJHBhcmFtZXRlcnMgPSBbLi4uXSB9OyBwcml2YXRlICRwYXRocyA9IFswID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGF0aCB7IC4uLiB9XSB9OyBwcml2YXRlICRvdXRwdXQgPSAnLic7IHByaXZhdGUgJGlnbm9yZSA9IFsnaGlkZGVuJyA9PiBUUlVFLCAnc3ltbGlua3MnID0+IFRSVUUsICdwYXRocycgPT4gW11dOyBwcml2YXRlICRleHRlbnNpb25zID0gWzAgPT4gJ3BocCcsIDEgPT4gJ3BocDMnLCAyID0+ICdwaHRtbCddOyBwcml2YXRlICR2aXNpYmlsaXR5ID0gWzAgPT4gJ3B1YmxpYycsIDEgPT4gJ3Byb3RlY3RlZCcsIDIgPT4gJ3ByaXZhdGUnXTsgcHJpdmF0ZSAkZGVmYXVsdFBhY2thZ2VOYW1lID0gJ0FwcGxpY2F0aW9uJzsgcHJpdmF0ZSAkaW5jbHVkZVNvdXJjZSA9IEZBTFNFOyBwcml2YXRlICRtYXJrZXJzID0gWzAgPT4gJ1RPRE8nLCAxID0+ICdGSVhNRSddOyBwcml2YXRlICRpZ25vcmVUYWdzID0gW107IHByaXZhdGUgJGV4YW1wbGVzID0gTlVMTDsgcHJpdmF0ZSAkZW5jb2RpbmcgPSAndXRmLTgnOyBwcml2YXRlICR2YWxpZGF0ZSA9IEZBTFNFIH0gfSB9KSBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9sZWFndWUvcGlwZWxpbmUvc3JjL0ZpbmdlcnNDcm9zc2VkUHJvY2Vzc29yLnBocDoxMQogICAgMS45MjExICAgMTg1OTY5MjAgIDE3LiBwaHBEb2N1bWVudG9yXFBhcnNlclxQYXJzZXItPnBhcnNlKCRmaWxlcyA9IFswID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9hYnN0cmFjdC5waHAnIH0sIDEgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL2F1dGhvci5waHAnIH0sIDIgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL2NhdGVnb3J5LnBocCcgfSwgMyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvY29weXJpZ2h0LnBocCcgfSwgNCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvZGVwcmVjYXRlZC5waHAnIH0sIDUgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL2V4YW1wbGUucGhwJyB9LCA2ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9maWxlc291cmNlLnBocCcgfSwgNyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvZmluYWwucGhwJyB9LCA4ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9nbG9iYWwucGhwJyB9LCA5ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9pZ25vcmUucGhwJyB9LCAxMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvaW50ZXJuYWwucGhwJyB9LCAxMSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvbGljZW5zZS5waHAnIH0sIDEyID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9saW5rLnBocCcgfSwgMTMgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL21ldGhvZC5waHAnIH0sIDE0ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9uYW1lLnBocCcgfSwgMTUgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL3BhY2thZ2UucGhwJyB9LCAxNiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvcGFyYW0ucGhwJyB9LCAxNyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvcHJvcGVydHkucGhwJyB9LCAxOCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvcmV0dXJuLnBocCcgfSwgMTkgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL3NlZS5waHAnIH0sIDIwID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9zaW5jZS5waHAnIH0sIDIxID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9zdGF0aWMucGhwJyB9LCAyMiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvc3RhdGljdmFyLnBocCcgfSwgMjMgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL3N1YnBhY2thZ2UucGhwJyB9LCAyNCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvdGhyb3dzLnBocCcgfSwgMjUgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL3RvZG8ucGhwJyB9LCAyNiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvdHV0b3JpYWwucGhwJyB9LCAyNyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvdXNlcy5waHAnIH0sIDI4ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy92YXIucGhwJyB9LCAyOSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvdmVyc2lvbi5waHAnIH0sIDMwID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9pbmxpbmUvZXhhbXBsZS5waHAnIH0sIDMxID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9pbmxpbmUvaW5oZXJpdGRvYy5waHAnIH0sIDMyID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9pbmxpbmUvaW50ZXJuYWwucGhwJyB9LCAzMyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvaW5saW5lL2xpbmsucGhwJyB9LCAzNCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvaW5saW5lL3NvdXJjZS5waHAnIH0sIDM1ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9pbmxpbmUvdHV0b3JpYWwucGhwJyB9XSkgcGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci9zcmMvcGhwRG9jdW1lbnRvci9QaXBlbGluZS9TdGFnZS9QYXJzZXIvUGFyc2VGaWxlcy5waHA6NjIKICAgIDEuOTU0NiAgIDIwMDkxNzI4ICAxOC4gcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9qZWN0RmFjdG9yeS0+Y3JlYXRlKCRuYW1lID0gJ1VudGl0bGVkIHByb2plY3QnLCAkZmlsZXMgPSBbMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvYWJzdHJhY3QucGhwJyB9LCAxID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9hdXRob3IucGhwJyB9LCAyID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9jYXRlZ29yeS5waHAnIH0sIDMgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL2NvcHlyaWdodC5waHAnIH0sIDQgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL2RlcHJlY2F0ZWQucGhwJyB9LCA1ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9leGFtcGxlLnBocCcgfSwgNiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnIH0sIDcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL2ZpbmFsLnBocCcgfSwgOCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvZ2xvYmFsLnBocCcgfSwgOSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvaWdub3JlLnBocCcgfSwgMTAgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL2ludGVybmFsLnBocCcgfSwgMTEgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL2xpY2Vuc2UucGhwJyB9LCAxMiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvbGluay5waHAnIH0sIDEzID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9tZXRob2QucGhwJyB9LCAxNCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvbmFtZS5waHAnIH0sIDE1ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9wYWNrYWdlLnBocCcgfSwgMTYgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL3BhcmFtLnBocCcgfSwgMTcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL3Byb3BlcnR5LnBocCcgfSwgMTggPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL3JldHVybi5waHAnIH0sIDE5ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9zZWUucGhwJyB9LCAyMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvc2luY2UucGhwJyB9LCAyMSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvc3RhdGljLnBocCcgfSwgMjIgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL3N0YXRpY3Zhci5waHAnIH0sIDIzID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9zdWJwYWNrYWdlLnBocCcgfSwgMjQgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL3Rocm93cy5waHAnIH0sIDI1ID0+IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy90b2RvLnBocCcgfSwgMjYgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL3R1dG9yaWFsLnBocCcgfSwgMjcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL3VzZXMucGhwJyB9LCAyOCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvdmFyLnBocCcgfSwgMjkgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL3ZlcnNpb24ucGhwJyB9LCAzMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvaW5saW5lL2V4YW1wbGUucGhwJyB9LCAzMSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvaW5saW5lL2luaGVyaXRkb2MucGhwJyB9LCAzMiA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvaW5saW5lL2ludGVybmFsLnBocCcgfSwgMzMgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2lubGluZS9saW5rLnBocCcgfSwgMzQgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2lubGluZS9zb3VyY2UucGhwJyB9LCAzNSA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvaW5saW5lL3R1dG9yaWFsLnBocCcgfV0pIHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvc3JjL3BocERvY3VtZW50b3IvUGFyc2VyL1BhcnNlci5waHA6MjA1CiAgICAzLjEzNzcgICAyMTk1MTgxNiAgMTkuIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmFjdG9yeVxBYnN0cmFjdEZhY3RvcnktPmNyZWF0ZSgkY29udGV4dCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmFjdG9yeVxDb250ZXh0U3RhY2sgeyBwcml2YXRlICRlbGVtZW50cyA9IFtdOyBwcml2YXRlICR0eXBlQ29udGV4dCA9IE5VTEw7IHByaXZhdGUgJHByb2plY3QgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb2plY3QgeyBwcml2YXRlICRuYW1lID0gJ1VudGl0bGVkIHByb2plY3QnOyBwcml2YXRlICRyb290TmFtZXNwYWNlID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxOYW1lc3BhY2VfIHsgcHJpdmF0ZSAkZnFzZW4gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4geyBwcml2YXRlICRmcXNlbiA9ICdcXCc7IHByaXZhdGUgJG5hbWUgPSAnJyB9OyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9OyBwcml2YXRlICRmaWxlcyA9IFsndGFnL2Jhc2ljL2Fic3RyYWN0LnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzI3ZTBkZjg0NDg4MDc5NzY0OTdhYjBiMjUwM2M4YzFhJzsgcHJpdmF0ZSAkbmFtZSA9ICdhYnN0cmFjdC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9hYnN0cmFjdC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOWmguaenOexu+S4reacieacgOWwkeS4gOS4quaKveixoeaWueazleeahOivne+8jOmCo+S5iOexu+W6lOivpeiiq+WjsOaYjuS4uuaKveixoeexu1xyXG4gKiBcclxuICog5LuOcGhwNeeJiOacrOS5i+WQjuatpOagh+etvuW3suiiq+W8g+eUqFxyXG4gKiBcclxuICogQGFic3RyYWN0XHJcbiAqL1xyXG5cclxuYWJzdHJhY3QgY2xhc3MgVGVzdFxyXG57XHJcbiAgICAvKipcclxuICAgICog6L+Z5piv5LiA5Liq5oq96LGh5pa55rOVYVxyXG4gICAgKlxyXG4gICAgKiBAYWJzdHJhY3RcclxuICAgICovXHJcbiAgICBhYnN0cmFjdCBmdW5jdGlvbiBhKCl7fVxyXG5cclxuICAgIC8qKlxyXG4gICAgKiDov5nmmK/kuIDkuKrmma7pgJrnmoTmlrnms5ViXHJcbiAgICAqL1xyXG4gICAgZnVuY3Rpb24gZnVuY3Rpb24yKCl7fVxyXG5cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gWydcVGVzdCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18geyAuLi4gfV07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9hdXRob3IucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IHByaXZhdGUgJHN1bW1hcnkgPSAn5b2T5YmN5Li6cGFnZeekuuS+iyc7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIHsgLi4uIH07IHByaXZhdGUgJHRhZ3MgPSBbLi4uXTsgcHJpdmF0ZSAkY29udGV4dCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IHsgLi4uIH07IHByaXZhdGUgJGxvY2F0aW9uID0gTlVMTDsgcHJpdmF0ZSAkaXNUZW1wbGF0ZVN0YXJ0ID0gRkFMU0U7IHByaXZhdGUgJGlzVGVtcGxhdGVFbmQgPSBGQUxTRSB9OyBwcml2YXRlICRoYXNoID0gJzJjMDBmOTMzZjQwMGY3M2RiYjYzYjg4OTk5YjgzY2NiJzsgcHJpdmF0ZSAkbmFtZSA9ICdhdXRob3IucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvYXV0aG9yLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog5b2T5YmN5Li6cGFnZeekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+5Y+v5Lul55So5LqO5Lu75L2V6ZyA6KaB5qCH6K6w55qE5YWD57Sg5LiKXHJcbiAqIChnbG9iYWwgdmFyaWFibGUsIGluY2x1ZGUsIGNvbnN0YW50LCBmdW5jdGlvbiwgZGVmaW5lLCBjbGFzcywgdmFyaWFibGUsIG1ldGhvZCwgcGFnZSlcclxuICogXHJcbiAqIEBhdXRob3IgaG9uZWNlIDxjaGluYV96aHpAeWVhci5uZXQ+XHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIOW9k+WJjeS4umZ1bmN0aW9u56S65L6LXHJcbiAqIFxyXG4gKiDmraTlh73mlbDlj6/og73nlLHlj6bkuIDkuKrkvZzogIXnvJblhplcclxuICogQGF1dGhvciBob25lY2UgTm8uMlxyXG4gKi9cclxuZnVuY3Rpb24gYSgpe30nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsnXGEoKScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGdW5jdGlvbl8geyAuLi4gfV07IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9jYXRlZ29yeS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICfov5nmmK/lo7DmmI7nsbvliKvnmoTnpLrkvosnOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiB7IC4uLiB9OyBwcml2YXRlICR0YWdzID0gWy4uLl07IHByaXZhdGUgJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCB7IC4uLiB9OyBwcml2YXRlICRsb2NhdGlvbiA9IE5VTEw7IHByaXZhdGUgJGlzVGVtcGxhdGVTdGFydCA9IEZBTFNFOyBwcml2YXRlICRpc1RlbXBsYXRlRW5kID0gRkFMU0UgfTsgcHJpdmF0ZSAkaGFzaCA9ICc2YjJmZjZkNDc2MWY0ZWEzZmM5YTdmYjk5NjUyMjMwNyc7IHByaXZhdGUgJG5hbWUgPSAnY2F0ZWdvcnkucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvY2F0ZWdvcnkucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK/lo7DmmI7nsbvliKvnmoTnpLrkvotcclxuICogXHJcbiAqIEBwYWNrYWdlIE15UGFja2FnZVxyXG4gKiBAY2F0ZWdvcnkgbXljYXRlZ29yeVxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAZ2xvYmFsIGFycmF5IHVzZWQgZm9yIHN0dWZmXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gbWluZSgpXHJcbntcclxuICAgIGdsb2JhbCAkYmF6O1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbJ1xtaW5lKCknID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRnVuY3Rpb25fIHsgLi4uIH1dOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvY29weXJpZ2h0LnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyBwcml2YXRlICRzdW1tYXJ5ID0gJ+i/meaYr2NvcHlyaWdodOeahOagh+etvuekuuS+i1xu5b2T5YmN5Li66aG16Z2i57qn5paH5qGj5Z2XJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyAuLi4gfTsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dOyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyAuLi4gfTsgcHJpdmF0ZSAkbG9jYXRpb24gPSBOVUxMOyBwcml2YXRlICRpc1RlbXBsYXRlU3RhcnQgPSBGQUxTRTsgcHJpdmF0ZSAkaXNUZW1wbGF0ZUVuZCA9IEZBTFNFIH07IHByaXZhdGUgJGhhc2ggPSAnMzU4NGI1MjNhYzg0ZTkxYzc1MTRkYjNkNzZhZTM3NjMnOyBwcml2YXRlICRuYW1lID0gJ2NvcHlyaWdodC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9jb3B5cmlnaHQucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9jb3B5cmlnaHTnmoTmoIfnrb7npLrkvotcclxuICog5b2T5YmN5Li66aG16Z2i57qn5paH5qGj5Z2XXHJcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDIzLCBob25lY2VcclxuICovXHJcbic7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9kZXByZWNhdGVkLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzI3NjcyMjYzM2QyNzQyM2JkNzI2OGVkNDMyOWNlNzY4JzsgcHJpdmF0ZSAkbmFtZSA9ICdkZXByZWNhdGVkLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2RlcHJlY2F0ZWQucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9kZXByZWNhdGVk5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlvZPliY3kuLpwYWdl57qn5paH5qGj5Z2X77yMXHJcbiAqIOatpOagh+iusOWPr+eUqOS6jnBhZ2XnuqfmlofmoaPlnZfkuYvlpJbnmoTmlofmoaPlnZdcclxuICovXHJcbmNsYXNzIFRlc3Rcclxue1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCA8MC4xLjA+IGHmlrnms5Xoh6owLjEuMOeJiOacrOW3suW8g+eUqFxyXG4gICAgICovXHJcbiAgICBmdW5jdGlvbiBhKCl7fVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbJ1xUZXN0JyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyB7IC4uLiB9XTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2V4YW1wbGUucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnOGNiOGNhYTAyMzcyYzdmYTRmZDRhNzdhMGVjMzFiZjcnOyBwcml2YXRlICRuYW1lID0gJ2V4YW1wbGUucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZXhhbXBsZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiog6L+Z5pivZXhhbXBsZeagh+etvuekuuS+i1xyXG4qIEBleGFtcGxlIC90YWcvaW5saW5lL2V4YW1wbGUucGhwIOi/meaYr+atpOagh+etvuWGheiBlOeUqOazlVxyXG4qIEBleGFtcGxlIGV4YW1wbGUucGhwIOatpOekuuS+i+S4uuW9k+WJjeebruW9leaWh+S7tlxyXG4qL1xyXG5mdW5jdGlvbiBhKCl7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWydcYSgpJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZ1bmN0aW9uXyB7IC4uLiB9XTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2ZpbGVzb3VyY2UucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IHByaXZhdGUgJHN1bW1hcnkgPSAn6L+Z5pivZmlsZXNvdXJjZeagh+etvueahOekuuS+i+S7o+eggSc7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIHsgLi4uIH07IHByaXZhdGUgJHRhZ3MgPSBbLi4uXTsgcHJpdmF0ZSAkY29udGV4dCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IHsgLi4uIH07IHByaXZhdGUgJGxvY2F0aW9uID0gTlVMTDsgcHJpdmF0ZSAkaXNUZW1wbGF0ZVN0YXJ0ID0gRkFMU0U7IHByaXZhdGUgJGlzVGVtcGxhdGVFbmQgPSBGQUxTRSB9OyBwcml2YXRlICRoYXNoID0gJzk4NGQ4NzkxZjdkOTg0YzI2ZjRkMWE4ZTY3MWY2NTIyJzsgcHJpdmF0ZSAkbmFtZSA9ICdmaWxlc291cmNlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2ZpbGVzb3VyY2UucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9maWxlc291cmNl5qCH562+55qE56S65L6L5Luj56CBXHJcbiAqIFxyXG4gKiDkvZznlKjlsLHmmK/nu5nlvZPliY3mlofku7bliJvlu7rkuIDkuKrpk77mjqXlubbmmL7npLrmupDku6PnoIFcclxuICogQGZpbGVzb3VyY2VcclxuICovXHJcbmVjaG8gMTsnOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvZmluYWwucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnNDBhYTI4Mzc4MDQwYTI3Y2FiMjkzMmNkNDJhZDI4ZTUnOyBwcml2YXRlICRuYW1lID0gJ2ZpbmFsLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2ZpbmFsLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivZmluYWzmoIfnrb7nmoTnpLrkvotcclxuICog5q2k5qCH562+5bey5peg5pWI77yM5L2c55So5bCx5piv5a2X6Z2i5oSP5oCdXHJcbiAqL1xyXG5cclxuY2xhc3MgbXljbGFzc1xyXG57XHJcbiAgICAvKipcclxuICAgICAqIEBmaW5hbFxyXG4gICAgICovXHJcbiAgICBmaW5hbCBmdW5jdGlvbiBhKClcclxuICAgIHtcclxuICAgIH1cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gWydcbXljbGFzcycgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18geyAuLi4gfV07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9nbG9iYWwucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IHByaXZhdGUgJHN1bW1hcnkgPSAn6L+Z5pivZ2xvYmFs5qCH562+56S65L6LJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyAuLi4gfTsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dOyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyAuLi4gfTsgcHJpdmF0ZSAkbG9jYXRpb24gPSBOVUxMOyBwcml2YXRlICRpc1RlbXBsYXRlU3RhcnQgPSBGQUxTRTsgcHJpdmF0ZSAkaXNUZW1wbGF0ZUVuZCA9IEZBTFNFIH07IHByaXZhdGUgJGhhc2ggPSAnZTIxODBjMTExMDk3ZDIwZjc0ZjQ3MDI5ODg4NzE5MTInOyBwcml2YXRlICRuYW1lID0gJ2dsb2JhbC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9nbG9iYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9nbG9iYWzmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOS4u+imgeeUqOS6juiusOW9leWFqOWxgOWPmOmHj+eahOeUqOazlVxyXG4gKiDlu7rorq7nm7TmjqXlo7DmmI7lnKjlrprkuYnlhajlsYDlj5jph4/nmoTkuIrkuIDooYzvvIzku6XlhY3lvJXlj5HmlL7lnKjplJnor6/nmoTkvZznlKjln5/lhoXkuI3or4bliKvnmoTplJnor69cclxuICovXHJcblxyXG4vKiogXHJcbiAqIEBnbG9iYWwgbWl4ZWQgJF9HTE9CQUxTWyJteXZhciJdIFxyXG4gKi9cclxuJF9HTE9CQUxTWyJteXZhciJdID0gYXJyYXkoInRoaXMiID0+IFwn5bel5L2c5q2j5bi4XCcpO1xyXG5cclxuXHJcblxyXG4vKipcclxuICog5bCGQG5hbWXkuI5AZ2xvYmFs5LiA6LW35L2/55So55qE56S65L6LXHJcbiAqIOWcqEBuYW1l5qCH562+5Lit77yMbmFtZeW/hemhu+aciSQs5ZCm5YiZ5bCG5byV5Y+R6ZSZ6K+vXHJcbiAqIEBnbG9iYWwgYXJyYXkgJEdMT0JBTFNbXCduZWF0b1wnXSBcclxuICogQG5hbWUgJG5lYXRvXHJcbiAqL1xyXG4kR0xPQkFMU1tcJ25lYXRvXCddID0gJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2lnbm9yZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICfov5nmmK9pZ25vcmXmoIfnrb7npLrkvosnOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiB7IC4uLiB9OyBwcml2YXRlICR0YWdzID0gWy4uLl07IHByaXZhdGUgJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCB7IC4uLiB9OyBwcml2YXRlICRsb2NhdGlvbiA9IE5VTEw7IHByaXZhdGUgJGlzVGVtcGxhdGVTdGFydCA9IEZBTFNFOyBwcml2YXRlICRpc1RlbXBsYXRlRW5kID0gRkFMU0UgfTsgcHJpdmF0ZSAkaGFzaCA9ICc4ZGZlOGU4NDViMDQwN2RjNWU0NWY5MDkzODgzMDY5Yic7IHByaXZhdGUgJG5hbWUgPSAnaWdub3JlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2lnbm9yZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2lnbm9yZeagh+etvuekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+55So5LqO57uE57uHcGhwZG9j6K6w5b2V5YWD57SgXHJcbiAqL1xyXG5cclxuaWYgKCRvc3Rlc3QpIHtcclxuICAgIC8qKlxyXG4gICAgICogVGhpcyBkZWZpbmUgd2lsbCBlaXRoZXIgYmUgXCdVbml4XCcgb3IgXCdXaW5kb3dzXCdcclxuICAgICAqL1xyXG4gICAgZGVmaW5lKCJPUyIsICJVbml4Iik7XHJcbn1cclxuZWxzZSB7XHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmUg6L+Z6YeM5piv5b+955Wl55qE5bi46YePXHJcbiAgICAgKi9cclxuICAgIGRlZmluZSgiT1MiLCAiV2luZG93cyIpO1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWydcT1MnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQgeyAuLi4gfV07IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2ludGVybmFsLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJ2M2N2U0YjUxMWZmYmVlZjI1YmIxMzM1OWVhOTlhMTA1JzsgcHJpdmF0ZSAkbmFtZSA9ICdpbnRlcm5hbC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9pbnRlcm5hbC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2ludGVybmFs5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7lj6/ku6XnlJ/miJDkuKTku73mlofmoaPvvIzlrpjmlrnor7TmmK9waHBkb2PmnIDmnInnlKjnmoTlip/og73kuYvkuIBcclxuICoge0BpbnRlcm5hbCDopoHorr/pl67mnInlhbPkv67mlLnmraTnsbvnmoTmjIfljZcs6KeBIHtAbGluayBodHRwOi8vd3d3LmJhaWR1LmNvbSDmjIfljZd9LOaIluiBlOezu+S9oOeahOS4u+euoX19fVxyXG4gKiBAaW50ZXJuYWwg6K+l57G75L2/55So56eB5pyJ5pa55rOVIHtAbGluayBfZm9vKCl9IOWSjCB7QGxpbmsgX2JhcigpfSDlgZrkuIDkupvlpYfmgKrnmoTkuovmg4VcclxuICovXHJcblxyXG5jbGFzcyBEb2VzdGhpbmdzXHJcbntcclxuICAgIHByaXZhdGUgZnVuY3Rpb24gX2ZvbygpXHJcbiAgICB7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGZ1bmN0aW9uIF9iYXIoKVxyXG4gICAge1xyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbJ1xEb2VzdGhpbmdzJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyB7IC4uLiB9XTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2xpY2Vuc2UucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnODQwNjljYWYzOGJjMjQyYTQxODk4YmE4YjBjOGIwOGMnOyBwcml2YXRlICRuYW1lID0gJ2xpY2Vuc2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbGljZW5zZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2xpY2Vuc2XmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvueUqOS6juWQkeeUqOaIt+aPkOekuumAgueUqOS6juatpOaWh+aho+Wdl+eahOiuuOWPr+ivgVxyXG4gKiDlsZXnpLrmjIflkJHorrjlj6/or4FVUkznmoTotoXpk77mjqXvvIzkuKrkurrlj6rlu7rorq7mlL7lnKjmlofku7bnuqfliKvnmoTmlofmoaPlnZfkuK1cclxuICogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZTIuMFxyXG4gKi9cclxuXHJcbmNsYXNzIG9wZW5zb3VyY2VfY2xhc3Ncclxue1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbJ1xvcGVuc291cmNlX2NsYXNzJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyB7IC4uLiB9XTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2xpbmsucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IHByaXZhdGUgJHN1bW1hcnkgPSAn6L+Z5pivbGlua+agh+etvuekuuS+iyc7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIHsgLi4uIH07IHByaXZhdGUgJHRhZ3MgPSBbLi4uXTsgcHJpdmF0ZSAkY29udGV4dCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IHsgLi4uIH07IHByaXZhdGUgJGxvY2F0aW9uID0gTlVMTDsgcHJpdmF0ZSAkaXNUZW1wbGF0ZVN0YXJ0ID0gRkFMU0U7IHByaXZhdGUgJGlzVGVtcGxhdGVFbmQgPSBGQUxTRSB9OyBwcml2YXRlICRoYXNoID0gJzA1NWJlMGEwMTk2NjYzNjAwMzE1N2JkYzI1YWY5MDZiJzsgcHJpdmF0ZSAkbmFtZSA9ICdsaW5rLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2xpbmsucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9saW5r5qCH562+56S65L6LXHJcbiAqIEBsaW5rIGh0dHA6Ly93d3cuYmFpZHUuY29tIOivpuaDheaJvueZvuW6plxyXG4gKi9cclxuXHJcbiAvKipcclxuICAqIERpc3BsYXlzIDxhIGhyZWY9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPkhlbGxvPC9hPlxyXG4gICogQGxpbmsgaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIzOTYudHh0IFJGQzIzOTZcclxuICAqL1xyXG4gZGVmaW5lKCJURVNUX0NPTlNUQU5UMiIsMyk7XHJcbic7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFsnXFRFU1RfQ09OU1RBTlQyJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENvbnN0YW50IHsgLi4uIH1dOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9tZXRob2QucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnMjBiNWU0NWU4YzI3NGVjNGI3YzMzYWYwZmNhZTlmOWQnOyBwcml2YXRlICRuYW1lID0gJ21ldGhvZC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9tZXRob2QucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9tZXRob2TmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOWumOaWuee7meWHuueahOWumuS5ieaYr++8jOimgeWcqOWtkOexu+S4reWjsOaYjueItuexu+S9v+eUqOmtlOacr+aWueazleadpeWunueOsOeahOS4gOS6m+mdnuaYvuekuuWtmOWcqOaWueazlVxyXG4gKiDov5nkuKrmoIfnrb7kuI3kvJrlnKhwaHBEb2PmmL7npLpmdW5jdGlvbuWunuS9k1xyXG4gKiBcclxuICogQG1ldGhvZCByZXR1cm4gdm9pZCBlY2hvMihzdHJpbmcgJHN0cmluZykgPOaJk+WNsOW4puacieaNouihjOespueahOWtl+espuS4sj5cclxuICovXHJcbmNsYXNzIFRlc3QgZXh0ZW5kcyBGYXRoZXJ7fVxyXG5cclxuY2xhc3MgRmF0aGVyXHJcbntcclxuICAgIGZ1bmN0aW9uIF9fY2FsbCgkbWV0aG9kLCBzdHJpbmcgJHBhcmFtcylcclxuICAgIHtcclxuICAgICAgICBpZiAoJG1ldGhvZCA9PSBcJ2VjaG8yXCcpIHtcclxuICAgICAgICAgICAgZWNobyAkcGFyYW1zIC4gUEhQX0VPTDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsnXFRlc3QnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIHsgLi4uIH0sICdcRmF0aGVyJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyB7IC4uLiB9XTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL25hbWUucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IHByaXZhdGUgJHN1bW1hcnkgPSAn6L+Z5pivbmFtZeagh+etvuekuuS+iyc7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIHsgLi4uIH07IHByaXZhdGUgJHRhZ3MgPSBbLi4uXTsgcHJpdmF0ZSAkY29udGV4dCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IHsgLi4uIH07IHByaXZhdGUgJGxvY2F0aW9uID0gTlVMTDsgcHJpdmF0ZSAkaXNUZW1wbGF0ZVN0YXJ0ID0gRkFMU0U7IHByaXZhdGUgJGlzVGVtcGxhdGVFbmQgPSBGQUxTRSB9OyBwcml2YXRlICRoYXNoID0gJzkyNGY5NTMzZThhNzQxZDEzMTczNmZiZjg2Zjg2Zjk3JzsgcHJpdmF0ZSAkbmFtZSA9ICduYW1lLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL25hbWUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9uYW1l5qCH562+56S65L6LXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIOW9k+WcqOWHveaVsOS4reS9v+eUqEBnbG9iYWzml7bvvIzlroPlsIbpk77mjqXliLAkYmF6XHJcbiAqIEBuYW1lICRiYXpcclxuICogQGdsb2JhbCBhcnJheSAkR0xPQkFMU1tcJ2JhelwnXSBcclxuICovXHJcbiRHTE9CQUxTW1wnYmF6XCddID0gYXJyYXkoXCdmb29cJywgXCdiYXJcJyk7XHJcblxyXG4vKipcclxuICogQGdsb2JhbCBhcnJheSB1c2VkIGZvciBzdHVmZlxyXG4gKi9cclxuZnVuY3Rpb24gbWluZSgpXHJcbntcclxuICAgIGdsb2JhbCAkYmF6O1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbJ1xtaW5lKCknID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRnVuY3Rpb25fIHsgLi4uIH1dOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvcGFja2FnZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICfov5nmmK9wYWNrYWdl5qCH562+56S65L6LJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyAuLi4gfTsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dOyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyAuLi4gfTsgcHJpdmF0ZSAkbG9jYXRpb24gPSBOVUxMOyBwcml2YXRlICRpc1RlbXBsYXRlU3RhcnQgPSBGQUxTRTsgcHJpdmF0ZSAkaXNUZW1wbGF0ZUVuZCA9IEZBTFNFIH07IHByaXZhdGUgJGhhc2ggPSAnMTJmOTNmNjQyNDc2ZmZiNTlhN2M4MDBjYjUzNjc2MzMnOyBwcml2YXRlICRuYW1lID0gJ3BhY2thZ2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcGFja2FnZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3BhY2thZ2XmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOmhtemdoue6p0RvY0Jsb2Nr56S65L6L44CCXHJcbiAqIOatpERvY0Jsb2Nr5L2N5LqO5Y+m5LiA5LiqRG9jQmxvY2vkuYvliY3vvIzlsIbooqvop6PmnpDkuLrpobXpnaLnuqfliKvjgIJcclxuICog5bCG5oKo55qEQHBhY2thZ2XlkoxAc3VicGFja2FnZeagh+iusOaUvuWcqOatpOWkhFxyXG4gKiBAcGFja2FnZSBwYWdlbGV2ZWxfcGFja2FnZVxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBmdW5jdGlvbiBibHVoXHJcbiAqL1xyXG5mdW5jdGlvbiBibHVoKClcclxue1xyXG59XHJcbj8+XHJcbjw/cGhwXHJcbi8qKlxyXG4qIOexuyBibHVoXHJcbiog57G757qnRG9jQmxvY2vnpLrkvovjgILku6XkuIvnpLrkvovku6PooahhcHBsaWVzX3RvX2JsdWjljIXlnKhhcHBsaWVzX3RvX2JsdWjlhoVcclxuKiBAcGFja2FnZSBwYWdlbGV2ZWxfcGFja2FnZVxcXFxhcHBsaWVzX3RvX2JsdWggXHJcbiovXHJcbmNsYXNzIGJsdWhcclxue1xyXG5cclxuICAgIC8qKlxyXG4gICAgKiDmraTlj5jph4/kvZzkuLrljCcuLi47IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWydcYmx1aCgpJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZ1bmN0aW9uXyB7IC4uLiB9XTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbJ1xibHVoJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyB7IC4uLiB9XTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL3BhcmFtLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyBwcml2YXRlICRzdW1tYXJ5ID0gJ+i/meaYr3BhcmFt5qCH562+56S65L6LJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyAuLi4gfTsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dOyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyAuLi4gfTsgcHJpdmF0ZSAkbG9jYXRpb24gPSBOVUxMOyBwcml2YXRlICRpc1RlbXBsYXRlU3RhcnQgPSBGQUxTRTsgcHJpdmF0ZSAkaXNUZW1wbGF0ZUVuZCA9IEZBTFNFIH07IHByaXZhdGUgJGhhc2ggPSAnMzI4YWI2NmNjMjcyNDg0ZjNmNjk2MDBjY2ZhN2Y4OTInOyBwcml2YXRlICRuYW1lID0gJ3BhcmFtLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3BhcmFtLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivcGFyYW3moIfnrb7npLrkvotcclxuICogXHJcbiAqIOWjsOaYjuaWueazleS8oOWFpeeahOWPguaVsFxyXG4gKi9cclxuXHJcbiAvKipcclxuICAqIEBwYXJhbSBpbnQgJGIg5L2g6ZyA6KaB5Lyg5YWl5LiA5Liq5pW05pWw5Z6L55qE5Y+Y6YePXHJcbiAgKi9cclxuIGZ1bmN0aW9uIGEoaW50ICRiKXt9JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbJ1xhKCknID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRnVuY3Rpb25fIHsgLi4uIH1dOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvcHJvcGVydHkucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnN2M3YjFiNWI1ZTk0MjZmNzU1MTRiZjA0Y2MyYWZmNzQnOyBwcml2YXRlICRuYW1lID0gJ3Byb3BlcnR5LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3Byb3BlcnR5LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivcHJvcGVydHnljIXmi6zlroPnmoTlj5jkvZNbcHJvcGVydHktcmVhZCB8IHByb3BlcnR5LXdyaXRlXeagh+etvuekuuS+i1xyXG4gKlxyXG4gKiBAcHJvcGVydHkgbWl4ZWQgJHJlZ3VsYXIg5aOw5piO5bi46KeE55qE6K+75YaZ5bGe5oCnXHJcbiAqIEBwcm9wZXJ0eS1yZWFkIGludCAkZm9vIOWjsOaYjuWPquivu1xyXG4gKiBAcHJvcGVydHktd3JpdGUgc3RyaW5nICRiYXIg5aOw5piO5Y+q5YaZXHJcbiAqL1xyXG5cclxuY2xhc3MgTWFnaWNpYW5cclxue1xyXG4gICAgcHJpdmF0ZSAkX3RoaW5neTtcclxuICAgIHByaXZhdGUgJF9iYXI7XHJcbiAgICBmdW5jdGlvbiBfX2dldCgkdmFyKVxyXG4gICAge1xyXG4gICAgICAgIHN3aXRjaCAoJHZhcikge1xyXG4gICAgICAgICAgICBjYXNlIFwnZm9vXCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNDU7XHJcbiAgICAgICAgICAgIGNhc2UgXCdyZWd1bGFyXCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJHRoaXMtPl90aGluZ3k7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZicuLi47IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gWydcTWFnaWNpYW4nID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIHsgLi4uIH1dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvcmV0dXJuLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJ2YxNDEzODI2MzY3OWVhOTQ2MjkxMjY3YWY2ZjAwNzNlJzsgcHJpdmF0ZSAkbmFtZSA9ICdyZXR1cm4ucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcmV0dXJuLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivcmV0dXJu5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDov5nkuKrmoIfnrb7nlKjkuo7moIforrDmlrnms5XmiJblh73mlbDnmoTov5Tlm57lgLzlkozov5Tlm57lhoXlrrlcclxuICogQHJldHVybiBpbnQg6L+Z6YeM5Lya6L+U5Zue5LiA5Liq5pW05pWw57G75Z6L55qE5pWw5a2XXHJcbiAqL1xyXG5mdW5jdGlvbiBhKCRwYXJhbSlcclxue1xyXG4gICAgJGIgPSAoaW50KSAkcGFyYW07XHJcbiAgICByZXR1cm4gJGI7XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsnXGEoKScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGdW5jdGlvbl8geyAuLi4gfV07IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfV07IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXSB9IH0sICRvYmplY3QgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWydwdWJsaWMnID0+IDQyMCwgJ3ByaXZhdGUnID0+IDM4NF0sICdkaXInID0+IFsncHVibGljJyA9PiA0OTMsICdwcml2YXRlJyA9PiA0NDhdXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvc2VlLnBocCcgfSwgJHN0cmF0ZWdpZXMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb2plY3RGYWN0b3J5U3RyYXRlZ2llcyB7IHByaXZhdGUgJHN0cmF0ZWdpZXMgPSBjbGFzcyBTcGxQcmlvcml0eVF1ZXVlIHsgIH0gfSkgcGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3IvcGhwZG9jdW1lbnRvci9yZWZsZWN0aW9uL3NyYy9waHBEb2N1bWVudG9yL1JlZmxlY3Rpb24vUGhwL1Byb2plY3RGYWN0b3J5LnBocDoxMTAKICAgIDMuMTM4NCAgIDIxOTUxODE2ICAyMC4gcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEZpbGUtPmRvQ3JlYXRlKCRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XENvbnRleHRTdGFjayB7IHByaXZhdGUgJGVsZW1lbnRzID0gW107IHByaXZhdGUgJHR5cGVDb250ZXh0ID0gTlVMTDsgcHJpdmF0ZSAkcHJvamVjdCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdCB7IHByaXZhdGUgJG5hbWUgPSAnVW50aXRsZWQgcHJvamVjdCc7IHByaXZhdGUgJHJvb3ROYW1lc3BhY2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE5hbWVzcGFjZV8geyBwcml2YXRlICRmcXNlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiB7IHByaXZhdGUgJGZxc2VuID0gJ1xcJzsgcHJpdmF0ZSAkbmFtZSA9ICcnIH07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH07IHByaXZhdGUgJGZpbGVzID0gWyd0YWcvYmFzaWMvYWJzdHJhY3QucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnMjdlMGRmODQ0ODgwNzk3NjQ5N2FiMGIyNTAzYzhjMWEnOyBwcml2YXRlICRuYW1lID0gJ2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog5aaC5p6c57G75Lit5pyJ5pyA5bCR5LiA5Liq5oq96LGh5pa55rOV55qE6K+d77yM6YKj5LmI57G75bqU6K+l6KKr5aOw5piO5Li65oq96LGh57G7XHJcbiAqIFxyXG4gKiDku45waHA154mI5pys5LmL5ZCO5q2k5qCH562+5bey6KKr5byD55SoXHJcbiAqIFxyXG4gKiBAYWJzdHJhY3RcclxuICovXHJcblxyXG5hYnN0cmFjdCBjbGFzcyBUZXN0XHJcbntcclxuICAgIC8qKlxyXG4gICAgKiDov5nmmK/kuIDkuKrmir3osaHmlrnms5VhXHJcbiAgICAqXHJcbiAgICAqIEBhYnN0cmFjdFxyXG4gICAgKi9cclxuICAgIGFic3RyYWN0IGZ1bmN0aW9uIGEoKXt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIOi/meaYr+S4gOS4quaZrumAmueahOaWueazlWJcclxuICAgICovXHJcbiAgICBmdW5jdGlvbiBmdW5jdGlvbjIoKXt9XHJcblxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbJ1xUZXN0JyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyB7IC4uLiB9XTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2F1dGhvci5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICflvZPliY3kuLpwYWdl56S65L6LJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyAuLi4gfTsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dOyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyAuLi4gfTsgcHJpdmF0ZSAkbG9jYXRpb24gPSBOVUxMOyBwcml2YXRlICRpc1RlbXBsYXRlU3RhcnQgPSBGQUxTRTsgcHJpdmF0ZSAkaXNUZW1wbGF0ZUVuZCA9IEZBTFNFIH07IHByaXZhdGUgJGhhc2ggPSAnMmMwMGY5MzNmNDAwZjczZGJiNjNiODg5OTliODNjY2InOyBwcml2YXRlICRuYW1lID0gJ2F1dGhvci5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9hdXRob3IucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDlvZPliY3kuLpwYWdl56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7lj6/ku6XnlKjkuo7ku7vkvZXpnIDopoHmoIforrDnmoTlhYPntKDkuIpcclxuICogKGdsb2JhbCB2YXJpYWJsZSwgaW5jbHVkZSwgY29uc3RhbnQsIGZ1bmN0aW9uLCBkZWZpbmUsIGNsYXNzLCB2YXJpYWJsZSwgbWV0aG9kLCBwYWdlKVxyXG4gKiBcclxuICogQGF1dGhvciBob25lY2UgPGNoaW5hX3poekB5ZWFyLm5ldD5cclxuICovXHJcblxyXG4vKipcclxuICog5b2T5YmN5Li6ZnVuY3Rpb27npLrkvotcclxuICogXHJcbiAqIOatpOWHveaVsOWPr+iDveeUseWPpuS4gOS4quS9nOiAhee8luWGmVxyXG4gKiBAYXV0aG9yIGhvbmVjZSBOby4yXHJcbiAqL1xyXG5mdW5jdGlvbiBhKCl7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWydcYSgpJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZ1bmN0aW9uXyB7IC4uLiB9XTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2NhdGVnb3J5LnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyBwcml2YXRlICRzdW1tYXJ5ID0gJ+i/meaYr+WjsOaYjuexu+WIq+eahOekuuS+iyc7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIHsgLi4uIH07IHByaXZhdGUgJHRhZ3MgPSBbLi4uXTsgcHJpdmF0ZSAkY29udGV4dCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IHsgLi4uIH07IHByaXZhdGUgJGxvY2F0aW9uID0gTlVMTDsgcHJpdmF0ZSAkaXNUZW1wbGF0ZVN0YXJ0ID0gRkFMU0U7IHByaXZhdGUgJGlzVGVtcGxhdGVFbmQgPSBGQUxTRSB9OyBwcml2YXRlICRoYXNoID0gJzZiMmZmNmQ0NzYxZjRlYTNmYzlhN2ZiOTk2NTIyMzA3JzsgcHJpdmF0ZSAkbmFtZSA9ICdjYXRlZ29yeS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9jYXRlZ29yeS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr+WjsOaYjuexu+WIq+eahOekuuS+i1xyXG4gKiBcclxuICogQHBhY2thZ2UgTXlQYWNrYWdlXHJcbiAqIEBjYXRlZ29yeSBteWNhdGVnb3J5XHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBnbG9iYWwgYXJyYXkgdXNlZCBmb3Igc3R1ZmZcclxuICovXHJcblxyXG5mdW5jdGlvbiBtaW5lKClcclxue1xyXG4gICAgZ2xvYmFsICRiYXo7XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsnXG1pbmUoKScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGdW5jdGlvbl8geyAuLi4gfV07IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9jb3B5cmlnaHQucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IHByaXZhdGUgJHN1bW1hcnkgPSAn6L+Z5pivY29weXJpZ2h055qE5qCH562+56S65L6LXG7lvZPliY3kuLrpobXpnaLnuqfmlofmoaPlnZcnOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiB7IC4uLiB9OyBwcml2YXRlICR0YWdzID0gWy4uLl07IHByaXZhdGUgJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCB7IC4uLiB9OyBwcml2YXRlICRsb2NhdGlvbiA9IE5VTEw7IHByaXZhdGUgJGlzVGVtcGxhdGVTdGFydCA9IEZBTFNFOyBwcml2YXRlICRpc1RlbXBsYXRlRW5kID0gRkFMU0UgfTsgcHJpdmF0ZSAkaGFzaCA9ICczNTg0YjUyM2FjODRlOTFjNzUxNGRiM2Q3NmFlMzc2Myc7IHByaXZhdGUgJG5hbWUgPSAnY29weXJpZ2h0LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2NvcHlyaWdodC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2NvcHlyaWdodOeahOagh+etvuekuuS+i1xyXG4gKiDlvZPliY3kuLrpobXpnaLnuqfmlofmoaPlnZdcclxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMjMsIGhvbmVjZVxyXG4gKi9cclxuJzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2RlcHJlY2F0ZWQucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnMjc2NzIyNjMzZDI3NDIzYmQ3MjY4ZWQ0MzI5Y2U3NjgnOyBwcml2YXRlICRuYW1lID0gJ2RlcHJlY2F0ZWQucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZGVwcmVjYXRlZC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2RlcHJlY2F0ZWTmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOW9k+WJjeS4unBhZ2XnuqfmlofmoaPlnZfvvIxcclxuICog5q2k5qCH6K6w5Y+v55So5LqOcGFnZee6p+aWh+aho+Wdl+S5i+WklueahOaWh+aho+Wdl1xyXG4gKi9cclxuY2xhc3MgVGVzdFxyXG57XHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIDwwLjEuMD4gYeaWueazleiHqjAuMS4w54mI5pys5bey5byD55SoXHJcbiAgICAgKi9cclxuICAgIGZ1bmN0aW9uIGEoKXt9XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsnXFRlc3QnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIHsgLi4uIH1dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvZXhhbXBsZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc4Y2I4Y2FhMDIzNzJjN2ZhNGZkNGE3N2EwZWMzMWJmNyc7IHByaXZhdGUgJG5hbWUgPSAnZXhhbXBsZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9leGFtcGxlLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuKiDov5nmmK9leGFtcGxl5qCH562+56S65L6LXHJcbiogQGV4YW1wbGUgL3RhZy9pbmxpbmUvZXhhbXBsZS5waHAg6L+Z5piv5q2k5qCH562+5YaF6IGU55So5rOVXHJcbiogQGV4YW1wbGUgZXhhbXBsZS5waHAg5q2k56S65L6L5Li65b2T5YmN55uu5b2V5paH5Lu2XHJcbiovXHJcbmZ1bmN0aW9uIGEoKXt9JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbJ1xhKCknID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRnVuY3Rpb25fIHsgLi4uIH1dOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICfov5nmmK9maWxlc291cmNl5qCH562+55qE56S65L6L5Luj56CBJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyAuLi4gfTsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dOyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyAuLi4gfTsgcHJpdmF0ZSAkbG9jYXRpb24gPSBOVUxMOyBwcml2YXRlICRpc1RlbXBsYXRlU3RhcnQgPSBGQUxTRTsgcHJpdmF0ZSAkaXNUZW1wbGF0ZUVuZCA9IEZBTFNFIH07IHByaXZhdGUgJGhhc2ggPSAnOTg0ZDg3OTFmN2Q5ODRjMjZmNGQxYThlNjcxZjY1MjInOyBwcml2YXRlICRuYW1lID0gJ2ZpbGVzb3VyY2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2ZpbGVzb3VyY2XmoIfnrb7nmoTnpLrkvovku6PnoIFcclxuICogXHJcbiAqIOS9nOeUqOWwseaYr+e7meW9k+WJjeaWh+S7tuWIm+W7uuS4gOS4qumTvuaOpeW5tuaYvuekuua6kOS7o+eggVxyXG4gKiBAZmlsZXNvdXJjZVxyXG4gKi9cclxuZWNobyAxOyc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9maW5hbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc0MGFhMjgzNzgwNDBhMjdjYWIyOTMyY2Q0MmFkMjhlNSc7IHByaXZhdGUgJG5hbWUgPSAnZmluYWwucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmluYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9maW5hbOagh+etvueahOekuuS+i1xyXG4gKiDmraTmoIfnrb7lt7Lml6DmlYjvvIzkvZznlKjlsLHmmK/lrZfpnaLmhI/mgJ1cclxuICovXHJcblxyXG5jbGFzcyBteWNsYXNzXHJcbntcclxuICAgIC8qKlxyXG4gICAgICogQGZpbmFsXHJcbiAgICAgKi9cclxuICAgIGZpbmFsIGZ1bmN0aW9uIGEoKVxyXG4gICAge1xyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbJ1xteWNsYXNzJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyB7IC4uLiB9XTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2dsb2JhbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICfov5nmmK9nbG9iYWzmoIfnrb7npLrkvosnOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiB7IC4uLiB9OyBwcml2YXRlICR0YWdzID0gWy4uLl07IHByaXZhdGUgJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCB7IC4uLiB9OyBwcml2YXRlICRsb2NhdGlvbiA9IE5VTEw7IHByaXZhdGUgJGlzVGVtcGxhdGVTdGFydCA9IEZBTFNFOyBwcml2YXRlICRpc1RlbXBsYXRlRW5kID0gRkFMU0UgfTsgcHJpdmF0ZSAkaGFzaCA9ICdlMjE4MGMxMTEwOTdkMjBmNzRmNDcwMjk4ODg3MTkxMic7IHByaXZhdGUgJG5hbWUgPSAnZ2xvYmFsLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2dsb2JhbC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2dsb2JhbOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5Li76KaB55So5LqO6K6w5b2V5YWo5bGA5Y+Y6YeP55qE55So5rOVXHJcbiAqIOW7uuiuruebtOaOpeWjsOaYjuWcqOWumuS5ieWFqOWxgOWPmOmHj+eahOS4iuS4gOihjO+8jOS7peWFjeW8leWPkeaUvuWcqOmUmeivr+eahOS9nOeUqOWfn+WGheS4jeivhuWIq+eahOmUmeivr1xyXG4gKi9cclxuXHJcbi8qKiBcclxuICogQGdsb2JhbCBtaXhlZCAkX0dMT0JBTFNbIm15dmFyIl0gXHJcbiAqL1xyXG4kX0dMT0JBTFNbIm15dmFyIl0gPSBhcnJheSgidGhpcyIgPT4gXCflt6XkvZzmraPluLhcJyk7XHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiDlsIZAbmFtZeS4jkBnbG9iYWzkuIDotbfkvb/nlKjnmoTnpLrkvotcclxuICog5ZyoQG5hbWXmoIfnrb7kuK3vvIxuYW1l5b+F6aG75pyJJCzlkKbliJnlsIblvJXlj5HplJnor69cclxuICogQGdsb2JhbCBhcnJheSAkR0xPQkFMU1tcJ25lYXRvXCddIFxyXG4gKiBAbmFtZSAkbmVhdG9cclxuICovXHJcbiRHTE9CQUxTW1wnbmVhdG9cJ10gPSAnLi4uOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvaWdub3JlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyBwcml2YXRlICRzdW1tYXJ5ID0gJ+i/meaYr2lnbm9yZeagh+etvuekuuS+iyc7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIHsgLi4uIH07IHByaXZhdGUgJHRhZ3MgPSBbLi4uXTsgcHJpdmF0ZSAkY29udGV4dCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IHsgLi4uIH07IHByaXZhdGUgJGxvY2F0aW9uID0gTlVMTDsgcHJpdmF0ZSAkaXNUZW1wbGF0ZVN0YXJ0ID0gRkFMU0U7IHByaXZhdGUgJGlzVGVtcGxhdGVFbmQgPSBGQUxTRSB9OyBwcml2YXRlICRoYXNoID0gJzhkZmU4ZTg0NWIwNDA3ZGM1ZTQ1ZjkwOTM4ODMwNjliJzsgcHJpdmF0ZSAkbmFtZSA9ICdpZ25vcmUucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvaWdub3JlLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivaWdub3Jl5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7nlKjkuo7nu4Tnu4dwaHBkb2PorrDlvZXlhYPntKBcclxuICovXHJcblxyXG5pZiAoJG9zdGVzdCkge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGlzIGRlZmluZSB3aWxsIGVpdGhlciBiZSBcJ1VuaXhcJyBvciBcJ1dpbmRvd3NcJ1xyXG4gICAgICovXHJcbiAgICBkZWZpbmUoIk9TIiwgIlVuaXgiKTtcclxufVxyXG5lbHNlIHtcclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZSDov5nph4zmmK/lv73nlaXnmoTluLjph49cclxuICAgICAqL1xyXG4gICAgZGVmaW5lKCJPUyIsICJXaW5kb3dzIik7XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbJ1xPUycgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudCB7IC4uLiB9XTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvaW50ZXJuYWwucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnYzY3ZTRiNTExZmZiZWVmMjViYjEzMzU5ZWE5OWExMDUnOyBwcml2YXRlICRuYW1lID0gJ2ludGVybmFsLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2ludGVybmFsLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivaW50ZXJuYWzmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvuWPr+S7peeUn+aIkOS4pOS7veaWh+aho++8jOWumOaWueivtOaYr3BocGRvY+acgOacieeUqOeahOWKn+iDveS5i+S4gFxyXG4gKiB7QGludGVybmFsIOimgeiuv+mXruacieWFs+S/ruaUueatpOexu+eahOaMh+WNlyzop4Ege0BsaW5rIGh0dHA6Ly93d3cuYmFpZHUuY29tIOaMh+WNl30s5oiW6IGU57O75L2g55qE5Li7566hfX19XHJcbiAqIEBpbnRlcm5hbCDor6Xnsbvkvb/nlKjnp4HmnInmlrnms5Uge0BsaW5rIF9mb28oKX0g5ZKMIHtAbGluayBfYmFyKCl9IOWBmuS4gOS6m+Wlh+aAqueahOS6i+aDhVxyXG4gKi9cclxuXHJcbmNsYXNzIERvZXN0aGluZ3Ncclxue1xyXG4gICAgcHJpdmF0ZSBmdW5jdGlvbiBfZm9vKClcclxuICAgIHtcclxuICAgIH1cclxuICAgIHByaXZhdGUgZnVuY3Rpb24gX2JhcigpXHJcbiAgICB7XHJcbiAgICB9XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsnXERvZXN0aGluZ3MnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIHsgLi4uIH1dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvbGljZW5zZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc4NDA2OWNhZjM4YmMyNDJhNDE4OThiYThiMGM4YjA4Yyc7IHByaXZhdGUgJG5hbWUgPSAnbGljZW5zZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9saWNlbnNlLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbGljZW5zZeagh+etvuekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+55So5LqO5ZCR55So5oi35o+Q56S66YCC55So5LqO5q2k5paH5qGj5Z2X55qE6K645Y+v6K+BXHJcbiAqIOWxleekuuaMh+WQkeiuuOWPr+ivgVVSTOeahOi2hemTvuaOpe+8jOS4quS6uuWPquW7uuiuruaUvuWcqOaWh+S7tue6p+WIq+eahOaWh+aho+Wdl+S4rVxyXG4gKiBAbGljZW5zZSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAgQXBhY2hlMi4wXHJcbiAqL1xyXG5cclxuY2xhc3Mgb3BlbnNvdXJjZV9jbGFzc1xyXG57XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsnXG9wZW5zb3VyY2VfY2xhc3MnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIHsgLi4uIH1dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvbGluay5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICfov5nmmK9saW5r5qCH562+56S65L6LJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyAuLi4gfTsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dOyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyAuLi4gfTsgcHJpdmF0ZSAkbG9jYXRpb24gPSBOVUxMOyBwcml2YXRlICRpc1RlbXBsYXRlU3RhcnQgPSBGQUxTRTsgcHJpdmF0ZSAkaXNUZW1wbGF0ZUVuZCA9IEZBTFNFIH07IHByaXZhdGUgJGhhc2ggPSAnMDU1YmUwYTAxOTY2NjM2MDAzMTU3YmRjMjVhZjkwNmInOyBwcml2YXRlICRuYW1lID0gJ2xpbmsucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbGluay5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2xpbmvmoIfnrb7npLrkvotcclxuICogQGxpbmsgaHR0cDovL3d3dy5iYWlkdS5jb20g6K+m5oOF5om+55m+5bqmXHJcbiAqL1xyXG5cclxuIC8qKlxyXG4gICogRGlzcGxheXMgPGEgaHJlZj0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+SGVsbG88L2E+XHJcbiAgKiBAbGluayBodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjM5Ni50eHQgUkZDMjM5NlxyXG4gICovXHJcbiBkZWZpbmUoIlRFU1RfQ09OU1RBTlQyIiwzKTtcclxuJzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWydcVEVTVF9DT05TVEFOVDInID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQgeyAuLi4gfV07IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL21ldGhvZC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICcyMGI1ZTQ1ZThjMjc0ZWM0YjdjMzNhZjBmY2FlOWY5ZCc7IHByaXZhdGUgJG5hbWUgPSAnbWV0aG9kLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL21ldGhvZC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr21ldGhvZOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5a6Y5pa557uZ5Ye655qE5a6a5LmJ5piv77yM6KaB5Zyo5a2Q57G75Lit5aOw5piO54i257G75L2/55So6a2U5pyv5pa55rOV5p2l5a6e546w55qE5LiA5Lqb6Z2e5pi+56S65a2Y5Zyo5pa55rOVXHJcbiAqIOi/meS4quagh+etvuS4jeS8muWcqHBocERvY+aYvuekumZ1bmN0aW9u5a6e5L2TXHJcbiAqIFxyXG4gKiBAbWV0aG9kIHJldHVybiB2b2lkIGVjaG8yKHN0cmluZyAkc3RyaW5nKSA85omT5Y2w5bim5pyJ5o2i6KGM56ym55qE5a2X56ym5LiyPlxyXG4gKi9cclxuY2xhc3MgVGVzdCBleHRlbmRzIEZhdGhlcnt9XHJcblxyXG5jbGFzcyBGYXRoZXJcclxue1xyXG4gICAgZnVuY3Rpb24gX19jYWxsKCRtZXRob2QsIHN0cmluZyAkcGFyYW1zKVxyXG4gICAge1xyXG4gICAgICAgIGlmICgkbWV0aG9kID09IFwnZWNobzJcJykge1xyXG4gICAgICAgICAgICBlY2hvICRwYXJhbXMgLiBQSFBfRU9MO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gWydcVGVzdCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18geyAuLi4gfSwgJ1xGYXRoZXInID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIHsgLi4uIH1dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvbmFtZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICfov5nmmK9uYW1l5qCH562+56S65L6LJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyAuLi4gfTsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dOyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyAuLi4gfTsgcHJpdmF0ZSAkbG9jYXRpb24gPSBOVUxMOyBwcml2YXRlICRpc1RlbXBsYXRlU3RhcnQgPSBGQUxTRTsgcHJpdmF0ZSAkaXNUZW1wbGF0ZUVuZCA9IEZBTFNFIH07IHByaXZhdGUgJGhhc2ggPSAnOTI0Zjk1MzNlOGE3NDFkMTMxNzM2ZmJmODZmODZmOTcnOyBwcml2YXRlICRuYW1lID0gJ25hbWUucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbmFtZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr25hbWXmoIfnrb7npLrkvotcclxuICovXHJcblxyXG4vKipcclxuICog5b2T5Zyo5Ye95pWw5Lit5L2/55SoQGdsb2JhbOaXtu+8jOWug+WwhumTvuaOpeWIsCRiYXpcclxuICogQG5hbWUgJGJhelxyXG4gKiBAZ2xvYmFsIGFycmF5ICRHTE9CQUxTW1wnYmF6XCddIFxyXG4gKi9cclxuJEdMT0JBTFNbXCdiYXpcJ10gPSBhcnJheShcJ2Zvb1wnLCBcJ2JhclwnKTtcclxuXHJcbi8qKlxyXG4gKiBAZ2xvYmFsIGFycmF5IHVzZWQgZm9yIHN0dWZmXHJcbiAqL1xyXG5mdW5jdGlvbiBtaW5lKClcclxue1xyXG4gICAgZ2xvYmFsICRiYXo7XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsnXG1pbmUoKScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGdW5jdGlvbl8geyAuLi4gfV07IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9wYWNrYWdlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyBwcml2YXRlICRzdW1tYXJ5ID0gJ+i/meaYr3BhY2thZ2XmoIfnrb7npLrkvosnOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiB7IC4uLiB9OyBwcml2YXRlICR0YWdzID0gWy4uLl07IHByaXZhdGUgJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCB7IC4uLiB9OyBwcml2YXRlICRsb2NhdGlvbiA9IE5VTEw7IHByaXZhdGUgJGlzVGVtcGxhdGVTdGFydCA9IEZBTFNFOyBwcml2YXRlICRpc1RlbXBsYXRlRW5kID0gRkFMU0UgfTsgcHJpdmF0ZSAkaGFzaCA9ICcxMmY5M2Y2NDI0NzZmZmI1OWE3YzgwMGNiNTM2NzYzMyc7IHByaXZhdGUgJG5hbWUgPSAncGFja2FnZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9wYWNrYWdlLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivcGFja2FnZeagh+etvuekuuS+i1xyXG4gKiBcclxuICog6aG16Z2i57qnRG9jQmxvY2vnpLrkvovjgIJcclxuICog5q2kRG9jQmxvY2vkvY3kuo7lj6bkuIDkuKpEb2NCbG9ja+S5i+WJje+8jOWwhuiiq+ino+aekOS4uumhtemdoue6p+WIq+OAglxyXG4gKiDlsIbmgqjnmoRAcGFja2FnZeWSjEBzdWJwYWNrYWdl5qCH6K6w5pS+5Zyo5q2k5aSEXHJcbiAqIEBwYWNrYWdlIHBhZ2VsZXZlbF9wYWNrYWdlXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIGZ1bmN0aW9uIGJsdWhcclxuICovXHJcbmZ1bmN0aW9uIGJsdWgoKVxyXG57XHJcbn1cclxuPz5cclxuPD9waHBcclxuLyoqXHJcbiog57G7IGJsdWhcclxuKiDnsbvnuqdEb2NCbG9ja+ekuuS+i+OAguS7peS4i+ekuuS+i+S7o+ihqGFwcGxpZXNfdG9fYmx1aOWMheWcqGFwcGxpZXNfdG9fYmx1aOWGhVxyXG4qIEBwYWNrYWdlIHBhZ2VsZXZlbF9wYWNrYWdlXFxcXGFwcGxpZXNfdG9fYmx1aCBcclxuKi9cclxuY2xhc3MgYmx1aFxyXG57XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIOatpOWPmOmHj+S9nOS4uuWMJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbJ1xibHVoKCknID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRnVuY3Rpb25fIHsgLi4uIH1dOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsnXGJsdWgnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIHsgLi4uIH1dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvcGFyYW0ucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IHByaXZhdGUgJHN1bW1hcnkgPSAn6L+Z5pivcGFyYW3moIfnrb7npLrkvosnOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiB7IC4uLiB9OyBwcml2YXRlICR0YWdzID0gWy4uLl07IHByaXZhdGUgJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCB7IC4uLiB9OyBwcml2YXRlICRsb2NhdGlvbiA9IE5VTEw7IHByaXZhdGUgJGlzVGVtcGxhdGVTdGFydCA9IEZBTFNFOyBwcml2YXRlICRpc1RlbXBsYXRlRW5kID0gRkFMU0UgfTsgcHJpdmF0ZSAkaGFzaCA9ICczMjhhYjY2Y2MyNzI0ODRmM2Y2OTYwMGNjZmE3Zjg5Mic7IHByaXZhdGUgJG5hbWUgPSAncGFyYW0ucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcGFyYW0ucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wYXJhbeagh+etvuekuuS+i1xyXG4gKiBcclxuICog5aOw5piO5pa55rOV5Lyg5YWl55qE5Y+C5pWwXHJcbiAqL1xyXG5cclxuIC8qKlxyXG4gICogQHBhcmFtIGludCAkYiDkvaDpnIDopoHkvKDlhaXkuIDkuKrmlbTmlbDlnovnmoTlj5jph49cclxuICAqL1xyXG4gZnVuY3Rpb24gYShpbnQgJGIpe30nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsnXGEoKScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGdW5jdGlvbl8geyAuLi4gfV07IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9wcm9wZXJ0eS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc3YzdiMWI1YjVlOTQyNmY3NTUxNGJmMDRjYzJhZmY3NCc7IHByaXZhdGUgJG5hbWUgPSAncHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wcm9wZXJ0eeWMheaLrOWug+eahOWPmOS9k1twcm9wZXJ0eS1yZWFkIHwgcHJvcGVydHktd3JpdGVd5qCH562+56S65L6LXHJcbiAqXHJcbiAqIEBwcm9wZXJ0eSBtaXhlZCAkcmVndWxhciDlo7DmmI7luLjop4TnmoTor7vlhpnlsZ7mgKdcclxuICogQHByb3BlcnR5LXJlYWQgaW50ICRmb28g5aOw5piO5Y+q6K+7XHJcbiAqIEBwcm9wZXJ0eS13cml0ZSBzdHJpbmcgJGJhciDlo7DmmI7lj6rlhplcclxuICovXHJcblxyXG5jbGFzcyBNYWdpY2lhblxyXG57XHJcbiAgICBwcml2YXRlICRfdGhpbmd5O1xyXG4gICAgcHJpdmF0ZSAkX2JhcjtcclxuICAgIGZ1bmN0aW9uIF9fZ2V0KCR2YXIpXHJcbiAgICB7XHJcbiAgICAgICAgc3dpdGNoICgkdmFyKSB7XHJcbiAgICAgICAgICAgIGNhc2UgXCdmb29cJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiA0NTtcclxuICAgICAgICAgICAgY2FzZSBcJ3JlZ3VsYXJcJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X3RoaW5neTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbJ1xNYWdpY2lhbicgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18geyAuLi4gfV07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9yZXR1cm4ucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnZjE0MTM4MjYzNjc5ZWE5NDYyOTEyNjdhZjZmMDA3M2UnOyBwcml2YXRlICRuYW1lID0gJ3JldHVybi5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9yZXR1cm4ucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9yZXR1cm7moIfnrb7npLrkvotcclxuICogXHJcbiAqIOi/meS4quagh+etvueUqOS6juagh+iusOaWueazleaIluWHveaVsOeahOi/lOWbnuWAvOWSjOi/lOWbnuWGheWuuVxyXG4gKiBAcmV0dXJuIGludCDov5nph4zkvJrov5Tlm57kuIDkuKrmlbTmlbDnsbvlnovnmoTmlbDlrZdcclxuICovXHJcbmZ1bmN0aW9uIGEoJHBhcmFtKVxyXG57XHJcbiAgICAkYiA9IChpbnQpICRwYXJhbTtcclxuICAgIHJldHVybiAkYjtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWydcYSgpJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZ1bmN0aW9uXyB7IC4uLiB9XTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9XTsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdIH0gfSwgJG9iamVjdCA9IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbJ3B1YmxpYycgPT4gNDIwLCAncHJpdmF0ZScgPT4gMzg0XSwgJ2RpcicgPT4gWydwdWJsaWMnID0+IDQ5MywgJ3ByaXZhdGUnID0+IDQ0OF1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9zZWUucGhwJyB9LCAkc3RyYXRlZ2llcyA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdEZhY3RvcnlTdHJhdGVnaWVzIHsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIFNwbFByaW9yaXR5UXVldWUgeyAgfSB9KSBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9QaHAvRmFjdG9yeS9BYnN0cmFjdEZhY3RvcnkucGhwOjU5CiAgICAzLjEzOTIgICAyMTk1MTkxMiAgMjEuIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxNaWRkbGV3YXJlXENoYWluRmFjdG9yeTo6cGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXE1pZGRsZXdhcmVce2Nsb3N1cmU6cGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3IvcGhwZG9jdW1lbnRvci9yZWZsZWN0aW9uL3NyYy9waHBEb2N1bWVudG9yL1JlZmxlY3Rpb24vTWlkZGxld2FyZS9DaGFpbkZhY3RvcnkucGhwOjQyLTQ0fSgkY29tbWFuZCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmFjdG9yeVxGaWxlXENyZWF0ZUNvbW1hbmQgeyBwcml2YXRlICRmaWxlID0gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcRmx5U3lzdGVtRmlsZSB7IHByaXZhdGUgJGZpbGVTeXN0ZW0gPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEZpbGVzeXN0ZW0geyBwcm90ZWN0ZWQgJGFkYXB0ZXIgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXEFkYXB0ZXJcTG9jYWwgeyBwcm90ZWN0ZWQgJHBhdGhTZXBhcmF0b3IgPSAnXFwnOyBwcm90ZWN0ZWQgJHBlcm1pc3Npb25NYXAgPSBbJ2ZpbGUnID0+IFsuLi5dLCAnZGlyJyA9PiBbLi4uXV07IHByb3RlY3RlZCAkd3JpdGVGbGFncyA9IDI7IHByaXZhdGUgJGxpbmtIYW5kbGluZyA9IDE7IHByb3RlY3RlZCAkcGF0aFByZWZpeCA9ICcuXFwnIH07IHByb3RlY3RlZCAkcGx1Z2lucyA9IFsnZmluZCcgPT4gY2xhc3MgRmx5ZmluZGVyXEZpbmRlciB7IHByaXZhdGUgJGZpbGVzeXN0ZW0gPSAuLi4gfV07IHByb3RlY3RlZCAkY29uZmlnID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxDb25maWcgeyBwcm90ZWN0ZWQgJHNldHRpbmdzID0gW107IHByb3RlY3RlZCAkZmFsbGJhY2sgPSBOVUxMIH0gfTsgcHJpdmF0ZSAkZmlsZU5hbWUgPSAndGFnL2Jhc2ljL3NlZS5waHAnIH07IHByaXZhdGUgJHN0cmF0ZWdpZXMgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb2plY3RGYWN0b3J5U3RyYXRlZ2llcyB7IHByaXZhdGUgJHN0cmF0ZWdpZXMgPSBjbGFzcyBTcGxQcmlvcml0eVF1ZXVlIHsgIH0gfTsgcHJpdmF0ZSAkY29udGV4dCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmFjdG9yeVxDb250ZXh0U3RhY2sgeyBwcml2YXRlICRlbGVtZW50cyA9IFtdOyBwcml2YXRlICR0eXBlQ29udGV4dCA9IE5VTEw7IHByaXZhdGUgJHByb2plY3QgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb2plY3QgeyBwcml2YXRlICRuYW1lID0gJ1VudGl0bGVkIHByb2plY3QnOyBwcml2YXRlICRyb290TmFtZXNwYWNlID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxOYW1lc3BhY2VfIHsgcHJpdmF0ZSAkZnFzZW4gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4geyBwcml2YXRlICRmcXNlbiA9ICdcXCc7IHByaXZhdGUgJG5hbWUgPSAnJyB9OyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9OyBwcml2YXRlICRmaWxlcyA9IFsndGFnL2Jhc2ljL2Fic3RyYWN0LnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzI3ZTBkZjg0NDg4MDc5NzY0OTdhYjBiMjUwM2M4YzFhJzsgcHJpdmF0ZSAkbmFtZSA9ICdhYnN0cmFjdC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9hYnN0cmFjdC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOWmguaenOexu+S4reacieacgOWwkeS4gOS4quaKveixoeaWueazleeahOivne+8jOmCo+S5iOexu+W6lOivpeiiq+WjsOaYjuS4uuaKveixoeexu1xyXG4gKiBcclxuICog5LuOcGhwNeeJiOacrOS5i+WQjuatpOagh+etvuW3suiiq+W8g+eUqFxyXG4gKiBcclxuICogQGFic3RyYWN0XHJcbiAqL1xyXG5cclxuYWJzdHJhY3QgY2xhc3MgVGVzdFxyXG57XHJcbiAgICAvKipcclxuICAgICog6L+Z5piv5LiA5Liq5oq96LGh5pa55rOVYVxyXG4gICAgKlxyXG4gICAgKiBAYWJzdHJhY3RcclxuICAgICovXHJcbiAgICBhYnN0cmFjdCBmdW5jdGlvbiBhKCl7fVxyXG5cclxuICAgIC8qKlxyXG4gICAgKiDov5nmmK/kuIDkuKrmma7pgJrnmoTmlrnms5ViXHJcbiAgICAqL1xyXG4gICAgZnVuY3Rpb24gZnVuY3Rpb24yKCl7fVxyXG5cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9hdXRob3IucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzJjMDBmOTMzZjQwMGY3M2RiYjYzYjg4OTk5YjgzY2NiJzsgcHJpdmF0ZSAkbmFtZSA9ICdhdXRob3IucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvYXV0aG9yLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog5b2T5YmN5Li6cGFnZeekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+5Y+v5Lul55So5LqO5Lu75L2V6ZyA6KaB5qCH6K6w55qE5YWD57Sg5LiKXHJcbiAqIChnbG9iYWwgdmFyaWFibGUsIGluY2x1ZGUsIGNvbnN0YW50LCBmdW5jdGlvbiwgZGVmaW5lLCBjbGFzcywgdmFyaWFibGUsIG1ldGhvZCwgcGFnZSlcclxuICogXHJcbiAqIEBhdXRob3IgaG9uZWNlIDxjaGluYV96aHpAeWVhci5uZXQ+XHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIOW9k+WJjeS4umZ1bmN0aW9u56S65L6LXHJcbiAqIFxyXG4gKiDmraTlh73mlbDlj6/og73nlLHlj6bkuIDkuKrkvZzogIXnvJblhplcclxuICogQGF1dGhvciBob25lY2UgTm8uMlxyXG4gKi9cclxuZnVuY3Rpb24gYSgpe30nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvY2F0ZWdvcnkucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzZiMmZmNmQ0NzYxZjRlYTNmYzlhN2ZiOTk2NTIyMzA3JzsgcHJpdmF0ZSAkbmFtZSA9ICdjYXRlZ29yeS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9jYXRlZ29yeS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr+WjsOaYjuexu+WIq+eahOekuuS+i1xyXG4gKiBcclxuICogQHBhY2thZ2UgTXlQYWNrYWdlXHJcbiAqIEBjYXRlZ29yeSBteWNhdGVnb3J5XHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBnbG9iYWwgYXJyYXkgdXNlZCBmb3Igc3R1ZmZcclxuICovXHJcblxyXG5mdW5jdGlvbiBtaW5lKClcclxue1xyXG4gICAgZ2xvYmFsICRiYXo7XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvY29weXJpZ2h0LnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICczNTg0YjUyM2FjODRlOTFjNzUxNGRiM2Q3NmFlMzc2Myc7IHByaXZhdGUgJG5hbWUgPSAnY29weXJpZ2h0LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2NvcHlyaWdodC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2NvcHlyaWdodOeahOagh+etvuekuuS+i1xyXG4gKiDlvZPliY3kuLrpobXpnaLnuqfmlofmoaPlnZdcclxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMjMsIGhvbmVjZVxyXG4gKi9cclxuJzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2RlcHJlY2F0ZWQucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnMjc2NzIyNjMzZDI3NDIzYmQ3MjY4ZWQ0MzI5Y2U3NjgnOyBwcml2YXRlICRuYW1lID0gJ2RlcHJlY2F0ZWQucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZGVwcmVjYXRlZC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2RlcHJlY2F0ZWTmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOW9k+WJjeS4unBhZ2XnuqfmlofmoaPlnZfvvIxcclxuICog5q2k5qCH6K6w5Y+v55So5LqOcGFnZee6p+aWh+aho+Wdl+S5i+WklueahOaWh+aho+Wdl1xyXG4gKi9cclxuY2xhc3MgVGVzdFxyXG57XHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIDwwLjEuMD4gYeaWueazleiHqjAuMS4w54mI5pys5bey5byD55SoXHJcbiAgICAgKi9cclxuICAgIGZ1bmN0aW9uIGEoKXt9XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZXhhbXBsZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc4Y2I4Y2FhMDIzNzJjN2ZhNGZkNGE3N2EwZWMzMWJmNyc7IHByaXZhdGUgJG5hbWUgPSAnZXhhbXBsZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9leGFtcGxlLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuKiDov5nmmK9leGFtcGxl5qCH562+56S65L6LXHJcbiogQGV4YW1wbGUgL3RhZy9pbmxpbmUvZXhhbXBsZS5waHAg6L+Z5piv5q2k5qCH562+5YaF6IGU55So5rOVXHJcbiogQGV4YW1wbGUgZXhhbXBsZS5waHAg5q2k56S65L6L5Li65b2T5YmN55uu5b2V5paH5Lu2XHJcbiovXHJcbmZ1bmN0aW9uIGEoKXt9JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2ZpbGVzb3VyY2UucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzk4NGQ4NzkxZjdkOTg0YzI2ZjRkMWE4ZTY3MWY2NTIyJzsgcHJpdmF0ZSAkbmFtZSA9ICdmaWxlc291cmNlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2ZpbGVzb3VyY2UucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9maWxlc291cmNl5qCH562+55qE56S65L6L5Luj56CBXHJcbiAqIFxyXG4gKiDkvZznlKjlsLHmmK/nu5nlvZPliY3mlofku7bliJvlu7rkuIDkuKrpk77mjqXlubbmmL7npLrmupDku6PnoIFcclxuICogQGZpbGVzb3VyY2VcclxuICovXHJcbmVjaG8gMTsnOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZmluYWwucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnNDBhYTI4Mzc4MDQwYTI3Y2FiMjkzMmNkNDJhZDI4ZTUnOyBwcml2YXRlICRuYW1lID0gJ2ZpbmFsLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2ZpbmFsLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivZmluYWzmoIfnrb7nmoTnpLrkvotcclxuICog5q2k5qCH562+5bey5peg5pWI77yM5L2c55So5bCx5piv5a2X6Z2i5oSP5oCdXHJcbiAqL1xyXG5cclxuY2xhc3MgbXljbGFzc1xyXG57XHJcbiAgICAvKipcclxuICAgICAqIEBmaW5hbFxyXG4gICAgICovXHJcbiAgICBmaW5hbCBmdW5jdGlvbiBhKClcclxuICAgIHtcclxuICAgIH1cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9nbG9iYWwucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJ2UyMTgwYzExMTA5N2QyMGY3NGY0NzAyOTg4ODcxOTEyJzsgcHJpdmF0ZSAkbmFtZSA9ICdnbG9iYWwucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZ2xvYmFsLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivZ2xvYmFs5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDkuLvopoHnlKjkuo7orrDlvZXlhajlsYDlj5jph4/nmoTnlKjms5VcclxuICog5bu66K6u55u05o6l5aOw5piO5Zyo5a6a5LmJ5YWo5bGA5Y+Y6YeP55qE5LiK5LiA6KGM77yM5Lul5YWN5byV5Y+R5pS+5Zyo6ZSZ6K+v55qE5L2c55So5Z+f5YaF5LiN6K+G5Yir55qE6ZSZ6K+vXHJcbiAqL1xyXG5cclxuLyoqIFxyXG4gKiBAZ2xvYmFsIG1peGVkICRfR0xPQkFMU1sibXl2YXIiXSBcclxuICovXHJcbiRfR0xPQkFMU1sibXl2YXIiXSA9IGFycmF5KCJ0aGlzIiA9PiBcJ+W3peS9nOato+W4uFwnKTtcclxuXHJcblxyXG5cclxuLyoqXHJcbiAqIOWwhkBuYW1l5LiOQGdsb2JhbOS4gOi1t+S9v+eUqOeahOekuuS+i1xyXG4gKiDlnKhAbmFtZeagh+etvuS4re+8jG5hbWXlv4XpobvmnIkkLOWQpuWImeWwhuW8leWPkemUmeivr1xyXG4gKiBAZ2xvYmFsIGFycmF5ICRHTE9CQUxTW1wnbmVhdG9cJ10gXHJcbiAqIEBuYW1lICRuZWF0b1xyXG4gKi9cclxuJEdMT0JBTFNbXCduZWF0b1wnXSA9ICcuLi47IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9pZ25vcmUucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzhkZmU4ZTg0NWIwNDA3ZGM1ZTQ1ZjkwOTM4ODMwNjliJzsgcHJpdmF0ZSAkbmFtZSA9ICdpZ25vcmUucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvaWdub3JlLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivaWdub3Jl5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7nlKjkuo7nu4Tnu4dwaHBkb2PorrDlvZXlhYPntKBcclxuICovXHJcblxyXG5pZiAoJG9zdGVzdCkge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGlzIGRlZmluZSB3aWxsIGVpdGhlciBiZSBcJ1VuaXhcJyBvciBcJ1dpbmRvd3NcJ1xyXG4gICAgICovXHJcbiAgICBkZWZpbmUoIk9TIiwgIlVuaXgiKTtcclxufVxyXG5lbHNlIHtcclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZSDov5nph4zmmK/lv73nlaXnmoTluLjph49cclxuICAgICAqL1xyXG4gICAgZGVmaW5lKCJPUyIsICJXaW5kb3dzIik7XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvaW50ZXJuYWwucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnYzY3ZTRiNTExZmZiZWVmMjViYjEzMzU5ZWE5OWExMDUnOyBwcml2YXRlICRuYW1lID0gJ2ludGVybmFsLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2ludGVybmFsLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivaW50ZXJuYWzmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvuWPr+S7peeUn+aIkOS4pOS7veaWh+aho++8jOWumOaWueivtOaYr3BocGRvY+acgOacieeUqOeahOWKn+iDveS5i+S4gFxyXG4gKiB7QGludGVybmFsIOimgeiuv+mXruacieWFs+S/ruaUueatpOexu+eahOaMh+WNlyzop4Ege0BsaW5rIGh0dHA6Ly93d3cuYmFpZHUuY29tIOaMh+WNl30s5oiW6IGU57O75L2g55qE5Li7566hfX19XHJcbiAqIEBpbnRlcm5hbCDor6Xnsbvkvb/nlKjnp4HmnInmlrnms5Uge0BsaW5rIF9mb28oKX0g5ZKMIHtAbGluayBfYmFyKCl9IOWBmuS4gOS6m+Wlh+aAqueahOS6i+aDhVxyXG4gKi9cclxuXHJcbmNsYXNzIERvZXN0aGluZ3Ncclxue1xyXG4gICAgcHJpdmF0ZSBmdW5jdGlvbiBfZm9vKClcclxuICAgIHtcclxuICAgIH1cclxuICAgIHByaXZhdGUgZnVuY3Rpb24gX2JhcigpXHJcbiAgICB7XHJcbiAgICB9XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvbGljZW5zZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc4NDA2OWNhZjM4YmMyNDJhNDE4OThiYThiMGM4YjA4Yyc7IHByaXZhdGUgJG5hbWUgPSAnbGljZW5zZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9saWNlbnNlLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbGljZW5zZeagh+etvuekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+55So5LqO5ZCR55So5oi35o+Q56S66YCC55So5LqO5q2k5paH5qGj5Z2X55qE6K645Y+v6K+BXHJcbiAqIOWxleekuuaMh+WQkeiuuOWPr+ivgVVSTOeahOi2hemTvuaOpe+8jOS4quS6uuWPquW7uuiuruaUvuWcqOaWh+S7tue6p+WIq+eahOaWh+aho+Wdl+S4rVxyXG4gKiBAbGljZW5zZSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAgQXBhY2hlMi4wXHJcbiAqL1xyXG5cclxuY2xhc3Mgb3BlbnNvdXJjZV9jbGFzc1xyXG57XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvbGluay5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnMDU1YmUwYTAxOTY2NjM2MDAzMTU3YmRjMjVhZjkwNmInOyBwcml2YXRlICRuYW1lID0gJ2xpbmsucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbGluay5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2xpbmvmoIfnrb7npLrkvotcclxuICogQGxpbmsgaHR0cDovL3d3dy5iYWlkdS5jb20g6K+m5oOF5om+55m+5bqmXHJcbiAqL1xyXG5cclxuIC8qKlxyXG4gICogRGlzcGxheXMgPGEgaHJlZj0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+SGVsbG88L2E+XHJcbiAgKiBAbGluayBodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjM5Ni50eHQgUkZDMjM5NlxyXG4gICovXHJcbiBkZWZpbmUoIlRFU1RfQ09OU1RBTlQyIiwzKTtcclxuJzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL21ldGhvZC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICcyMGI1ZTQ1ZThjMjc0ZWM0YjdjMzNhZjBmY2FlOWY5ZCc7IHByaXZhdGUgJG5hbWUgPSAnbWV0aG9kLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL21ldGhvZC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr21ldGhvZOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5a6Y5pa557uZ5Ye655qE5a6a5LmJ5piv77yM6KaB5Zyo5a2Q57G75Lit5aOw5piO54i257G75L2/55So6a2U5pyv5pa55rOV5p2l5a6e546w55qE5LiA5Lqb6Z2e5pi+56S65a2Y5Zyo5pa55rOVXHJcbiAqIOi/meS4quagh+etvuS4jeS8muWcqHBocERvY+aYvuekumZ1bmN0aW9u5a6e5L2TXHJcbiAqIFxyXG4gKiBAbWV0aG9kIHJldHVybiB2b2lkIGVjaG8yKHN0cmluZyAkc3RyaW5nKSA85omT5Y2w5bim5pyJ5o2i6KGM56ym55qE5a2X56ym5LiyPlxyXG4gKi9cclxuY2xhc3MgVGVzdCBleHRlbmRzIEZhdGhlcnt9XHJcblxyXG5jbGFzcyBGYXRoZXJcclxue1xyXG4gICAgZnVuY3Rpb24gX19jYWxsKCRtZXRob2QsIHN0cmluZyAkcGFyYW1zKVxyXG4gICAge1xyXG4gICAgICAgIGlmICgkbWV0aG9kID09IFwnZWNobzJcJykge1xyXG4gICAgICAgICAgICBlY2hvICRwYXJhbXMgLiBQSFBfRU9MO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9uYW1lLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICc5MjRmOTUzM2U4YTc0MWQxMzE3MzZmYmY4NmY4NmY5Nyc7IHByaXZhdGUgJG5hbWUgPSAnbmFtZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9uYW1lLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbmFtZeagh+etvuekuuS+i1xyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiDlvZPlnKjlh73mlbDkuK3kvb/nlKhAZ2xvYmFs5pe277yM5a6D5bCG6ZO+5o6l5YiwJGJhelxyXG4gKiBAbmFtZSAkYmF6XHJcbiAqIEBnbG9iYWwgYXJyYXkgJEdMT0JBTFNbXCdiYXpcJ10gXHJcbiAqL1xyXG4kR0xPQkFMU1tcJ2JhelwnXSA9IGFycmF5KFwnZm9vXCcsIFwnYmFyXCcpO1xyXG5cclxuLyoqXHJcbiAqIEBnbG9iYWwgYXJyYXkgdXNlZCBmb3Igc3R1ZmZcclxuICovXHJcbmZ1bmN0aW9uIG1pbmUoKVxyXG57XHJcbiAgICBnbG9iYWwgJGJhejtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9wYWNrYWdlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICcxMmY5M2Y2NDI0NzZmZmI1OWE3YzgwMGNiNTM2NzYzMyc7IHByaXZhdGUgJG5hbWUgPSAncGFja2FnZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9wYWNrYWdlLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivcGFja2FnZeagh+etvuekuuS+i1xyXG4gKiBcclxuICog6aG16Z2i57qnRG9jQmxvY2vnpLrkvovjgIJcclxuICog5q2kRG9jQmxvY2vkvY3kuo7lj6bkuIDkuKpEb2NCbG9ja+S5i+WJje+8jOWwhuiiq+ino+aekOS4uumhtemdoue6p+WIq+OAglxyXG4gKiDlsIbmgqjnmoRAcGFja2FnZeWSjEBzdWJwYWNrYWdl5qCH6K6w5pS+5Zyo5q2k5aSEXHJcbiAqIEBwYWNrYWdlIHBhZ2VsZXZlbF9wYWNrYWdlXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIGZ1bmN0aW9uIGJsdWhcclxuICovXHJcbmZ1bmN0aW9uIGJsdWgoKVxyXG57XHJcbn1cclxuPz5cclxuPD9waHBcclxuLyoqXHJcbiog57G7IGJsdWhcclxuKiDnsbvnuqdEb2NCbG9ja+ekuuS+i+OAguS7peS4i+ekuuS+i+S7o+ihqGFwcGxpZXNfdG9fYmx1aOWMheWcqGFwcGxpZXNfdG9fYmx1aOWGhVxyXG4qIEBwYWNrYWdlIHBhZ2VsZXZlbF9wYWNrYWdlXFxcXGFwcGxpZXNfdG9fYmx1aCBcclxuKi9cclxuY2xhc3MgYmx1aFxyXG57XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIOatpOWPmOmHj+S9nOS4uuWMJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL3BhcmFtLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICczMjhhYjY2Y2MyNzI0ODRmM2Y2OTYwMGNjZmE3Zjg5Mic7IHByaXZhdGUgJG5hbWUgPSAncGFyYW0ucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcGFyYW0ucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wYXJhbeagh+etvuekuuS+i1xyXG4gKiBcclxuICog5aOw5piO5pa55rOV5Lyg5YWl55qE5Y+C5pWwXHJcbiAqL1xyXG5cclxuIC8qKlxyXG4gICogQHBhcmFtIGludCAkYiDkvaDpnIDopoHkvKDlhaXkuIDkuKrmlbTmlbDlnovnmoTlj5jph49cclxuICAqL1xyXG4gZnVuY3Rpb24gYShpbnQgJGIpe30nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvcHJvcGVydHkucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnN2M3YjFiNWI1ZTk0MjZmNzU1MTRiZjA0Y2MyYWZmNzQnOyBwcml2YXRlICRuYW1lID0gJ3Byb3BlcnR5LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3Byb3BlcnR5LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivcHJvcGVydHnljIXmi6zlroPnmoTlj5jkvZNbcHJvcGVydHktcmVhZCB8IHByb3BlcnR5LXdyaXRlXeagh+etvuekuuS+i1xyXG4gKlxyXG4gKiBAcHJvcGVydHkgbWl4ZWQgJHJlZ3VsYXIg5aOw5piO5bi46KeE55qE6K+75YaZ5bGe5oCnXHJcbiAqIEBwcm9wZXJ0eS1yZWFkIGludCAkZm9vIOWjsOaYjuWPquivu1xyXG4gKiBAcHJvcGVydHktd3JpdGUgc3RyaW5nICRiYXIg5aOw5piO5Y+q5YaZXHJcbiAqL1xyXG5cclxuY2xhc3MgTWFnaWNpYW5cclxue1xyXG4gICAgcHJpdmF0ZSAkX3RoaW5neTtcclxuICAgIHByaXZhdGUgJF9iYXI7XHJcbiAgICBmdW5jdGlvbiBfX2dldCgkdmFyKVxyXG4gICAge1xyXG4gICAgICAgIHN3aXRjaCAoJHZhcikge1xyXG4gICAgICAgICAgICBjYXNlIFwnZm9vXCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNDU7XHJcbiAgICAgICAgICAgIGNhc2UgXCdyZWd1bGFyXCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJHRoaXMtPl90aGluZ3k7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZicuLi47IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9yZXR1cm4ucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnZjE0MTM4MjYzNjc5ZWE5NDYyOTEyNjdhZjZmMDA3M2UnOyBwcml2YXRlICRuYW1lID0gJ3JldHVybi5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9yZXR1cm4ucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9yZXR1cm7moIfnrb7npLrkvotcclxuICogXHJcbiAqIOi/meS4quagh+etvueUqOS6juagh+iusOaWueazleaIluWHveaVsOeahOi/lOWbnuWAvOWSjOi/lOWbnuWGheWuuVxyXG4gKiBAcmV0dXJuIGludCDov5nph4zkvJrov5Tlm57kuIDkuKrmlbTmlbDnsbvlnovnmoTmlbDlrZdcclxuICovXHJcbmZ1bmN0aW9uIGEoJHBhcmFtKVxyXG57XHJcbiAgICAkYiA9IChpbnQpICRwYXJhbTtcclxuICAgIHJldHVybiAkYjtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfV07IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXSB9IH0gfSkgcGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3IvcGhwZG9jdW1lbnRvci9yZWZsZWN0aW9uL3NyYy9waHBEb2N1bWVudG9yL1JlZmxlY3Rpb24vUGhwL0ZhY3RvcnkvRmlsZS5waHA6OTcKICAgIDMuMTM5NSAgIDIxOTUyMjg4ICAyMi4gcGhwRG9jdW1lbnRvclxQYXJzZXJcTWlkZGxld2FyZVxTdG9wd2F0Y2hNaWRkbGV3YXJlLT5leGVjdXRlKCRjb21tYW5kID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEZpbGVcQ3JlYXRlQ29tbWFuZCB7IHByaXZhdGUgJGZpbGUgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvc2VlLnBocCcgfTsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdEZhY3RvcnlTdHJhdGVnaWVzIHsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIFNwbFByaW9yaXR5UXVldWUgeyAgfSB9OyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XENvbnRleHRTdGFjayB7IHByaXZhdGUgJGVsZW1lbnRzID0gW107IHByaXZhdGUgJHR5cGVDb250ZXh0ID0gTlVMTDsgcHJpdmF0ZSAkcHJvamVjdCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdCB7IHByaXZhdGUgJG5hbWUgPSAnVW50aXRsZWQgcHJvamVjdCc7IHByaXZhdGUgJHJvb3ROYW1lc3BhY2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE5hbWVzcGFjZV8geyBwcml2YXRlICRmcXNlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiB7IHByaXZhdGUgJGZxc2VuID0gJ1xcJzsgcHJpdmF0ZSAkbmFtZSA9ICcnIH07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH07IHByaXZhdGUgJGZpbGVzID0gWyd0YWcvYmFzaWMvYWJzdHJhY3QucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnMjdlMGRmODQ0ODgwNzk3NjQ5N2FiMGIyNTAzYzhjMWEnOyBwcml2YXRlICRuYW1lID0gJ2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog5aaC5p6c57G75Lit5pyJ5pyA5bCR5LiA5Liq5oq96LGh5pa55rOV55qE6K+d77yM6YKj5LmI57G75bqU6K+l6KKr5aOw5piO5Li65oq96LGh57G7XHJcbiAqIFxyXG4gKiDku45waHA154mI5pys5LmL5ZCO5q2k5qCH562+5bey6KKr5byD55SoXHJcbiAqIFxyXG4gKiBAYWJzdHJhY3RcclxuICovXHJcblxyXG5hYnN0cmFjdCBjbGFzcyBUZXN0XHJcbntcclxuICAgIC8qKlxyXG4gICAgKiDov5nmmK/kuIDkuKrmir3osaHmlrnms5VhXHJcbiAgICAqXHJcbiAgICAqIEBhYnN0cmFjdFxyXG4gICAgKi9cclxuICAgIGFic3RyYWN0IGZ1bmN0aW9uIGEoKXt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIOi/meaYr+S4gOS4quaZrumAmueahOaWueazlWJcclxuICAgICovXHJcbiAgICBmdW5jdGlvbiBmdW5jdGlvbjIoKXt9XHJcblxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2F1dGhvci5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnMmMwMGY5MzNmNDAwZjczZGJiNjNiODg5OTliODNjY2InOyBwcml2YXRlICRuYW1lID0gJ2F1dGhvci5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9hdXRob3IucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDlvZPliY3kuLpwYWdl56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7lj6/ku6XnlKjkuo7ku7vkvZXpnIDopoHmoIforrDnmoTlhYPntKDkuIpcclxuICogKGdsb2JhbCB2YXJpYWJsZSwgaW5jbHVkZSwgY29uc3RhbnQsIGZ1bmN0aW9uLCBkZWZpbmUsIGNsYXNzLCB2YXJpYWJsZSwgbWV0aG9kLCBwYWdlKVxyXG4gKiBcclxuICogQGF1dGhvciBob25lY2UgPGNoaW5hX3poekB5ZWFyLm5ldD5cclxuICovXHJcblxyXG4vKipcclxuICog5b2T5YmN5Li6ZnVuY3Rpb27npLrkvotcclxuICogXHJcbiAqIOatpOWHveaVsOWPr+iDveeUseWPpuS4gOS4quS9nOiAhee8luWGmVxyXG4gKiBAYXV0aG9yIGhvbmVjZSBOby4yXHJcbiAqL1xyXG5mdW5jdGlvbiBhKCl7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9jYXRlZ29yeS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnNmIyZmY2ZDQ3NjFmNGVhM2ZjOWE3ZmI5OTY1MjIzMDcnOyBwcml2YXRlICRuYW1lID0gJ2NhdGVnb3J5LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2NhdGVnb3J5LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5piv5aOw5piO57G75Yir55qE56S65L6LXHJcbiAqIFxyXG4gKiBAcGFja2FnZSBNeVBhY2thZ2VcclxuICogQGNhdGVnb3J5IG15Y2F0ZWdvcnlcclxuICovXHJcblxyXG4vKipcclxuICogQGdsb2JhbCBhcnJheSB1c2VkIGZvciBzdHVmZlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIG1pbmUoKVxyXG57XHJcbiAgICBnbG9iYWwgJGJhejtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9jb3B5cmlnaHQucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzM1ODRiNTIzYWM4NGU5MWM3NTE0ZGIzZDc2YWUzNzYzJzsgcHJpdmF0ZSAkbmFtZSA9ICdjb3B5cmlnaHQucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvY29weXJpZ2h0LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivY29weXJpZ2h055qE5qCH562+56S65L6LXHJcbiAqIOW9k+WJjeS4uumhtemdoue6p+aWh+aho+Wdl1xyXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAyMywgaG9uZWNlXHJcbiAqL1xyXG4nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZGVwcmVjYXRlZC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICcyNzY3MjI2MzNkMjc0MjNiZDcyNjhlZDQzMjljZTc2OCc7IHByaXZhdGUgJG5hbWUgPSAnZGVwcmVjYXRlZC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9kZXByZWNhdGVkLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivZGVwcmVjYXRlZOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5b2T5YmN5Li6cGFnZee6p+aWh+aho+Wdl++8jFxyXG4gKiDmraTmoIforrDlj6/nlKjkuo5wYWdl57qn5paH5qGj5Z2X5LmL5aSW55qE5paH5qGj5Z2XXHJcbiAqL1xyXG5jbGFzcyBUZXN0XHJcbntcclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgPDAuMS4wPiBh5pa55rOV6IeqMC4xLjDniYjmnKzlt7LlvIPnlKhcclxuICAgICAqL1xyXG4gICAgZnVuY3Rpb24gYSgpe31cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9leGFtcGxlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzhjYjhjYWEwMjM3MmM3ZmE0ZmQ0YTc3YTBlYzMxYmY3JzsgcHJpdmF0ZSAkbmFtZSA9ICdleGFtcGxlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2V4YW1wbGUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4qIOi/meaYr2V4YW1wbGXmoIfnrb7npLrkvotcclxuKiBAZXhhbXBsZSAvdGFnL2lubGluZS9leGFtcGxlLnBocCDov5nmmK/mraTmoIfnrb7lhoXogZTnlKjms5VcclxuKiBAZXhhbXBsZSBleGFtcGxlLnBocCDmraTnpLrkvovkuLrlvZPliY3nm67lvZXmlofku7ZcclxuKi9cclxuZnVuY3Rpb24gYSgpe30nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnOTg0ZDg3OTFmN2Q5ODRjMjZmNGQxYThlNjcxZjY1MjInOyBwcml2YXRlICRuYW1lID0gJ2ZpbGVzb3VyY2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2ZpbGVzb3VyY2XmoIfnrb7nmoTnpLrkvovku6PnoIFcclxuICogXHJcbiAqIOS9nOeUqOWwseaYr+e7meW9k+WJjeaWh+S7tuWIm+W7uuS4gOS4qumTvuaOpeW5tuaYvuekuua6kOS7o+eggVxyXG4gKiBAZmlsZXNvdXJjZVxyXG4gKi9cclxuZWNobyAxOyc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9maW5hbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc0MGFhMjgzNzgwNDBhMjdjYWIyOTMyY2Q0MmFkMjhlNSc7IHByaXZhdGUgJG5hbWUgPSAnZmluYWwucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmluYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9maW5hbOagh+etvueahOekuuS+i1xyXG4gKiDmraTmoIfnrb7lt7Lml6DmlYjvvIzkvZznlKjlsLHmmK/lrZfpnaLmhI/mgJ1cclxuICovXHJcblxyXG5jbGFzcyBteWNsYXNzXHJcbntcclxuICAgIC8qKlxyXG4gICAgICogQGZpbmFsXHJcbiAgICAgKi9cclxuICAgIGZpbmFsIGZ1bmN0aW9uIGEoKVxyXG4gICAge1xyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2dsb2JhbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnZTIxODBjMTExMDk3ZDIwZjc0ZjQ3MDI5ODg4NzE5MTInOyBwcml2YXRlICRuYW1lID0gJ2dsb2JhbC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9nbG9iYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9nbG9iYWzmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOS4u+imgeeUqOS6juiusOW9leWFqOWxgOWPmOmHj+eahOeUqOazlVxyXG4gKiDlu7rorq7nm7TmjqXlo7DmmI7lnKjlrprkuYnlhajlsYDlj5jph4/nmoTkuIrkuIDooYzvvIzku6XlhY3lvJXlj5HmlL7lnKjplJnor6/nmoTkvZznlKjln5/lhoXkuI3or4bliKvnmoTplJnor69cclxuICovXHJcblxyXG4vKiogXHJcbiAqIEBnbG9iYWwgbWl4ZWQgJF9HTE9CQUxTWyJteXZhciJdIFxyXG4gKi9cclxuJF9HTE9CQUxTWyJteXZhciJdID0gYXJyYXkoInRoaXMiID0+IFwn5bel5L2c5q2j5bi4XCcpO1xyXG5cclxuXHJcblxyXG4vKipcclxuICog5bCGQG5hbWXkuI5AZ2xvYmFs5LiA6LW35L2/55So55qE56S65L6LXHJcbiAqIOWcqEBuYW1l5qCH562+5Lit77yMbmFtZeW/hemhu+aciSQs5ZCm5YiZ5bCG5byV5Y+R6ZSZ6K+vXHJcbiAqIEBnbG9iYWwgYXJyYXkgJEdMT0JBTFNbXCduZWF0b1wnXSBcclxuICogQG5hbWUgJG5lYXRvXHJcbiAqL1xyXG4kR0xPQkFMU1tcJ25lYXRvXCddID0gJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2lnbm9yZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnOGRmZThlODQ1YjA0MDdkYzVlNDVmOTA5Mzg4MzA2OWInOyBwcml2YXRlICRuYW1lID0gJ2lnbm9yZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9pZ25vcmUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9pZ25vcmXmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvueUqOS6jue7hOe7h3BocGRvY+iusOW9leWFg+e0oFxyXG4gKi9cclxuXHJcbmlmICgkb3N0ZXN0KSB7XHJcbiAgICAvKipcclxuICAgICAqIFRoaXMgZGVmaW5lIHdpbGwgZWl0aGVyIGJlIFwnVW5peFwnIG9yIFwnV2luZG93c1wnXHJcbiAgICAgKi9cclxuICAgIGRlZmluZSgiT1MiLCAiVW5peCIpO1xyXG59XHJcbmVsc2Uge1xyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlIOi/memHjOaYr+W/veeVpeeahOW4uOmHj1xyXG4gICAgICovXHJcbiAgICBkZWZpbmUoIk9TIiwgIldpbmRvd3MiKTtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9pbnRlcm5hbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICdjNjdlNGI1MTFmZmJlZWYyNWJiMTMzNTllYTk5YTEwNSc7IHByaXZhdGUgJG5hbWUgPSAnaW50ZXJuYWwucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvaW50ZXJuYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9pbnRlcm5hbOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+5Y+v5Lul55Sf5oiQ5Lik5Lu95paH5qGj77yM5a6Y5pa56K+05pivcGhwZG9j5pyA5pyJ55So55qE5Yqf6IO95LmL5LiAXHJcbiAqIHtAaW50ZXJuYWwg6KaB6K6/6Zeu5pyJ5YWz5L+u5pS55q2k57G755qE5oyH5Y2XLOingSB7QGxpbmsgaHR0cDovL3d3dy5iYWlkdS5jb20g5oyH5Y2XfSzmiJbogZTns7vkvaDnmoTkuLvnrqF9fX1cclxuICogQGludGVybmFsIOivpeexu+S9v+eUqOengeacieaWueazlSB7QGxpbmsgX2ZvbygpfSDlkowge0BsaW5rIF9iYXIoKX0g5YGa5LiA5Lqb5aWH5oCq55qE5LqL5oOFXHJcbiAqL1xyXG5cclxuY2xhc3MgRG9lc3RoaW5nc1xyXG57XHJcbiAgICBwcml2YXRlIGZ1bmN0aW9uIF9mb28oKVxyXG4gICAge1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBmdW5jdGlvbiBfYmFyKClcclxuICAgIHtcclxuICAgIH1cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9saWNlbnNlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzg0MDY5Y2FmMzhiYzI0MmE0MTg5OGJhOGIwYzhiMDhjJzsgcHJpdmF0ZSAkbmFtZSA9ICdsaWNlbnNlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2xpY2Vuc2UucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9saWNlbnNl5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7nlKjkuo7lkJHnlKjmiLfmj5DnpLrpgILnlKjkuo7mraTmlofmoaPlnZfnmoTorrjlj6/or4FcclxuICog5bGV56S65oyH5ZCR6K645Y+v6K+BVVJM55qE6LaF6ZO+5o6l77yM5Liq5Lq65Y+q5bu66K6u5pS+5Zyo5paH5Lu257qn5Yir55qE5paH5qGj5Z2X5LitXHJcbiAqIEBsaWNlbnNlIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCBBcGFjaGUyLjBcclxuICovXHJcblxyXG5jbGFzcyBvcGVuc291cmNlX2NsYXNzXHJcbntcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9saW5rLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICcwNTViZTBhMDE5NjY2MzYwMDMxNTdiZGMyNWFmOTA2Yic7IHByaXZhdGUgJG5hbWUgPSAnbGluay5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9saW5rLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbGlua+agh+etvuekuuS+i1xyXG4gKiBAbGluayBodHRwOi8vd3d3LmJhaWR1LmNvbSDor6bmg4Xmib7nmb7luqZcclxuICovXHJcblxyXG4gLyoqXHJcbiAgKiBEaXNwbGF5cyA8YSBocmVmPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj5IZWxsbzwvYT5cclxuICAqIEBsaW5rIGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMzk2LnR4dCBSRkMyMzk2XHJcbiAgKi9cclxuIGRlZmluZSgiVEVTVF9DT05TVEFOVDIiLDMpO1xyXG4nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvbWV0aG9kLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzIwYjVlNDVlOGMyNzRlYzRiN2MzM2FmMGZjYWU5ZjlkJzsgcHJpdmF0ZSAkbmFtZSA9ICdtZXRob2QucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbWV0aG9kLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbWV0aG9k5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlrpjmlrnnu5nlh7rnmoTlrprkuYnmmK/vvIzopoHlnKjlrZDnsbvkuK3lo7DmmI7niLbnsbvkvb/nlKjprZTmnK/mlrnms5XmnaXlrp7njrDnmoTkuIDkupvpnZ7mmL7npLrlrZjlnKjmlrnms5VcclxuICog6L+Z5Liq5qCH562+5LiN5Lya5ZyocGhwRG9j5pi+56S6ZnVuY3Rpb27lrp7kvZNcclxuICogXHJcbiAqIEBtZXRob2QgcmV0dXJuIHZvaWQgZWNobzIoc3RyaW5nICRzdHJpbmcpIDzmiZPljbDluKbmnInmjaLooYznrKbnmoTlrZfnrKbkuLI+XHJcbiAqL1xyXG5jbGFzcyBUZXN0IGV4dGVuZHMgRmF0aGVye31cclxuXHJcbmNsYXNzIEZhdGhlclxyXG57XHJcbiAgICBmdW5jdGlvbiBfX2NhbGwoJG1ldGhvZCwgc3RyaW5nICRwYXJhbXMpXHJcbiAgICB7XHJcbiAgICAgICAgaWYgKCRtZXRob2QgPT0gXCdlY2hvMlwnKSB7XHJcbiAgICAgICAgICAgIGVjaG8gJHBhcmFtcyAuIFBIUF9FT0w7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL25hbWUucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzkyNGY5NTMzZThhNzQxZDEzMTczNmZiZjg2Zjg2Zjk3JzsgcHJpdmF0ZSAkbmFtZSA9ICduYW1lLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL25hbWUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9uYW1l5qCH562+56S65L6LXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIOW9k+WcqOWHveaVsOS4reS9v+eUqEBnbG9iYWzml7bvvIzlroPlsIbpk77mjqXliLAkYmF6XHJcbiAqIEBuYW1lICRiYXpcclxuICogQGdsb2JhbCBhcnJheSAkR0xPQkFMU1tcJ2JhelwnXSBcclxuICovXHJcbiRHTE9CQUxTW1wnYmF6XCddID0gYXJyYXkoXCdmb29cJywgXCdiYXJcJyk7XHJcblxyXG4vKipcclxuICogQGdsb2JhbCBhcnJheSB1c2VkIGZvciBzdHVmZlxyXG4gKi9cclxuZnVuY3Rpb24gbWluZSgpXHJcbntcclxuICAgIGdsb2JhbCAkYmF6O1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL3BhY2thZ2UucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzEyZjkzZjY0MjQ3NmZmYjU5YTdjODAwY2I1MzY3NjMzJzsgcHJpdmF0ZSAkbmFtZSA9ICdwYWNrYWdlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3BhY2thZ2UucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wYWNrYWdl5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDpobXpnaLnuqdEb2NCbG9ja+ekuuS+i+OAglxyXG4gKiDmraREb2NCbG9ja+S9jeS6juWPpuS4gOS4qkRvY0Jsb2Nr5LmL5YmN77yM5bCG6KKr6Kej5p6Q5Li66aG16Z2i57qn5Yir44CCXHJcbiAqIOWwhuaCqOeahEBwYWNrYWdl5ZKMQHN1YnBhY2thZ2XmoIforrDmlL7lnKjmraTlpIRcclxuICogQHBhY2thZ2UgcGFnZWxldmVsX3BhY2thZ2VcclxuICovXHJcblxyXG4vKipcclxuICogZnVuY3Rpb24gYmx1aFxyXG4gKi9cclxuZnVuY3Rpb24gYmx1aCgpXHJcbntcclxufVxyXG4/PlxyXG48P3BocFxyXG4vKipcclxuKiDnsbsgYmx1aFxyXG4qIOexu+e6p0RvY0Jsb2Nr56S65L6L44CC5Lul5LiL56S65L6L5Luj6KGoYXBwbGllc190b19ibHVo5YyF5ZyoYXBwbGllc190b19ibHVo5YaFXHJcbiogQHBhY2thZ2UgcGFnZWxldmVsX3BhY2thZ2VcXFxcYXBwbGllc190b19ibHVoIFxyXG4qL1xyXG5jbGFzcyBibHVoXHJcbntcclxuXHJcbiAgICAvKipcclxuICAgICog5q2k5Y+Y6YeP5L2c5Li65YwnLi4uOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvcGFyYW0ucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzMyOGFiNjZjYzI3MjQ4NGYzZjY5NjAwY2NmYTdmODkyJzsgcHJpdmF0ZSAkbmFtZSA9ICdwYXJhbS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9wYXJhbS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3BhcmFt5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlo7DmmI7mlrnms5XkvKDlhaXnmoTlj4LmlbBcclxuICovXHJcblxyXG4gLyoqXHJcbiAgKiBAcGFyYW0gaW50ICRiIOS9oOmcgOimgeS8oOWFpeS4gOS4quaVtOaVsOWei+eahOWPmOmHj1xyXG4gICovXHJcbiBmdW5jdGlvbiBhKGludCAkYil7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9wcm9wZXJ0eS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc3YzdiMWI1YjVlOTQyNmY3NTUxNGJmMDRjYzJhZmY3NCc7IHByaXZhdGUgJG5hbWUgPSAncHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wcm9wZXJ0eeWMheaLrOWug+eahOWPmOS9k1twcm9wZXJ0eS1yZWFkIHwgcHJvcGVydHktd3JpdGVd5qCH562+56S65L6LXHJcbiAqXHJcbiAqIEBwcm9wZXJ0eSBtaXhlZCAkcmVndWxhciDlo7DmmI7luLjop4TnmoTor7vlhpnlsZ7mgKdcclxuICogQHByb3BlcnR5LXJlYWQgaW50ICRmb28g5aOw5piO5Y+q6K+7XHJcbiAqIEBwcm9wZXJ0eS13cml0ZSBzdHJpbmcgJGJhciDlo7DmmI7lj6rlhplcclxuICovXHJcblxyXG5jbGFzcyBNYWdpY2lhblxyXG57XHJcbiAgICBwcml2YXRlICRfdGhpbmd5O1xyXG4gICAgcHJpdmF0ZSAkX2JhcjtcclxuICAgIGZ1bmN0aW9uIF9fZ2V0KCR2YXIpXHJcbiAgICB7XHJcbiAgICAgICAgc3dpdGNoICgkdmFyKSB7XHJcbiAgICAgICAgICAgIGNhc2UgXCdmb29cJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiA0NTtcclxuICAgICAgICAgICAgY2FzZSBcJ3JlZ3VsYXJcJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X3RoaW5neTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL3JldHVybi5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICdmMTQxMzgyNjM2NzllYTk0NjI5MTI2N2FmNmYwMDczZSc7IHByaXZhdGUgJG5hbWUgPSAncmV0dXJuLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3JldHVybi5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3JldHVybuagh+etvuekuuS+i1xyXG4gKiBcclxuICog6L+Z5Liq5qCH562+55So5LqO5qCH6K6w5pa55rOV5oiW5Ye95pWw55qE6L+U5Zue5YC85ZKM6L+U5Zue5YaF5a65XHJcbiAqIEByZXR1cm4gaW50IOi/memHjOS8mui/lOWbnuS4gOS4quaVtOaVsOexu+Wei+eahOaVsOWtl1xyXG4gKi9cclxuZnVuY3Rpb24gYSgkcGFyYW0pXHJcbntcclxuICAgICRiID0gKGludCkgJHBhcmFtO1xyXG4gICAgcmV0dXJuICRiO1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9XTsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdIH0gfSB9LCAkbmV4dCA9IGNsYXNzIENsb3N1cmUgeyB2aXJ0dWFsICRjbG9zdXJlID0gInBocERvY3VtZW50b3JcUmVmbGVjdGlvblxNaWRkbGV3YXJlXENoYWluRmFjdG9yeTo6cGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXE1pZGRsZXdhcmVce2Nsb3N1cmV9IiB9KSBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9NaWRkbGV3YXJlL0NoYWluRmFjdG9yeS5waHA6NDMKICAgIDMuMTM5OCAgIDIxOTUyMjg4ICAyMy4gcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXE1pZGRsZXdhcmVcQ2hhaW5GYWN0b3J5OjpwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTWlkZGxld2FyZVx7Y2xvc3VyZTpwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9NaWRkbGV3YXJlL0NoYWluRmFjdG9yeS5waHA6NDItNDR9KCRjb21tYW5kID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEZpbGVcQ3JlYXRlQ29tbWFuZCB7IHByaXZhdGUgJGZpbGUgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvc2VlLnBocCcgfTsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdEZhY3RvcnlTdHJhdGVnaWVzIHsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIFNwbFByaW9yaXR5UXVldWUgeyAgfSB9OyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XENvbnRleHRTdGFjayB7IHByaXZhdGUgJGVsZW1lbnRzID0gW107IHByaXZhdGUgJHR5cGVDb250ZXh0ID0gTlVMTDsgcHJpdmF0ZSAkcHJvamVjdCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdCB7IHByaXZhdGUgJG5hbWUgPSAnVW50aXRsZWQgcHJvamVjdCc7IHByaXZhdGUgJHJvb3ROYW1lc3BhY2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE5hbWVzcGFjZV8geyBwcml2YXRlICRmcXNlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiB7IHByaXZhdGUgJGZxc2VuID0gJ1xcJzsgcHJpdmF0ZSAkbmFtZSA9ICcnIH07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH07IHByaXZhdGUgJGZpbGVzID0gWyd0YWcvYmFzaWMvYWJzdHJhY3QucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnMjdlMGRmODQ0ODgwNzk3NjQ5N2FiMGIyNTAzYzhjMWEnOyBwcml2YXRlICRuYW1lID0gJ2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog5aaC5p6c57G75Lit5pyJ5pyA5bCR5LiA5Liq5oq96LGh5pa55rOV55qE6K+d77yM6YKj5LmI57G75bqU6K+l6KKr5aOw5piO5Li65oq96LGh57G7XHJcbiAqIFxyXG4gKiDku45waHA154mI5pys5LmL5ZCO5q2k5qCH562+5bey6KKr5byD55SoXHJcbiAqIFxyXG4gKiBAYWJzdHJhY3RcclxuICovXHJcblxyXG5hYnN0cmFjdCBjbGFzcyBUZXN0XHJcbntcclxuICAgIC8qKlxyXG4gICAgKiDov5nmmK/kuIDkuKrmir3osaHmlrnms5VhXHJcbiAgICAqXHJcbiAgICAqIEBhYnN0cmFjdFxyXG4gICAgKi9cclxuICAgIGFic3RyYWN0IGZ1bmN0aW9uIGEoKXt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIOi/meaYr+S4gOS4quaZrumAmueahOaWueazlWJcclxuICAgICovXHJcbiAgICBmdW5jdGlvbiBmdW5jdGlvbjIoKXt9XHJcblxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2F1dGhvci5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnMmMwMGY5MzNmNDAwZjczZGJiNjNiODg5OTliODNjY2InOyBwcml2YXRlICRuYW1lID0gJ2F1dGhvci5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9hdXRob3IucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDlvZPliY3kuLpwYWdl56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7lj6/ku6XnlKjkuo7ku7vkvZXpnIDopoHmoIforrDnmoTlhYPntKDkuIpcclxuICogKGdsb2JhbCB2YXJpYWJsZSwgaW5jbHVkZSwgY29uc3RhbnQsIGZ1bmN0aW9uLCBkZWZpbmUsIGNsYXNzLCB2YXJpYWJsZSwgbWV0aG9kLCBwYWdlKVxyXG4gKiBcclxuICogQGF1dGhvciBob25lY2UgPGNoaW5hX3poekB5ZWFyLm5ldD5cclxuICovXHJcblxyXG4vKipcclxuICog5b2T5YmN5Li6ZnVuY3Rpb27npLrkvotcclxuICogXHJcbiAqIOatpOWHveaVsOWPr+iDveeUseWPpuS4gOS4quS9nOiAhee8luWGmVxyXG4gKiBAYXV0aG9yIGhvbmVjZSBOby4yXHJcbiAqL1xyXG5mdW5jdGlvbiBhKCl7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9jYXRlZ29yeS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnNmIyZmY2ZDQ3NjFmNGVhM2ZjOWE3ZmI5OTY1MjIzMDcnOyBwcml2YXRlICRuYW1lID0gJ2NhdGVnb3J5LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2NhdGVnb3J5LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5piv5aOw5piO57G75Yir55qE56S65L6LXHJcbiAqIFxyXG4gKiBAcGFja2FnZSBNeVBhY2thZ2VcclxuICogQGNhdGVnb3J5IG15Y2F0ZWdvcnlcclxuICovXHJcblxyXG4vKipcclxuICogQGdsb2JhbCBhcnJheSB1c2VkIGZvciBzdHVmZlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIG1pbmUoKVxyXG57XHJcbiAgICBnbG9iYWwgJGJhejtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9jb3B5cmlnaHQucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzM1ODRiNTIzYWM4NGU5MWM3NTE0ZGIzZDc2YWUzNzYzJzsgcHJpdmF0ZSAkbmFtZSA9ICdjb3B5cmlnaHQucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvY29weXJpZ2h0LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivY29weXJpZ2h055qE5qCH562+56S65L6LXHJcbiAqIOW9k+WJjeS4uumhtemdoue6p+aWh+aho+Wdl1xyXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAyMywgaG9uZWNlXHJcbiAqL1xyXG4nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZGVwcmVjYXRlZC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICcyNzY3MjI2MzNkMjc0MjNiZDcyNjhlZDQzMjljZTc2OCc7IHByaXZhdGUgJG5hbWUgPSAnZGVwcmVjYXRlZC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9kZXByZWNhdGVkLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivZGVwcmVjYXRlZOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5b2T5YmN5Li6cGFnZee6p+aWh+aho+Wdl++8jFxyXG4gKiDmraTmoIforrDlj6/nlKjkuo5wYWdl57qn5paH5qGj5Z2X5LmL5aSW55qE5paH5qGj5Z2XXHJcbiAqL1xyXG5jbGFzcyBUZXN0XHJcbntcclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgPDAuMS4wPiBh5pa55rOV6IeqMC4xLjDniYjmnKzlt7LlvIPnlKhcclxuICAgICAqL1xyXG4gICAgZnVuY3Rpb24gYSgpe31cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9leGFtcGxlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzhjYjhjYWEwMjM3MmM3ZmE0ZmQ0YTc3YTBlYzMxYmY3JzsgcHJpdmF0ZSAkbmFtZSA9ICdleGFtcGxlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2V4YW1wbGUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4qIOi/meaYr2V4YW1wbGXmoIfnrb7npLrkvotcclxuKiBAZXhhbXBsZSAvdGFnL2lubGluZS9leGFtcGxlLnBocCDov5nmmK/mraTmoIfnrb7lhoXogZTnlKjms5VcclxuKiBAZXhhbXBsZSBleGFtcGxlLnBocCDmraTnpLrkvovkuLrlvZPliY3nm67lvZXmlofku7ZcclxuKi9cclxuZnVuY3Rpb24gYSgpe30nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnOTg0ZDg3OTFmN2Q5ODRjMjZmNGQxYThlNjcxZjY1MjInOyBwcml2YXRlICRuYW1lID0gJ2ZpbGVzb3VyY2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2ZpbGVzb3VyY2XmoIfnrb7nmoTnpLrkvovku6PnoIFcclxuICogXHJcbiAqIOS9nOeUqOWwseaYr+e7meW9k+WJjeaWh+S7tuWIm+W7uuS4gOS4qumTvuaOpeW5tuaYvuekuua6kOS7o+eggVxyXG4gKiBAZmlsZXNvdXJjZVxyXG4gKi9cclxuZWNobyAxOyc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9maW5hbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc0MGFhMjgzNzgwNDBhMjdjYWIyOTMyY2Q0MmFkMjhlNSc7IHByaXZhdGUgJG5hbWUgPSAnZmluYWwucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmluYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9maW5hbOagh+etvueahOekuuS+i1xyXG4gKiDmraTmoIfnrb7lt7Lml6DmlYjvvIzkvZznlKjlsLHmmK/lrZfpnaLmhI/mgJ1cclxuICovXHJcblxyXG5jbGFzcyBteWNsYXNzXHJcbntcclxuICAgIC8qKlxyXG4gICAgICogQGZpbmFsXHJcbiAgICAgKi9cclxuICAgIGZpbmFsIGZ1bmN0aW9uIGEoKVxyXG4gICAge1xyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2dsb2JhbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnZTIxODBjMTExMDk3ZDIwZjc0ZjQ3MDI5ODg4NzE5MTInOyBwcml2YXRlICRuYW1lID0gJ2dsb2JhbC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9nbG9iYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9nbG9iYWzmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOS4u+imgeeUqOS6juiusOW9leWFqOWxgOWPmOmHj+eahOeUqOazlVxyXG4gKiDlu7rorq7nm7TmjqXlo7DmmI7lnKjlrprkuYnlhajlsYDlj5jph4/nmoTkuIrkuIDooYzvvIzku6XlhY3lvJXlj5HmlL7lnKjplJnor6/nmoTkvZznlKjln5/lhoXkuI3or4bliKvnmoTplJnor69cclxuICovXHJcblxyXG4vKiogXHJcbiAqIEBnbG9iYWwgbWl4ZWQgJF9HTE9CQUxTWyJteXZhciJdIFxyXG4gKi9cclxuJF9HTE9CQUxTWyJteXZhciJdID0gYXJyYXkoInRoaXMiID0+IFwn5bel5L2c5q2j5bi4XCcpO1xyXG5cclxuXHJcblxyXG4vKipcclxuICog5bCGQG5hbWXkuI5AZ2xvYmFs5LiA6LW35L2/55So55qE56S65L6LXHJcbiAqIOWcqEBuYW1l5qCH562+5Lit77yMbmFtZeW/hemhu+aciSQs5ZCm5YiZ5bCG5byV5Y+R6ZSZ6K+vXHJcbiAqIEBnbG9iYWwgYXJyYXkgJEdMT0JBTFNbXCduZWF0b1wnXSBcclxuICogQG5hbWUgJG5lYXRvXHJcbiAqL1xyXG4kR0xPQkFMU1tcJ25lYXRvXCddID0gJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2lnbm9yZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnOGRmZThlODQ1YjA0MDdkYzVlNDVmOTA5Mzg4MzA2OWInOyBwcml2YXRlICRuYW1lID0gJ2lnbm9yZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9pZ25vcmUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9pZ25vcmXmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvueUqOS6jue7hOe7h3BocGRvY+iusOW9leWFg+e0oFxyXG4gKi9cclxuXHJcbmlmICgkb3N0ZXN0KSB7XHJcbiAgICAvKipcclxuICAgICAqIFRoaXMgZGVmaW5lIHdpbGwgZWl0aGVyIGJlIFwnVW5peFwnIG9yIFwnV2luZG93c1wnXHJcbiAgICAgKi9cclxuICAgIGRlZmluZSgiT1MiLCAiVW5peCIpO1xyXG59XHJcbmVsc2Uge1xyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlIOi/memHjOaYr+W/veeVpeeahOW4uOmHj1xyXG4gICAgICovXHJcbiAgICBkZWZpbmUoIk9TIiwgIldpbmRvd3MiKTtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9pbnRlcm5hbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICdjNjdlNGI1MTFmZmJlZWYyNWJiMTMzNTllYTk5YTEwNSc7IHByaXZhdGUgJG5hbWUgPSAnaW50ZXJuYWwucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvaW50ZXJuYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9pbnRlcm5hbOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+5Y+v5Lul55Sf5oiQ5Lik5Lu95paH5qGj77yM5a6Y5pa56K+05pivcGhwZG9j5pyA5pyJ55So55qE5Yqf6IO95LmL5LiAXHJcbiAqIHtAaW50ZXJuYWwg6KaB6K6/6Zeu5pyJ5YWz5L+u5pS55q2k57G755qE5oyH5Y2XLOingSB7QGxpbmsgaHR0cDovL3d3dy5iYWlkdS5jb20g5oyH5Y2XfSzmiJbogZTns7vkvaDnmoTkuLvnrqF9fX1cclxuICogQGludGVybmFsIOivpeexu+S9v+eUqOengeacieaWueazlSB7QGxpbmsgX2ZvbygpfSDlkowge0BsaW5rIF9iYXIoKX0g5YGa5LiA5Lqb5aWH5oCq55qE5LqL5oOFXHJcbiAqL1xyXG5cclxuY2xhc3MgRG9lc3RoaW5nc1xyXG57XHJcbiAgICBwcml2YXRlIGZ1bmN0aW9uIF9mb28oKVxyXG4gICAge1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBmdW5jdGlvbiBfYmFyKClcclxuICAgIHtcclxuICAgIH1cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9saWNlbnNlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzg0MDY5Y2FmMzhiYzI0MmE0MTg5OGJhOGIwYzhiMDhjJzsgcHJpdmF0ZSAkbmFtZSA9ICdsaWNlbnNlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2xpY2Vuc2UucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9saWNlbnNl5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7nlKjkuo7lkJHnlKjmiLfmj5DnpLrpgILnlKjkuo7mraTmlofmoaPlnZfnmoTorrjlj6/or4FcclxuICog5bGV56S65oyH5ZCR6K645Y+v6K+BVVJM55qE6LaF6ZO+5o6l77yM5Liq5Lq65Y+q5bu66K6u5pS+5Zyo5paH5Lu257qn5Yir55qE5paH5qGj5Z2X5LitXHJcbiAqIEBsaWNlbnNlIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCBBcGFjaGUyLjBcclxuICovXHJcblxyXG5jbGFzcyBvcGVuc291cmNlX2NsYXNzXHJcbntcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9saW5rLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICcwNTViZTBhMDE5NjY2MzYwMDMxNTdiZGMyNWFmOTA2Yic7IHByaXZhdGUgJG5hbWUgPSAnbGluay5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9saW5rLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbGlua+agh+etvuekuuS+i1xyXG4gKiBAbGluayBodHRwOi8vd3d3LmJhaWR1LmNvbSDor6bmg4Xmib7nmb7luqZcclxuICovXHJcblxyXG4gLyoqXHJcbiAgKiBEaXNwbGF5cyA8YSBocmVmPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj5IZWxsbzwvYT5cclxuICAqIEBsaW5rIGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMzk2LnR4dCBSRkMyMzk2XHJcbiAgKi9cclxuIGRlZmluZSgiVEVTVF9DT05TVEFOVDIiLDMpO1xyXG4nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvbWV0aG9kLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzIwYjVlNDVlOGMyNzRlYzRiN2MzM2FmMGZjYWU5ZjlkJzsgcHJpdmF0ZSAkbmFtZSA9ICdtZXRob2QucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbWV0aG9kLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbWV0aG9k5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlrpjmlrnnu5nlh7rnmoTlrprkuYnmmK/vvIzopoHlnKjlrZDnsbvkuK3lo7DmmI7niLbnsbvkvb/nlKjprZTmnK/mlrnms5XmnaXlrp7njrDnmoTkuIDkupvpnZ7mmL7npLrlrZjlnKjmlrnms5VcclxuICog6L+Z5Liq5qCH562+5LiN5Lya5ZyocGhwRG9j5pi+56S6ZnVuY3Rpb27lrp7kvZNcclxuICogXHJcbiAqIEBtZXRob2QgcmV0dXJuIHZvaWQgZWNobzIoc3RyaW5nICRzdHJpbmcpIDzmiZPljbDluKbmnInmjaLooYznrKbnmoTlrZfnrKbkuLI+XHJcbiAqL1xyXG5jbGFzcyBUZXN0IGV4dGVuZHMgRmF0aGVye31cclxuXHJcbmNsYXNzIEZhdGhlclxyXG57XHJcbiAgICBmdW5jdGlvbiBfX2NhbGwoJG1ldGhvZCwgc3RyaW5nICRwYXJhbXMpXHJcbiAgICB7XHJcbiAgICAgICAgaWYgKCRtZXRob2QgPT0gXCdlY2hvMlwnKSB7XHJcbiAgICAgICAgICAgIGVjaG8gJHBhcmFtcyAuIFBIUF9FT0w7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL25hbWUucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzkyNGY5NTMzZThhNzQxZDEzMTczNmZiZjg2Zjg2Zjk3JzsgcHJpdmF0ZSAkbmFtZSA9ICduYW1lLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL25hbWUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9uYW1l5qCH562+56S65L6LXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIOW9k+WcqOWHveaVsOS4reS9v+eUqEBnbG9iYWzml7bvvIzlroPlsIbpk77mjqXliLAkYmF6XHJcbiAqIEBuYW1lICRiYXpcclxuICogQGdsb2JhbCBhcnJheSAkR0xPQkFMU1tcJ2JhelwnXSBcclxuICovXHJcbiRHTE9CQUxTW1wnYmF6XCddID0gYXJyYXkoXCdmb29cJywgXCdiYXJcJyk7XHJcblxyXG4vKipcclxuICogQGdsb2JhbCBhcnJheSB1c2VkIGZvciBzdHVmZlxyXG4gKi9cclxuZnVuY3Rpb24gbWluZSgpXHJcbntcclxuICAgIGdsb2JhbCAkYmF6O1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL3BhY2thZ2UucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzEyZjkzZjY0MjQ3NmZmYjU5YTdjODAwY2I1MzY3NjMzJzsgcHJpdmF0ZSAkbmFtZSA9ICdwYWNrYWdlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3BhY2thZ2UucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wYWNrYWdl5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDpobXpnaLnuqdEb2NCbG9ja+ekuuS+i+OAglxyXG4gKiDmraREb2NCbG9ja+S9jeS6juWPpuS4gOS4qkRvY0Jsb2Nr5LmL5YmN77yM5bCG6KKr6Kej5p6Q5Li66aG16Z2i57qn5Yir44CCXHJcbiAqIOWwhuaCqOeahEBwYWNrYWdl5ZKMQHN1YnBhY2thZ2XmoIforrDmlL7lnKjmraTlpIRcclxuICogQHBhY2thZ2UgcGFnZWxldmVsX3BhY2thZ2VcclxuICovXHJcblxyXG4vKipcclxuICogZnVuY3Rpb24gYmx1aFxyXG4gKi9cclxuZnVuY3Rpb24gYmx1aCgpXHJcbntcclxufVxyXG4/PlxyXG48P3BocFxyXG4vKipcclxuKiDnsbsgYmx1aFxyXG4qIOexu+e6p0RvY0Jsb2Nr56S65L6L44CC5Lul5LiL56S65L6L5Luj6KGoYXBwbGllc190b19ibHVo5YyF5ZyoYXBwbGllc190b19ibHVo5YaFXHJcbiogQHBhY2thZ2UgcGFnZWxldmVsX3BhY2thZ2VcXFxcYXBwbGllc190b19ibHVoIFxyXG4qL1xyXG5jbGFzcyBibHVoXHJcbntcclxuXHJcbiAgICAvKipcclxuICAgICog5q2k5Y+Y6YeP5L2c5Li65YwnLi4uOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvcGFyYW0ucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzMyOGFiNjZjYzI3MjQ4NGYzZjY5NjAwY2NmYTdmODkyJzsgcHJpdmF0ZSAkbmFtZSA9ICdwYXJhbS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9wYXJhbS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3BhcmFt5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlo7DmmI7mlrnms5XkvKDlhaXnmoTlj4LmlbBcclxuICovXHJcblxyXG4gLyoqXHJcbiAgKiBAcGFyYW0gaW50ICRiIOS9oOmcgOimgeS8oOWFpeS4gOS4quaVtOaVsOWei+eahOWPmOmHj1xyXG4gICovXHJcbiBmdW5jdGlvbiBhKGludCAkYil7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9wcm9wZXJ0eS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc3YzdiMWI1YjVlOTQyNmY3NTUxNGJmMDRjYzJhZmY3NCc7IHByaXZhdGUgJG5hbWUgPSAncHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wcm9wZXJ0eeWMheaLrOWug+eahOWPmOS9k1twcm9wZXJ0eS1yZWFkIHwgcHJvcGVydHktd3JpdGVd5qCH562+56S65L6LXHJcbiAqXHJcbiAqIEBwcm9wZXJ0eSBtaXhlZCAkcmVndWxhciDlo7DmmI7luLjop4TnmoTor7vlhpnlsZ7mgKdcclxuICogQHByb3BlcnR5LXJlYWQgaW50ICRmb28g5aOw5piO5Y+q6K+7XHJcbiAqIEBwcm9wZXJ0eS13cml0ZSBzdHJpbmcgJGJhciDlo7DmmI7lj6rlhplcclxuICovXHJcblxyXG5jbGFzcyBNYWdpY2lhblxyXG57XHJcbiAgICBwcml2YXRlICRfdGhpbmd5O1xyXG4gICAgcHJpdmF0ZSAkX2JhcjtcclxuICAgIGZ1bmN0aW9uIF9fZ2V0KCR2YXIpXHJcbiAgICB7XHJcbiAgICAgICAgc3dpdGNoICgkdmFyKSB7XHJcbiAgICAgICAgICAgIGNhc2UgXCdmb29cJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiA0NTtcclxuICAgICAgICAgICAgY2FzZSBcJ3JlZ3VsYXJcJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X3RoaW5neTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL3JldHVybi5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICdmMTQxMzgyNjM2NzllYTk0NjI5MTI2N2FmNmYwMDczZSc7IHByaXZhdGUgJG5hbWUgPSAncmV0dXJuLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3JldHVybi5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3JldHVybuagh+etvuekuuS+i1xyXG4gKiBcclxuICog6L+Z5Liq5qCH562+55So5LqO5qCH6K6w5pa55rOV5oiW5Ye95pWw55qE6L+U5Zue5YC85ZKM6L+U5Zue5YaF5a65XHJcbiAqIEByZXR1cm4gaW50IOi/memHjOS8mui/lOWbnuS4gOS4quaVtOaVsOexu+Wei+eahOaVsOWtl1xyXG4gKi9cclxuZnVuY3Rpb24gYSgkcGFyYW0pXHJcbntcclxuICAgICRiID0gKGludCkgJHBhcmFtO1xyXG4gICAgcmV0dXJuICRiO1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9XTsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdIH0gfSB9KSBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3NyYy9waHBEb2N1bWVudG9yL1BhcnNlci9NaWRkbGV3YXJlL1N0b3B3YXRjaE1pZGRsZXdhcmUucGhwOjUwCiAgICAzLjE0MDMgICAyMTk1MjI4OCAgMjQuIHBocERvY3VtZW50b3JcUGFyc2VyXE1pZGRsZXdhcmVcRW1pdHRpbmdNaWRkbGV3YXJlLT5leGVjdXRlKCRjb21tYW5kID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEZpbGVcQ3JlYXRlQ29tbWFuZCB7IHByaXZhdGUgJGZpbGUgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvc2VlLnBocCcgfTsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdEZhY3RvcnlTdHJhdGVnaWVzIHsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIFNwbFByaW9yaXR5UXVldWUgeyAgfSB9OyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XENvbnRleHRTdGFjayB7IHByaXZhdGUgJGVsZW1lbnRzID0gW107IHByaXZhdGUgJHR5cGVDb250ZXh0ID0gTlVMTDsgcHJpdmF0ZSAkcHJvamVjdCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdCB7IHByaXZhdGUgJG5hbWUgPSAnVW50aXRsZWQgcHJvamVjdCc7IHByaXZhdGUgJHJvb3ROYW1lc3BhY2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE5hbWVzcGFjZV8geyBwcml2YXRlICRmcXNlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiB7IHByaXZhdGUgJGZxc2VuID0gJ1xcJzsgcHJpdmF0ZSAkbmFtZSA9ICcnIH07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH07IHByaXZhdGUgJGZpbGVzID0gWyd0YWcvYmFzaWMvYWJzdHJhY3QucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnMjdlMGRmODQ0ODgwNzk3NjQ5N2FiMGIyNTAzYzhjMWEnOyBwcml2YXRlICRuYW1lID0gJ2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog5aaC5p6c57G75Lit5pyJ5pyA5bCR5LiA5Liq5oq96LGh5pa55rOV55qE6K+d77yM6YKj5LmI57G75bqU6K+l6KKr5aOw5piO5Li65oq96LGh57G7XHJcbiAqIFxyXG4gKiDku45waHA154mI5pys5LmL5ZCO5q2k5qCH562+5bey6KKr5byD55SoXHJcbiAqIFxyXG4gKiBAYWJzdHJhY3RcclxuICovXHJcblxyXG5hYnN0cmFjdCBjbGFzcyBUZXN0XHJcbntcclxuICAgIC8qKlxyXG4gICAgKiDov5nmmK/kuIDkuKrmir3osaHmlrnms5VhXHJcbiAgICAqXHJcbiAgICAqIEBhYnN0cmFjdFxyXG4gICAgKi9cclxuICAgIGFic3RyYWN0IGZ1bmN0aW9uIGEoKXt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIOi/meaYr+S4gOS4quaZrumAmueahOaWueazlWJcclxuICAgICovXHJcbiAgICBmdW5jdGlvbiBmdW5jdGlvbjIoKXt9XHJcblxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2F1dGhvci5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnMmMwMGY5MzNmNDAwZjczZGJiNjNiODg5OTliODNjY2InOyBwcml2YXRlICRuYW1lID0gJ2F1dGhvci5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9hdXRob3IucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDlvZPliY3kuLpwYWdl56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7lj6/ku6XnlKjkuo7ku7vkvZXpnIDopoHmoIforrDnmoTlhYPntKDkuIpcclxuICogKGdsb2JhbCB2YXJpYWJsZSwgaW5jbHVkZSwgY29uc3RhbnQsIGZ1bmN0aW9uLCBkZWZpbmUsIGNsYXNzLCB2YXJpYWJsZSwgbWV0aG9kLCBwYWdlKVxyXG4gKiBcclxuICogQGF1dGhvciBob25lY2UgPGNoaW5hX3poekB5ZWFyLm5ldD5cclxuICovXHJcblxyXG4vKipcclxuICog5b2T5YmN5Li6ZnVuY3Rpb27npLrkvotcclxuICogXHJcbiAqIOatpOWHveaVsOWPr+iDveeUseWPpuS4gOS4quS9nOiAhee8luWGmVxyXG4gKiBAYXV0aG9yIGhvbmVjZSBOby4yXHJcbiAqL1xyXG5mdW5jdGlvbiBhKCl7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9jYXRlZ29yeS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnNmIyZmY2ZDQ3NjFmNGVhM2ZjOWE3ZmI5OTY1MjIzMDcnOyBwcml2YXRlICRuYW1lID0gJ2NhdGVnb3J5LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2NhdGVnb3J5LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5piv5aOw5piO57G75Yir55qE56S65L6LXHJcbiAqIFxyXG4gKiBAcGFja2FnZSBNeVBhY2thZ2VcclxuICogQGNhdGVnb3J5IG15Y2F0ZWdvcnlcclxuICovXHJcblxyXG4vKipcclxuICogQGdsb2JhbCBhcnJheSB1c2VkIGZvciBzdHVmZlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIG1pbmUoKVxyXG57XHJcbiAgICBnbG9iYWwgJGJhejtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9jb3B5cmlnaHQucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzM1ODRiNTIzYWM4NGU5MWM3NTE0ZGIzZDc2YWUzNzYzJzsgcHJpdmF0ZSAkbmFtZSA9ICdjb3B5cmlnaHQucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvY29weXJpZ2h0LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivY29weXJpZ2h055qE5qCH562+56S65L6LXHJcbiAqIOW9k+WJjeS4uumhtemdoue6p+aWh+aho+Wdl1xyXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAyMywgaG9uZWNlXHJcbiAqL1xyXG4nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZGVwcmVjYXRlZC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICcyNzY3MjI2MzNkMjc0MjNiZDcyNjhlZDQzMjljZTc2OCc7IHByaXZhdGUgJG5hbWUgPSAnZGVwcmVjYXRlZC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9kZXByZWNhdGVkLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivZGVwcmVjYXRlZOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5b2T5YmN5Li6cGFnZee6p+aWh+aho+Wdl++8jFxyXG4gKiDmraTmoIforrDlj6/nlKjkuo5wYWdl57qn5paH5qGj5Z2X5LmL5aSW55qE5paH5qGj5Z2XXHJcbiAqL1xyXG5jbGFzcyBUZXN0XHJcbntcclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgPDAuMS4wPiBh5pa55rOV6IeqMC4xLjDniYjmnKzlt7LlvIPnlKhcclxuICAgICAqL1xyXG4gICAgZnVuY3Rpb24gYSgpe31cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9leGFtcGxlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzhjYjhjYWEwMjM3MmM3ZmE0ZmQ0YTc3YTBlYzMxYmY3JzsgcHJpdmF0ZSAkbmFtZSA9ICdleGFtcGxlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2V4YW1wbGUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4qIOi/meaYr2V4YW1wbGXmoIfnrb7npLrkvotcclxuKiBAZXhhbXBsZSAvdGFnL2lubGluZS9leGFtcGxlLnBocCDov5nmmK/mraTmoIfnrb7lhoXogZTnlKjms5VcclxuKiBAZXhhbXBsZSBleGFtcGxlLnBocCDmraTnpLrkvovkuLrlvZPliY3nm67lvZXmlofku7ZcclxuKi9cclxuZnVuY3Rpb24gYSgpe30nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnOTg0ZDg3OTFmN2Q5ODRjMjZmNGQxYThlNjcxZjY1MjInOyBwcml2YXRlICRuYW1lID0gJ2ZpbGVzb3VyY2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2ZpbGVzb3VyY2XmoIfnrb7nmoTnpLrkvovku6PnoIFcclxuICogXHJcbiAqIOS9nOeUqOWwseaYr+e7meW9k+WJjeaWh+S7tuWIm+W7uuS4gOS4qumTvuaOpeW5tuaYvuekuua6kOS7o+eggVxyXG4gKiBAZmlsZXNvdXJjZVxyXG4gKi9cclxuZWNobyAxOyc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9maW5hbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc0MGFhMjgzNzgwNDBhMjdjYWIyOTMyY2Q0MmFkMjhlNSc7IHByaXZhdGUgJG5hbWUgPSAnZmluYWwucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmluYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9maW5hbOagh+etvueahOekuuS+i1xyXG4gKiDmraTmoIfnrb7lt7Lml6DmlYjvvIzkvZznlKjlsLHmmK/lrZfpnaLmhI/mgJ1cclxuICovXHJcblxyXG5jbGFzcyBteWNsYXNzXHJcbntcclxuICAgIC8qKlxyXG4gICAgICogQGZpbmFsXHJcbiAgICAgKi9cclxuICAgIGZpbmFsIGZ1bmN0aW9uIGEoKVxyXG4gICAge1xyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2dsb2JhbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnZTIxODBjMTExMDk3ZDIwZjc0ZjQ3MDI5ODg4NzE5MTInOyBwcml2YXRlICRuYW1lID0gJ2dsb2JhbC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9nbG9iYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9nbG9iYWzmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOS4u+imgeeUqOS6juiusOW9leWFqOWxgOWPmOmHj+eahOeUqOazlVxyXG4gKiDlu7rorq7nm7TmjqXlo7DmmI7lnKjlrprkuYnlhajlsYDlj5jph4/nmoTkuIrkuIDooYzvvIzku6XlhY3lvJXlj5HmlL7lnKjplJnor6/nmoTkvZznlKjln5/lhoXkuI3or4bliKvnmoTplJnor69cclxuICovXHJcblxyXG4vKiogXHJcbiAqIEBnbG9iYWwgbWl4ZWQgJF9HTE9CQUxTWyJteXZhciJdIFxyXG4gKi9cclxuJF9HTE9CQUxTWyJteXZhciJdID0gYXJyYXkoInRoaXMiID0+IFwn5bel5L2c5q2j5bi4XCcpO1xyXG5cclxuXHJcblxyXG4vKipcclxuICog5bCGQG5hbWXkuI5AZ2xvYmFs5LiA6LW35L2/55So55qE56S65L6LXHJcbiAqIOWcqEBuYW1l5qCH562+5Lit77yMbmFtZeW/hemhu+aciSQs5ZCm5YiZ5bCG5byV5Y+R6ZSZ6K+vXHJcbiAqIEBnbG9iYWwgYXJyYXkgJEdMT0JBTFNbXCduZWF0b1wnXSBcclxuICogQG5hbWUgJG5lYXRvXHJcbiAqL1xyXG4kR0xPQkFMU1tcJ25lYXRvXCddID0gJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2lnbm9yZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnOGRmZThlODQ1YjA0MDdkYzVlNDVmOTA5Mzg4MzA2OWInOyBwcml2YXRlICRuYW1lID0gJ2lnbm9yZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9pZ25vcmUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9pZ25vcmXmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvueUqOS6jue7hOe7h3BocGRvY+iusOW9leWFg+e0oFxyXG4gKi9cclxuXHJcbmlmICgkb3N0ZXN0KSB7XHJcbiAgICAvKipcclxuICAgICAqIFRoaXMgZGVmaW5lIHdpbGwgZWl0aGVyIGJlIFwnVW5peFwnIG9yIFwnV2luZG93c1wnXHJcbiAgICAgKi9cclxuICAgIGRlZmluZSgiT1MiLCAiVW5peCIpO1xyXG59XHJcbmVsc2Uge1xyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlIOi/memHjOaYr+W/veeVpeeahOW4uOmHj1xyXG4gICAgICovXHJcbiAgICBkZWZpbmUoIk9TIiwgIldpbmRvd3MiKTtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9pbnRlcm5hbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICdjNjdlNGI1MTFmZmJlZWYyNWJiMTMzNTllYTk5YTEwNSc7IHByaXZhdGUgJG5hbWUgPSAnaW50ZXJuYWwucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvaW50ZXJuYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9pbnRlcm5hbOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+5Y+v5Lul55Sf5oiQ5Lik5Lu95paH5qGj77yM5a6Y5pa56K+05pivcGhwZG9j5pyA5pyJ55So55qE5Yqf6IO95LmL5LiAXHJcbiAqIHtAaW50ZXJuYWwg6KaB6K6/6Zeu5pyJ5YWz5L+u5pS55q2k57G755qE5oyH5Y2XLOingSB7QGxpbmsgaHR0cDovL3d3dy5iYWlkdS5jb20g5oyH5Y2XfSzmiJbogZTns7vkvaDnmoTkuLvnrqF9fX1cclxuICogQGludGVybmFsIOivpeexu+S9v+eUqOengeacieaWueazlSB7QGxpbmsgX2ZvbygpfSDlkowge0BsaW5rIF9iYXIoKX0g5YGa5LiA5Lqb5aWH5oCq55qE5LqL5oOFXHJcbiAqL1xyXG5cclxuY2xhc3MgRG9lc3RoaW5nc1xyXG57XHJcbiAgICBwcml2YXRlIGZ1bmN0aW9uIF9mb28oKVxyXG4gICAge1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBmdW5jdGlvbiBfYmFyKClcclxuICAgIHtcclxuICAgIH1cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9saWNlbnNlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzg0MDY5Y2FmMzhiYzI0MmE0MTg5OGJhOGIwYzhiMDhjJzsgcHJpdmF0ZSAkbmFtZSA9ICdsaWNlbnNlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2xpY2Vuc2UucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9saWNlbnNl5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7nlKjkuo7lkJHnlKjmiLfmj5DnpLrpgILnlKjkuo7mraTmlofmoaPlnZfnmoTorrjlj6/or4FcclxuICog5bGV56S65oyH5ZCR6K645Y+v6K+BVVJM55qE6LaF6ZO+5o6l77yM5Liq5Lq65Y+q5bu66K6u5pS+5Zyo5paH5Lu257qn5Yir55qE5paH5qGj5Z2X5LitXHJcbiAqIEBsaWNlbnNlIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCBBcGFjaGUyLjBcclxuICovXHJcblxyXG5jbGFzcyBvcGVuc291cmNlX2NsYXNzXHJcbntcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9saW5rLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICcwNTViZTBhMDE5NjY2MzYwMDMxNTdiZGMyNWFmOTA2Yic7IHByaXZhdGUgJG5hbWUgPSAnbGluay5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9saW5rLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbGlua+agh+etvuekuuS+i1xyXG4gKiBAbGluayBodHRwOi8vd3d3LmJhaWR1LmNvbSDor6bmg4Xmib7nmb7luqZcclxuICovXHJcblxyXG4gLyoqXHJcbiAgKiBEaXNwbGF5cyA8YSBocmVmPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj5IZWxsbzwvYT5cclxuICAqIEBsaW5rIGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMzk2LnR4dCBSRkMyMzk2XHJcbiAgKi9cclxuIGRlZmluZSgiVEVTVF9DT05TVEFOVDIiLDMpO1xyXG4nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvbWV0aG9kLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzIwYjVlNDVlOGMyNzRlYzRiN2MzM2FmMGZjYWU5ZjlkJzsgcHJpdmF0ZSAkbmFtZSA9ICdtZXRob2QucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbWV0aG9kLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbWV0aG9k5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlrpjmlrnnu5nlh7rnmoTlrprkuYnmmK/vvIzopoHlnKjlrZDnsbvkuK3lo7DmmI7niLbnsbvkvb/nlKjprZTmnK/mlrnms5XmnaXlrp7njrDnmoTkuIDkupvpnZ7mmL7npLrlrZjlnKjmlrnms5VcclxuICog6L+Z5Liq5qCH562+5LiN5Lya5ZyocGhwRG9j5pi+56S6ZnVuY3Rpb27lrp7kvZNcclxuICogXHJcbiAqIEBtZXRob2QgcmV0dXJuIHZvaWQgZWNobzIoc3RyaW5nICRzdHJpbmcpIDzmiZPljbDluKbmnInmjaLooYznrKbnmoTlrZfnrKbkuLI+XHJcbiAqL1xyXG5jbGFzcyBUZXN0IGV4dGVuZHMgRmF0aGVye31cclxuXHJcbmNsYXNzIEZhdGhlclxyXG57XHJcbiAgICBmdW5jdGlvbiBfX2NhbGwoJG1ldGhvZCwgc3RyaW5nICRwYXJhbXMpXHJcbiAgICB7XHJcbiAgICAgICAgaWYgKCRtZXRob2QgPT0gXCdlY2hvMlwnKSB7XHJcbiAgICAgICAgICAgIGVjaG8gJHBhcmFtcyAuIFBIUF9FT0w7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL25hbWUucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzkyNGY5NTMzZThhNzQxZDEzMTczNmZiZjg2Zjg2Zjk3JzsgcHJpdmF0ZSAkbmFtZSA9ICduYW1lLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL25hbWUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9uYW1l5qCH562+56S65L6LXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIOW9k+WcqOWHveaVsOS4reS9v+eUqEBnbG9iYWzml7bvvIzlroPlsIbpk77mjqXliLAkYmF6XHJcbiAqIEBuYW1lICRiYXpcclxuICogQGdsb2JhbCBhcnJheSAkR0xPQkFMU1tcJ2JhelwnXSBcclxuICovXHJcbiRHTE9CQUxTW1wnYmF6XCddID0gYXJyYXkoXCdmb29cJywgXCdiYXJcJyk7XHJcblxyXG4vKipcclxuICogQGdsb2JhbCBhcnJheSB1c2VkIGZvciBzdHVmZlxyXG4gKi9cclxuZnVuY3Rpb24gbWluZSgpXHJcbntcclxuICAgIGdsb2JhbCAkYmF6O1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL3BhY2thZ2UucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzEyZjkzZjY0MjQ3NmZmYjU5YTdjODAwY2I1MzY3NjMzJzsgcHJpdmF0ZSAkbmFtZSA9ICdwYWNrYWdlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3BhY2thZ2UucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wYWNrYWdl5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDpobXpnaLnuqdEb2NCbG9ja+ekuuS+i+OAglxyXG4gKiDmraREb2NCbG9ja+S9jeS6juWPpuS4gOS4qkRvY0Jsb2Nr5LmL5YmN77yM5bCG6KKr6Kej5p6Q5Li66aG16Z2i57qn5Yir44CCXHJcbiAqIOWwhuaCqOeahEBwYWNrYWdl5ZKMQHN1YnBhY2thZ2XmoIforrDmlL7lnKjmraTlpIRcclxuICogQHBhY2thZ2UgcGFnZWxldmVsX3BhY2thZ2VcclxuICovXHJcblxyXG4vKipcclxuICogZnVuY3Rpb24gYmx1aFxyXG4gKi9cclxuZnVuY3Rpb24gYmx1aCgpXHJcbntcclxufVxyXG4/PlxyXG48P3BocFxyXG4vKipcclxuKiDnsbsgYmx1aFxyXG4qIOexu+e6p0RvY0Jsb2Nr56S65L6L44CC5Lul5LiL56S65L6L5Luj6KGoYXBwbGllc190b19ibHVo5YyF5ZyoYXBwbGllc190b19ibHVo5YaFXHJcbiogQHBhY2thZ2UgcGFnZWxldmVsX3BhY2thZ2VcXFxcYXBwbGllc190b19ibHVoIFxyXG4qL1xyXG5jbGFzcyBibHVoXHJcbntcclxuXHJcbiAgICAvKipcclxuICAgICog5q2k5Y+Y6YeP5L2c5Li65YwnLi4uOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvcGFyYW0ucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzMyOGFiNjZjYzI3MjQ4NGYzZjY5NjAwY2NmYTdmODkyJzsgcHJpdmF0ZSAkbmFtZSA9ICdwYXJhbS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9wYXJhbS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3BhcmFt5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlo7DmmI7mlrnms5XkvKDlhaXnmoTlj4LmlbBcclxuICovXHJcblxyXG4gLyoqXHJcbiAgKiBAcGFyYW0gaW50ICRiIOS9oOmcgOimgeS8oOWFpeS4gOS4quaVtOaVsOWei+eahOWPmOmHj1xyXG4gICovXHJcbiBmdW5jdGlvbiBhKGludCAkYil7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9wcm9wZXJ0eS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc3YzdiMWI1YjVlOTQyNmY3NTUxNGJmMDRjYzJhZmY3NCc7IHByaXZhdGUgJG5hbWUgPSAncHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wcm9wZXJ0eeWMheaLrOWug+eahOWPmOS9k1twcm9wZXJ0eS1yZWFkIHwgcHJvcGVydHktd3JpdGVd5qCH562+56S65L6LXHJcbiAqXHJcbiAqIEBwcm9wZXJ0eSBtaXhlZCAkcmVndWxhciDlo7DmmI7luLjop4TnmoTor7vlhpnlsZ7mgKdcclxuICogQHByb3BlcnR5LXJlYWQgaW50ICRmb28g5aOw5piO5Y+q6K+7XHJcbiAqIEBwcm9wZXJ0eS13cml0ZSBzdHJpbmcgJGJhciDlo7DmmI7lj6rlhplcclxuICovXHJcblxyXG5jbGFzcyBNYWdpY2lhblxyXG57XHJcbiAgICBwcml2YXRlICRfdGhpbmd5O1xyXG4gICAgcHJpdmF0ZSAkX2JhcjtcclxuICAgIGZ1bmN0aW9uIF9fZ2V0KCR2YXIpXHJcbiAgICB7XHJcbiAgICAgICAgc3dpdGNoICgkdmFyKSB7XHJcbiAgICAgICAgICAgIGNhc2UgXCdmb29cJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiA0NTtcclxuICAgICAgICAgICAgY2FzZSBcJ3JlZ3VsYXJcJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X3RoaW5neTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL3JldHVybi5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICdmMTQxMzgyNjM2NzllYTk0NjI5MTI2N2FmNmYwMDczZSc7IHByaXZhdGUgJG5hbWUgPSAncmV0dXJuLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3JldHVybi5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3JldHVybuagh+etvuekuuS+i1xyXG4gKiBcclxuICog6L+Z5Liq5qCH562+55So5LqO5qCH6K6w5pa55rOV5oiW5Ye95pWw55qE6L+U5Zue5YC85ZKM6L+U5Zue5YaF5a65XHJcbiAqIEByZXR1cm4gaW50IOi/memHjOS8mui/lOWbnuS4gOS4quaVtOaVsOexu+Wei+eahOaVsOWtl1xyXG4gKi9cclxuZnVuY3Rpb24gYSgkcGFyYW0pXHJcbntcclxuICAgICRiID0gKGludCkgJHBhcmFtO1xyXG4gICAgcmV0dXJuICRiO1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9XTsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdIH0gfSB9LCAkbmV4dCA9IGNsYXNzIENsb3N1cmUgeyB2aXJ0dWFsICRjbG9zdXJlID0gInBocERvY3VtZW50b3JcUmVmbGVjdGlvblxNaWRkbGV3YXJlXENoYWluRmFjdG9yeTo6cGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXE1pZGRsZXdhcmVce2Nsb3N1cmV9IiB9KSBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9NaWRkbGV3YXJlL0NoYWluRmFjdG9yeS5waHA6NDMKICAgIDMuMTQxNiAgIDIxOTUyMjg4ICAyNS4gcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXE1pZGRsZXdhcmVcQ2hhaW5GYWN0b3J5OjpwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTWlkZGxld2FyZVx7Y2xvc3VyZTpwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9NaWRkbGV3YXJlL0NoYWluRmFjdG9yeS5waHA6NDItNDR9KCRjb21tYW5kID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEZpbGVcQ3JlYXRlQ29tbWFuZCB7IHByaXZhdGUgJGZpbGUgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvc2VlLnBocCcgfTsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdEZhY3RvcnlTdHJhdGVnaWVzIHsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIFNwbFByaW9yaXR5UXVldWUgeyAgfSB9OyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XENvbnRleHRTdGFjayB7IHByaXZhdGUgJGVsZW1lbnRzID0gW107IHByaXZhdGUgJHR5cGVDb250ZXh0ID0gTlVMTDsgcHJpdmF0ZSAkcHJvamVjdCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdCB7IHByaXZhdGUgJG5hbWUgPSAnVW50aXRsZWQgcHJvamVjdCc7IHByaXZhdGUgJHJvb3ROYW1lc3BhY2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE5hbWVzcGFjZV8geyBwcml2YXRlICRmcXNlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiB7IHByaXZhdGUgJGZxc2VuID0gJ1xcJzsgcHJpdmF0ZSAkbmFtZSA9ICcnIH07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH07IHByaXZhdGUgJGZpbGVzID0gWyd0YWcvYmFzaWMvYWJzdHJhY3QucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnMjdlMGRmODQ0ODgwNzk3NjQ5N2FiMGIyNTAzYzhjMWEnOyBwcml2YXRlICRuYW1lID0gJ2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog5aaC5p6c57G75Lit5pyJ5pyA5bCR5LiA5Liq5oq96LGh5pa55rOV55qE6K+d77yM6YKj5LmI57G75bqU6K+l6KKr5aOw5piO5Li65oq96LGh57G7XHJcbiAqIFxyXG4gKiDku45waHA154mI5pys5LmL5ZCO5q2k5qCH562+5bey6KKr5byD55SoXHJcbiAqIFxyXG4gKiBAYWJzdHJhY3RcclxuICovXHJcblxyXG5hYnN0cmFjdCBjbGFzcyBUZXN0XHJcbntcclxuICAgIC8qKlxyXG4gICAgKiDov5nmmK/kuIDkuKrmir3osaHmlrnms5VhXHJcbiAgICAqXHJcbiAgICAqIEBhYnN0cmFjdFxyXG4gICAgKi9cclxuICAgIGFic3RyYWN0IGZ1bmN0aW9uIGEoKXt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIOi/meaYr+S4gOS4quaZrumAmueahOaWueazlWJcclxuICAgICovXHJcbiAgICBmdW5jdGlvbiBmdW5jdGlvbjIoKXt9XHJcblxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2F1dGhvci5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnMmMwMGY5MzNmNDAwZjczZGJiNjNiODg5OTliODNjY2InOyBwcml2YXRlICRuYW1lID0gJ2F1dGhvci5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9hdXRob3IucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDlvZPliY3kuLpwYWdl56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7lj6/ku6XnlKjkuo7ku7vkvZXpnIDopoHmoIforrDnmoTlhYPntKDkuIpcclxuICogKGdsb2JhbCB2YXJpYWJsZSwgaW5jbHVkZSwgY29uc3RhbnQsIGZ1bmN0aW9uLCBkZWZpbmUsIGNsYXNzLCB2YXJpYWJsZSwgbWV0aG9kLCBwYWdlKVxyXG4gKiBcclxuICogQGF1dGhvciBob25lY2UgPGNoaW5hX3poekB5ZWFyLm5ldD5cclxuICovXHJcblxyXG4vKipcclxuICog5b2T5YmN5Li6ZnVuY3Rpb27npLrkvotcclxuICogXHJcbiAqIOatpOWHveaVsOWPr+iDveeUseWPpuS4gOS4quS9nOiAhee8luWGmVxyXG4gKiBAYXV0aG9yIGhvbmVjZSBOby4yXHJcbiAqL1xyXG5mdW5jdGlvbiBhKCl7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9jYXRlZ29yeS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnNmIyZmY2ZDQ3NjFmNGVhM2ZjOWE3ZmI5OTY1MjIzMDcnOyBwcml2YXRlICRuYW1lID0gJ2NhdGVnb3J5LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2NhdGVnb3J5LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5piv5aOw5piO57G75Yir55qE56S65L6LXHJcbiAqIFxyXG4gKiBAcGFja2FnZSBNeVBhY2thZ2VcclxuICogQGNhdGVnb3J5IG15Y2F0ZWdvcnlcclxuICovXHJcblxyXG4vKipcclxuICogQGdsb2JhbCBhcnJheSB1c2VkIGZvciBzdHVmZlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIG1pbmUoKVxyXG57XHJcbiAgICBnbG9iYWwgJGJhejtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9jb3B5cmlnaHQucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzM1ODRiNTIzYWM4NGU5MWM3NTE0ZGIzZDc2YWUzNzYzJzsgcHJpdmF0ZSAkbmFtZSA9ICdjb3B5cmlnaHQucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvY29weXJpZ2h0LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivY29weXJpZ2h055qE5qCH562+56S65L6LXHJcbiAqIOW9k+WJjeS4uumhtemdoue6p+aWh+aho+Wdl1xyXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAyMywgaG9uZWNlXHJcbiAqL1xyXG4nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZGVwcmVjYXRlZC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICcyNzY3MjI2MzNkMjc0MjNiZDcyNjhlZDQzMjljZTc2OCc7IHByaXZhdGUgJG5hbWUgPSAnZGVwcmVjYXRlZC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9kZXByZWNhdGVkLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivZGVwcmVjYXRlZOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5b2T5YmN5Li6cGFnZee6p+aWh+aho+Wdl++8jFxyXG4gKiDmraTmoIforrDlj6/nlKjkuo5wYWdl57qn5paH5qGj5Z2X5LmL5aSW55qE5paH5qGj5Z2XXHJcbiAqL1xyXG5jbGFzcyBUZXN0XHJcbntcclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgPDAuMS4wPiBh5pa55rOV6IeqMC4xLjDniYjmnKzlt7LlvIPnlKhcclxuICAgICAqL1xyXG4gICAgZnVuY3Rpb24gYSgpe31cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9leGFtcGxlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzhjYjhjYWEwMjM3MmM3ZmE0ZmQ0YTc3YTBlYzMxYmY3JzsgcHJpdmF0ZSAkbmFtZSA9ICdleGFtcGxlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2V4YW1wbGUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4qIOi/meaYr2V4YW1wbGXmoIfnrb7npLrkvotcclxuKiBAZXhhbXBsZSAvdGFnL2lubGluZS9leGFtcGxlLnBocCDov5nmmK/mraTmoIfnrb7lhoXogZTnlKjms5VcclxuKiBAZXhhbXBsZSBleGFtcGxlLnBocCDmraTnpLrkvovkuLrlvZPliY3nm67lvZXmlofku7ZcclxuKi9cclxuZnVuY3Rpb24gYSgpe30nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnOTg0ZDg3OTFmN2Q5ODRjMjZmNGQxYThlNjcxZjY1MjInOyBwcml2YXRlICRuYW1lID0gJ2ZpbGVzb3VyY2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2ZpbGVzb3VyY2XmoIfnrb7nmoTnpLrkvovku6PnoIFcclxuICogXHJcbiAqIOS9nOeUqOWwseaYr+e7meW9k+WJjeaWh+S7tuWIm+W7uuS4gOS4qumTvuaOpeW5tuaYvuekuua6kOS7o+eggVxyXG4gKiBAZmlsZXNvdXJjZVxyXG4gKi9cclxuZWNobyAxOyc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9maW5hbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc0MGFhMjgzNzgwNDBhMjdjYWIyOTMyY2Q0MmFkMjhlNSc7IHByaXZhdGUgJG5hbWUgPSAnZmluYWwucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmluYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9maW5hbOagh+etvueahOekuuS+i1xyXG4gKiDmraTmoIfnrb7lt7Lml6DmlYjvvIzkvZznlKjlsLHmmK/lrZfpnaLmhI/mgJ1cclxuICovXHJcblxyXG5jbGFzcyBteWNsYXNzXHJcbntcclxuICAgIC8qKlxyXG4gICAgICogQGZpbmFsXHJcbiAgICAgKi9cclxuICAgIGZpbmFsIGZ1bmN0aW9uIGEoKVxyXG4gICAge1xyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2dsb2JhbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnZTIxODBjMTExMDk3ZDIwZjc0ZjQ3MDI5ODg4NzE5MTInOyBwcml2YXRlICRuYW1lID0gJ2dsb2JhbC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9nbG9iYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9nbG9iYWzmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOS4u+imgeeUqOS6juiusOW9leWFqOWxgOWPmOmHj+eahOeUqOazlVxyXG4gKiDlu7rorq7nm7TmjqXlo7DmmI7lnKjlrprkuYnlhajlsYDlj5jph4/nmoTkuIrkuIDooYzvvIzku6XlhY3lvJXlj5HmlL7lnKjplJnor6/nmoTkvZznlKjln5/lhoXkuI3or4bliKvnmoTplJnor69cclxuICovXHJcblxyXG4vKiogXHJcbiAqIEBnbG9iYWwgbWl4ZWQgJF9HTE9CQUxTWyJteXZhciJdIFxyXG4gKi9cclxuJF9HTE9CQUxTWyJteXZhciJdID0gYXJyYXkoInRoaXMiID0+IFwn5bel5L2c5q2j5bi4XCcpO1xyXG5cclxuXHJcblxyXG4vKipcclxuICog5bCGQG5hbWXkuI5AZ2xvYmFs5LiA6LW35L2/55So55qE56S65L6LXHJcbiAqIOWcqEBuYW1l5qCH562+5Lit77yMbmFtZeW/hemhu+aciSQs5ZCm5YiZ5bCG5byV5Y+R6ZSZ6K+vXHJcbiAqIEBnbG9iYWwgYXJyYXkgJEdMT0JBTFNbXCduZWF0b1wnXSBcclxuICogQG5hbWUgJG5lYXRvXHJcbiAqL1xyXG4kR0xPQkFMU1tcJ25lYXRvXCddID0gJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2lnbm9yZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnOGRmZThlODQ1YjA0MDdkYzVlNDVmOTA5Mzg4MzA2OWInOyBwcml2YXRlICRuYW1lID0gJ2lnbm9yZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9pZ25vcmUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9pZ25vcmXmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvueUqOS6jue7hOe7h3BocGRvY+iusOW9leWFg+e0oFxyXG4gKi9cclxuXHJcbmlmICgkb3N0ZXN0KSB7XHJcbiAgICAvKipcclxuICAgICAqIFRoaXMgZGVmaW5lIHdpbGwgZWl0aGVyIGJlIFwnVW5peFwnIG9yIFwnV2luZG93c1wnXHJcbiAgICAgKi9cclxuICAgIGRlZmluZSgiT1MiLCAiVW5peCIpO1xyXG59XHJcbmVsc2Uge1xyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlIOi/memHjOaYr+W/veeVpeeahOW4uOmHj1xyXG4gICAgICovXHJcbiAgICBkZWZpbmUoIk9TIiwgIldpbmRvd3MiKTtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9pbnRlcm5hbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICdjNjdlNGI1MTFmZmJlZWYyNWJiMTMzNTllYTk5YTEwNSc7IHByaXZhdGUgJG5hbWUgPSAnaW50ZXJuYWwucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvaW50ZXJuYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9pbnRlcm5hbOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+5Y+v5Lul55Sf5oiQ5Lik5Lu95paH5qGj77yM5a6Y5pa56K+05pivcGhwZG9j5pyA5pyJ55So55qE5Yqf6IO95LmL5LiAXHJcbiAqIHtAaW50ZXJuYWwg6KaB6K6/6Zeu5pyJ5YWz5L+u5pS55q2k57G755qE5oyH5Y2XLOingSB7QGxpbmsgaHR0cDovL3d3dy5iYWlkdS5jb20g5oyH5Y2XfSzmiJbogZTns7vkvaDnmoTkuLvnrqF9fX1cclxuICogQGludGVybmFsIOivpeexu+S9v+eUqOengeacieaWueazlSB7QGxpbmsgX2ZvbygpfSDlkowge0BsaW5rIF9iYXIoKX0g5YGa5LiA5Lqb5aWH5oCq55qE5LqL5oOFXHJcbiAqL1xyXG5cclxuY2xhc3MgRG9lc3RoaW5nc1xyXG57XHJcbiAgICBwcml2YXRlIGZ1bmN0aW9uIF9mb28oKVxyXG4gICAge1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBmdW5jdGlvbiBfYmFyKClcclxuICAgIHtcclxuICAgIH1cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9saWNlbnNlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzg0MDY5Y2FmMzhiYzI0MmE0MTg5OGJhOGIwYzhiMDhjJzsgcHJpdmF0ZSAkbmFtZSA9ICdsaWNlbnNlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2xpY2Vuc2UucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9saWNlbnNl5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7nlKjkuo7lkJHnlKjmiLfmj5DnpLrpgILnlKjkuo7mraTmlofmoaPlnZfnmoTorrjlj6/or4FcclxuICog5bGV56S65oyH5ZCR6K645Y+v6K+BVVJM55qE6LaF6ZO+5o6l77yM5Liq5Lq65Y+q5bu66K6u5pS+5Zyo5paH5Lu257qn5Yir55qE5paH5qGj5Z2X5LitXHJcbiAqIEBsaWNlbnNlIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCBBcGFjaGUyLjBcclxuICovXHJcblxyXG5jbGFzcyBvcGVuc291cmNlX2NsYXNzXHJcbntcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9saW5rLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICcwNTViZTBhMDE5NjY2MzYwMDMxNTdiZGMyNWFmOTA2Yic7IHByaXZhdGUgJG5hbWUgPSAnbGluay5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9saW5rLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbGlua+agh+etvuekuuS+i1xyXG4gKiBAbGluayBodHRwOi8vd3d3LmJhaWR1LmNvbSDor6bmg4Xmib7nmb7luqZcclxuICovXHJcblxyXG4gLyoqXHJcbiAgKiBEaXNwbGF5cyA8YSBocmVmPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj5IZWxsbzwvYT5cclxuICAqIEBsaW5rIGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMzk2LnR4dCBSRkMyMzk2XHJcbiAgKi9cclxuIGRlZmluZSgiVEVTVF9DT05TVEFOVDIiLDMpO1xyXG4nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvbWV0aG9kLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzIwYjVlNDVlOGMyNzRlYzRiN2MzM2FmMGZjYWU5ZjlkJzsgcHJpdmF0ZSAkbmFtZSA9ICdtZXRob2QucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbWV0aG9kLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbWV0aG9k5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlrpjmlrnnu5nlh7rnmoTlrprkuYnmmK/vvIzopoHlnKjlrZDnsbvkuK3lo7DmmI7niLbnsbvkvb/nlKjprZTmnK/mlrnms5XmnaXlrp7njrDnmoTkuIDkupvpnZ7mmL7npLrlrZjlnKjmlrnms5VcclxuICog6L+Z5Liq5qCH562+5LiN5Lya5ZyocGhwRG9j5pi+56S6ZnVuY3Rpb27lrp7kvZNcclxuICogXHJcbiAqIEBtZXRob2QgcmV0dXJuIHZvaWQgZWNobzIoc3RyaW5nICRzdHJpbmcpIDzmiZPljbDluKbmnInmjaLooYznrKbnmoTlrZfnrKbkuLI+XHJcbiAqL1xyXG5jbGFzcyBUZXN0IGV4dGVuZHMgRmF0aGVye31cclxuXHJcbmNsYXNzIEZhdGhlclxyXG57XHJcbiAgICBmdW5jdGlvbiBfX2NhbGwoJG1ldGhvZCwgc3RyaW5nICRwYXJhbXMpXHJcbiAgICB7XHJcbiAgICAgICAgaWYgKCRtZXRob2QgPT0gXCdlY2hvMlwnKSB7XHJcbiAgICAgICAgICAgIGVjaG8gJHBhcmFtcyAuIFBIUF9FT0w7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL25hbWUucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzkyNGY5NTMzZThhNzQxZDEzMTczNmZiZjg2Zjg2Zjk3JzsgcHJpdmF0ZSAkbmFtZSA9ICduYW1lLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL25hbWUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9uYW1l5qCH562+56S65L6LXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIOW9k+WcqOWHveaVsOS4reS9v+eUqEBnbG9iYWzml7bvvIzlroPlsIbpk77mjqXliLAkYmF6XHJcbiAqIEBuYW1lICRiYXpcclxuICogQGdsb2JhbCBhcnJheSAkR0xPQkFMU1tcJ2JhelwnXSBcclxuICovXHJcbiRHTE9CQUxTW1wnYmF6XCddID0gYXJyYXkoXCdmb29cJywgXCdiYXJcJyk7XHJcblxyXG4vKipcclxuICogQGdsb2JhbCBhcnJheSB1c2VkIGZvciBzdHVmZlxyXG4gKi9cclxuZnVuY3Rpb24gbWluZSgpXHJcbntcclxuICAgIGdsb2JhbCAkYmF6O1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL3BhY2thZ2UucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzEyZjkzZjY0MjQ3NmZmYjU5YTdjODAwY2I1MzY3NjMzJzsgcHJpdmF0ZSAkbmFtZSA9ICdwYWNrYWdlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3BhY2thZ2UucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wYWNrYWdl5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDpobXpnaLnuqdEb2NCbG9ja+ekuuS+i+OAglxyXG4gKiDmraREb2NCbG9ja+S9jeS6juWPpuS4gOS4qkRvY0Jsb2Nr5LmL5YmN77yM5bCG6KKr6Kej5p6Q5Li66aG16Z2i57qn5Yir44CCXHJcbiAqIOWwhuaCqOeahEBwYWNrYWdl5ZKMQHN1YnBhY2thZ2XmoIforrDmlL7lnKjmraTlpIRcclxuICogQHBhY2thZ2UgcGFnZWxldmVsX3BhY2thZ2VcclxuICovXHJcblxyXG4vKipcclxuICogZnVuY3Rpb24gYmx1aFxyXG4gKi9cclxuZnVuY3Rpb24gYmx1aCgpXHJcbntcclxufVxyXG4/PlxyXG48P3BocFxyXG4vKipcclxuKiDnsbsgYmx1aFxyXG4qIOexu+e6p0RvY0Jsb2Nr56S65L6L44CC5Lul5LiL56S65L6L5Luj6KGoYXBwbGllc190b19ibHVo5YyF5ZyoYXBwbGllc190b19ibHVo5YaFXHJcbiogQHBhY2thZ2UgcGFnZWxldmVsX3BhY2thZ2VcXFxcYXBwbGllc190b19ibHVoIFxyXG4qL1xyXG5jbGFzcyBibHVoXHJcbntcclxuXHJcbiAgICAvKipcclxuICAgICog5q2k5Y+Y6YeP5L2c5Li65YwnLi4uOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvcGFyYW0ucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzMyOGFiNjZjYzI3MjQ4NGYzZjY5NjAwY2NmYTdmODkyJzsgcHJpdmF0ZSAkbmFtZSA9ICdwYXJhbS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9wYXJhbS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3BhcmFt5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlo7DmmI7mlrnms5XkvKDlhaXnmoTlj4LmlbBcclxuICovXHJcblxyXG4gLyoqXHJcbiAgKiBAcGFyYW0gaW50ICRiIOS9oOmcgOimgeS8oOWFpeS4gOS4quaVtOaVsOWei+eahOWPmOmHj1xyXG4gICovXHJcbiBmdW5jdGlvbiBhKGludCAkYil7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9wcm9wZXJ0eS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc3YzdiMWI1YjVlOTQyNmY3NTUxNGJmMDRjYzJhZmY3NCc7IHByaXZhdGUgJG5hbWUgPSAncHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wcm9wZXJ0eeWMheaLrOWug+eahOWPmOS9k1twcm9wZXJ0eS1yZWFkIHwgcHJvcGVydHktd3JpdGVd5qCH562+56S65L6LXHJcbiAqXHJcbiAqIEBwcm9wZXJ0eSBtaXhlZCAkcmVndWxhciDlo7DmmI7luLjop4TnmoTor7vlhpnlsZ7mgKdcclxuICogQHByb3BlcnR5LXJlYWQgaW50ICRmb28g5aOw5piO5Y+q6K+7XHJcbiAqIEBwcm9wZXJ0eS13cml0ZSBzdHJpbmcgJGJhciDlo7DmmI7lj6rlhplcclxuICovXHJcblxyXG5jbGFzcyBNYWdpY2lhblxyXG57XHJcbiAgICBwcml2YXRlICRfdGhpbmd5O1xyXG4gICAgcHJpdmF0ZSAkX2JhcjtcclxuICAgIGZ1bmN0aW9uIF9fZ2V0KCR2YXIpXHJcbiAgICB7XHJcbiAgICAgICAgc3dpdGNoICgkdmFyKSB7XHJcbiAgICAgICAgICAgIGNhc2UgXCdmb29cJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiA0NTtcclxuICAgICAgICAgICAgY2FzZSBcJ3JlZ3VsYXJcJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X3RoaW5neTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL3JldHVybi5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICdmMTQxMzgyNjM2NzllYTk0NjI5MTI2N2FmNmYwMDczZSc7IHByaXZhdGUgJG5hbWUgPSAncmV0dXJuLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3JldHVybi5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3JldHVybuagh+etvuekuuS+i1xyXG4gKiBcclxuICog6L+Z5Liq5qCH562+55So5LqO5qCH6K6w5pa55rOV5oiW5Ye95pWw55qE6L+U5Zue5YC85ZKM6L+U5Zue5YaF5a65XHJcbiAqIEByZXR1cm4gaW50IOi/memHjOS8mui/lOWbnuS4gOS4quaVtOaVsOexu+Wei+eahOaVsOWtl1xyXG4gKi9cclxuZnVuY3Rpb24gYSgkcGFyYW0pXHJcbntcclxuICAgICRiID0gKGludCkgJHBhcmFtO1xyXG4gICAgcmV0dXJuICRiO1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9XTsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdIH0gfSB9KSBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3NyYy9waHBEb2N1bWVudG9yL1BhcnNlci9NaWRkbGV3YXJlL0VtaXR0aW5nTWlkZGxld2FyZS5waHA6MzgKICAgIDMuMTQxOSAgIDIxOTUyMjg4ICAyNi4gcGhwRG9jdW1lbnRvclxQYXJzZXJcTWlkZGxld2FyZVxDYWNoZU1pZGRsZXdhcmUtPmV4ZWN1dGUoJGNvbW1hbmQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnlcRmlsZVxDcmVhdGVDb21tYW5kIHsgcHJpdmF0ZSAkZmlsZSA9IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9zZWUucGhwJyB9OyBwcml2YXRlICRzdHJhdGVnaWVzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9qZWN0RmFjdG9yeVN0cmF0ZWdpZXMgeyBwcml2YXRlICRzdHJhdGVnaWVzID0gY2xhc3MgU3BsUHJpb3JpdHlRdWV1ZSB7ICB9IH07IHByaXZhdGUgJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnlcQ29udGV4dFN0YWNrIHsgcHJpdmF0ZSAkZWxlbWVudHMgPSBbXTsgcHJpdmF0ZSAkdHlwZUNvbnRleHQgPSBOVUxMOyBwcml2YXRlICRwcm9qZWN0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9qZWN0IHsgcHJpdmF0ZSAkbmFtZSA9ICdVbnRpdGxlZCBwcm9qZWN0JzsgcHJpdmF0ZSAkcm9vdE5hbWVzcGFjZSA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTmFtZXNwYWNlXyB7IHByaXZhdGUgJGZxc2VuID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIHsgcHJpdmF0ZSAkZnFzZW4gPSAnXFwnOyBwcml2YXRlICRuYW1lID0gJycgfTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfTsgcHJpdmF0ZSAkZmlsZXMgPSBbJ3RhZy9iYXNpYy9hYnN0cmFjdC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICcyN2UwZGY4NDQ4ODA3OTc2NDk3YWIwYjI1MDNjOGMxYSc7IHByaXZhdGUgJG5hbWUgPSAnYWJzdHJhY3QucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvYWJzdHJhY3QucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDlpoLmnpznsbvkuK3mnInmnIDlsJHkuIDkuKrmir3osaHmlrnms5XnmoTor53vvIzpgqPkuYjnsbvlupTor6Xooqvlo7DmmI7kuLrmir3osaHnsbtcclxuICogXHJcbiAqIOS7jnBocDXniYjmnKzkuYvlkI7mraTmoIfnrb7lt7LooqvlvIPnlKhcclxuICogXHJcbiAqIEBhYnN0cmFjdFxyXG4gKi9cclxuXHJcbmFic3RyYWN0IGNsYXNzIFRlc3Rcclxue1xyXG4gICAgLyoqXHJcbiAgICAqIOi/meaYr+S4gOS4quaKveixoeaWueazlWFcclxuICAgICpcclxuICAgICogQGFic3RyYWN0XHJcbiAgICAqL1xyXG4gICAgYWJzdHJhY3QgZnVuY3Rpb24gYSgpe31cclxuXHJcbiAgICAvKipcclxuICAgICog6L+Z5piv5LiA5Liq5pmu6YCa55qE5pa55rOVYlxyXG4gICAgKi9cclxuICAgIGZ1bmN0aW9uIGZ1bmN0aW9uMigpe31cclxuXHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvYXV0aG9yLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICcyYzAwZjkzM2Y0MDBmNzNkYmI2M2I4ODk5OWI4M2NjYic7IHByaXZhdGUgJG5hbWUgPSAnYXV0aG9yLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2F1dGhvci5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOW9k+WJjeS4unBhZ2XnpLrkvotcclxuICogXHJcbiAqIOatpOagh+etvuWPr+S7peeUqOS6juS7u+S9lemcgOimgeagh+iusOeahOWFg+e0oOS4ilxyXG4gKiAoZ2xvYmFsIHZhcmlhYmxlLCBpbmNsdWRlLCBjb25zdGFudCwgZnVuY3Rpb24sIGRlZmluZSwgY2xhc3MsIHZhcmlhYmxlLCBtZXRob2QsIHBhZ2UpXHJcbiAqIFxyXG4gKiBAYXV0aG9yIGhvbmVjZSA8Y2hpbmFfemh6QHllYXIubmV0PlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiDlvZPliY3kuLpmdW5jdGlvbuekuuS+i1xyXG4gKiBcclxuICog5q2k5Ye95pWw5Y+v6IO955Sx5Y+m5LiA5Liq5L2c6ICF57yW5YaZXHJcbiAqIEBhdXRob3IgaG9uZWNlIE5vLjJcclxuICovXHJcbmZ1bmN0aW9uIGEoKXt9JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2NhdGVnb3J5LnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICc2YjJmZjZkNDc2MWY0ZWEzZmM5YTdmYjk5NjUyMjMwNyc7IHByaXZhdGUgJG5hbWUgPSAnY2F0ZWdvcnkucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvY2F0ZWdvcnkucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK/lo7DmmI7nsbvliKvnmoTnpLrkvotcclxuICogXHJcbiAqIEBwYWNrYWdlIE15UGFja2FnZVxyXG4gKiBAY2F0ZWdvcnkgbXljYXRlZ29yeVxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAZ2xvYmFsIGFycmF5IHVzZWQgZm9yIHN0dWZmXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gbWluZSgpXHJcbntcclxuICAgIGdsb2JhbCAkYmF6O1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2NvcHlyaWdodC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnMzU4NGI1MjNhYzg0ZTkxYzc1MTRkYjNkNzZhZTM3NjMnOyBwcml2YXRlICRuYW1lID0gJ2NvcHlyaWdodC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9jb3B5cmlnaHQucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9jb3B5cmlnaHTnmoTmoIfnrb7npLrkvotcclxuICog5b2T5YmN5Li66aG16Z2i57qn5paH5qGj5Z2XXHJcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDIzLCBob25lY2VcclxuICovXHJcbic7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9kZXByZWNhdGVkLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzI3NjcyMjYzM2QyNzQyM2JkNzI2OGVkNDMyOWNlNzY4JzsgcHJpdmF0ZSAkbmFtZSA9ICdkZXByZWNhdGVkLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2RlcHJlY2F0ZWQucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9kZXByZWNhdGVk5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlvZPliY3kuLpwYWdl57qn5paH5qGj5Z2X77yMXHJcbiAqIOatpOagh+iusOWPr+eUqOS6jnBhZ2XnuqfmlofmoaPlnZfkuYvlpJbnmoTmlofmoaPlnZdcclxuICovXHJcbmNsYXNzIFRlc3Rcclxue1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCA8MC4xLjA+IGHmlrnms5Xoh6owLjEuMOeJiOacrOW3suW8g+eUqFxyXG4gICAgICovXHJcbiAgICBmdW5jdGlvbiBhKCl7fVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2V4YW1wbGUucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnOGNiOGNhYTAyMzcyYzdmYTRmZDRhNzdhMGVjMzFiZjcnOyBwcml2YXRlICRuYW1lID0gJ2V4YW1wbGUucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZXhhbXBsZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiog6L+Z5pivZXhhbXBsZeagh+etvuekuuS+i1xyXG4qIEBleGFtcGxlIC90YWcvaW5saW5lL2V4YW1wbGUucGhwIOi/meaYr+atpOagh+etvuWGheiBlOeUqOazlVxyXG4qIEBleGFtcGxlIGV4YW1wbGUucGhwIOatpOekuuS+i+S4uuW9k+WJjeebruW9leaWh+S7tlxyXG4qL1xyXG5mdW5jdGlvbiBhKCl7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9maWxlc291cmNlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICc5ODRkODc5MWY3ZDk4NGMyNmY0ZDFhOGU2NzFmNjUyMic7IHByaXZhdGUgJG5hbWUgPSAnZmlsZXNvdXJjZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9maWxlc291cmNlLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivZmlsZXNvdXJjZeagh+etvueahOekuuS+i+S7o+eggVxyXG4gKiBcclxuICog5L2c55So5bCx5piv57uZ5b2T5YmN5paH5Lu25Yib5bu65LiA5Liq6ZO+5o6l5bm25pi+56S65rqQ5Luj56CBXHJcbiAqIEBmaWxlc291cmNlXHJcbiAqL1xyXG5lY2hvIDE7JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2ZpbmFsLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzQwYWEyODM3ODA0MGEyN2NhYjI5MzJjZDQyYWQyOGU1JzsgcHJpdmF0ZSAkbmFtZSA9ICdmaW5hbC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9maW5hbC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2ZpbmFs5qCH562+55qE56S65L6LXHJcbiAqIOatpOagh+etvuW3suaXoOaViO+8jOS9nOeUqOWwseaYr+Wtl+mdouaEj+aAnVxyXG4gKi9cclxuXHJcbmNsYXNzIG15Y2xhc3Ncclxue1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZmluYWxcclxuICAgICAqL1xyXG4gICAgZmluYWwgZnVuY3Rpb24gYSgpXHJcbiAgICB7XHJcbiAgICB9XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZ2xvYmFsLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICdlMjE4MGMxMTEwOTdkMjBmNzRmNDcwMjk4ODg3MTkxMic7IHByaXZhdGUgJG5hbWUgPSAnZ2xvYmFsLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2dsb2JhbC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2dsb2JhbOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5Li76KaB55So5LqO6K6w5b2V5YWo5bGA5Y+Y6YeP55qE55So5rOVXHJcbiAqIOW7uuiuruebtOaOpeWjsOaYjuWcqOWumuS5ieWFqOWxgOWPmOmHj+eahOS4iuS4gOihjO+8jOS7peWFjeW8leWPkeaUvuWcqOmUmeivr+eahOS9nOeUqOWfn+WGheS4jeivhuWIq+eahOmUmeivr1xyXG4gKi9cclxuXHJcbi8qKiBcclxuICogQGdsb2JhbCBtaXhlZCAkX0dMT0JBTFNbIm15dmFyIl0gXHJcbiAqL1xyXG4kX0dMT0JBTFNbIm15dmFyIl0gPSBhcnJheSgidGhpcyIgPT4gXCflt6XkvZzmraPluLhcJyk7XHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiDlsIZAbmFtZeS4jkBnbG9iYWzkuIDotbfkvb/nlKjnmoTnpLrkvotcclxuICog5ZyoQG5hbWXmoIfnrb7kuK3vvIxuYW1l5b+F6aG75pyJJCzlkKbliJnlsIblvJXlj5HplJnor69cclxuICogQGdsb2JhbCBhcnJheSAkR0xPQkFMU1tcJ25lYXRvXCddIFxyXG4gKiBAbmFtZSAkbmVhdG9cclxuICovXHJcbiRHTE9CQUxTW1wnbmVhdG9cJ10gPSAnLi4uOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvaWdub3JlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICc4ZGZlOGU4NDViMDQwN2RjNWU0NWY5MDkzODgzMDY5Yic7IHByaXZhdGUgJG5hbWUgPSAnaWdub3JlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2lnbm9yZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2lnbm9yZeagh+etvuekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+55So5LqO57uE57uHcGhwZG9j6K6w5b2V5YWD57SgXHJcbiAqL1xyXG5cclxuaWYgKCRvc3Rlc3QpIHtcclxuICAgIC8qKlxyXG4gICAgICogVGhpcyBkZWZpbmUgd2lsbCBlaXRoZXIgYmUgXCdVbml4XCcgb3IgXCdXaW5kb3dzXCdcclxuICAgICAqL1xyXG4gICAgZGVmaW5lKCJPUyIsICJVbml4Iik7XHJcbn1cclxuZWxzZSB7XHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmUg6L+Z6YeM5piv5b+955Wl55qE5bi46YePXHJcbiAgICAgKi9cclxuICAgIGRlZmluZSgiT1MiLCAiV2luZG93cyIpO1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2ludGVybmFsLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJ2M2N2U0YjUxMWZmYmVlZjI1YmIxMzM1OWVhOTlhMTA1JzsgcHJpdmF0ZSAkbmFtZSA9ICdpbnRlcm5hbC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9pbnRlcm5hbC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2ludGVybmFs5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7lj6/ku6XnlJ/miJDkuKTku73mlofmoaPvvIzlrpjmlrnor7TmmK9waHBkb2PmnIDmnInnlKjnmoTlip/og73kuYvkuIBcclxuICoge0BpbnRlcm5hbCDopoHorr/pl67mnInlhbPkv67mlLnmraTnsbvnmoTmjIfljZcs6KeBIHtAbGluayBodHRwOi8vd3d3LmJhaWR1LmNvbSDmjIfljZd9LOaIluiBlOezu+S9oOeahOS4u+euoX19fVxyXG4gKiBAaW50ZXJuYWwg6K+l57G75L2/55So56eB5pyJ5pa55rOVIHtAbGluayBfZm9vKCl9IOWSjCB7QGxpbmsgX2JhcigpfSDlgZrkuIDkupvlpYfmgKrnmoTkuovmg4VcclxuICovXHJcblxyXG5jbGFzcyBEb2VzdGhpbmdzXHJcbntcclxuICAgIHByaXZhdGUgZnVuY3Rpb24gX2ZvbygpXHJcbiAgICB7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGZ1bmN0aW9uIF9iYXIoKVxyXG4gICAge1xyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2xpY2Vuc2UucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnODQwNjljYWYzOGJjMjQyYTQxODk4YmE4YjBjOGIwOGMnOyBwcml2YXRlICRuYW1lID0gJ2xpY2Vuc2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbGljZW5zZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2xpY2Vuc2XmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvueUqOS6juWQkeeUqOaIt+aPkOekuumAgueUqOS6juatpOaWh+aho+Wdl+eahOiuuOWPr+ivgVxyXG4gKiDlsZXnpLrmjIflkJHorrjlj6/or4FVUkznmoTotoXpk77mjqXvvIzkuKrkurrlj6rlu7rorq7mlL7lnKjmlofku7bnuqfliKvnmoTmlofmoaPlnZfkuK1cclxuICogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZTIuMFxyXG4gKi9cclxuXHJcbmNsYXNzIG9wZW5zb3VyY2VfY2xhc3Ncclxue1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2xpbmsucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzA1NWJlMGEwMTk2NjYzNjAwMzE1N2JkYzI1YWY5MDZiJzsgcHJpdmF0ZSAkbmFtZSA9ICdsaW5rLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2xpbmsucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9saW5r5qCH562+56S65L6LXHJcbiAqIEBsaW5rIGh0dHA6Ly93d3cuYmFpZHUuY29tIOivpuaDheaJvueZvuW6plxyXG4gKi9cclxuXHJcbiAvKipcclxuICAqIERpc3BsYXlzIDxhIGhyZWY9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPkhlbGxvPC9hPlxyXG4gICogQGxpbmsgaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIzOTYudHh0IFJGQzIzOTZcclxuICAqL1xyXG4gZGVmaW5lKCJURVNUX0NPTlNUQU5UMiIsMyk7XHJcbic7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9tZXRob2QucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnMjBiNWU0NWU4YzI3NGVjNGI3YzMzYWYwZmNhZTlmOWQnOyBwcml2YXRlICRuYW1lID0gJ21ldGhvZC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9tZXRob2QucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9tZXRob2TmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOWumOaWuee7meWHuueahOWumuS5ieaYr++8jOimgeWcqOWtkOexu+S4reWjsOaYjueItuexu+S9v+eUqOmtlOacr+aWueazleadpeWunueOsOeahOS4gOS6m+mdnuaYvuekuuWtmOWcqOaWueazlVxyXG4gKiDov5nkuKrmoIfnrb7kuI3kvJrlnKhwaHBEb2PmmL7npLpmdW5jdGlvbuWunuS9k1xyXG4gKiBcclxuICogQG1ldGhvZCByZXR1cm4gdm9pZCBlY2hvMihzdHJpbmcgJHN0cmluZykgPOaJk+WNsOW4puacieaNouihjOespueahOWtl+espuS4sj5cclxuICovXHJcbmNsYXNzIFRlc3QgZXh0ZW5kcyBGYXRoZXJ7fVxyXG5cclxuY2xhc3MgRmF0aGVyXHJcbntcclxuICAgIGZ1bmN0aW9uIF9fY2FsbCgkbWV0aG9kLCBzdHJpbmcgJHBhcmFtcylcclxuICAgIHtcclxuICAgICAgICBpZiAoJG1ldGhvZCA9PSBcJ2VjaG8yXCcpIHtcclxuICAgICAgICAgICAgZWNobyAkcGFyYW1zIC4gUEhQX0VPTDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvbmFtZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnOTI0Zjk1MzNlOGE3NDFkMTMxNzM2ZmJmODZmODZmOTcnOyBwcml2YXRlICRuYW1lID0gJ25hbWUucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbmFtZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr25hbWXmoIfnrb7npLrkvotcclxuICovXHJcblxyXG4vKipcclxuICog5b2T5Zyo5Ye95pWw5Lit5L2/55SoQGdsb2JhbOaXtu+8jOWug+WwhumTvuaOpeWIsCRiYXpcclxuICogQG5hbWUgJGJhelxyXG4gKiBAZ2xvYmFsIGFycmF5ICRHTE9CQUxTW1wnYmF6XCddIFxyXG4gKi9cclxuJEdMT0JBTFNbXCdiYXpcJ10gPSBhcnJheShcJ2Zvb1wnLCBcJ2JhclwnKTtcclxuXHJcbi8qKlxyXG4gKiBAZ2xvYmFsIGFycmF5IHVzZWQgZm9yIHN0dWZmXHJcbiAqL1xyXG5mdW5jdGlvbiBtaW5lKClcclxue1xyXG4gICAgZ2xvYmFsICRiYXo7XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvcGFja2FnZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnMTJmOTNmNjQyNDc2ZmZiNTlhN2M4MDBjYjUzNjc2MzMnOyBwcml2YXRlICRuYW1lID0gJ3BhY2thZ2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcGFja2FnZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3BhY2thZ2XmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOmhtemdoue6p0RvY0Jsb2Nr56S65L6L44CCXHJcbiAqIOatpERvY0Jsb2Nr5L2N5LqO5Y+m5LiA5LiqRG9jQmxvY2vkuYvliY3vvIzlsIbooqvop6PmnpDkuLrpobXpnaLnuqfliKvjgIJcclxuICog5bCG5oKo55qEQHBhY2thZ2XlkoxAc3VicGFja2FnZeagh+iusOaUvuWcqOatpOWkhFxyXG4gKiBAcGFja2FnZSBwYWdlbGV2ZWxfcGFja2FnZVxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBmdW5jdGlvbiBibHVoXHJcbiAqL1xyXG5mdW5jdGlvbiBibHVoKClcclxue1xyXG59XHJcbj8+XHJcbjw/cGhwXHJcbi8qKlxyXG4qIOexuyBibHVoXHJcbiog57G757qnRG9jQmxvY2vnpLrkvovjgILku6XkuIvnpLrkvovku6PooahhcHBsaWVzX3RvX2JsdWjljIXlnKhhcHBsaWVzX3RvX2JsdWjlhoVcclxuKiBAcGFja2FnZSBwYWdlbGV2ZWxfcGFja2FnZVxcXFxhcHBsaWVzX3RvX2JsdWggXHJcbiovXHJcbmNsYXNzIGJsdWhcclxue1xyXG5cclxuICAgIC8qKlxyXG4gICAgKiDmraTlj5jph4/kvZzkuLrljCcuLi47IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9wYXJhbS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnMzI4YWI2NmNjMjcyNDg0ZjNmNjk2MDBjY2ZhN2Y4OTInOyBwcml2YXRlICRuYW1lID0gJ3BhcmFtLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3BhcmFtLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivcGFyYW3moIfnrb7npLrkvotcclxuICogXHJcbiAqIOWjsOaYjuaWueazleS8oOWFpeeahOWPguaVsFxyXG4gKi9cclxuXHJcbiAvKipcclxuICAqIEBwYXJhbSBpbnQgJGIg5L2g6ZyA6KaB5Lyg5YWl5LiA5Liq5pW05pWw5Z6L55qE5Y+Y6YePXHJcbiAgKi9cclxuIGZ1bmN0aW9uIGEoaW50ICRiKXt9JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL3Byb3BlcnR5LnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzdjN2IxYjViNWU5NDI2Zjc1NTE0YmYwNGNjMmFmZjc0JzsgcHJpdmF0ZSAkbmFtZSA9ICdwcm9wZXJ0eS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9wcm9wZXJ0eS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3Byb3BlcnR55YyF5ous5a6D55qE5Y+Y5L2TW3Byb3BlcnR5LXJlYWQgfCBwcm9wZXJ0eS13cml0ZV3moIfnrb7npLrkvotcclxuICpcclxuICogQHByb3BlcnR5IG1peGVkICRyZWd1bGFyIOWjsOaYjuW4uOinhOeahOivu+WGmeWxnuaAp1xyXG4gKiBAcHJvcGVydHktcmVhZCBpbnQgJGZvbyDlo7DmmI7lj6ror7tcclxuICogQHByb3BlcnR5LXdyaXRlIHN0cmluZyAkYmFyIOWjsOaYjuWPquWGmVxyXG4gKi9cclxuXHJcbmNsYXNzIE1hZ2ljaWFuXHJcbntcclxuICAgIHByaXZhdGUgJF90aGluZ3k7XHJcbiAgICBwcml2YXRlICRfYmFyO1xyXG4gICAgZnVuY3Rpb24gX19nZXQoJHZhcilcclxuICAgIHtcclxuICAgICAgICBzd2l0Y2ggKCR2YXIpIHtcclxuICAgICAgICAgICAgY2FzZSBcJ2Zvb1wnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDQ1O1xyXG4gICAgICAgICAgICBjYXNlIFwncmVndWxhclwnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fdGhpbmd5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGYnLi4uOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvcmV0dXJuLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJ2YxNDEzODI2MzY3OWVhOTQ2MjkxMjY3YWY2ZjAwNzNlJzsgcHJpdmF0ZSAkbmFtZSA9ICdyZXR1cm4ucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcmV0dXJuLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivcmV0dXJu5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDov5nkuKrmoIfnrb7nlKjkuo7moIforrDmlrnms5XmiJblh73mlbDnmoTov5Tlm57lgLzlkozov5Tlm57lhoXlrrlcclxuICogQHJldHVybiBpbnQg6L+Z6YeM5Lya6L+U5Zue5LiA5Liq5pW05pWw57G75Z6L55qE5pWw5a2XXHJcbiAqL1xyXG5mdW5jdGlvbiBhKCRwYXJhbSlcclxue1xyXG4gICAgJGIgPSAoaW50KSAkcGFyYW07XHJcbiAgICByZXR1cm4gJGI7XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH1dOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW10gfSB9IH0sICRuZXh0ID0gY2xhc3MgQ2xvc3VyZSB7IHZpcnR1YWwgJGNsb3N1cmUgPSAicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXE1pZGRsZXdhcmVcQ2hhaW5GYWN0b3J5OjpwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTWlkZGxld2FyZVx7Y2xvc3VyZX0iIH0pIHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvcmVmbGVjdGlvbi9zcmMvcGhwRG9jdW1lbnRvci9SZWZsZWN0aW9uL01pZGRsZXdhcmUvQ2hhaW5GYWN0b3J5LnBocDo0MwogICAgMy4xNDM5ICAgMjE5NTMxNDQgIDI3LiBTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlci0+Z2V0KCRrZXkgPSAnMzk3ODhmYTYwN2I5MGM4NTVhZjA3YzFiOGYwODg3ZmEtNTEyZjA1OWFjMmI3ZTkwODBhNjYxNGZhZGQxODg1MjknLCAkY2FsbGJhY2sgPSBjbGFzcyBDbG9zdXJlIHsgdmlydHVhbCAkY2xvc3VyZSA9ICIkdGhpcy0+cGhwRG9jdW1lbnRvclxQYXJzZXJcTWlkZGxld2FyZVx7Y2xvc3VyZX0iIH0sICRiZXRhID0gPz8/LCAkbWV0YWRhdGEgPSA/Pz8pIHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvc3JjL3BocERvY3VtZW50b3IvUGFyc2VyL01pZGRsZXdhcmUvQ2FjaGVNaWRkbGV3YXJlLnBocDo2OQogICAgMy4xNDQxICAgMjE5NTMxNjggIDI4LiBTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlci0+ZG9HZXQoJHBvb2wgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxDYWNoZVxGaWxlc3lzdGVtQWRhcHRlciB7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1uYW1lc3BhY2UgPSAnd2FSM1U0YlRlTTonOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9ZGVmYXVsdExpZmV0aW1lID0gMzE1NTY5MjY7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1uYW1lc3BhY2VWZXJzaW9uID0gJyc7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn12ZXJzaW9uaW5nSXNFbmFibGVkID0gRkFMU0U7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1kZWZlcnJlZCA9IFtdOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9aWRzID0gWyc0MDhiMzhhNTE4Mjk1OTFiMTY2ZWNjOTZhOTkzNjVhYi0yN2UwZGY4NDQ4ODA3OTc2NDk3YWIwYjI1MDNjOGMxYScgPT4gJzQwOGIzOGE1MTgyOTU5MWIxNjZlY2M5NmE5OTM2NWFiLTI3ZTBkZjg0NDg4MDc5NzY0OTdhYjBiMjUwM2M4YzFhJywgJ2NiZjA4ZjRlOTYwYjdlYWQwOTQ4NTM1YTQxYWQ1ZWE1LTJjMDBmOTMzZjQwMGY3M2RiYjYzYjg4OTk5YjgzY2NiJyA9PiAnY2JmMDhmNGU5NjBiN2VhZDA5NDg1MzVhNDFhZDVlYTUtMmMwMGY5MzNmNDAwZjczZGJiNjNiODg5OTliODNjY2InLCAnOWNmYzkyYjA0NTkwZTc4OWVmNmUxNzJmMzg3MTFhMWUtNmIyZmY2ZDQ3NjFmNGVhM2ZjOWE3ZmI5OTY1MjIzMDcnID0+ICc5Y2ZjOTJiMDQ1OTBlNzg5ZWY2ZTE3MmYzODcxMWExZS02YjJmZjZkNDc2MWY0ZWEzZmM5YTdmYjk5NjUyMjMwNycsICc3N2E2ZTgwMjE2NjFjNDI5YTY3MjlhZmVkNjNhNDQ4Ny0zNTg0YjUyM2FjODRlOTFjNzUxNGRiM2Q3NmFlMzc2MycgPT4gJzc3YTZlODAyMTY2MWM0MjlhNjcyOWFmZWQ2M2E0NDg3LTM1ODRiNTIzYWM4NGU5MWM3NTE0ZGIzZDc2YWUzNzYzJywgJzdkYTg4MDE5YmFhNzE0ZThiODhhMTU1ZDAzNTc4OTRiLTI3NjcyMjYzM2QyNzQyM2JkNzI2OGVkNDMyOWNlNzY4JyA9PiAnN2RhODgwMTliYWE3MTRlOGI4OGExNTVkMDM1Nzg5NGItMjc2NzIyNjMzZDI3NDIzYmQ3MjY4ZWQ0MzI5Y2U3NjgnLCAnM2I1MWFlYTQ3MzI1OWUxMDgxOGJhZGZiOWQ3MzM3N2EtOGNiOGNhYTAyMzcyYzdmYTRmZDRhNzdhMGVjMzFiZjcnID0+ICczYjUxYWVhNDczMjU5ZTEwODE4YmFkZmI5ZDczMzc3YS04Y2I4Y2FhMDIzNzJjN2ZhNGZkNGE3N2EwZWMzMWJmNycsICdjZjcwOGI4NjYyNGY3NWFmMTExYzhiNjNhYTdiY2ZlNS05ODRkODc5MWY3ZDk4NGMyNmY0ZDFhOGU2NzFmNjUyMicgPT4gJ2NmNzA4Yjg2NjI0Zjc1YWYxMTFjOGI2M2FhN2JjZmU1LTk4NGQ4NzkxZjdkOTg0YzI2ZjRkMWE4ZTY3MWY2NTIyJywgJzA4NDdiZmY5ZjlmZDBkYmI3Mjg4OGE1ZWNlYTk5MzZmLTQwYWEyODM3ODA0MGEyN2NhYjI5MzJjZDQyYWQyOGU1JyA9PiAnMDg0N2JmZjlmOWZkMGRiYjcyODg4YTVlY2VhOTkzNmYtNDBhYTI4Mzc4MDQwYTI3Y2FiMjkzMmNkNDJhZDI4ZTUnLCAnZTNlNGQ3NDgwZjcyZDY3OGE0YWIxOTZjY2RhOThjNTAtZTIxODBjMTExMDk3ZDIwZjc0ZjQ3MDI5ODg4NzE5MTInID0+ICdlM2U0ZDc0ODBmNzJkNjc4YTRhYjE5NmNjZGE5OGM1MC1lMjE4MGMxMTEwOTdkMjBmNzRmNDcwMjk4ODg3MTkxMicsICdkMDgzYzI4YzFhMDQ2ZTNhNTFmNWM5ZjVmMWIyMDA4Yi04ZGZlOGU4NDViMDQwN2RjNWU0NWY5MDkzODgzMDY5YicgPT4gJ2QwODNjMjhjMWEwNDZlM2E1MWY1YzlmNWYxYjIwMDhiLThkZmU4ZTg0NWIwNDA3ZGM1ZTQ1ZjkwOTM4ODMwNjliJywgJzZjYWE1ODdkODk2ZWQ2OWJjZGM4ODQ2MTgzODFiZGUyLWM2N2U0YjUxMWZmYmVlZjI1YmIxMzM1OWVhOTlhMTA1JyA9PiAnNmNhYTU4N2Q4OTZlZDY5YmNkYzg4NDYxODM4MWJkZTItYzY3ZTRiNTExZmZiZWVmMjViYjEzMzU5ZWE5OWExMDUnLCAnMGY2MWM3MDFlMDA2OGMwZjQxMWIyZDU0ZWZjMGI4ZWYtODQwNjljYWYzOGJjMjQyYTQxODk4YmE4YjBjOGIwOGMnID0+ICcwZjYxYzcwMWUwMDY4YzBmNDExYjJkNTRlZmMwYjhlZi04NDA2OWNhZjM4YmMyNDJhNDE4OThiYThiMGM4YjA4YycsICczZjIyYmY2YmQyZDVkZDIwMzA5Zjg3MjU3M2NmMzI4NS0wNTViZTBhMDE5NjY2MzYwMDMxNTdiZGMyNWFmOTA2YicgPT4gJzNmMjJiZjZiZDJkNWRkMjAzMDlmODcyNTczY2YzMjg1LTA1NWJlMGEwMTk2NjYzNjAwMzE1N2JkYzI1YWY5MDZiJywgJ2FkZWMyMDU0MjkxMzEzZmM0ZWI4NThmNDAxZGE3NTJjLTIwYjVlNDVlOGMyNzRlYzRiN2MzM2FmMGZjYWU5ZjlkJyA9PiAnYWRlYzIwNTQyOTEzMTNmYzRlYjg1OGY0MDFkYTc1MmMtMjBiNWU0NWU4YzI3NGVjNGI3YzMzYWYwZmNhZTlmOWQnLCAnNWU3YjA4MWE3ZWZhOGViYTc0NTE4ZjdiYWNmY2QxNTktOTI0Zjk1MzNlOGE3NDFkMTMxNzM2ZmJmODZmODZmOTcnID0+ICc1ZTdiMDgxYTdlZmE4ZWJhNzQ1MThmN2JhY2ZjZDE1OS05MjRmOTUzM2U4YTc0MWQxMzE3MzZmYmY4NmY4NmY5NycsICcxZDAwOGVjYjAzMjc2MWU3OTRmNWVlNjZlNjhhYjQ1NS0xMmY5M2Y2NDI0NzZmZmI1OWE3YzgwMGNiNTM2NzYzMycgPT4gJzFkMDA4ZWNiMDMyNzYxZTc5NGY1ZWU2NmU2OGFiNDU1LTEyZjkzZjY0MjQ3NmZmYjU5YTdjODAwY2I1MzY3NjMzJywgJ2E0ZTAzNjljNGY2Njc0YmJhOGM3NGI5OGVkMGE1ODQ4LTMyOGFiNjZjYzI3MjQ4NGYzZjY5NjAwY2NmYTdmODkyJyA9PiAnYTRlMDM2OWM0ZjY2NzRiYmE4Yzc0Yjk4ZWQwYTU4NDgtMzI4YWI2NmNjMjcyNDg0ZjNmNjk2MDBjY2ZhN2Y4OTInLCAnNWQ3MWNhMjE5YTE2NjRjZjNmNTVlMzcyOWViYTFkNzItN2M3YjFiNWI1ZTk0MjZmNzU1MTRiZjA0Y2MyYWZmNzQnID0+ICc1ZDcxY2EyMTlhMTY2NGNmM2Y1NWUzNzI5ZWJhMWQ3Mi03YzdiMWI1YjVlOTQyNmY3NTUxNGJmMDRjYzJhZmY3NCcsICc1MzlkZTA1YWE3ODg0ZGIyMjY4MmJlOTAzOTg1YzUzNi1mMTQxMzgyNjM2NzllYTk0NjI5MTI2N2FmNmYwMDczZScgPT4gJzUzOWRlMDVhYTc4ODRkYjIyNjgyYmU5MDM5ODVjNTM2LWYxNDEzODI2MzY3OWVhOTQ2MjkxMjY3YWY2ZjAwNzNlJywgJzM5Nzg4ZmE2MDdiOTBjODU1YWYwN2MxYjhmMDg4N2ZhLTUxMmYwNTlhYzJiN2U5MDgwYTY2MTRmYWRkMTg4NTI5JyA9PiAnMzk3ODhmYTYwN2I5MGM4NTVhZjA3YzFiOGYwODg3ZmEtNTEyZjA1OWFjMmI3ZTkwODBhNjYxNGZhZGQxODg1MjknXTsgcHJvdGVjdGVkICRtYXhJZExlbmd0aCA9IE5VTEw7IHByb3RlY3RlZCAkbG9nZ2VyID0gTlVMTDsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfWNhbGxiYWNrV3JhcHBlciA9IFswID0+ICdTeW1mb255XFxDb21wb25lbnRcXENhY2hlXFxMb2NrUmVnaXN0cnknLCAxID0+ICdjb21wdXRlJ107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1jb21wdXRpbmcgPSBbJzM5Nzg4ZmE2MDdiOTBjODU1YWYwN2MxYjhmMDg4N2ZhLTUxMmYwNTlhYzJiN2U5MDgwYTY2MTRmYWRkMTg4NTI5JyA9PiAnMzk3ODhmYTYwN2I5MGM4NTVhZjA3YzFiOGYwODg3ZmEtNTEyZjA1OWFjMmI3ZTkwODBhNjYxNGZhZGQxODg1MjknXTsgcHJpdmF0ZSAkbWFyc2hhbGxlciA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENhY2hlXE1hcnNoYWxsZXJcRGVmYXVsdE1hcnNoYWxsZXIgeyBwcml2YXRlICR1c2VJZ2JpbmFyeVNlcmlhbGl6ZSA9IEZBTFNFIH07IHByaXZhdGUgJGRpcmVjdG9yeSA9ICcucGhwZG9jL2NhY2hlXFxmaWxlc1xcJzsgcHJpdmF0ZSAkdG1wID0gJy5waHBkb2MvY2FjaGVcXGZpbGVzXFxlMDFhOGRjYTNhNzUnIH0sICRrZXkgPSAnMzk3ODhmYTYwN2I5MGM4NTVhZjA3YzFiOGYwODg3ZmEtNTEyZjA1OWFjMmI3ZTkwODBhNjYxNGZhZGQxODg1MjknLCAkY2FsbGJhY2sgPSBjbGFzcyBDbG9zdXJlIHsgdmlydHVhbCAkY2xvc3VyZSA9ICIkdGhpcy0+cGhwRG9jdW1lbnRvclxQYXJzZXJcTWlkZGxld2FyZVx7Y2xvc3VyZX0iIH0sICRiZXRhID0gTlVMTCwgJG1ldGFkYXRhID0gW10pIHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3N5bWZvbnkvY29udHJhY3RzL0NhY2hlL0NhY2hlVHJhaXQucGhwOjM1CiAgICAzLjE0NDQgICAyMTk1Mzg2NCAgMjkuIFN5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyLT5kb0dldCgkcG9vbCA9IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXENhY2hlXEZpbGVzeXN0ZW1BZGFwdGVyIHsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfW5hbWVzcGFjZSA9ICd3YVIzVTRiVGVNOic7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1kZWZhdWx0TGlmZXRpbWUgPSAzMTU1NjkyNjsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfW5hbWVzcGFjZVZlcnNpb24gPSAnJzsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfXZlcnNpb25pbmdJc0VuYWJsZWQgPSBGQUxTRTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfWRlZmVycmVkID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1pZHMgPSBbJzQwOGIzOGE1MTgyOTU5MWIxNjZlY2M5NmE5OTM2NWFiLTI3ZTBkZjg0NDg4MDc5NzY0OTdhYjBiMjUwM2M4YzFhJyA9PiAnNDA4YjM4YTUxODI5NTkxYjE2NmVjYzk2YTk5MzY1YWItMjdlMGRmODQ0ODgwNzk3NjQ5N2FiMGIyNTAzYzhjMWEnLCAnY2JmMDhmNGU5NjBiN2VhZDA5NDg1MzVhNDFhZDVlYTUtMmMwMGY5MzNmNDAwZjczZGJiNjNiODg5OTliODNjY2InID0+ICdjYmYwOGY0ZTk2MGI3ZWFkMDk0ODUzNWE0MWFkNWVhNS0yYzAwZjkzM2Y0MDBmNzNkYmI2M2I4ODk5OWI4M2NjYicsICc5Y2ZjOTJiMDQ1OTBlNzg5ZWY2ZTE3MmYzODcxMWExZS02YjJmZjZkNDc2MWY0ZWEzZmM5YTdmYjk5NjUyMjMwNycgPT4gJzljZmM5MmIwNDU5MGU3ODllZjZlMTcyZjM4NzExYTFlLTZiMmZmNmQ0NzYxZjRlYTNmYzlhN2ZiOTk2NTIyMzA3JywgJzc3YTZlODAyMTY2MWM0MjlhNjcyOWFmZWQ2M2E0NDg3LTM1ODRiNTIzYWM4NGU5MWM3NTE0ZGIzZDc2YWUzNzYzJyA9PiAnNzdhNmU4MDIxNjYxYzQyOWE2NzI5YWZlZDYzYTQ0ODctMzU4NGI1MjNhYzg0ZTkxYzc1MTRkYjNkNzZhZTM3NjMnLCAnN2RhODgwMTliYWE3MTRlOGI4OGExNTVkMDM1Nzg5NGItMjc2NzIyNjMzZDI3NDIzYmQ3MjY4ZWQ0MzI5Y2U3NjgnID0+ICc3ZGE4ODAxOWJhYTcxNGU4Yjg4YTE1NWQwMzU3ODk0Yi0yNzY3MjI2MzNkMjc0MjNiZDcyNjhlZDQzMjljZTc2OCcsICczYjUxYWVhNDczMjU5ZTEwODE4YmFkZmI5ZDczMzc3YS04Y2I4Y2FhMDIzNzJjN2ZhNGZkNGE3N2EwZWMzMWJmNycgPT4gJzNiNTFhZWE0NzMyNTllMTA4MThiYWRmYjlkNzMzNzdhLThjYjhjYWEwMjM3MmM3ZmE0ZmQ0YTc3YTBlYzMxYmY3JywgJ2NmNzA4Yjg2NjI0Zjc1YWYxMTFjOGI2M2FhN2JjZmU1LTk4NGQ4NzkxZjdkOTg0YzI2ZjRkMWE4ZTY3MWY2NTIyJyA9PiAnY2Y3MDhiODY2MjRmNzVhZjExMWM4YjYzYWE3YmNmZTUtOTg0ZDg3OTFmN2Q5ODRjMjZmNGQxYThlNjcxZjY1MjInLCAnMDg0N2JmZjlmOWZkMGRiYjcyODg4YTVlY2VhOTkzNmYtNDBhYTI4Mzc4MDQwYTI3Y2FiMjkzMmNkNDJhZDI4ZTUnID0+ICcwODQ3YmZmOWY5ZmQwZGJiNzI4ODhhNWVjZWE5OTM2Zi00MGFhMjgzNzgwNDBhMjdjYWIyOTMyY2Q0MmFkMjhlNScsICdlM2U0ZDc0ODBmNzJkNjc4YTRhYjE5NmNjZGE5OGM1MC1lMjE4MGMxMTEwOTdkMjBmNzRmNDcwMjk4ODg3MTkxMicgPT4gJ2UzZTRkNzQ4MGY3MmQ2NzhhNGFiMTk2Y2NkYTk4YzUwLWUyMTgwYzExMTA5N2QyMGY3NGY0NzAyOTg4ODcxOTEyJywgJ2QwODNjMjhjMWEwNDZlM2E1MWY1YzlmNWYxYjIwMDhiLThkZmU4ZTg0NWIwNDA3ZGM1ZTQ1ZjkwOTM4ODMwNjliJyA9PiAnZDA4M2MyOGMxYTA0NmUzYTUxZjVjOWY1ZjFiMjAwOGItOGRmZThlODQ1YjA0MDdkYzVlNDVmOTA5Mzg4MzA2OWInLCAnNmNhYTU4N2Q4OTZlZDY5YmNkYzg4NDYxODM4MWJkZTItYzY3ZTRiNTExZmZiZWVmMjViYjEzMzU5ZWE5OWExMDUnID0+ICc2Y2FhNTg3ZDg5NmVkNjliY2RjODg0NjE4MzgxYmRlMi1jNjdlNGI1MTFmZmJlZWYyNWJiMTMzNTllYTk5YTEwNScsICcwZjYxYzcwMWUwMDY4YzBmNDExYjJkNTRlZmMwYjhlZi04NDA2OWNhZjM4YmMyNDJhNDE4OThiYThiMGM4YjA4YycgPT4gJzBmNjFjNzAxZTAwNjhjMGY0MTFiMmQ1NGVmYzBiOGVmLTg0MDY5Y2FmMzhiYzI0MmE0MTg5OGJhOGIwYzhiMDhjJywgJzNmMjJiZjZiZDJkNWRkMjAzMDlmODcyNTczY2YzMjg1LTA1NWJlMGEwMTk2NjYzNjAwMzE1N2JkYzI1YWY5MDZiJyA9PiAnM2YyMmJmNmJkMmQ1ZGQyMDMwOWY4NzI1NzNjZjMyODUtMDU1YmUwYTAxOTY2NjM2MDAzMTU3YmRjMjVhZjkwNmInLCAnYWRlYzIwNTQyOTEzMTNmYzRlYjg1OGY0MDFkYTc1MmMtMjBiNWU0NWU4YzI3NGVjNGI3YzMzYWYwZmNhZTlmOWQnID0+ICdhZGVjMjA1NDI5MTMxM2ZjNGViODU4ZjQwMWRhNzUyYy0yMGI1ZTQ1ZThjMjc0ZWM0YjdjMzNhZjBmY2FlOWY5ZCcsICc1ZTdiMDgxYTdlZmE4ZWJhNzQ1MThmN2JhY2ZjZDE1OS05MjRmOTUzM2U4YTc0MWQxMzE3MzZmYmY4NmY4NmY5NycgPT4gJzVlN2IwODFhN2VmYThlYmE3NDUxOGY3YmFjZmNkMTU5LTkyNGY5NTMzZThhNzQxZDEzMTczNmZiZjg2Zjg2Zjk3JywgJzFkMDA4ZWNiMDMyNzYxZTc5NGY1ZWU2NmU2OGFiNDU1LTEyZjkzZjY0MjQ3NmZmYjU5YTdjODAwY2I1MzY3NjMzJyA9PiAnMWQwMDhlY2IwMzI3NjFlNzk0ZjVlZTY2ZTY4YWI0NTUtMTJmOTNmNjQyNDc2ZmZiNTlhN2M4MDBjYjUzNjc2MzMnLCAnYTRlMDM2OWM0ZjY2NzRiYmE4Yzc0Yjk4ZWQwYTU4NDgtMzI4YWI2NmNjMjcyNDg0ZjNmNjk2MDBjY2ZhN2Y4OTInID0+ICdhNGUwMzY5YzRmNjY3NGJiYThjNzRiOThlZDBhNTg0OC0zMjhhYjY2Y2MyNzI0ODRmM2Y2OTYwMGNjZmE3Zjg5MicsICc1ZDcxY2EyMTlhMTY2NGNmM2Y1NWUzNzI5ZWJhMWQ3Mi03YzdiMWI1YjVlOTQyNmY3NTUxNGJmMDRjYzJhZmY3NCcgPT4gJzVkNzFjYTIxOWExNjY0Y2YzZjU1ZTM3MjllYmExZDcyLTdjN2IxYjViNWU5NDI2Zjc1NTE0YmYwNGNjMmFmZjc0JywgJzUzOWRlMDVhYTc4ODRkYjIyNjgyYmU5MDM5ODVjNTM2LWYxNDEzODI2MzY3OWVhOTQ2MjkxMjY3YWY2ZjAwNzNlJyA9PiAnNTM5ZGUwNWFhNzg4NGRiMjI2ODJiZTkwMzk4NWM1MzYtZjE0MTM4MjYzNjc5ZWE5NDYyOTEyNjdhZjZmMDA3M2UnLCAnMzk3ODhmYTYwN2I5MGM4NTVhZjA3YzFiOGYwODg3ZmEtNTEyZjA1OWFjMmI3ZTkwODBhNjYxNGZhZGQxODg1MjknID0+ICczOTc4OGZhNjA3YjkwYzg1NWFmMDdjMWI4ZjA4ODdmYS01MTJmMDU5YWMyYjdlOTA4MGE2NjE0ZmFkZDE4ODUyOSddOyBwcm90ZWN0ZWQgJG1heElkTGVuZ3RoID0gTlVMTDsgcHJvdGVjdGVkICRsb2dnZXIgPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9Y2FsbGJhY2tXcmFwcGVyID0gWzAgPT4gJ1N5bWZvbnlcXENvbXBvbmVudFxcQ2FjaGVcXExvY2tSZWdpc3RyeScsIDEgPT4gJ2NvbXB1dGUnXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfWNvbXB1dGluZyA9IFsnMzk3ODhmYTYwN2I5MGM4NTVhZjA3YzFiOGYwODg3ZmEtNTEyZjA1OWFjMmI3ZTkwODBhNjYxNGZhZGQxODg1MjknID0+ICczOTc4OGZhNjA3YjkwYzg1NWFmMDdjMWI4ZjA4ODdmYS01MTJmMDU5YWMyYjdlOTA4MGE2NjE0ZmFkZDE4ODUyOSddOyBwcml2YXRlICRtYXJzaGFsbGVyID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcTWFyc2hhbGxlclxEZWZhdWx0TWFyc2hhbGxlciB7IHByaXZhdGUgJHVzZUlnYmluYXJ5U2VyaWFsaXplID0gRkFMU0UgfTsgcHJpdmF0ZSAkZGlyZWN0b3J5ID0gJy5waHBkb2MvY2FjaGVcXGZpbGVzXFwnOyBwcml2YXRlICR0bXAgPSAnLnBocGRvYy9jYWNoZVxcZmlsZXNcXGUwMWE4ZGNhM2E3NScgfSwgJGtleSA9ICczOTc4OGZhNjA3YjkwYzg1NWFmMDdjMWI4ZjA4ODdmYS01MTJmMDU5YWMyYjdlOTA4MGE2NjE0ZmFkZDE4ODUyOScsICRjYWxsYmFjayA9IGNsYXNzIENsb3N1cmUgeyB2aXJ0dWFsICRjbG9zdXJlID0gIiR0aGlzLT5TeW1mb255XENvbXBvbmVudFxDYWNoZVxUcmFpdHNce2Nsb3N1cmV9IiB9LCAkYmV0YSA9IDEsICRtZXRhZGF0YSA9IFtdLCAkbG9nZ2VyID0gTlVMTCkgcGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3Ivc3ltZm9ueS9jYWNoZS9UcmFpdHMvQ29udHJhY3RzVHJhaXQucGhwOjk1CiAgICAzLjE0NTIgICAyMTk1NDA4MCAgMzAuIFN5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyLT5TeW1mb255XENvbXBvbmVudFxDYWNoZVxUcmFpdHNce2Nsb3N1cmU6cGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3Ivc3ltZm9ueS9jYWNoZS9UcmFpdHMvQ29udHJhY3RzVHJhaXQucGhwOjczLTk1fSgkaXRlbSA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENhY2hlXENhY2hlSXRlbSB7IHByb3RlY3RlZCAka2V5ID0gJzM5Nzg4ZmE2MDdiOTBjODU1YWYwN2MxYjhmMDg4N2ZhLTUxMmYwNTlhYzJiN2U5MDgwYTY2MTRmYWRkMTg4NTI5JzsgcHJvdGVjdGVkICR2YWx1ZSA9IE5VTEw7IHByb3RlY3RlZCAkaXNIaXQgPSBGQUxTRTsgcHJvdGVjdGVkICRleHBpcnkgPSBOVUxMOyBwcm90ZWN0ZWQgJG1ldGFkYXRhID0gW107IHByb3RlY3RlZCAkbmV3TWV0YWRhdGEgPSBbXTsgcHJvdGVjdGVkICRpbm5lckl0ZW0gPSBOVUxMOyBwcm90ZWN0ZWQgJHBvb2xIYXNoID0gTlVMTDsgcHJvdGVjdGVkICRpc1RhZ2dhYmxlID0gRkFMU0UgfSwgJHNhdmUgPSBUUlVFKSBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9zeW1mb255L2NvbnRyYWN0cy9DYWNoZS9DYWNoZVRyYWl0LnBocDo3MgogICAgMy4xNDUyICAgMjE5NTU0NzIgIDMxLiBTeW1mb255XENvbXBvbmVudFxDYWNoZVxMb2NrUmVnaXN0cnk6OmNvbXB1dGUoJGNhbGxiYWNrID0gY2xhc3MgQ2xvc3VyZSB7IHZpcnR1YWwgJGNsb3N1cmUgPSAiJHRoaXMtPnBocERvY3VtZW50b3JcUGFyc2VyXE1pZGRsZXdhcmVce2Nsb3N1cmV9IiB9LCAkaXRlbSA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XENhY2hlXENhY2hlSXRlbSB7IHByb3RlY3RlZCAka2V5ID0gJzM5Nzg4ZmE2MDdiOTBjODU1YWYwN2MxYjhmMDg4N2ZhLTUxMmYwNTlhYzJiN2U5MDgwYTY2MTRmYWRkMTg4NTI5JzsgcHJvdGVjdGVkICR2YWx1ZSA9IE5VTEw7IHByb3RlY3RlZCAkaXNIaXQgPSBGQUxTRTsgcHJvdGVjdGVkICRleHBpcnkgPSBOVUxMOyBwcm90ZWN0ZWQgJG1ldGFkYXRhID0gW107IHByb3RlY3RlZCAkbmV3TWV0YWRhdGEgPSBbXTsgcHJvdGVjdGVkICRpbm5lckl0ZW0gPSBOVUxMOyBwcm90ZWN0ZWQgJHBvb2xIYXNoID0gTlVMTDsgcHJvdGVjdGVkICRpc1RhZ2dhYmxlID0gRkFMU0UgfSwgJHNhdmUgPSBUUlVFLCAkcG9vbCA9IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXENhY2hlXEZpbGVzeXN0ZW1BZGFwdGVyIHsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfW5hbWVzcGFjZSA9ICd3YVIzVTRiVGVNOic7IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1kZWZhdWx0TGlmZXRpbWUgPSAzMTU1NjkyNjsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfW5hbWVzcGFjZVZlcnNpb24gPSAnJzsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfXZlcnNpb25pbmdJc0VuYWJsZWQgPSBGQUxTRTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfWRlZmVycmVkID0gW107IHByaXZhdGUgJHtTeW1mb255XENvbXBvbmVudFxDYWNoZVxBZGFwdGVyXEFic3RyYWN0QWRhcHRlcn1pZHMgPSBbJzQwOGIzOGE1MTgyOTU5MWIxNjZlY2M5NmE5OTM2NWFiLTI3ZTBkZjg0NDg4MDc5NzY0OTdhYjBiMjUwM2M4YzFhJyA9PiAnNDA4YjM4YTUxODI5NTkxYjE2NmVjYzk2YTk5MzY1YWItMjdlMGRmODQ0ODgwNzk3NjQ5N2FiMGIyNTAzYzhjMWEnLCAnY2JmMDhmNGU5NjBiN2VhZDA5NDg1MzVhNDFhZDVlYTUtMmMwMGY5MzNmNDAwZjczZGJiNjNiODg5OTliODNjY2InID0+ICdjYmYwOGY0ZTk2MGI3ZWFkMDk0ODUzNWE0MWFkNWVhNS0yYzAwZjkzM2Y0MDBmNzNkYmI2M2I4ODk5OWI4M2NjYicsICc5Y2ZjOTJiMDQ1OTBlNzg5ZWY2ZTE3MmYzODcxMWExZS02YjJmZjZkNDc2MWY0ZWEzZmM5YTdmYjk5NjUyMjMwNycgPT4gJzljZmM5MmIwNDU5MGU3ODllZjZlMTcyZjM4NzExYTFlLTZiMmZmNmQ0NzYxZjRlYTNmYzlhN2ZiOTk2NTIyMzA3JywgJzc3YTZlODAyMTY2MWM0MjlhNjcyOWFmZWQ2M2E0NDg3LTM1ODRiNTIzYWM4NGU5MWM3NTE0ZGIzZDc2YWUzNzYzJyA9PiAnNzdhNmU4MDIxNjYxYzQyOWE2NzI5YWZlZDYzYTQ0ODctMzU4NGI1MjNhYzg0ZTkxYzc1MTRkYjNkNzZhZTM3NjMnLCAnN2RhODgwMTliYWE3MTRlOGI4OGExNTVkMDM1Nzg5NGItMjc2NzIyNjMzZDI3NDIzYmQ3MjY4ZWQ0MzI5Y2U3NjgnID0+ICc3ZGE4ODAxOWJhYTcxNGU4Yjg4YTE1NWQwMzU3ODk0Yi0yNzY3MjI2MzNkMjc0MjNiZDcyNjhlZDQzMjljZTc2OCcsICczYjUxYWVhNDczMjU5ZTEwODE4YmFkZmI5ZDczMzc3YS04Y2I4Y2FhMDIzNzJjN2ZhNGZkNGE3N2EwZWMzMWJmNycgPT4gJzNiNTFhZWE0NzMyNTllMTA4MThiYWRmYjlkNzMzNzdhLThjYjhjYWEwMjM3MmM3ZmE0ZmQ0YTc3YTBlYzMxYmY3JywgJ2NmNzA4Yjg2NjI0Zjc1YWYxMTFjOGI2M2FhN2JjZmU1LTk4NGQ4NzkxZjdkOTg0YzI2ZjRkMWE4ZTY3MWY2NTIyJyA9PiAnY2Y3MDhiODY2MjRmNzVhZjExMWM4YjYzYWE3YmNmZTUtOTg0ZDg3OTFmN2Q5ODRjMjZmNGQxYThlNjcxZjY1MjInLCAnMDg0N2JmZjlmOWZkMGRiYjcyODg4YTVlY2VhOTkzNmYtNDBhYTI4Mzc4MDQwYTI3Y2FiMjkzMmNkNDJhZDI4ZTUnID0+ICcwODQ3YmZmOWY5ZmQwZGJiNzI4ODhhNWVjZWE5OTM2Zi00MGFhMjgzNzgwNDBhMjdjYWIyOTMyY2Q0MmFkMjhlNScsICdlM2U0ZDc0ODBmNzJkNjc4YTRhYjE5NmNjZGE5OGM1MC1lMjE4MGMxMTEwOTdkMjBmNzRmNDcwMjk4ODg3MTkxMicgPT4gJ2UzZTRkNzQ4MGY3MmQ2NzhhNGFiMTk2Y2NkYTk4YzUwLWUyMTgwYzExMTA5N2QyMGY3NGY0NzAyOTg4ODcxOTEyJywgJ2QwODNjMjhjMWEwNDZlM2E1MWY1YzlmNWYxYjIwMDhiLThkZmU4ZTg0NWIwNDA3ZGM1ZTQ1ZjkwOTM4ODMwNjliJyA9PiAnZDA4M2MyOGMxYTA0NmUzYTUxZjVjOWY1ZjFiMjAwOGItOGRmZThlODQ1YjA0MDdkYzVlNDVmOTA5Mzg4MzA2OWInLCAnNmNhYTU4N2Q4OTZlZDY5YmNkYzg4NDYxODM4MWJkZTItYzY3ZTRiNTExZmZiZWVmMjViYjEzMzU5ZWE5OWExMDUnID0+ICc2Y2FhNTg3ZDg5NmVkNjliY2RjODg0NjE4MzgxYmRlMi1jNjdlNGI1MTFmZmJlZWYyNWJiMTMzNTllYTk5YTEwNScsICcwZjYxYzcwMWUwMDY4YzBmNDExYjJkNTRlZmMwYjhlZi04NDA2OWNhZjM4YmMyNDJhNDE4OThiYThiMGM4YjA4YycgPT4gJzBmNjFjNzAxZTAwNjhjMGY0MTFiMmQ1NGVmYzBiOGVmLTg0MDY5Y2FmMzhiYzI0MmE0MTg5OGJhOGIwYzhiMDhjJywgJzNmMjJiZjZiZDJkNWRkMjAzMDlmODcyNTczY2YzMjg1LTA1NWJlMGEwMTk2NjYzNjAwMzE1N2JkYzI1YWY5MDZiJyA9PiAnM2YyMmJmNmJkMmQ1ZGQyMDMwOWY4NzI1NzNjZjMyODUtMDU1YmUwYTAxOTY2NjM2MDAzMTU3YmRjMjVhZjkwNmInLCAnYWRlYzIwNTQyOTEzMTNmYzRlYjg1OGY0MDFkYTc1MmMtMjBiNWU0NWU4YzI3NGVjNGI3YzMzYWYwZmNhZTlmOWQnID0+ICdhZGVjMjA1NDI5MTMxM2ZjNGViODU4ZjQwMWRhNzUyYy0yMGI1ZTQ1ZThjMjc0ZWM0YjdjMzNhZjBmY2FlOWY5ZCcsICc1ZTdiMDgxYTdlZmE4ZWJhNzQ1MThmN2JhY2ZjZDE1OS05MjRmOTUzM2U4YTc0MWQxMzE3MzZmYmY4NmY4NmY5NycgPT4gJzVlN2IwODFhN2VmYThlYmE3NDUxOGY3YmFjZmNkMTU5LTkyNGY5NTMzZThhNzQxZDEzMTczNmZiZjg2Zjg2Zjk3JywgJzFkMDA4ZWNiMDMyNzYxZTc5NGY1ZWU2NmU2OGFiNDU1LTEyZjkzZjY0MjQ3NmZmYjU5YTdjODAwY2I1MzY3NjMzJyA9PiAnMWQwMDhlY2IwMzI3NjFlNzk0ZjVlZTY2ZTY4YWI0NTUtMTJmOTNmNjQyNDc2ZmZiNTlhN2M4MDBjYjUzNjc2MzMnLCAnYTRlMDM2OWM0ZjY2NzRiYmE4Yzc0Yjk4ZWQwYTU4NDgtMzI4YWI2NmNjMjcyNDg0ZjNmNjk2MDBjY2ZhN2Y4OTInID0+ICdhNGUwMzY5YzRmNjY3NGJiYThjNzRiOThlZDBhNTg0OC0zMjhhYjY2Y2MyNzI0ODRmM2Y2OTYwMGNjZmE3Zjg5MicsICc1ZDcxY2EyMTlhMTY2NGNmM2Y1NWUzNzI5ZWJhMWQ3Mi03YzdiMWI1YjVlOTQyNmY3NTUxNGJmMDRjYzJhZmY3NCcgPT4gJzVkNzFjYTIxOWExNjY0Y2YzZjU1ZTM3MjllYmExZDcyLTdjN2IxYjViNWU5NDI2Zjc1NTE0YmYwNGNjMmFmZjc0JywgJzUzOWRlMDVhYTc4ODRkYjIyNjgyYmU5MDM5ODVjNTM2LWYxNDEzODI2MzY3OWVhOTQ2MjkxMjY3YWY2ZjAwNzNlJyA9PiAnNTM5ZGUwNWFhNzg4NGRiMjI2ODJiZTkwMzk4NWM1MzYtZjE0MTM4MjYzNjc5ZWE5NDYyOTEyNjdhZjZmMDA3M2UnLCAnMzk3ODhmYTYwN2I5MGM4NTVhZjA3YzFiOGYwODg3ZmEtNTEyZjA1OWFjMmI3ZTkwODBhNjYxNGZhZGQxODg1MjknID0+ICczOTc4OGZhNjA3YjkwYzg1NWFmMDdjMWI4ZjA4ODdmYS01MTJmMDU5YWMyYjdlOTA4MGE2NjE0ZmFkZDE4ODUyOSddOyBwcm90ZWN0ZWQgJG1heElkTGVuZ3RoID0gTlVMTDsgcHJvdGVjdGVkICRsb2dnZXIgPSBOVUxMOyBwcml2YXRlICR7U3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcQWRhcHRlclxBYnN0cmFjdEFkYXB0ZXJ9Y2FsbGJhY2tXcmFwcGVyID0gWzAgPT4gJ1N5bWZvbnlcXENvbXBvbmVudFxcQ2FjaGVcXExvY2tSZWdpc3RyeScsIDEgPT4gJ2NvbXB1dGUnXTsgcHJpdmF0ZSAke1N5bWZvbnlcQ29tcG9uZW50XENhY2hlXEFkYXB0ZXJcQWJzdHJhY3RBZGFwdGVyfWNvbXB1dGluZyA9IFsnMzk3ODhmYTYwN2I5MGM4NTVhZjA3YzFiOGYwODg3ZmEtNTEyZjA1OWFjMmI3ZTkwODBhNjYxNGZhZGQxODg1MjknID0+ICczOTc4OGZhNjA3YjkwYzg1NWFmMDdjMWI4ZjA4ODdmYS01MTJmMDU5YWMyYjdlOTA4MGE2NjE0ZmFkZDE4ODUyOSddOyBwcml2YXRlICRtYXJzaGFsbGVyID0gY2xhc3MgU3ltZm9ueVxDb21wb25lbnRcQ2FjaGVcTWFyc2hhbGxlclxEZWZhdWx0TWFyc2hhbGxlciB7IHByaXZhdGUgJHVzZUlnYmluYXJ5U2VyaWFsaXplID0gRkFMU0UgfTsgcHJpdmF0ZSAkZGlyZWN0b3J5ID0gJy5waHBkb2MvY2FjaGVcXGZpbGVzXFwnOyBwcml2YXRlICR0bXAgPSAnLnBocGRvYy9jYWNoZVxcZmlsZXNcXGUwMWE4ZGNhM2E3NScgfSwgJHNldE1ldGFkYXRhID0gY2xhc3MgQ2xvc3VyZSB7IHZpcnR1YWwgJGNsb3N1cmUgPSAiJHRoaXMtPlN5bWZvbnlcQ29tcG9uZW50XENhY2hlXFRyYWl0c1x7Y2xvc3VyZX0iIH0sICRsb2dnZXIgPSBOVUxMKSBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9zeW1mb255L2NhY2hlL1RyYWl0cy9Db250cmFjdHNUcmFpdC5waHA6ODgKICAgIDMuMTQ1NCAgIDIxOTU1NDcyICAzMi4gcGhwRG9jdW1lbnRvclxQYXJzZXJcTWlkZGxld2FyZVxDYWNoZU1pZGRsZXdhcmUtPnBocERvY3VtZW50b3JcUGFyc2VyXE1pZGRsZXdhcmVce2Nsb3N1cmU6cGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci9zcmMvcGhwRG9jdW1lbnRvci9QYXJzZXIvTWlkZGxld2FyZS9DYWNoZU1pZGRsZXdhcmUucGhwOjY0LTY5fShjbGFzcyBTeW1mb255XENvbXBvbmVudFxDYWNoZVxDYWNoZUl0ZW0geyBwcm90ZWN0ZWQgJGtleSA9ICczOTc4OGZhNjA3YjkwYzg1NWFmMDdjMWI4ZjA4ODdmYS01MTJmMDU5YWMyYjdlOTA4MGE2NjE0ZmFkZDE4ODUyOSc7IHByb3RlY3RlZCAkdmFsdWUgPSBOVUxMOyBwcm90ZWN0ZWQgJGlzSGl0ID0gRkFMU0U7IHByb3RlY3RlZCAkZXhwaXJ5ID0gTlVMTDsgcHJvdGVjdGVkICRtZXRhZGF0YSA9IFtdOyBwcm90ZWN0ZWQgJG5ld01ldGFkYXRhID0gW107IHByb3RlY3RlZCAkaW5uZXJJdGVtID0gTlVMTDsgcHJvdGVjdGVkICRwb29sSGFzaCA9IE5VTEw7IHByb3RlY3RlZCAkaXNUYWdnYWJsZSA9IEZBTFNFIH0sIFRSVUUpIHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3N5bWZvbnkvY2FjaGUvTG9ja1JlZ2lzdHJ5LnBocDo5MwogICAgMy4xNDU3ICAgMjE5NTU0NzIgIDMzLiBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTWlkZGxld2FyZVxDaGFpbkZhY3Rvcnk6OnBocERvY3VtZW50b3JcUmVmbGVjdGlvblxNaWRkbGV3YXJlXHtjbG9zdXJlOnBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvcmVmbGVjdGlvbi9zcmMvcGhwRG9jdW1lbnRvci9SZWZsZWN0aW9uL01pZGRsZXdhcmUvQ2hhaW5GYWN0b3J5LnBocDo0Mi00NH0oJGNvbW1hbmQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnlcRmlsZVxDcmVhdGVDb21tYW5kIHsgcHJpdmF0ZSAkZmlsZSA9IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXEZseVN5c3RlbUZpbGUgeyBwcml2YXRlICRmaWxlU3lzdGVtID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxGaWxlc3lzdGVtIHsgcHJvdGVjdGVkICRhZGFwdGVyID0gY2xhc3MgTGVhZ3VlXEZseXN5c3RlbVxBZGFwdGVyXExvY2FsIHsgcHJvdGVjdGVkICRwYXRoU2VwYXJhdG9yID0gJ1xcJzsgcHJvdGVjdGVkICRwZXJtaXNzaW9uTWFwID0gWydmaWxlJyA9PiBbLi4uXSwgJ2RpcicgPT4gWy4uLl1dOyBwcm90ZWN0ZWQgJHdyaXRlRmxhZ3MgPSAyOyBwcml2YXRlICRsaW5rSGFuZGxpbmcgPSAxOyBwcm90ZWN0ZWQgJHBhdGhQcmVmaXggPSAnLlxcJyB9OyBwcm90ZWN0ZWQgJHBsdWdpbnMgPSBbJ2ZpbmQnID0+IGNsYXNzIEZseWZpbmRlclxGaW5kZXIgeyBwcml2YXRlICRmaWxlc3lzdGVtID0gLi4uIH1dOyBwcm90ZWN0ZWQgJGNvbmZpZyA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQ29uZmlnIHsgcHJvdGVjdGVkICRzZXR0aW5ncyA9IFtdOyBwcm90ZWN0ZWQgJGZhbGxiYWNrID0gTlVMTCB9IH07IHByaXZhdGUgJGZpbGVOYW1lID0gJ3RhZy9iYXNpYy9zZWUucGhwJyB9OyBwcml2YXRlICRzdHJhdGVnaWVzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9qZWN0RmFjdG9yeVN0cmF0ZWdpZXMgeyBwcml2YXRlICRzdHJhdGVnaWVzID0gY2xhc3MgU3BsUHJpb3JpdHlRdWV1ZSB7ICB9IH07IHByaXZhdGUgJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnlcQ29udGV4dFN0YWNrIHsgcHJpdmF0ZSAkZWxlbWVudHMgPSBbXTsgcHJpdmF0ZSAkdHlwZUNvbnRleHQgPSBOVUxMOyBwcml2YXRlICRwcm9qZWN0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9qZWN0IHsgcHJpdmF0ZSAkbmFtZSA9ICdVbnRpdGxlZCBwcm9qZWN0JzsgcHJpdmF0ZSAkcm9vdE5hbWVzcGFjZSA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTmFtZXNwYWNlXyB7IHByaXZhdGUgJGZxc2VuID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIHsgcHJpdmF0ZSAkZnFzZW4gPSAnXFwnOyBwcml2YXRlICRuYW1lID0gJycgfTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfTsgcHJpdmF0ZSAkZmlsZXMgPSBbJ3RhZy9iYXNpYy9hYnN0cmFjdC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICcyN2UwZGY4NDQ4ODA3OTc2NDk3YWIwYjI1MDNjOGMxYSc7IHByaXZhdGUgJG5hbWUgPSAnYWJzdHJhY3QucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvYWJzdHJhY3QucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDlpoLmnpznsbvkuK3mnInmnIDlsJHkuIDkuKrmir3osaHmlrnms5XnmoTor53vvIzpgqPkuYjnsbvlupTor6Xooqvlo7DmmI7kuLrmir3osaHnsbtcclxuICogXHJcbiAqIOS7jnBocDXniYjmnKzkuYvlkI7mraTmoIfnrb7lt7LooqvlvIPnlKhcclxuICogXHJcbiAqIEBhYnN0cmFjdFxyXG4gKi9cclxuXHJcbmFic3RyYWN0IGNsYXNzIFRlc3Rcclxue1xyXG4gICAgLyoqXHJcbiAgICAqIOi/meaYr+S4gOS4quaKveixoeaWueazlWFcclxuICAgICpcclxuICAgICogQGFic3RyYWN0XHJcbiAgICAqL1xyXG4gICAgYWJzdHJhY3QgZnVuY3Rpb24gYSgpe31cclxuXHJcbiAgICAvKipcclxuICAgICog6L+Z5piv5LiA5Liq5pmu6YCa55qE5pa55rOVYlxyXG4gICAgKi9cclxuICAgIGZ1bmN0aW9uIGZ1bmN0aW9uMigpe31cclxuXHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvYXV0aG9yLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICcyYzAwZjkzM2Y0MDBmNzNkYmI2M2I4ODk5OWI4M2NjYic7IHByaXZhdGUgJG5hbWUgPSAnYXV0aG9yLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2F1dGhvci5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOW9k+WJjeS4unBhZ2XnpLrkvotcclxuICogXHJcbiAqIOatpOagh+etvuWPr+S7peeUqOS6juS7u+S9lemcgOimgeagh+iusOeahOWFg+e0oOS4ilxyXG4gKiAoZ2xvYmFsIHZhcmlhYmxlLCBpbmNsdWRlLCBjb25zdGFudCwgZnVuY3Rpb24sIGRlZmluZSwgY2xhc3MsIHZhcmlhYmxlLCBtZXRob2QsIHBhZ2UpXHJcbiAqIFxyXG4gKiBAYXV0aG9yIGhvbmVjZSA8Y2hpbmFfemh6QHllYXIubmV0PlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiDlvZPliY3kuLpmdW5jdGlvbuekuuS+i1xyXG4gKiBcclxuICog5q2k5Ye95pWw5Y+v6IO955Sx5Y+m5LiA5Liq5L2c6ICF57yW5YaZXHJcbiAqIEBhdXRob3IgaG9uZWNlIE5vLjJcclxuICovXHJcbmZ1bmN0aW9uIGEoKXt9JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2NhdGVnb3J5LnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICc2YjJmZjZkNDc2MWY0ZWEzZmM5YTdmYjk5NjUyMjMwNyc7IHByaXZhdGUgJG5hbWUgPSAnY2F0ZWdvcnkucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvY2F0ZWdvcnkucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK/lo7DmmI7nsbvliKvnmoTnpLrkvotcclxuICogXHJcbiAqIEBwYWNrYWdlIE15UGFja2FnZVxyXG4gKiBAY2F0ZWdvcnkgbXljYXRlZ29yeVxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAZ2xvYmFsIGFycmF5IHVzZWQgZm9yIHN0dWZmXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gbWluZSgpXHJcbntcclxuICAgIGdsb2JhbCAkYmF6O1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2NvcHlyaWdodC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnMzU4NGI1MjNhYzg0ZTkxYzc1MTRkYjNkNzZhZTM3NjMnOyBwcml2YXRlICRuYW1lID0gJ2NvcHlyaWdodC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9jb3B5cmlnaHQucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9jb3B5cmlnaHTnmoTmoIfnrb7npLrkvotcclxuICog5b2T5YmN5Li66aG16Z2i57qn5paH5qGj5Z2XXHJcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDIzLCBob25lY2VcclxuICovXHJcbic7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9kZXByZWNhdGVkLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzI3NjcyMjYzM2QyNzQyM2JkNzI2OGVkNDMyOWNlNzY4JzsgcHJpdmF0ZSAkbmFtZSA9ICdkZXByZWNhdGVkLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2RlcHJlY2F0ZWQucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9kZXByZWNhdGVk5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlvZPliY3kuLpwYWdl57qn5paH5qGj5Z2X77yMXHJcbiAqIOatpOagh+iusOWPr+eUqOS6jnBhZ2XnuqfmlofmoaPlnZfkuYvlpJbnmoTmlofmoaPlnZdcclxuICovXHJcbmNsYXNzIFRlc3Rcclxue1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCA8MC4xLjA+IGHmlrnms5Xoh6owLjEuMOeJiOacrOW3suW8g+eUqFxyXG4gICAgICovXHJcbiAgICBmdW5jdGlvbiBhKCl7fVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2V4YW1wbGUucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnOGNiOGNhYTAyMzcyYzdmYTRmZDRhNzdhMGVjMzFiZjcnOyBwcml2YXRlICRuYW1lID0gJ2V4YW1wbGUucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZXhhbXBsZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiog6L+Z5pivZXhhbXBsZeagh+etvuekuuS+i1xyXG4qIEBleGFtcGxlIC90YWcvaW5saW5lL2V4YW1wbGUucGhwIOi/meaYr+atpOagh+etvuWGheiBlOeUqOazlVxyXG4qIEBleGFtcGxlIGV4YW1wbGUucGhwIOatpOekuuS+i+S4uuW9k+WJjeebruW9leaWh+S7tlxyXG4qL1xyXG5mdW5jdGlvbiBhKCl7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9maWxlc291cmNlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICc5ODRkODc5MWY3ZDk4NGMyNmY0ZDFhOGU2NzFmNjUyMic7IHByaXZhdGUgJG5hbWUgPSAnZmlsZXNvdXJjZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9maWxlc291cmNlLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivZmlsZXNvdXJjZeagh+etvueahOekuuS+i+S7o+eggVxyXG4gKiBcclxuICog5L2c55So5bCx5piv57uZ5b2T5YmN5paH5Lu25Yib5bu65LiA5Liq6ZO+5o6l5bm25pi+56S65rqQ5Luj56CBXHJcbiAqIEBmaWxlc291cmNlXHJcbiAqL1xyXG5lY2hvIDE7JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2ZpbmFsLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzQwYWEyODM3ODA0MGEyN2NhYjI5MzJjZDQyYWQyOGU1JzsgcHJpdmF0ZSAkbmFtZSA9ICdmaW5hbC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9maW5hbC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2ZpbmFs5qCH562+55qE56S65L6LXHJcbiAqIOatpOagh+etvuW3suaXoOaViO+8jOS9nOeUqOWwseaYr+Wtl+mdouaEj+aAnVxyXG4gKi9cclxuXHJcbmNsYXNzIG15Y2xhc3Ncclxue1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZmluYWxcclxuICAgICAqL1xyXG4gICAgZmluYWwgZnVuY3Rpb24gYSgpXHJcbiAgICB7XHJcbiAgICB9XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZ2xvYmFsLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICdlMjE4MGMxMTEwOTdkMjBmNzRmNDcwMjk4ODg3MTkxMic7IHByaXZhdGUgJG5hbWUgPSAnZ2xvYmFsLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2dsb2JhbC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2dsb2JhbOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5Li76KaB55So5LqO6K6w5b2V5YWo5bGA5Y+Y6YeP55qE55So5rOVXHJcbiAqIOW7uuiuruebtOaOpeWjsOaYjuWcqOWumuS5ieWFqOWxgOWPmOmHj+eahOS4iuS4gOihjO+8jOS7peWFjeW8leWPkeaUvuWcqOmUmeivr+eahOS9nOeUqOWfn+WGheS4jeivhuWIq+eahOmUmeivr1xyXG4gKi9cclxuXHJcbi8qKiBcclxuICogQGdsb2JhbCBtaXhlZCAkX0dMT0JBTFNbIm15dmFyIl0gXHJcbiAqL1xyXG4kX0dMT0JBTFNbIm15dmFyIl0gPSBhcnJheSgidGhpcyIgPT4gXCflt6XkvZzmraPluLhcJyk7XHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiDlsIZAbmFtZeS4jkBnbG9iYWzkuIDotbfkvb/nlKjnmoTnpLrkvotcclxuICog5ZyoQG5hbWXmoIfnrb7kuK3vvIxuYW1l5b+F6aG75pyJJCzlkKbliJnlsIblvJXlj5HplJnor69cclxuICogQGdsb2JhbCBhcnJheSAkR0xPQkFMU1tcJ25lYXRvXCddIFxyXG4gKiBAbmFtZSAkbmVhdG9cclxuICovXHJcbiRHTE9CQUxTW1wnbmVhdG9cJ10gPSAnLi4uOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvaWdub3JlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICc4ZGZlOGU4NDViMDQwN2RjNWU0NWY5MDkzODgzMDY5Yic7IHByaXZhdGUgJG5hbWUgPSAnaWdub3JlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2lnbm9yZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2lnbm9yZeagh+etvuekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+55So5LqO57uE57uHcGhwZG9j6K6w5b2V5YWD57SgXHJcbiAqL1xyXG5cclxuaWYgKCRvc3Rlc3QpIHtcclxuICAgIC8qKlxyXG4gICAgICogVGhpcyBkZWZpbmUgd2lsbCBlaXRoZXIgYmUgXCdVbml4XCcgb3IgXCdXaW5kb3dzXCdcclxuICAgICAqL1xyXG4gICAgZGVmaW5lKCJPUyIsICJVbml4Iik7XHJcbn1cclxuZWxzZSB7XHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmUg6L+Z6YeM5piv5b+955Wl55qE5bi46YePXHJcbiAgICAgKi9cclxuICAgIGRlZmluZSgiT1MiLCAiV2luZG93cyIpO1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2ludGVybmFsLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJ2M2N2U0YjUxMWZmYmVlZjI1YmIxMzM1OWVhOTlhMTA1JzsgcHJpdmF0ZSAkbmFtZSA9ICdpbnRlcm5hbC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9pbnRlcm5hbC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2ludGVybmFs5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7lj6/ku6XnlJ/miJDkuKTku73mlofmoaPvvIzlrpjmlrnor7TmmK9waHBkb2PmnIDmnInnlKjnmoTlip/og73kuYvkuIBcclxuICoge0BpbnRlcm5hbCDopoHorr/pl67mnInlhbPkv67mlLnmraTnsbvnmoTmjIfljZcs6KeBIHtAbGluayBodHRwOi8vd3d3LmJhaWR1LmNvbSDmjIfljZd9LOaIluiBlOezu+S9oOeahOS4u+euoX19fVxyXG4gKiBAaW50ZXJuYWwg6K+l57G75L2/55So56eB5pyJ5pa55rOVIHtAbGluayBfZm9vKCl9IOWSjCB7QGxpbmsgX2JhcigpfSDlgZrkuIDkupvlpYfmgKrnmoTkuovmg4VcclxuICovXHJcblxyXG5jbGFzcyBEb2VzdGhpbmdzXHJcbntcclxuICAgIHByaXZhdGUgZnVuY3Rpb24gX2ZvbygpXHJcbiAgICB7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGZ1bmN0aW9uIF9iYXIoKVxyXG4gICAge1xyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2xpY2Vuc2UucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnODQwNjljYWYzOGJjMjQyYTQxODk4YmE4YjBjOGIwOGMnOyBwcml2YXRlICRuYW1lID0gJ2xpY2Vuc2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbGljZW5zZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2xpY2Vuc2XmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvueUqOS6juWQkeeUqOaIt+aPkOekuumAgueUqOS6juatpOaWh+aho+Wdl+eahOiuuOWPr+ivgVxyXG4gKiDlsZXnpLrmjIflkJHorrjlj6/or4FVUkznmoTotoXpk77mjqXvvIzkuKrkurrlj6rlu7rorq7mlL7lnKjmlofku7bnuqfliKvnmoTmlofmoaPlnZfkuK1cclxuICogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZTIuMFxyXG4gKi9cclxuXHJcbmNsYXNzIG9wZW5zb3VyY2VfY2xhc3Ncclxue1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2xpbmsucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzA1NWJlMGEwMTk2NjYzNjAwMzE1N2JkYzI1YWY5MDZiJzsgcHJpdmF0ZSAkbmFtZSA9ICdsaW5rLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2xpbmsucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9saW5r5qCH562+56S65L6LXHJcbiAqIEBsaW5rIGh0dHA6Ly93d3cuYmFpZHUuY29tIOivpuaDheaJvueZvuW6plxyXG4gKi9cclxuXHJcbiAvKipcclxuICAqIERpc3BsYXlzIDxhIGhyZWY9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPkhlbGxvPC9hPlxyXG4gICogQGxpbmsgaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIzOTYudHh0IFJGQzIzOTZcclxuICAqL1xyXG4gZGVmaW5lKCJURVNUX0NPTlNUQU5UMiIsMyk7XHJcbic7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9tZXRob2QucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnMjBiNWU0NWU4YzI3NGVjNGI3YzMzYWYwZmNhZTlmOWQnOyBwcml2YXRlICRuYW1lID0gJ21ldGhvZC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9tZXRob2QucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9tZXRob2TmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOWumOaWuee7meWHuueahOWumuS5ieaYr++8jOimgeWcqOWtkOexu+S4reWjsOaYjueItuexu+S9v+eUqOmtlOacr+aWueazleadpeWunueOsOeahOS4gOS6m+mdnuaYvuekuuWtmOWcqOaWueazlVxyXG4gKiDov5nkuKrmoIfnrb7kuI3kvJrlnKhwaHBEb2PmmL7npLpmdW5jdGlvbuWunuS9k1xyXG4gKiBcclxuICogQG1ldGhvZCByZXR1cm4gdm9pZCBlY2hvMihzdHJpbmcgJHN0cmluZykgPOaJk+WNsOW4puacieaNouihjOespueahOWtl+espuS4sj5cclxuICovXHJcbmNsYXNzIFRlc3QgZXh0ZW5kcyBGYXRoZXJ7fVxyXG5cclxuY2xhc3MgRmF0aGVyXHJcbntcclxuICAgIGZ1bmN0aW9uIF9fY2FsbCgkbWV0aG9kLCBzdHJpbmcgJHBhcmFtcylcclxuICAgIHtcclxuICAgICAgICBpZiAoJG1ldGhvZCA9PSBcJ2VjaG8yXCcpIHtcclxuICAgICAgICAgICAgZWNobyAkcGFyYW1zIC4gUEhQX0VPTDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvbmFtZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnOTI0Zjk1MzNlOGE3NDFkMTMxNzM2ZmJmODZmODZmOTcnOyBwcml2YXRlICRuYW1lID0gJ25hbWUucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbmFtZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr25hbWXmoIfnrb7npLrkvotcclxuICovXHJcblxyXG4vKipcclxuICog5b2T5Zyo5Ye95pWw5Lit5L2/55SoQGdsb2JhbOaXtu+8jOWug+WwhumTvuaOpeWIsCRiYXpcclxuICogQG5hbWUgJGJhelxyXG4gKiBAZ2xvYmFsIGFycmF5ICRHTE9CQUxTW1wnYmF6XCddIFxyXG4gKi9cclxuJEdMT0JBTFNbXCdiYXpcJ10gPSBhcnJheShcJ2Zvb1wnLCBcJ2JhclwnKTtcclxuXHJcbi8qKlxyXG4gKiBAZ2xvYmFsIGFycmF5IHVzZWQgZm9yIHN0dWZmXHJcbiAqL1xyXG5mdW5jdGlvbiBtaW5lKClcclxue1xyXG4gICAgZ2xvYmFsICRiYXo7XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvcGFja2FnZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnMTJmOTNmNjQyNDc2ZmZiNTlhN2M4MDBjYjUzNjc2MzMnOyBwcml2YXRlICRuYW1lID0gJ3BhY2thZ2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcGFja2FnZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3BhY2thZ2XmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOmhtemdoue6p0RvY0Jsb2Nr56S65L6L44CCXHJcbiAqIOatpERvY0Jsb2Nr5L2N5LqO5Y+m5LiA5LiqRG9jQmxvY2vkuYvliY3vvIzlsIbooqvop6PmnpDkuLrpobXpnaLnuqfliKvjgIJcclxuICog5bCG5oKo55qEQHBhY2thZ2XlkoxAc3VicGFja2FnZeagh+iusOaUvuWcqOatpOWkhFxyXG4gKiBAcGFja2FnZSBwYWdlbGV2ZWxfcGFja2FnZVxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBmdW5jdGlvbiBibHVoXHJcbiAqL1xyXG5mdW5jdGlvbiBibHVoKClcclxue1xyXG59XHJcbj8+XHJcbjw/cGhwXHJcbi8qKlxyXG4qIOexuyBibHVoXHJcbiog57G757qnRG9jQmxvY2vnpLrkvovjgILku6XkuIvnpLrkvovku6PooahhcHBsaWVzX3RvX2JsdWjljIXlnKhhcHBsaWVzX3RvX2JsdWjlhoVcclxuKiBAcGFja2FnZSBwYWdlbGV2ZWxfcGFja2FnZVxcXFxhcHBsaWVzX3RvX2JsdWggXHJcbiovXHJcbmNsYXNzIGJsdWhcclxue1xyXG5cclxuICAgIC8qKlxyXG4gICAgKiDmraTlj5jph4/kvZzkuLrljCcuLi47IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9wYXJhbS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnMzI4YWI2NmNjMjcyNDg0ZjNmNjk2MDBjY2ZhN2Y4OTInOyBwcml2YXRlICRuYW1lID0gJ3BhcmFtLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3BhcmFtLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivcGFyYW3moIfnrb7npLrkvotcclxuICogXHJcbiAqIOWjsOaYjuaWueazleS8oOWFpeeahOWPguaVsFxyXG4gKi9cclxuXHJcbiAvKipcclxuICAqIEBwYXJhbSBpbnQgJGIg5L2g6ZyA6KaB5Lyg5YWl5LiA5Liq5pW05pWw5Z6L55qE5Y+Y6YePXHJcbiAgKi9cclxuIGZ1bmN0aW9uIGEoaW50ICRiKXt9JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL3Byb3BlcnR5LnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzdjN2IxYjViNWU5NDI2Zjc1NTE0YmYwNGNjMmFmZjc0JzsgcHJpdmF0ZSAkbmFtZSA9ICdwcm9wZXJ0eS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9wcm9wZXJ0eS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3Byb3BlcnR55YyF5ous5a6D55qE5Y+Y5L2TW3Byb3BlcnR5LXJlYWQgfCBwcm9wZXJ0eS13cml0ZV3moIfnrb7npLrkvotcclxuICpcclxuICogQHByb3BlcnR5IG1peGVkICRyZWd1bGFyIOWjsOaYjuW4uOinhOeahOivu+WGmeWxnuaAp1xyXG4gKiBAcHJvcGVydHktcmVhZCBpbnQgJGZvbyDlo7DmmI7lj6ror7tcclxuICogQHByb3BlcnR5LXdyaXRlIHN0cmluZyAkYmFyIOWjsOaYjuWPquWGmVxyXG4gKi9cclxuXHJcbmNsYXNzIE1hZ2ljaWFuXHJcbntcclxuICAgIHByaXZhdGUgJF90aGluZ3k7XHJcbiAgICBwcml2YXRlICRfYmFyO1xyXG4gICAgZnVuY3Rpb24gX19nZXQoJHZhcilcclxuICAgIHtcclxuICAgICAgICBzd2l0Y2ggKCR2YXIpIHtcclxuICAgICAgICAgICAgY2FzZSBcJ2Zvb1wnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDQ1O1xyXG4gICAgICAgICAgICBjYXNlIFwncmVndWxhclwnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fdGhpbmd5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGYnLi4uOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvcmV0dXJuLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJ2YxNDEzODI2MzY3OWVhOTQ2MjkxMjY3YWY2ZjAwNzNlJzsgcHJpdmF0ZSAkbmFtZSA9ICdyZXR1cm4ucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcmV0dXJuLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivcmV0dXJu5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDov5nkuKrmoIfnrb7nlKjkuo7moIforrDmlrnms5XmiJblh73mlbDnmoTov5Tlm57lgLzlkozov5Tlm57lhoXlrrlcclxuICogQHJldHVybiBpbnQg6L+Z6YeM5Lya6L+U5Zue5LiA5Liq5pW05pWw57G75Z6L55qE5pWw5a2XXHJcbiAqL1xyXG5mdW5jdGlvbiBhKCRwYXJhbSlcclxue1xyXG4gICAgJGIgPSAoaW50KSAkcGFyYW07XHJcbiAgICByZXR1cm4gJGI7XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH1dOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW10gfSB9IH0pIHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvc3JjL3BocERvY3VtZW50b3IvUGFyc2VyL01pZGRsZXdhcmUvQ2FjaGVNaWRkbGV3YXJlLnBocDo2NgogICAgMy4xNDYwICAgMjE5NTU0NzIgIDM0LiBwaHBEb2N1bWVudG9yXFBhcnNlclxNaWRkbGV3YXJlXEVycm9ySGFuZGxpbmdNaWRkbGV3YXJlLT5leGVjdXRlKCRjb21tYW5kID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEZpbGVcQ3JlYXRlQ29tbWFuZCB7IHByaXZhdGUgJGZpbGUgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvc2VlLnBocCcgfTsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdEZhY3RvcnlTdHJhdGVnaWVzIHsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIFNwbFByaW9yaXR5UXVldWUgeyAgfSB9OyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XENvbnRleHRTdGFjayB7IHByaXZhdGUgJGVsZW1lbnRzID0gW107IHByaXZhdGUgJHR5cGVDb250ZXh0ID0gTlVMTDsgcHJpdmF0ZSAkcHJvamVjdCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdCB7IHByaXZhdGUgJG5hbWUgPSAnVW50aXRsZWQgcHJvamVjdCc7IHByaXZhdGUgJHJvb3ROYW1lc3BhY2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE5hbWVzcGFjZV8geyBwcml2YXRlICRmcXNlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiB7IHByaXZhdGUgJGZxc2VuID0gJ1xcJzsgcHJpdmF0ZSAkbmFtZSA9ICcnIH07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH07IHByaXZhdGUgJGZpbGVzID0gWyd0YWcvYmFzaWMvYWJzdHJhY3QucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnMjdlMGRmODQ0ODgwNzk3NjQ5N2FiMGIyNTAzYzhjMWEnOyBwcml2YXRlICRuYW1lID0gJ2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog5aaC5p6c57G75Lit5pyJ5pyA5bCR5LiA5Liq5oq96LGh5pa55rOV55qE6K+d77yM6YKj5LmI57G75bqU6K+l6KKr5aOw5piO5Li65oq96LGh57G7XHJcbiAqIFxyXG4gKiDku45waHA154mI5pys5LmL5ZCO5q2k5qCH562+5bey6KKr5byD55SoXHJcbiAqIFxyXG4gKiBAYWJzdHJhY3RcclxuICovXHJcblxyXG5hYnN0cmFjdCBjbGFzcyBUZXN0XHJcbntcclxuICAgIC8qKlxyXG4gICAgKiDov5nmmK/kuIDkuKrmir3osaHmlrnms5VhXHJcbiAgICAqXHJcbiAgICAqIEBhYnN0cmFjdFxyXG4gICAgKi9cclxuICAgIGFic3RyYWN0IGZ1bmN0aW9uIGEoKXt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIOi/meaYr+S4gOS4quaZrumAmueahOaWueazlWJcclxuICAgICovXHJcbiAgICBmdW5jdGlvbiBmdW5jdGlvbjIoKXt9XHJcblxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2F1dGhvci5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnMmMwMGY5MzNmNDAwZjczZGJiNjNiODg5OTliODNjY2InOyBwcml2YXRlICRuYW1lID0gJ2F1dGhvci5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9hdXRob3IucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDlvZPliY3kuLpwYWdl56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7lj6/ku6XnlKjkuo7ku7vkvZXpnIDopoHmoIforrDnmoTlhYPntKDkuIpcclxuICogKGdsb2JhbCB2YXJpYWJsZSwgaW5jbHVkZSwgY29uc3RhbnQsIGZ1bmN0aW9uLCBkZWZpbmUsIGNsYXNzLCB2YXJpYWJsZSwgbWV0aG9kLCBwYWdlKVxyXG4gKiBcclxuICogQGF1dGhvciBob25lY2UgPGNoaW5hX3poekB5ZWFyLm5ldD5cclxuICovXHJcblxyXG4vKipcclxuICog5b2T5YmN5Li6ZnVuY3Rpb27npLrkvotcclxuICogXHJcbiAqIOatpOWHveaVsOWPr+iDveeUseWPpuS4gOS4quS9nOiAhee8luWGmVxyXG4gKiBAYXV0aG9yIGhvbmVjZSBOby4yXHJcbiAqL1xyXG5mdW5jdGlvbiBhKCl7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9jYXRlZ29yeS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnNmIyZmY2ZDQ3NjFmNGVhM2ZjOWE3ZmI5OTY1MjIzMDcnOyBwcml2YXRlICRuYW1lID0gJ2NhdGVnb3J5LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2NhdGVnb3J5LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5piv5aOw5piO57G75Yir55qE56S65L6LXHJcbiAqIFxyXG4gKiBAcGFja2FnZSBNeVBhY2thZ2VcclxuICogQGNhdGVnb3J5IG15Y2F0ZWdvcnlcclxuICovXHJcblxyXG4vKipcclxuICogQGdsb2JhbCBhcnJheSB1c2VkIGZvciBzdHVmZlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIG1pbmUoKVxyXG57XHJcbiAgICBnbG9iYWwgJGJhejtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9jb3B5cmlnaHQucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzM1ODRiNTIzYWM4NGU5MWM3NTE0ZGIzZDc2YWUzNzYzJzsgcHJpdmF0ZSAkbmFtZSA9ICdjb3B5cmlnaHQucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvY29weXJpZ2h0LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivY29weXJpZ2h055qE5qCH562+56S65L6LXHJcbiAqIOW9k+WJjeS4uumhtemdoue6p+aWh+aho+Wdl1xyXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAyMywgaG9uZWNlXHJcbiAqL1xyXG4nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZGVwcmVjYXRlZC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICcyNzY3MjI2MzNkMjc0MjNiZDcyNjhlZDQzMjljZTc2OCc7IHByaXZhdGUgJG5hbWUgPSAnZGVwcmVjYXRlZC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9kZXByZWNhdGVkLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivZGVwcmVjYXRlZOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5b2T5YmN5Li6cGFnZee6p+aWh+aho+Wdl++8jFxyXG4gKiDmraTmoIforrDlj6/nlKjkuo5wYWdl57qn5paH5qGj5Z2X5LmL5aSW55qE5paH5qGj5Z2XXHJcbiAqL1xyXG5jbGFzcyBUZXN0XHJcbntcclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgPDAuMS4wPiBh5pa55rOV6IeqMC4xLjDniYjmnKzlt7LlvIPnlKhcclxuICAgICAqL1xyXG4gICAgZnVuY3Rpb24gYSgpe31cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9leGFtcGxlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzhjYjhjYWEwMjM3MmM3ZmE0ZmQ0YTc3YTBlYzMxYmY3JzsgcHJpdmF0ZSAkbmFtZSA9ICdleGFtcGxlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2V4YW1wbGUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4qIOi/meaYr2V4YW1wbGXmoIfnrb7npLrkvotcclxuKiBAZXhhbXBsZSAvdGFnL2lubGluZS9leGFtcGxlLnBocCDov5nmmK/mraTmoIfnrb7lhoXogZTnlKjms5VcclxuKiBAZXhhbXBsZSBleGFtcGxlLnBocCDmraTnpLrkvovkuLrlvZPliY3nm67lvZXmlofku7ZcclxuKi9cclxuZnVuY3Rpb24gYSgpe30nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnOTg0ZDg3OTFmN2Q5ODRjMjZmNGQxYThlNjcxZjY1MjInOyBwcml2YXRlICRuYW1lID0gJ2ZpbGVzb3VyY2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2ZpbGVzb3VyY2XmoIfnrb7nmoTnpLrkvovku6PnoIFcclxuICogXHJcbiAqIOS9nOeUqOWwseaYr+e7meW9k+WJjeaWh+S7tuWIm+W7uuS4gOS4qumTvuaOpeW5tuaYvuekuua6kOS7o+eggVxyXG4gKiBAZmlsZXNvdXJjZVxyXG4gKi9cclxuZWNobyAxOyc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9maW5hbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc0MGFhMjgzNzgwNDBhMjdjYWIyOTMyY2Q0MmFkMjhlNSc7IHByaXZhdGUgJG5hbWUgPSAnZmluYWwucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmluYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9maW5hbOagh+etvueahOekuuS+i1xyXG4gKiDmraTmoIfnrb7lt7Lml6DmlYjvvIzkvZznlKjlsLHmmK/lrZfpnaLmhI/mgJ1cclxuICovXHJcblxyXG5jbGFzcyBteWNsYXNzXHJcbntcclxuICAgIC8qKlxyXG4gICAgICogQGZpbmFsXHJcbiAgICAgKi9cclxuICAgIGZpbmFsIGZ1bmN0aW9uIGEoKVxyXG4gICAge1xyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2dsb2JhbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnZTIxODBjMTExMDk3ZDIwZjc0ZjQ3MDI5ODg4NzE5MTInOyBwcml2YXRlICRuYW1lID0gJ2dsb2JhbC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9nbG9iYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9nbG9iYWzmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOS4u+imgeeUqOS6juiusOW9leWFqOWxgOWPmOmHj+eahOeUqOazlVxyXG4gKiDlu7rorq7nm7TmjqXlo7DmmI7lnKjlrprkuYnlhajlsYDlj5jph4/nmoTkuIrkuIDooYzvvIzku6XlhY3lvJXlj5HmlL7lnKjplJnor6/nmoTkvZznlKjln5/lhoXkuI3or4bliKvnmoTplJnor69cclxuICovXHJcblxyXG4vKiogXHJcbiAqIEBnbG9iYWwgbWl4ZWQgJF9HTE9CQUxTWyJteXZhciJdIFxyXG4gKi9cclxuJF9HTE9CQUxTWyJteXZhciJdID0gYXJyYXkoInRoaXMiID0+IFwn5bel5L2c5q2j5bi4XCcpO1xyXG5cclxuXHJcblxyXG4vKipcclxuICog5bCGQG5hbWXkuI5AZ2xvYmFs5LiA6LW35L2/55So55qE56S65L6LXHJcbiAqIOWcqEBuYW1l5qCH562+5Lit77yMbmFtZeW/hemhu+aciSQs5ZCm5YiZ5bCG5byV5Y+R6ZSZ6K+vXHJcbiAqIEBnbG9iYWwgYXJyYXkgJEdMT0JBTFNbXCduZWF0b1wnXSBcclxuICogQG5hbWUgJG5lYXRvXHJcbiAqL1xyXG4kR0xPQkFMU1tcJ25lYXRvXCddID0gJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2lnbm9yZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnOGRmZThlODQ1YjA0MDdkYzVlNDVmOTA5Mzg4MzA2OWInOyBwcml2YXRlICRuYW1lID0gJ2lnbm9yZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9pZ25vcmUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9pZ25vcmXmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvueUqOS6jue7hOe7h3BocGRvY+iusOW9leWFg+e0oFxyXG4gKi9cclxuXHJcbmlmICgkb3N0ZXN0KSB7XHJcbiAgICAvKipcclxuICAgICAqIFRoaXMgZGVmaW5lIHdpbGwgZWl0aGVyIGJlIFwnVW5peFwnIG9yIFwnV2luZG93c1wnXHJcbiAgICAgKi9cclxuICAgIGRlZmluZSgiT1MiLCAiVW5peCIpO1xyXG59XHJcbmVsc2Uge1xyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlIOi/memHjOaYr+W/veeVpeeahOW4uOmHj1xyXG4gICAgICovXHJcbiAgICBkZWZpbmUoIk9TIiwgIldpbmRvd3MiKTtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9pbnRlcm5hbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICdjNjdlNGI1MTFmZmJlZWYyNWJiMTMzNTllYTk5YTEwNSc7IHByaXZhdGUgJG5hbWUgPSAnaW50ZXJuYWwucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvaW50ZXJuYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9pbnRlcm5hbOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+5Y+v5Lul55Sf5oiQ5Lik5Lu95paH5qGj77yM5a6Y5pa56K+05pivcGhwZG9j5pyA5pyJ55So55qE5Yqf6IO95LmL5LiAXHJcbiAqIHtAaW50ZXJuYWwg6KaB6K6/6Zeu5pyJ5YWz5L+u5pS55q2k57G755qE5oyH5Y2XLOingSB7QGxpbmsgaHR0cDovL3d3dy5iYWlkdS5jb20g5oyH5Y2XfSzmiJbogZTns7vkvaDnmoTkuLvnrqF9fX1cclxuICogQGludGVybmFsIOivpeexu+S9v+eUqOengeacieaWueazlSB7QGxpbmsgX2ZvbygpfSDlkowge0BsaW5rIF9iYXIoKX0g5YGa5LiA5Lqb5aWH5oCq55qE5LqL5oOFXHJcbiAqL1xyXG5cclxuY2xhc3MgRG9lc3RoaW5nc1xyXG57XHJcbiAgICBwcml2YXRlIGZ1bmN0aW9uIF9mb28oKVxyXG4gICAge1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBmdW5jdGlvbiBfYmFyKClcclxuICAgIHtcclxuICAgIH1cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9saWNlbnNlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzg0MDY5Y2FmMzhiYzI0MmE0MTg5OGJhOGIwYzhiMDhjJzsgcHJpdmF0ZSAkbmFtZSA9ICdsaWNlbnNlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2xpY2Vuc2UucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9saWNlbnNl5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7nlKjkuo7lkJHnlKjmiLfmj5DnpLrpgILnlKjkuo7mraTmlofmoaPlnZfnmoTorrjlj6/or4FcclxuICog5bGV56S65oyH5ZCR6K645Y+v6K+BVVJM55qE6LaF6ZO+5o6l77yM5Liq5Lq65Y+q5bu66K6u5pS+5Zyo5paH5Lu257qn5Yir55qE5paH5qGj5Z2X5LitXHJcbiAqIEBsaWNlbnNlIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCBBcGFjaGUyLjBcclxuICovXHJcblxyXG5jbGFzcyBvcGVuc291cmNlX2NsYXNzXHJcbntcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9saW5rLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICcwNTViZTBhMDE5NjY2MzYwMDMxNTdiZGMyNWFmOTA2Yic7IHByaXZhdGUgJG5hbWUgPSAnbGluay5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9saW5rLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbGlua+agh+etvuekuuS+i1xyXG4gKiBAbGluayBodHRwOi8vd3d3LmJhaWR1LmNvbSDor6bmg4Xmib7nmb7luqZcclxuICovXHJcblxyXG4gLyoqXHJcbiAgKiBEaXNwbGF5cyA8YSBocmVmPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj5IZWxsbzwvYT5cclxuICAqIEBsaW5rIGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMzk2LnR4dCBSRkMyMzk2XHJcbiAgKi9cclxuIGRlZmluZSgiVEVTVF9DT05TVEFOVDIiLDMpO1xyXG4nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvbWV0aG9kLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzIwYjVlNDVlOGMyNzRlYzRiN2MzM2FmMGZjYWU5ZjlkJzsgcHJpdmF0ZSAkbmFtZSA9ICdtZXRob2QucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbWV0aG9kLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbWV0aG9k5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlrpjmlrnnu5nlh7rnmoTlrprkuYnmmK/vvIzopoHlnKjlrZDnsbvkuK3lo7DmmI7niLbnsbvkvb/nlKjprZTmnK/mlrnms5XmnaXlrp7njrDnmoTkuIDkupvpnZ7mmL7npLrlrZjlnKjmlrnms5VcclxuICog6L+Z5Liq5qCH562+5LiN5Lya5ZyocGhwRG9j5pi+56S6ZnVuY3Rpb27lrp7kvZNcclxuICogXHJcbiAqIEBtZXRob2QgcmV0dXJuIHZvaWQgZWNobzIoc3RyaW5nICRzdHJpbmcpIDzmiZPljbDluKbmnInmjaLooYznrKbnmoTlrZfnrKbkuLI+XHJcbiAqL1xyXG5jbGFzcyBUZXN0IGV4dGVuZHMgRmF0aGVye31cclxuXHJcbmNsYXNzIEZhdGhlclxyXG57XHJcbiAgICBmdW5jdGlvbiBfX2NhbGwoJG1ldGhvZCwgc3RyaW5nICRwYXJhbXMpXHJcbiAgICB7XHJcbiAgICAgICAgaWYgKCRtZXRob2QgPT0gXCdlY2hvMlwnKSB7XHJcbiAgICAgICAgICAgIGVjaG8gJHBhcmFtcyAuIFBIUF9FT0w7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL25hbWUucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzkyNGY5NTMzZThhNzQxZDEzMTczNmZiZjg2Zjg2Zjk3JzsgcHJpdmF0ZSAkbmFtZSA9ICduYW1lLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL25hbWUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9uYW1l5qCH562+56S65L6LXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIOW9k+WcqOWHveaVsOS4reS9v+eUqEBnbG9iYWzml7bvvIzlroPlsIbpk77mjqXliLAkYmF6XHJcbiAqIEBuYW1lICRiYXpcclxuICogQGdsb2JhbCBhcnJheSAkR0xPQkFMU1tcJ2JhelwnXSBcclxuICovXHJcbiRHTE9CQUxTW1wnYmF6XCddID0gYXJyYXkoXCdmb29cJywgXCdiYXJcJyk7XHJcblxyXG4vKipcclxuICogQGdsb2JhbCBhcnJheSB1c2VkIGZvciBzdHVmZlxyXG4gKi9cclxuZnVuY3Rpb24gbWluZSgpXHJcbntcclxuICAgIGdsb2JhbCAkYmF6O1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL3BhY2thZ2UucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzEyZjkzZjY0MjQ3NmZmYjU5YTdjODAwY2I1MzY3NjMzJzsgcHJpdmF0ZSAkbmFtZSA9ICdwYWNrYWdlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3BhY2thZ2UucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wYWNrYWdl5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDpobXpnaLnuqdEb2NCbG9ja+ekuuS+i+OAglxyXG4gKiDmraREb2NCbG9ja+S9jeS6juWPpuS4gOS4qkRvY0Jsb2Nr5LmL5YmN77yM5bCG6KKr6Kej5p6Q5Li66aG16Z2i57qn5Yir44CCXHJcbiAqIOWwhuaCqOeahEBwYWNrYWdl5ZKMQHN1YnBhY2thZ2XmoIforrDmlL7lnKjmraTlpIRcclxuICogQHBhY2thZ2UgcGFnZWxldmVsX3BhY2thZ2VcclxuICovXHJcblxyXG4vKipcclxuICogZnVuY3Rpb24gYmx1aFxyXG4gKi9cclxuZnVuY3Rpb24gYmx1aCgpXHJcbntcclxufVxyXG4/PlxyXG48P3BocFxyXG4vKipcclxuKiDnsbsgYmx1aFxyXG4qIOexu+e6p0RvY0Jsb2Nr56S65L6L44CC5Lul5LiL56S65L6L5Luj6KGoYXBwbGllc190b19ibHVo5YyF5ZyoYXBwbGllc190b19ibHVo5YaFXHJcbiogQHBhY2thZ2UgcGFnZWxldmVsX3BhY2thZ2VcXFxcYXBwbGllc190b19ibHVoIFxyXG4qL1xyXG5jbGFzcyBibHVoXHJcbntcclxuXHJcbiAgICAvKipcclxuICAgICog5q2k5Y+Y6YeP5L2c5Li65YwnLi4uOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvcGFyYW0ucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzMyOGFiNjZjYzI3MjQ4NGYzZjY5NjAwY2NmYTdmODkyJzsgcHJpdmF0ZSAkbmFtZSA9ICdwYXJhbS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9wYXJhbS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3BhcmFt5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlo7DmmI7mlrnms5XkvKDlhaXnmoTlj4LmlbBcclxuICovXHJcblxyXG4gLyoqXHJcbiAgKiBAcGFyYW0gaW50ICRiIOS9oOmcgOimgeS8oOWFpeS4gOS4quaVtOaVsOWei+eahOWPmOmHj1xyXG4gICovXHJcbiBmdW5jdGlvbiBhKGludCAkYil7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9wcm9wZXJ0eS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc3YzdiMWI1YjVlOTQyNmY3NTUxNGJmMDRjYzJhZmY3NCc7IHByaXZhdGUgJG5hbWUgPSAncHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wcm9wZXJ0eeWMheaLrOWug+eahOWPmOS9k1twcm9wZXJ0eS1yZWFkIHwgcHJvcGVydHktd3JpdGVd5qCH562+56S65L6LXHJcbiAqXHJcbiAqIEBwcm9wZXJ0eSBtaXhlZCAkcmVndWxhciDlo7DmmI7luLjop4TnmoTor7vlhpnlsZ7mgKdcclxuICogQHByb3BlcnR5LXJlYWQgaW50ICRmb28g5aOw5piO5Y+q6K+7XHJcbiAqIEBwcm9wZXJ0eS13cml0ZSBzdHJpbmcgJGJhciDlo7DmmI7lj6rlhplcclxuICovXHJcblxyXG5jbGFzcyBNYWdpY2lhblxyXG57XHJcbiAgICBwcml2YXRlICRfdGhpbmd5O1xyXG4gICAgcHJpdmF0ZSAkX2JhcjtcclxuICAgIGZ1bmN0aW9uIF9fZ2V0KCR2YXIpXHJcbiAgICB7XHJcbiAgICAgICAgc3dpdGNoICgkdmFyKSB7XHJcbiAgICAgICAgICAgIGNhc2UgXCdmb29cJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiA0NTtcclxuICAgICAgICAgICAgY2FzZSBcJ3JlZ3VsYXJcJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X3RoaW5neTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL3JldHVybi5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICdmMTQxMzgyNjM2NzllYTk0NjI5MTI2N2FmNmYwMDczZSc7IHByaXZhdGUgJG5hbWUgPSAncmV0dXJuLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3JldHVybi5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3JldHVybuagh+etvuekuuS+i1xyXG4gKiBcclxuICog6L+Z5Liq5qCH562+55So5LqO5qCH6K6w5pa55rOV5oiW5Ye95pWw55qE6L+U5Zue5YC85ZKM6L+U5Zue5YaF5a65XHJcbiAqIEByZXR1cm4gaW50IOi/memHjOS8mui/lOWbnuS4gOS4quaVtOaVsOexu+Wei+eahOaVsOWtl1xyXG4gKi9cclxuZnVuY3Rpb24gYSgkcGFyYW0pXHJcbntcclxuICAgICRiID0gKGludCkgJHBhcmFtO1xyXG4gICAgcmV0dXJuICRiO1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9XTsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdIH0gfSB9LCAkbmV4dCA9IGNsYXNzIENsb3N1cmUgeyB2aXJ0dWFsICRjbG9zdXJlID0gInBocERvY3VtZW50b3JcUmVmbGVjdGlvblxNaWRkbGV3YXJlXENoYWluRmFjdG9yeTo6cGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXE1pZGRsZXdhcmVce2Nsb3N1cmV9IiB9KSBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9NaWRkbGV3YXJlL0NoYWluRmFjdG9yeS5waHA6NDMKICAgIDMuMTQ3MCAgIDIxOTU1NDcyICAzNS4gcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXE1pZGRsZXdhcmVcQ2hhaW5GYWN0b3J5OjpwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTWlkZGxld2FyZVx7Y2xvc3VyZTpwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9NaWRkbGV3YXJlL0NoYWluRmFjdG9yeS5waHA6NDItNDR9KCRjb21tYW5kID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEZpbGVcQ3JlYXRlQ29tbWFuZCB7IHByaXZhdGUgJGZpbGUgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvc2VlLnBocCcgfTsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdEZhY3RvcnlTdHJhdGVnaWVzIHsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIFNwbFByaW9yaXR5UXVldWUgeyAgfSB9OyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XENvbnRleHRTdGFjayB7IHByaXZhdGUgJGVsZW1lbnRzID0gW107IHByaXZhdGUgJHR5cGVDb250ZXh0ID0gTlVMTDsgcHJpdmF0ZSAkcHJvamVjdCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdCB7IHByaXZhdGUgJG5hbWUgPSAnVW50aXRsZWQgcHJvamVjdCc7IHByaXZhdGUgJHJvb3ROYW1lc3BhY2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE5hbWVzcGFjZV8geyBwcml2YXRlICRmcXNlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiB7IHByaXZhdGUgJGZxc2VuID0gJ1xcJzsgcHJpdmF0ZSAkbmFtZSA9ICcnIH07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH07IHByaXZhdGUgJGZpbGVzID0gWyd0YWcvYmFzaWMvYWJzdHJhY3QucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnMjdlMGRmODQ0ODgwNzk3NjQ5N2FiMGIyNTAzYzhjMWEnOyBwcml2YXRlICRuYW1lID0gJ2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog5aaC5p6c57G75Lit5pyJ5pyA5bCR5LiA5Liq5oq96LGh5pa55rOV55qE6K+d77yM6YKj5LmI57G75bqU6K+l6KKr5aOw5piO5Li65oq96LGh57G7XHJcbiAqIFxyXG4gKiDku45waHA154mI5pys5LmL5ZCO5q2k5qCH562+5bey6KKr5byD55SoXHJcbiAqIFxyXG4gKiBAYWJzdHJhY3RcclxuICovXHJcblxyXG5hYnN0cmFjdCBjbGFzcyBUZXN0XHJcbntcclxuICAgIC8qKlxyXG4gICAgKiDov5nmmK/kuIDkuKrmir3osaHmlrnms5VhXHJcbiAgICAqXHJcbiAgICAqIEBhYnN0cmFjdFxyXG4gICAgKi9cclxuICAgIGFic3RyYWN0IGZ1bmN0aW9uIGEoKXt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIOi/meaYr+S4gOS4quaZrumAmueahOaWueazlWJcclxuICAgICovXHJcbiAgICBmdW5jdGlvbiBmdW5jdGlvbjIoKXt9XHJcblxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2F1dGhvci5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnMmMwMGY5MzNmNDAwZjczZGJiNjNiODg5OTliODNjY2InOyBwcml2YXRlICRuYW1lID0gJ2F1dGhvci5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9hdXRob3IucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDlvZPliY3kuLpwYWdl56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7lj6/ku6XnlKjkuo7ku7vkvZXpnIDopoHmoIforrDnmoTlhYPntKDkuIpcclxuICogKGdsb2JhbCB2YXJpYWJsZSwgaW5jbHVkZSwgY29uc3RhbnQsIGZ1bmN0aW9uLCBkZWZpbmUsIGNsYXNzLCB2YXJpYWJsZSwgbWV0aG9kLCBwYWdlKVxyXG4gKiBcclxuICogQGF1dGhvciBob25lY2UgPGNoaW5hX3poekB5ZWFyLm5ldD5cclxuICovXHJcblxyXG4vKipcclxuICog5b2T5YmN5Li6ZnVuY3Rpb27npLrkvotcclxuICogXHJcbiAqIOatpOWHveaVsOWPr+iDveeUseWPpuS4gOS4quS9nOiAhee8luWGmVxyXG4gKiBAYXV0aG9yIGhvbmVjZSBOby4yXHJcbiAqL1xyXG5mdW5jdGlvbiBhKCl7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9jYXRlZ29yeS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnNmIyZmY2ZDQ3NjFmNGVhM2ZjOWE3ZmI5OTY1MjIzMDcnOyBwcml2YXRlICRuYW1lID0gJ2NhdGVnb3J5LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2NhdGVnb3J5LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5piv5aOw5piO57G75Yir55qE56S65L6LXHJcbiAqIFxyXG4gKiBAcGFja2FnZSBNeVBhY2thZ2VcclxuICogQGNhdGVnb3J5IG15Y2F0ZWdvcnlcclxuICovXHJcblxyXG4vKipcclxuICogQGdsb2JhbCBhcnJheSB1c2VkIGZvciBzdHVmZlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIG1pbmUoKVxyXG57XHJcbiAgICBnbG9iYWwgJGJhejtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9jb3B5cmlnaHQucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzM1ODRiNTIzYWM4NGU5MWM3NTE0ZGIzZDc2YWUzNzYzJzsgcHJpdmF0ZSAkbmFtZSA9ICdjb3B5cmlnaHQucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvY29weXJpZ2h0LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivY29weXJpZ2h055qE5qCH562+56S65L6LXHJcbiAqIOW9k+WJjeS4uumhtemdoue6p+aWh+aho+Wdl1xyXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAyMywgaG9uZWNlXHJcbiAqL1xyXG4nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZGVwcmVjYXRlZC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICcyNzY3MjI2MzNkMjc0MjNiZDcyNjhlZDQzMjljZTc2OCc7IHByaXZhdGUgJG5hbWUgPSAnZGVwcmVjYXRlZC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9kZXByZWNhdGVkLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivZGVwcmVjYXRlZOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5b2T5YmN5Li6cGFnZee6p+aWh+aho+Wdl++8jFxyXG4gKiDmraTmoIforrDlj6/nlKjkuo5wYWdl57qn5paH5qGj5Z2X5LmL5aSW55qE5paH5qGj5Z2XXHJcbiAqL1xyXG5jbGFzcyBUZXN0XHJcbntcclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgPDAuMS4wPiBh5pa55rOV6IeqMC4xLjDniYjmnKzlt7LlvIPnlKhcclxuICAgICAqL1xyXG4gICAgZnVuY3Rpb24gYSgpe31cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9leGFtcGxlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzhjYjhjYWEwMjM3MmM3ZmE0ZmQ0YTc3YTBlYzMxYmY3JzsgcHJpdmF0ZSAkbmFtZSA9ICdleGFtcGxlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2V4YW1wbGUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4qIOi/meaYr2V4YW1wbGXmoIfnrb7npLrkvotcclxuKiBAZXhhbXBsZSAvdGFnL2lubGluZS9leGFtcGxlLnBocCDov5nmmK/mraTmoIfnrb7lhoXogZTnlKjms5VcclxuKiBAZXhhbXBsZSBleGFtcGxlLnBocCDmraTnpLrkvovkuLrlvZPliY3nm67lvZXmlofku7ZcclxuKi9cclxuZnVuY3Rpb24gYSgpe30nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnOTg0ZDg3OTFmN2Q5ODRjMjZmNGQxYThlNjcxZjY1MjInOyBwcml2YXRlICRuYW1lID0gJ2ZpbGVzb3VyY2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2ZpbGVzb3VyY2XmoIfnrb7nmoTnpLrkvovku6PnoIFcclxuICogXHJcbiAqIOS9nOeUqOWwseaYr+e7meW9k+WJjeaWh+S7tuWIm+W7uuS4gOS4qumTvuaOpeW5tuaYvuekuua6kOS7o+eggVxyXG4gKiBAZmlsZXNvdXJjZVxyXG4gKi9cclxuZWNobyAxOyc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9maW5hbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc0MGFhMjgzNzgwNDBhMjdjYWIyOTMyY2Q0MmFkMjhlNSc7IHByaXZhdGUgJG5hbWUgPSAnZmluYWwucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmluYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9maW5hbOagh+etvueahOekuuS+i1xyXG4gKiDmraTmoIfnrb7lt7Lml6DmlYjvvIzkvZznlKjlsLHmmK/lrZfpnaLmhI/mgJ1cclxuICovXHJcblxyXG5jbGFzcyBteWNsYXNzXHJcbntcclxuICAgIC8qKlxyXG4gICAgICogQGZpbmFsXHJcbiAgICAgKi9cclxuICAgIGZpbmFsIGZ1bmN0aW9uIGEoKVxyXG4gICAge1xyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2dsb2JhbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnZTIxODBjMTExMDk3ZDIwZjc0ZjQ3MDI5ODg4NzE5MTInOyBwcml2YXRlICRuYW1lID0gJ2dsb2JhbC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9nbG9iYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9nbG9iYWzmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOS4u+imgeeUqOS6juiusOW9leWFqOWxgOWPmOmHj+eahOeUqOazlVxyXG4gKiDlu7rorq7nm7TmjqXlo7DmmI7lnKjlrprkuYnlhajlsYDlj5jph4/nmoTkuIrkuIDooYzvvIzku6XlhY3lvJXlj5HmlL7lnKjplJnor6/nmoTkvZznlKjln5/lhoXkuI3or4bliKvnmoTplJnor69cclxuICovXHJcblxyXG4vKiogXHJcbiAqIEBnbG9iYWwgbWl4ZWQgJF9HTE9CQUxTWyJteXZhciJdIFxyXG4gKi9cclxuJF9HTE9CQUxTWyJteXZhciJdID0gYXJyYXkoInRoaXMiID0+IFwn5bel5L2c5q2j5bi4XCcpO1xyXG5cclxuXHJcblxyXG4vKipcclxuICog5bCGQG5hbWXkuI5AZ2xvYmFs5LiA6LW35L2/55So55qE56S65L6LXHJcbiAqIOWcqEBuYW1l5qCH562+5Lit77yMbmFtZeW/hemhu+aciSQs5ZCm5YiZ5bCG5byV5Y+R6ZSZ6K+vXHJcbiAqIEBnbG9iYWwgYXJyYXkgJEdMT0JBTFNbXCduZWF0b1wnXSBcclxuICogQG5hbWUgJG5lYXRvXHJcbiAqL1xyXG4kR0xPQkFMU1tcJ25lYXRvXCddID0gJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2lnbm9yZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnOGRmZThlODQ1YjA0MDdkYzVlNDVmOTA5Mzg4MzA2OWInOyBwcml2YXRlICRuYW1lID0gJ2lnbm9yZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9pZ25vcmUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9pZ25vcmXmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvueUqOS6jue7hOe7h3BocGRvY+iusOW9leWFg+e0oFxyXG4gKi9cclxuXHJcbmlmICgkb3N0ZXN0KSB7XHJcbiAgICAvKipcclxuICAgICAqIFRoaXMgZGVmaW5lIHdpbGwgZWl0aGVyIGJlIFwnVW5peFwnIG9yIFwnV2luZG93c1wnXHJcbiAgICAgKi9cclxuICAgIGRlZmluZSgiT1MiLCAiVW5peCIpO1xyXG59XHJcbmVsc2Uge1xyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlIOi/memHjOaYr+W/veeVpeeahOW4uOmHj1xyXG4gICAgICovXHJcbiAgICBkZWZpbmUoIk9TIiwgIldpbmRvd3MiKTtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9pbnRlcm5hbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICdjNjdlNGI1MTFmZmJlZWYyNWJiMTMzNTllYTk5YTEwNSc7IHByaXZhdGUgJG5hbWUgPSAnaW50ZXJuYWwucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvaW50ZXJuYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9pbnRlcm5hbOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+5Y+v5Lul55Sf5oiQ5Lik5Lu95paH5qGj77yM5a6Y5pa56K+05pivcGhwZG9j5pyA5pyJ55So55qE5Yqf6IO95LmL5LiAXHJcbiAqIHtAaW50ZXJuYWwg6KaB6K6/6Zeu5pyJ5YWz5L+u5pS55q2k57G755qE5oyH5Y2XLOingSB7QGxpbmsgaHR0cDovL3d3dy5iYWlkdS5jb20g5oyH5Y2XfSzmiJbogZTns7vkvaDnmoTkuLvnrqF9fX1cclxuICogQGludGVybmFsIOivpeexu+S9v+eUqOengeacieaWueazlSB7QGxpbmsgX2ZvbygpfSDlkowge0BsaW5rIF9iYXIoKX0g5YGa5LiA5Lqb5aWH5oCq55qE5LqL5oOFXHJcbiAqL1xyXG5cclxuY2xhc3MgRG9lc3RoaW5nc1xyXG57XHJcbiAgICBwcml2YXRlIGZ1bmN0aW9uIF9mb28oKVxyXG4gICAge1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBmdW5jdGlvbiBfYmFyKClcclxuICAgIHtcclxuICAgIH1cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9saWNlbnNlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzg0MDY5Y2FmMzhiYzI0MmE0MTg5OGJhOGIwYzhiMDhjJzsgcHJpdmF0ZSAkbmFtZSA9ICdsaWNlbnNlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2xpY2Vuc2UucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9saWNlbnNl5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7nlKjkuo7lkJHnlKjmiLfmj5DnpLrpgILnlKjkuo7mraTmlofmoaPlnZfnmoTorrjlj6/or4FcclxuICog5bGV56S65oyH5ZCR6K645Y+v6K+BVVJM55qE6LaF6ZO+5o6l77yM5Liq5Lq65Y+q5bu66K6u5pS+5Zyo5paH5Lu257qn5Yir55qE5paH5qGj5Z2X5LitXHJcbiAqIEBsaWNlbnNlIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCBBcGFjaGUyLjBcclxuICovXHJcblxyXG5jbGFzcyBvcGVuc291cmNlX2NsYXNzXHJcbntcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9saW5rLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICcwNTViZTBhMDE5NjY2MzYwMDMxNTdiZGMyNWFmOTA2Yic7IHByaXZhdGUgJG5hbWUgPSAnbGluay5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9saW5rLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbGlua+agh+etvuekuuS+i1xyXG4gKiBAbGluayBodHRwOi8vd3d3LmJhaWR1LmNvbSDor6bmg4Xmib7nmb7luqZcclxuICovXHJcblxyXG4gLyoqXHJcbiAgKiBEaXNwbGF5cyA8YSBocmVmPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj5IZWxsbzwvYT5cclxuICAqIEBsaW5rIGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMzk2LnR4dCBSRkMyMzk2XHJcbiAgKi9cclxuIGRlZmluZSgiVEVTVF9DT05TVEFOVDIiLDMpO1xyXG4nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvbWV0aG9kLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzIwYjVlNDVlOGMyNzRlYzRiN2MzM2FmMGZjYWU5ZjlkJzsgcHJpdmF0ZSAkbmFtZSA9ICdtZXRob2QucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbWV0aG9kLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbWV0aG9k5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlrpjmlrnnu5nlh7rnmoTlrprkuYnmmK/vvIzopoHlnKjlrZDnsbvkuK3lo7DmmI7niLbnsbvkvb/nlKjprZTmnK/mlrnms5XmnaXlrp7njrDnmoTkuIDkupvpnZ7mmL7npLrlrZjlnKjmlrnms5VcclxuICog6L+Z5Liq5qCH562+5LiN5Lya5ZyocGhwRG9j5pi+56S6ZnVuY3Rpb27lrp7kvZNcclxuICogXHJcbiAqIEBtZXRob2QgcmV0dXJuIHZvaWQgZWNobzIoc3RyaW5nICRzdHJpbmcpIDzmiZPljbDluKbmnInmjaLooYznrKbnmoTlrZfnrKbkuLI+XHJcbiAqL1xyXG5jbGFzcyBUZXN0IGV4dGVuZHMgRmF0aGVye31cclxuXHJcbmNsYXNzIEZhdGhlclxyXG57XHJcbiAgICBmdW5jdGlvbiBfX2NhbGwoJG1ldGhvZCwgc3RyaW5nICRwYXJhbXMpXHJcbiAgICB7XHJcbiAgICAgICAgaWYgKCRtZXRob2QgPT0gXCdlY2hvMlwnKSB7XHJcbiAgICAgICAgICAgIGVjaG8gJHBhcmFtcyAuIFBIUF9FT0w7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL25hbWUucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzkyNGY5NTMzZThhNzQxZDEzMTczNmZiZjg2Zjg2Zjk3JzsgcHJpdmF0ZSAkbmFtZSA9ICduYW1lLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL25hbWUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9uYW1l5qCH562+56S65L6LXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIOW9k+WcqOWHveaVsOS4reS9v+eUqEBnbG9iYWzml7bvvIzlroPlsIbpk77mjqXliLAkYmF6XHJcbiAqIEBuYW1lICRiYXpcclxuICogQGdsb2JhbCBhcnJheSAkR0xPQkFMU1tcJ2JhelwnXSBcclxuICovXHJcbiRHTE9CQUxTW1wnYmF6XCddID0gYXJyYXkoXCdmb29cJywgXCdiYXJcJyk7XHJcblxyXG4vKipcclxuICogQGdsb2JhbCBhcnJheSB1c2VkIGZvciBzdHVmZlxyXG4gKi9cclxuZnVuY3Rpb24gbWluZSgpXHJcbntcclxuICAgIGdsb2JhbCAkYmF6O1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL3BhY2thZ2UucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzEyZjkzZjY0MjQ3NmZmYjU5YTdjODAwY2I1MzY3NjMzJzsgcHJpdmF0ZSAkbmFtZSA9ICdwYWNrYWdlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3BhY2thZ2UucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wYWNrYWdl5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDpobXpnaLnuqdEb2NCbG9ja+ekuuS+i+OAglxyXG4gKiDmraREb2NCbG9ja+S9jeS6juWPpuS4gOS4qkRvY0Jsb2Nr5LmL5YmN77yM5bCG6KKr6Kej5p6Q5Li66aG16Z2i57qn5Yir44CCXHJcbiAqIOWwhuaCqOeahEBwYWNrYWdl5ZKMQHN1YnBhY2thZ2XmoIforrDmlL7lnKjmraTlpIRcclxuICogQHBhY2thZ2UgcGFnZWxldmVsX3BhY2thZ2VcclxuICovXHJcblxyXG4vKipcclxuICogZnVuY3Rpb24gYmx1aFxyXG4gKi9cclxuZnVuY3Rpb24gYmx1aCgpXHJcbntcclxufVxyXG4/PlxyXG48P3BocFxyXG4vKipcclxuKiDnsbsgYmx1aFxyXG4qIOexu+e6p0RvY0Jsb2Nr56S65L6L44CC5Lul5LiL56S65L6L5Luj6KGoYXBwbGllc190b19ibHVo5YyF5ZyoYXBwbGllc190b19ibHVo5YaFXHJcbiogQHBhY2thZ2UgcGFnZWxldmVsX3BhY2thZ2VcXFxcYXBwbGllc190b19ibHVoIFxyXG4qL1xyXG5jbGFzcyBibHVoXHJcbntcclxuXHJcbiAgICAvKipcclxuICAgICog5q2k5Y+Y6YeP5L2c5Li65YwnLi4uOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvcGFyYW0ucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzMyOGFiNjZjYzI3MjQ4NGYzZjY5NjAwY2NmYTdmODkyJzsgcHJpdmF0ZSAkbmFtZSA9ICdwYXJhbS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9wYXJhbS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3BhcmFt5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlo7DmmI7mlrnms5XkvKDlhaXnmoTlj4LmlbBcclxuICovXHJcblxyXG4gLyoqXHJcbiAgKiBAcGFyYW0gaW50ICRiIOS9oOmcgOimgeS8oOWFpeS4gOS4quaVtOaVsOWei+eahOWPmOmHj1xyXG4gICovXHJcbiBmdW5jdGlvbiBhKGludCAkYil7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9wcm9wZXJ0eS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc3YzdiMWI1YjVlOTQyNmY3NTUxNGJmMDRjYzJhZmY3NCc7IHByaXZhdGUgJG5hbWUgPSAncHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wcm9wZXJ0eeWMheaLrOWug+eahOWPmOS9k1twcm9wZXJ0eS1yZWFkIHwgcHJvcGVydHktd3JpdGVd5qCH562+56S65L6LXHJcbiAqXHJcbiAqIEBwcm9wZXJ0eSBtaXhlZCAkcmVndWxhciDlo7DmmI7luLjop4TnmoTor7vlhpnlsZ7mgKdcclxuICogQHByb3BlcnR5LXJlYWQgaW50ICRmb28g5aOw5piO5Y+q6K+7XHJcbiAqIEBwcm9wZXJ0eS13cml0ZSBzdHJpbmcgJGJhciDlo7DmmI7lj6rlhplcclxuICovXHJcblxyXG5jbGFzcyBNYWdpY2lhblxyXG57XHJcbiAgICBwcml2YXRlICRfdGhpbmd5O1xyXG4gICAgcHJpdmF0ZSAkX2JhcjtcclxuICAgIGZ1bmN0aW9uIF9fZ2V0KCR2YXIpXHJcbiAgICB7XHJcbiAgICAgICAgc3dpdGNoICgkdmFyKSB7XHJcbiAgICAgICAgICAgIGNhc2UgXCdmb29cJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiA0NTtcclxuICAgICAgICAgICAgY2FzZSBcJ3JlZ3VsYXJcJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X3RoaW5neTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL3JldHVybi5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICdmMTQxMzgyNjM2NzllYTk0NjI5MTI2N2FmNmYwMDczZSc7IHByaXZhdGUgJG5hbWUgPSAncmV0dXJuLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3JldHVybi5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3JldHVybuagh+etvuekuuS+i1xyXG4gKiBcclxuICog6L+Z5Liq5qCH562+55So5LqO5qCH6K6w5pa55rOV5oiW5Ye95pWw55qE6L+U5Zue5YC85ZKM6L+U5Zue5YaF5a65XHJcbiAqIEByZXR1cm4gaW50IOi/memHjOS8mui/lOWbnuS4gOS4quaVtOaVsOexu+Wei+eahOaVsOWtl1xyXG4gKi9cclxuZnVuY3Rpb24gYSgkcGFyYW0pXHJcbntcclxuICAgICRiID0gKGludCkgJHBhcmFtO1xyXG4gICAgcmV0dXJuICRiO1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9XTsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdIH0gfSB9KSBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3NyYy9waHBEb2N1bWVudG9yL1BhcnNlci9NaWRkbGV3YXJlL0Vycm9ySGFuZGxpbmdNaWRkbGV3YXJlLnBocDo0NgogICAgMy4xNDcyICAgMjE5NTU0NzIgIDM2LiBwaHBEb2N1bWVudG9yXFBhcnNlclxNaWRkbGV3YXJlXFJlRW5jb2RpbmdNaWRkbGV3YXJlLT5leGVjdXRlKCRjb21tYW5kID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEZpbGVcQ3JlYXRlQ29tbWFuZCB7IHByaXZhdGUgJGZpbGUgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFBhcnNlclxGbHlTeXN0ZW1GaWxlIHsgcHJpdmF0ZSAkZmlsZVN5c3RlbSA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cRmlsZXN5c3RlbSB7IHByb3RlY3RlZCAkYWRhcHRlciA9IGNsYXNzIExlYWd1ZVxGbHlzeXN0ZW1cQWRhcHRlclxMb2NhbCB7IHByb3RlY3RlZCAkcGF0aFNlcGFyYXRvciA9ICdcXCc7IHByb3RlY3RlZCAkcGVybWlzc2lvbk1hcCA9IFsnZmlsZScgPT4gWy4uLl0sICdkaXInID0+IFsuLi5dXTsgcHJvdGVjdGVkICR3cml0ZUZsYWdzID0gMjsgcHJpdmF0ZSAkbGlua0hhbmRsaW5nID0gMTsgcHJvdGVjdGVkICRwYXRoUHJlZml4ID0gJy5cXCcgfTsgcHJvdGVjdGVkICRwbHVnaW5zID0gWydmaW5kJyA9PiBjbGFzcyBGbHlmaW5kZXJcRmluZGVyIHsgcHJpdmF0ZSAkZmlsZXN5c3RlbSA9IC4uLiB9XTsgcHJvdGVjdGVkICRjb25maWcgPSBjbGFzcyBMZWFndWVcRmx5c3lzdGVtXENvbmZpZyB7IHByb3RlY3RlZCAkc2V0dGluZ3MgPSBbXTsgcHJvdGVjdGVkICRmYWxsYmFjayA9IE5VTEwgfSB9OyBwcml2YXRlICRmaWxlTmFtZSA9ICd0YWcvYmFzaWMvc2VlLnBocCcgfTsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdEZhY3RvcnlTdHJhdGVnaWVzIHsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIFNwbFByaW9yaXR5UXVldWUgeyAgfSB9OyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XENvbnRleHRTdGFjayB7IHByaXZhdGUgJGVsZW1lbnRzID0gW107IHByaXZhdGUgJHR5cGVDb250ZXh0ID0gTlVMTDsgcHJpdmF0ZSAkcHJvamVjdCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdCB7IHByaXZhdGUgJG5hbWUgPSAnVW50aXRsZWQgcHJvamVjdCc7IHByaXZhdGUgJHJvb3ROYW1lc3BhY2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE5hbWVzcGFjZV8geyBwcml2YXRlICRmcXNlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiB7IHByaXZhdGUgJGZxc2VuID0gJ1xcJzsgcHJpdmF0ZSAkbmFtZSA9ICcnIH07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH07IHByaXZhdGUgJGZpbGVzID0gWyd0YWcvYmFzaWMvYWJzdHJhY3QucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnMjdlMGRmODQ0ODgwNzk3NjQ5N2FiMGIyNTAzYzhjMWEnOyBwcml2YXRlICRuYW1lID0gJ2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog5aaC5p6c57G75Lit5pyJ5pyA5bCR5LiA5Liq5oq96LGh5pa55rOV55qE6K+d77yM6YKj5LmI57G75bqU6K+l6KKr5aOw5piO5Li65oq96LGh57G7XHJcbiAqIFxyXG4gKiDku45waHA154mI5pys5LmL5ZCO5q2k5qCH562+5bey6KKr5byD55SoXHJcbiAqIFxyXG4gKiBAYWJzdHJhY3RcclxuICovXHJcblxyXG5hYnN0cmFjdCBjbGFzcyBUZXN0XHJcbntcclxuICAgIC8qKlxyXG4gICAgKiDov5nmmK/kuIDkuKrmir3osaHmlrnms5VhXHJcbiAgICAqXHJcbiAgICAqIEBhYnN0cmFjdFxyXG4gICAgKi9cclxuICAgIGFic3RyYWN0IGZ1bmN0aW9uIGEoKXt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIOi/meaYr+S4gOS4quaZrumAmueahOaWueazlWJcclxuICAgICovXHJcbiAgICBmdW5jdGlvbiBmdW5jdGlvbjIoKXt9XHJcblxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2F1dGhvci5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnMmMwMGY5MzNmNDAwZjczZGJiNjNiODg5OTliODNjY2InOyBwcml2YXRlICRuYW1lID0gJ2F1dGhvci5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9hdXRob3IucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDlvZPliY3kuLpwYWdl56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7lj6/ku6XnlKjkuo7ku7vkvZXpnIDopoHmoIforrDnmoTlhYPntKDkuIpcclxuICogKGdsb2JhbCB2YXJpYWJsZSwgaW5jbHVkZSwgY29uc3RhbnQsIGZ1bmN0aW9uLCBkZWZpbmUsIGNsYXNzLCB2YXJpYWJsZSwgbWV0aG9kLCBwYWdlKVxyXG4gKiBcclxuICogQGF1dGhvciBob25lY2UgPGNoaW5hX3poekB5ZWFyLm5ldD5cclxuICovXHJcblxyXG4vKipcclxuICog5b2T5YmN5Li6ZnVuY3Rpb27npLrkvotcclxuICogXHJcbiAqIOatpOWHveaVsOWPr+iDveeUseWPpuS4gOS4quS9nOiAhee8luWGmVxyXG4gKiBAYXV0aG9yIGhvbmVjZSBOby4yXHJcbiAqL1xyXG5mdW5jdGlvbiBhKCl7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9jYXRlZ29yeS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnNmIyZmY2ZDQ3NjFmNGVhM2ZjOWE3ZmI5OTY1MjIzMDcnOyBwcml2YXRlICRuYW1lID0gJ2NhdGVnb3J5LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2NhdGVnb3J5LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5piv5aOw5piO57G75Yir55qE56S65L6LXHJcbiAqIFxyXG4gKiBAcGFja2FnZSBNeVBhY2thZ2VcclxuICogQGNhdGVnb3J5IG15Y2F0ZWdvcnlcclxuICovXHJcblxyXG4vKipcclxuICogQGdsb2JhbCBhcnJheSB1c2VkIGZvciBzdHVmZlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIG1pbmUoKVxyXG57XHJcbiAgICBnbG9iYWwgJGJhejtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9jb3B5cmlnaHQucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzM1ODRiNTIzYWM4NGU5MWM3NTE0ZGIzZDc2YWUzNzYzJzsgcHJpdmF0ZSAkbmFtZSA9ICdjb3B5cmlnaHQucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvY29weXJpZ2h0LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivY29weXJpZ2h055qE5qCH562+56S65L6LXHJcbiAqIOW9k+WJjeS4uumhtemdoue6p+aWh+aho+Wdl1xyXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAyMywgaG9uZWNlXHJcbiAqL1xyXG4nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZGVwcmVjYXRlZC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICcyNzY3MjI2MzNkMjc0MjNiZDcyNjhlZDQzMjljZTc2OCc7IHByaXZhdGUgJG5hbWUgPSAnZGVwcmVjYXRlZC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9kZXByZWNhdGVkLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivZGVwcmVjYXRlZOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5b2T5YmN5Li6cGFnZee6p+aWh+aho+Wdl++8jFxyXG4gKiDmraTmoIforrDlj6/nlKjkuo5wYWdl57qn5paH5qGj5Z2X5LmL5aSW55qE5paH5qGj5Z2XXHJcbiAqL1xyXG5jbGFzcyBUZXN0XHJcbntcclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgPDAuMS4wPiBh5pa55rOV6IeqMC4xLjDniYjmnKzlt7LlvIPnlKhcclxuICAgICAqL1xyXG4gICAgZnVuY3Rpb24gYSgpe31cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9leGFtcGxlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzhjYjhjYWEwMjM3MmM3ZmE0ZmQ0YTc3YTBlYzMxYmY3JzsgcHJpdmF0ZSAkbmFtZSA9ICdleGFtcGxlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2V4YW1wbGUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4qIOi/meaYr2V4YW1wbGXmoIfnrb7npLrkvotcclxuKiBAZXhhbXBsZSAvdGFnL2lubGluZS9leGFtcGxlLnBocCDov5nmmK/mraTmoIfnrb7lhoXogZTnlKjms5VcclxuKiBAZXhhbXBsZSBleGFtcGxlLnBocCDmraTnpLrkvovkuLrlvZPliY3nm67lvZXmlofku7ZcclxuKi9cclxuZnVuY3Rpb24gYSgpe30nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnOTg0ZDg3OTFmN2Q5ODRjMjZmNGQxYThlNjcxZjY1MjInOyBwcml2YXRlICRuYW1lID0gJ2ZpbGVzb3VyY2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2ZpbGVzb3VyY2XmoIfnrb7nmoTnpLrkvovku6PnoIFcclxuICogXHJcbiAqIOS9nOeUqOWwseaYr+e7meW9k+WJjeaWh+S7tuWIm+W7uuS4gOS4qumTvuaOpeW5tuaYvuekuua6kOS7o+eggVxyXG4gKiBAZmlsZXNvdXJjZVxyXG4gKi9cclxuZWNobyAxOyc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9maW5hbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc0MGFhMjgzNzgwNDBhMjdjYWIyOTMyY2Q0MmFkMjhlNSc7IHByaXZhdGUgJG5hbWUgPSAnZmluYWwucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmluYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9maW5hbOagh+etvueahOekuuS+i1xyXG4gKiDmraTmoIfnrb7lt7Lml6DmlYjvvIzkvZznlKjlsLHmmK/lrZfpnaLmhI/mgJ1cclxuICovXHJcblxyXG5jbGFzcyBteWNsYXNzXHJcbntcclxuICAgIC8qKlxyXG4gICAgICogQGZpbmFsXHJcbiAgICAgKi9cclxuICAgIGZpbmFsIGZ1bmN0aW9uIGEoKVxyXG4gICAge1xyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2dsb2JhbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnZTIxODBjMTExMDk3ZDIwZjc0ZjQ3MDI5ODg4NzE5MTInOyBwcml2YXRlICRuYW1lID0gJ2dsb2JhbC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9nbG9iYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9nbG9iYWzmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOS4u+imgeeUqOS6juiusOW9leWFqOWxgOWPmOmHj+eahOeUqOazlVxyXG4gKiDlu7rorq7nm7TmjqXlo7DmmI7lnKjlrprkuYnlhajlsYDlj5jph4/nmoTkuIrkuIDooYzvvIzku6XlhY3lvJXlj5HmlL7lnKjplJnor6/nmoTkvZznlKjln5/lhoXkuI3or4bliKvnmoTplJnor69cclxuICovXHJcblxyXG4vKiogXHJcbiAqIEBnbG9iYWwgbWl4ZWQgJF9HTE9CQUxTWyJteXZhciJdIFxyXG4gKi9cclxuJF9HTE9CQUxTWyJteXZhciJdID0gYXJyYXkoInRoaXMiID0+IFwn5bel5L2c5q2j5bi4XCcpO1xyXG5cclxuXHJcblxyXG4vKipcclxuICog5bCGQG5hbWXkuI5AZ2xvYmFs5LiA6LW35L2/55So55qE56S65L6LXHJcbiAqIOWcqEBuYW1l5qCH562+5Lit77yMbmFtZeW/hemhu+aciSQs5ZCm5YiZ5bCG5byV5Y+R6ZSZ6K+vXHJcbiAqIEBnbG9iYWwgYXJyYXkgJEdMT0JBTFNbXCduZWF0b1wnXSBcclxuICogQG5hbWUgJG5lYXRvXHJcbiAqL1xyXG4kR0xPQkFMU1tcJ25lYXRvXCddID0gJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2lnbm9yZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnOGRmZThlODQ1YjA0MDdkYzVlNDVmOTA5Mzg4MzA2OWInOyBwcml2YXRlICRuYW1lID0gJ2lnbm9yZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9pZ25vcmUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9pZ25vcmXmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvueUqOS6jue7hOe7h3BocGRvY+iusOW9leWFg+e0oFxyXG4gKi9cclxuXHJcbmlmICgkb3N0ZXN0KSB7XHJcbiAgICAvKipcclxuICAgICAqIFRoaXMgZGVmaW5lIHdpbGwgZWl0aGVyIGJlIFwnVW5peFwnIG9yIFwnV2luZG93c1wnXHJcbiAgICAgKi9cclxuICAgIGRlZmluZSgiT1MiLCAiVW5peCIpO1xyXG59XHJcbmVsc2Uge1xyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlIOi/memHjOaYr+W/veeVpeeahOW4uOmHj1xyXG4gICAgICovXHJcbiAgICBkZWZpbmUoIk9TIiwgIldpbmRvd3MiKTtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9pbnRlcm5hbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICdjNjdlNGI1MTFmZmJlZWYyNWJiMTMzNTllYTk5YTEwNSc7IHByaXZhdGUgJG5hbWUgPSAnaW50ZXJuYWwucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvaW50ZXJuYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9pbnRlcm5hbOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+5Y+v5Lul55Sf5oiQ5Lik5Lu95paH5qGj77yM5a6Y5pa56K+05pivcGhwZG9j5pyA5pyJ55So55qE5Yqf6IO95LmL5LiAXHJcbiAqIHtAaW50ZXJuYWwg6KaB6K6/6Zeu5pyJ5YWz5L+u5pS55q2k57G755qE5oyH5Y2XLOingSB7QGxpbmsgaHR0cDovL3d3dy5iYWlkdS5jb20g5oyH5Y2XfSzmiJbogZTns7vkvaDnmoTkuLvnrqF9fX1cclxuICogQGludGVybmFsIOivpeexu+S9v+eUqOengeacieaWueazlSB7QGxpbmsgX2ZvbygpfSDlkowge0BsaW5rIF9iYXIoKX0g5YGa5LiA5Lqb5aWH5oCq55qE5LqL5oOFXHJcbiAqL1xyXG5cclxuY2xhc3MgRG9lc3RoaW5nc1xyXG57XHJcbiAgICBwcml2YXRlIGZ1bmN0aW9uIF9mb28oKVxyXG4gICAge1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBmdW5jdGlvbiBfYmFyKClcclxuICAgIHtcclxuICAgIH1cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9saWNlbnNlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzg0MDY5Y2FmMzhiYzI0MmE0MTg5OGJhOGIwYzhiMDhjJzsgcHJpdmF0ZSAkbmFtZSA9ICdsaWNlbnNlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2xpY2Vuc2UucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9saWNlbnNl5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7nlKjkuo7lkJHnlKjmiLfmj5DnpLrpgILnlKjkuo7mraTmlofmoaPlnZfnmoTorrjlj6/or4FcclxuICog5bGV56S65oyH5ZCR6K645Y+v6K+BVVJM55qE6LaF6ZO+5o6l77yM5Liq5Lq65Y+q5bu66K6u5pS+5Zyo5paH5Lu257qn5Yir55qE5paH5qGj5Z2X5LitXHJcbiAqIEBsaWNlbnNlIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCBBcGFjaGUyLjBcclxuICovXHJcblxyXG5jbGFzcyBvcGVuc291cmNlX2NsYXNzXHJcbntcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9saW5rLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICcwNTViZTBhMDE5NjY2MzYwMDMxNTdiZGMyNWFmOTA2Yic7IHByaXZhdGUgJG5hbWUgPSAnbGluay5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9saW5rLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbGlua+agh+etvuekuuS+i1xyXG4gKiBAbGluayBodHRwOi8vd3d3LmJhaWR1LmNvbSDor6bmg4Xmib7nmb7luqZcclxuICovXHJcblxyXG4gLyoqXHJcbiAgKiBEaXNwbGF5cyA8YSBocmVmPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj5IZWxsbzwvYT5cclxuICAqIEBsaW5rIGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMzk2LnR4dCBSRkMyMzk2XHJcbiAgKi9cclxuIGRlZmluZSgiVEVTVF9DT05TVEFOVDIiLDMpO1xyXG4nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvbWV0aG9kLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzIwYjVlNDVlOGMyNzRlYzRiN2MzM2FmMGZjYWU5ZjlkJzsgcHJpdmF0ZSAkbmFtZSA9ICdtZXRob2QucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbWV0aG9kLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbWV0aG9k5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlrpjmlrnnu5nlh7rnmoTlrprkuYnmmK/vvIzopoHlnKjlrZDnsbvkuK3lo7DmmI7niLbnsbvkvb/nlKjprZTmnK/mlrnms5XmnaXlrp7njrDnmoTkuIDkupvpnZ7mmL7npLrlrZjlnKjmlrnms5VcclxuICog6L+Z5Liq5qCH562+5LiN5Lya5ZyocGhwRG9j5pi+56S6ZnVuY3Rpb27lrp7kvZNcclxuICogXHJcbiAqIEBtZXRob2QgcmV0dXJuIHZvaWQgZWNobzIoc3RyaW5nICRzdHJpbmcpIDzmiZPljbDluKbmnInmjaLooYznrKbnmoTlrZfnrKbkuLI+XHJcbiAqL1xyXG5jbGFzcyBUZXN0IGV4dGVuZHMgRmF0aGVye31cclxuXHJcbmNsYXNzIEZhdGhlclxyXG57XHJcbiAgICBmdW5jdGlvbiBfX2NhbGwoJG1ldGhvZCwgc3RyaW5nICRwYXJhbXMpXHJcbiAgICB7XHJcbiAgICAgICAgaWYgKCRtZXRob2QgPT0gXCdlY2hvMlwnKSB7XHJcbiAgICAgICAgICAgIGVjaG8gJHBhcmFtcyAuIFBIUF9FT0w7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL25hbWUucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzkyNGY5NTMzZThhNzQxZDEzMTczNmZiZjg2Zjg2Zjk3JzsgcHJpdmF0ZSAkbmFtZSA9ICduYW1lLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL25hbWUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9uYW1l5qCH562+56S65L6LXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIOW9k+WcqOWHveaVsOS4reS9v+eUqEBnbG9iYWzml7bvvIzlroPlsIbpk77mjqXliLAkYmF6XHJcbiAqIEBuYW1lICRiYXpcclxuICogQGdsb2JhbCBhcnJheSAkR0xPQkFMU1tcJ2JhelwnXSBcclxuICovXHJcbiRHTE9CQUxTW1wnYmF6XCddID0gYXJyYXkoXCdmb29cJywgXCdiYXJcJyk7XHJcblxyXG4vKipcclxuICogQGdsb2JhbCBhcnJheSB1c2VkIGZvciBzdHVmZlxyXG4gKi9cclxuZnVuY3Rpb24gbWluZSgpXHJcbntcclxuICAgIGdsb2JhbCAkYmF6O1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL3BhY2thZ2UucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzEyZjkzZjY0MjQ3NmZmYjU5YTdjODAwY2I1MzY3NjMzJzsgcHJpdmF0ZSAkbmFtZSA9ICdwYWNrYWdlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3BhY2thZ2UucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wYWNrYWdl5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDpobXpnaLnuqdEb2NCbG9ja+ekuuS+i+OAglxyXG4gKiDmraREb2NCbG9ja+S9jeS6juWPpuS4gOS4qkRvY0Jsb2Nr5LmL5YmN77yM5bCG6KKr6Kej5p6Q5Li66aG16Z2i57qn5Yir44CCXHJcbiAqIOWwhuaCqOeahEBwYWNrYWdl5ZKMQHN1YnBhY2thZ2XmoIforrDmlL7lnKjmraTlpIRcclxuICogQHBhY2thZ2UgcGFnZWxldmVsX3BhY2thZ2VcclxuICovXHJcblxyXG4vKipcclxuICogZnVuY3Rpb24gYmx1aFxyXG4gKi9cclxuZnVuY3Rpb24gYmx1aCgpXHJcbntcclxufVxyXG4/PlxyXG48P3BocFxyXG4vKipcclxuKiDnsbsgYmx1aFxyXG4qIOexu+e6p0RvY0Jsb2Nr56S65L6L44CC5Lul5LiL56S65L6L5Luj6KGoYXBwbGllc190b19ibHVo5YyF5ZyoYXBwbGllc190b19ibHVo5YaFXHJcbiogQHBhY2thZ2UgcGFnZWxldmVsX3BhY2thZ2VcXFxcYXBwbGllc190b19ibHVoIFxyXG4qL1xyXG5jbGFzcyBibHVoXHJcbntcclxuXHJcbiAgICAvKipcclxuICAgICog5q2k5Y+Y6YeP5L2c5Li65YwnLi4uOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvcGFyYW0ucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzMyOGFiNjZjYzI3MjQ4NGYzZjY5NjAwY2NmYTdmODkyJzsgcHJpdmF0ZSAkbmFtZSA9ICdwYXJhbS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9wYXJhbS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3BhcmFt5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlo7DmmI7mlrnms5XkvKDlhaXnmoTlj4LmlbBcclxuICovXHJcblxyXG4gLyoqXHJcbiAgKiBAcGFyYW0gaW50ICRiIOS9oOmcgOimgeS8oOWFpeS4gOS4quaVtOaVsOWei+eahOWPmOmHj1xyXG4gICovXHJcbiBmdW5jdGlvbiBhKGludCAkYil7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9wcm9wZXJ0eS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc3YzdiMWI1YjVlOTQyNmY3NTUxNGJmMDRjYzJhZmY3NCc7IHByaXZhdGUgJG5hbWUgPSAncHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wcm9wZXJ0eeWMheaLrOWug+eahOWPmOS9k1twcm9wZXJ0eS1yZWFkIHwgcHJvcGVydHktd3JpdGVd5qCH562+56S65L6LXHJcbiAqXHJcbiAqIEBwcm9wZXJ0eSBtaXhlZCAkcmVndWxhciDlo7DmmI7luLjop4TnmoTor7vlhpnlsZ7mgKdcclxuICogQHByb3BlcnR5LXJlYWQgaW50ICRmb28g5aOw5piO5Y+q6K+7XHJcbiAqIEBwcm9wZXJ0eS13cml0ZSBzdHJpbmcgJGJhciDlo7DmmI7lj6rlhplcclxuICovXHJcblxyXG5jbGFzcyBNYWdpY2lhblxyXG57XHJcbiAgICBwcml2YXRlICRfdGhpbmd5O1xyXG4gICAgcHJpdmF0ZSAkX2JhcjtcclxuICAgIGZ1bmN0aW9uIF9fZ2V0KCR2YXIpXHJcbiAgICB7XHJcbiAgICAgICAgc3dpdGNoICgkdmFyKSB7XHJcbiAgICAgICAgICAgIGNhc2UgXCdmb29cJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiA0NTtcclxuICAgICAgICAgICAgY2FzZSBcJ3JlZ3VsYXJcJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X3RoaW5neTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL3JldHVybi5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICdmMTQxMzgyNjM2NzllYTk0NjI5MTI2N2FmNmYwMDczZSc7IHByaXZhdGUgJG5hbWUgPSAncmV0dXJuLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3JldHVybi5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3JldHVybuagh+etvuekuuS+i1xyXG4gKiBcclxuICog6L+Z5Liq5qCH562+55So5LqO5qCH6K6w5pa55rOV5oiW5Ye95pWw55qE6L+U5Zue5YC85ZKM6L+U5Zue5YaF5a65XHJcbiAqIEByZXR1cm4gaW50IOi/memHjOS8mui/lOWbnuS4gOS4quaVtOaVsOexu+Wei+eahOaVsOWtl1xyXG4gKi9cclxuZnVuY3Rpb24gYSgkcGFyYW0pXHJcbntcclxuICAgICRiID0gKGludCkgJHBhcmFtO1xyXG4gICAgcmV0dXJuICRiO1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9XTsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdIH0gfSB9LCAkbmV4dCA9IGNsYXNzIENsb3N1cmUgeyB2aXJ0dWFsICRjbG9zdXJlID0gIiR0aGlzLT5waHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3Rvcnlce2Nsb3N1cmV9IiB9KSBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9NaWRkbGV3YXJlL0NoYWluRmFjdG9yeS5waHA6NDMKICAgIDMuMTU1NyAgIDIxOTU3NTA0ICAzNy4gcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XEZpbGUtPnBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmFjdG9yeVx7Y2xvc3VyZTpwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9QaHAvRmFjdG9yeS9GaWxlLnBocDo3MC03Mn0oJGNvbW1hbmQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnlcRmlsZVxDcmVhdGVDb21tYW5kIHsgcHJpdmF0ZSAkZmlsZSA9IGNsYXNzIHBocERvY3VtZW50b3JcUGFyc2VyXFJlRW5jb2RlZEZpbGUgeyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9zZWUucGhwJzsgcHJpdmF0ZSAkY29udGVudHMgPSBjbGFzcyBTeW1mb255XENvbXBvbmVudFxTdHJpbmdcVW5pY29kZVN0cmluZyB7IHByb3RlY3RlZCAkc3RyaW5nID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9yZXR1cm7moIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvueUqOS6jumTvuaOpeWIsOaWh+aho+WGheeahOS7u+S9leWFg+e0oO+8jOS5n+WPr+S7pee7meaMh+WumueahHsgQHNlZSBodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjM5Ni50eHQgPFVSST59XHJcbiAqIEBzZWUgQ2hpbGQ6Om1ldGhvZCgpXHJcbiAqL1xyXG5jbGFzcyBGYXRoZXJcclxue1xyXG4gICAgLyoqXHJcbiAgICAgKiDpk77mjqXliLDlkIzkuIDnsbvnmoTnpLrkvovvvIzovpPlh7o8dT5GYXRoZXI677yacGFyZW50X21ldGhvZCgpPC91PlxyXG4gICAgICogQHNlZSBwYXJlbnRfbWV0aG9kXHJcbiAgICAgKi9cclxuICAgIHZhciAkZm9vID0gMztcclxuXHJcbiAgICAvKipcclxuICAgICAqIOWtkOexu+e7p+aJv+atpOaWueazleOAglxyXG4gICAgICog5bi46YeP5oiW57G75ZCN55qE5Y2V6K+N56S65L6L77yM5Zyo5pys5L6L5Lit5Li657G75ZCNXHJcbiAgICAgKiBAc2VlIENoaWxkXHJcbiAgICAgKiBAc2VlIENoaWxkOjokZm9vXHJcbicuLi47IHByb3RlY3RlZCAkaWdub3JlQ2FzZSA9IEZBTFNFIH0gfTsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdEZhY3RvcnlTdHJhdGVnaWVzIHsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIFNwbFByaW9yaXR5UXVldWUgeyAgfSB9OyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XENvbnRleHRTdGFjayB7IHByaXZhdGUgJGVsZW1lbnRzID0gW107IHByaXZhdGUgJHR5cGVDb250ZXh0ID0gTlVMTDsgcHJpdmF0ZSAkcHJvamVjdCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdCB7IHByaXZhdGUgJG5hbWUgPSAnVW50aXRsZWQgcHJvamVjdCc7IHByaXZhdGUgJHJvb3ROYW1lc3BhY2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE5hbWVzcGFjZV8geyBwcml2YXRlICRmcXNlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiB7IHByaXZhdGUgJGZxc2VuID0gJ1xcJzsgcHJpdmF0ZSAkbmFtZSA9ICcnIH07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH07IHByaXZhdGUgJGZpbGVzID0gWyd0YWcvYmFzaWMvYWJzdHJhY3QucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnMjdlMGRmODQ0ODgwNzk3NjQ5N2FiMGIyNTAzYzhjMWEnOyBwcml2YXRlICRuYW1lID0gJ2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog5aaC5p6c57G75Lit5pyJ5pyA5bCR5LiA5Liq5oq96LGh5pa55rOV55qE6K+d77yM6YKj5LmI57G75bqU6K+l6KKr5aOw5piO5Li65oq96LGh57G7XHJcbiAqIFxyXG4gKiDku45waHA154mI5pys5LmL5ZCO5q2k5qCH562+5bey6KKr5byD55SoXHJcbiAqIFxyXG4gKiBAYWJzdHJhY3RcclxuICovXHJcblxyXG5hYnN0cmFjdCBjbGFzcyBUZXN0XHJcbntcclxuICAgIC8qKlxyXG4gICAgKiDov5nmmK/kuIDkuKrmir3osaHmlrnms5VhXHJcbiAgICAqXHJcbiAgICAqIEBhYnN0cmFjdFxyXG4gICAgKi9cclxuICAgIGFic3RyYWN0IGZ1bmN0aW9uIGEoKXt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIOi/meaYr+S4gOS4quaZrumAmueahOaWueazlWJcclxuICAgICovXHJcbiAgICBmdW5jdGlvbiBmdW5jdGlvbjIoKXt9XHJcblxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2F1dGhvci5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnMmMwMGY5MzNmNDAwZjczZGJiNjNiODg5OTliODNjY2InOyBwcml2YXRlICRuYW1lID0gJ2F1dGhvci5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9hdXRob3IucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDlvZPliY3kuLpwYWdl56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7lj6/ku6XnlKjkuo7ku7vkvZXpnIDopoHmoIforrDnmoTlhYPntKDkuIpcclxuICogKGdsb2JhbCB2YXJpYWJsZSwgaW5jbHVkZSwgY29uc3RhbnQsIGZ1bmN0aW9uLCBkZWZpbmUsIGNsYXNzLCB2YXJpYWJsZSwgbWV0aG9kLCBwYWdlKVxyXG4gKiBcclxuICogQGF1dGhvciBob25lY2UgPGNoaW5hX3poekB5ZWFyLm5ldD5cclxuICovXHJcblxyXG4vKipcclxuICog5b2T5YmN5Li6ZnVuY3Rpb27npLrkvotcclxuICogXHJcbiAqIOatpOWHveaVsOWPr+iDveeUseWPpuS4gOS4quS9nOiAhee8luWGmVxyXG4gKiBAYXV0aG9yIGhvbmVjZSBOby4yXHJcbiAqL1xyXG5mdW5jdGlvbiBhKCl7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9jYXRlZ29yeS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnNmIyZmY2ZDQ3NjFmNGVhM2ZjOWE3ZmI5OTY1MjIzMDcnOyBwcml2YXRlICRuYW1lID0gJ2NhdGVnb3J5LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2NhdGVnb3J5LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5piv5aOw5piO57G75Yir55qE56S65L6LXHJcbiAqIFxyXG4gKiBAcGFja2FnZSBNeVBhY2thZ2VcclxuICogQGNhdGVnb3J5IG15Y2F0ZWdvcnlcclxuICovXHJcblxyXG4vKipcclxuICogQGdsb2JhbCBhcnJheSB1c2VkIGZvciBzdHVmZlxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIG1pbmUoKVxyXG57XHJcbiAgICBnbG9iYWwgJGJhejtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9jb3B5cmlnaHQucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzM1ODRiNTIzYWM4NGU5MWM3NTE0ZGIzZDc2YWUzNzYzJzsgcHJpdmF0ZSAkbmFtZSA9ICdjb3B5cmlnaHQucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvY29weXJpZ2h0LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivY29weXJpZ2h055qE5qCH562+56S65L6LXHJcbiAqIOW9k+WJjeS4uumhtemdoue6p+aWh+aho+Wdl1xyXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAyMywgaG9uZWNlXHJcbiAqL1xyXG4nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZGVwcmVjYXRlZC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICcyNzY3MjI2MzNkMjc0MjNiZDcyNjhlZDQzMjljZTc2OCc7IHByaXZhdGUgJG5hbWUgPSAnZGVwcmVjYXRlZC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9kZXByZWNhdGVkLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivZGVwcmVjYXRlZOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5b2T5YmN5Li6cGFnZee6p+aWh+aho+Wdl++8jFxyXG4gKiDmraTmoIforrDlj6/nlKjkuo5wYWdl57qn5paH5qGj5Z2X5LmL5aSW55qE5paH5qGj5Z2XXHJcbiAqL1xyXG5jbGFzcyBUZXN0XHJcbntcclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgPDAuMS4wPiBh5pa55rOV6IeqMC4xLjDniYjmnKzlt7LlvIPnlKhcclxuICAgICAqL1xyXG4gICAgZnVuY3Rpb24gYSgpe31cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9leGFtcGxlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzhjYjhjYWEwMjM3MmM3ZmE0ZmQ0YTc3YTBlYzMxYmY3JzsgcHJpdmF0ZSAkbmFtZSA9ICdleGFtcGxlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2V4YW1wbGUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4qIOi/meaYr2V4YW1wbGXmoIfnrb7npLrkvotcclxuKiBAZXhhbXBsZSAvdGFnL2lubGluZS9leGFtcGxlLnBocCDov5nmmK/mraTmoIfnrb7lhoXogZTnlKjms5VcclxuKiBAZXhhbXBsZSBleGFtcGxlLnBocCDmraTnpLrkvovkuLrlvZPliY3nm67lvZXmlofku7ZcclxuKi9cclxuZnVuY3Rpb24gYSgpe30nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnOTg0ZDg3OTFmN2Q5ODRjMjZmNGQxYThlNjcxZjY1MjInOyBwcml2YXRlICRuYW1lID0gJ2ZpbGVzb3VyY2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2ZpbGVzb3VyY2XmoIfnrb7nmoTnpLrkvovku6PnoIFcclxuICogXHJcbiAqIOS9nOeUqOWwseaYr+e7meW9k+WJjeaWh+S7tuWIm+W7uuS4gOS4qumTvuaOpeW5tuaYvuekuua6kOS7o+eggVxyXG4gKiBAZmlsZXNvdXJjZVxyXG4gKi9cclxuZWNobyAxOyc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9maW5hbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc0MGFhMjgzNzgwNDBhMjdjYWIyOTMyY2Q0MmFkMjhlNSc7IHByaXZhdGUgJG5hbWUgPSAnZmluYWwucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmluYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9maW5hbOagh+etvueahOekuuS+i1xyXG4gKiDmraTmoIfnrb7lt7Lml6DmlYjvvIzkvZznlKjlsLHmmK/lrZfpnaLmhI/mgJ1cclxuICovXHJcblxyXG5jbGFzcyBteWNsYXNzXHJcbntcclxuICAgIC8qKlxyXG4gICAgICogQGZpbmFsXHJcbiAgICAgKi9cclxuICAgIGZpbmFsIGZ1bmN0aW9uIGEoKVxyXG4gICAge1xyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2dsb2JhbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnZTIxODBjMTExMDk3ZDIwZjc0ZjQ3MDI5ODg4NzE5MTInOyBwcml2YXRlICRuYW1lID0gJ2dsb2JhbC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9nbG9iYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9nbG9iYWzmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOS4u+imgeeUqOS6juiusOW9leWFqOWxgOWPmOmHj+eahOeUqOazlVxyXG4gKiDlu7rorq7nm7TmjqXlo7DmmI7lnKjlrprkuYnlhajlsYDlj5jph4/nmoTkuIrkuIDooYzvvIzku6XlhY3lvJXlj5HmlL7lnKjplJnor6/nmoTkvZznlKjln5/lhoXkuI3or4bliKvnmoTplJnor69cclxuICovXHJcblxyXG4vKiogXHJcbiAqIEBnbG9iYWwgbWl4ZWQgJF9HTE9CQUxTWyJteXZhciJdIFxyXG4gKi9cclxuJF9HTE9CQUxTWyJteXZhciJdID0gYXJyYXkoInRoaXMiID0+IFwn5bel5L2c5q2j5bi4XCcpO1xyXG5cclxuXHJcblxyXG4vKipcclxuICog5bCGQG5hbWXkuI5AZ2xvYmFs5LiA6LW35L2/55So55qE56S65L6LXHJcbiAqIOWcqEBuYW1l5qCH562+5Lit77yMbmFtZeW/hemhu+aciSQs5ZCm5YiZ5bCG5byV5Y+R6ZSZ6K+vXHJcbiAqIEBnbG9iYWwgYXJyYXkgJEdMT0JBTFNbXCduZWF0b1wnXSBcclxuICogQG5hbWUgJG5lYXRvXHJcbiAqL1xyXG4kR0xPQkFMU1tcJ25lYXRvXCddID0gJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2lnbm9yZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnOGRmZThlODQ1YjA0MDdkYzVlNDVmOTA5Mzg4MzA2OWInOyBwcml2YXRlICRuYW1lID0gJ2lnbm9yZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9pZ25vcmUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9pZ25vcmXmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvueUqOS6jue7hOe7h3BocGRvY+iusOW9leWFg+e0oFxyXG4gKi9cclxuXHJcbmlmICgkb3N0ZXN0KSB7XHJcbiAgICAvKipcclxuICAgICAqIFRoaXMgZGVmaW5lIHdpbGwgZWl0aGVyIGJlIFwnVW5peFwnIG9yIFwnV2luZG93c1wnXHJcbiAgICAgKi9cclxuICAgIGRlZmluZSgiT1MiLCAiVW5peCIpO1xyXG59XHJcbmVsc2Uge1xyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlIOi/memHjOaYr+W/veeVpeeahOW4uOmHj1xyXG4gICAgICovXHJcbiAgICBkZWZpbmUoIk9TIiwgIldpbmRvd3MiKTtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9pbnRlcm5hbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICdjNjdlNGI1MTFmZmJlZWYyNWJiMTMzNTllYTk5YTEwNSc7IHByaXZhdGUgJG5hbWUgPSAnaW50ZXJuYWwucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvaW50ZXJuYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9pbnRlcm5hbOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+5Y+v5Lul55Sf5oiQ5Lik5Lu95paH5qGj77yM5a6Y5pa56K+05pivcGhwZG9j5pyA5pyJ55So55qE5Yqf6IO95LmL5LiAXHJcbiAqIHtAaW50ZXJuYWwg6KaB6K6/6Zeu5pyJ5YWz5L+u5pS55q2k57G755qE5oyH5Y2XLOingSB7QGxpbmsgaHR0cDovL3d3dy5iYWlkdS5jb20g5oyH5Y2XfSzmiJbogZTns7vkvaDnmoTkuLvnrqF9fX1cclxuICogQGludGVybmFsIOivpeexu+S9v+eUqOengeacieaWueazlSB7QGxpbmsgX2ZvbygpfSDlkowge0BsaW5rIF9iYXIoKX0g5YGa5LiA5Lqb5aWH5oCq55qE5LqL5oOFXHJcbiAqL1xyXG5cclxuY2xhc3MgRG9lc3RoaW5nc1xyXG57XHJcbiAgICBwcml2YXRlIGZ1bmN0aW9uIF9mb28oKVxyXG4gICAge1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBmdW5jdGlvbiBfYmFyKClcclxuICAgIHtcclxuICAgIH1cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9saWNlbnNlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzg0MDY5Y2FmMzhiYzI0MmE0MTg5OGJhOGIwYzhiMDhjJzsgcHJpdmF0ZSAkbmFtZSA9ICdsaWNlbnNlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2xpY2Vuc2UucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9saWNlbnNl5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7nlKjkuo7lkJHnlKjmiLfmj5DnpLrpgILnlKjkuo7mraTmlofmoaPlnZfnmoTorrjlj6/or4FcclxuICog5bGV56S65oyH5ZCR6K645Y+v6K+BVVJM55qE6LaF6ZO+5o6l77yM5Liq5Lq65Y+q5bu66K6u5pS+5Zyo5paH5Lu257qn5Yir55qE5paH5qGj5Z2X5LitXHJcbiAqIEBsaWNlbnNlIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCBBcGFjaGUyLjBcclxuICovXHJcblxyXG5jbGFzcyBvcGVuc291cmNlX2NsYXNzXHJcbntcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9saW5rLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICcwNTViZTBhMDE5NjY2MzYwMDMxNTdiZGMyNWFmOTA2Yic7IHByaXZhdGUgJG5hbWUgPSAnbGluay5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9saW5rLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbGlua+agh+etvuekuuS+i1xyXG4gKiBAbGluayBodHRwOi8vd3d3LmJhaWR1LmNvbSDor6bmg4Xmib7nmb7luqZcclxuICovXHJcblxyXG4gLyoqXHJcbiAgKiBEaXNwbGF5cyA8YSBocmVmPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj5IZWxsbzwvYT5cclxuICAqIEBsaW5rIGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMzk2LnR4dCBSRkMyMzk2XHJcbiAgKi9cclxuIGRlZmluZSgiVEVTVF9DT05TVEFOVDIiLDMpO1xyXG4nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvbWV0aG9kLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzIwYjVlNDVlOGMyNzRlYzRiN2MzM2FmMGZjYWU5ZjlkJzsgcHJpdmF0ZSAkbmFtZSA9ICdtZXRob2QucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbWV0aG9kLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbWV0aG9k5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlrpjmlrnnu5nlh7rnmoTlrprkuYnmmK/vvIzopoHlnKjlrZDnsbvkuK3lo7DmmI7niLbnsbvkvb/nlKjprZTmnK/mlrnms5XmnaXlrp7njrDnmoTkuIDkupvpnZ7mmL7npLrlrZjlnKjmlrnms5VcclxuICog6L+Z5Liq5qCH562+5LiN5Lya5ZyocGhwRG9j5pi+56S6ZnVuY3Rpb27lrp7kvZNcclxuICogXHJcbiAqIEBtZXRob2QgcmV0dXJuIHZvaWQgZWNobzIoc3RyaW5nICRzdHJpbmcpIDzmiZPljbDluKbmnInmjaLooYznrKbnmoTlrZfnrKbkuLI+XHJcbiAqL1xyXG5jbGFzcyBUZXN0IGV4dGVuZHMgRmF0aGVye31cclxuXHJcbmNsYXNzIEZhdGhlclxyXG57XHJcbiAgICBmdW5jdGlvbiBfX2NhbGwoJG1ldGhvZCwgc3RyaW5nICRwYXJhbXMpXHJcbiAgICB7XHJcbiAgICAgICAgaWYgKCRtZXRob2QgPT0gXCdlY2hvMlwnKSB7XHJcbiAgICAgICAgICAgIGVjaG8gJHBhcmFtcyAuIFBIUF9FT0w7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL25hbWUucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzkyNGY5NTMzZThhNzQxZDEzMTczNmZiZjg2Zjg2Zjk3JzsgcHJpdmF0ZSAkbmFtZSA9ICduYW1lLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL25hbWUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9uYW1l5qCH562+56S65L6LXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIOW9k+WcqOWHveaVsOS4reS9v+eUqEBnbG9iYWzml7bvvIzlroPlsIbpk77mjqXliLAkYmF6XHJcbiAqIEBuYW1lICRiYXpcclxuICogQGdsb2JhbCBhcnJheSAkR0xPQkFMU1tcJ2JhelwnXSBcclxuICovXHJcbiRHTE9CQUxTW1wnYmF6XCddID0gYXJyYXkoXCdmb29cJywgXCdiYXJcJyk7XHJcblxyXG4vKipcclxuICogQGdsb2JhbCBhcnJheSB1c2VkIGZvciBzdHVmZlxyXG4gKi9cclxuZnVuY3Rpb24gbWluZSgpXHJcbntcclxuICAgIGdsb2JhbCAkYmF6O1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL3BhY2thZ2UucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzEyZjkzZjY0MjQ3NmZmYjU5YTdjODAwY2I1MzY3NjMzJzsgcHJpdmF0ZSAkbmFtZSA9ICdwYWNrYWdlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3BhY2thZ2UucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wYWNrYWdl5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDpobXpnaLnuqdEb2NCbG9ja+ekuuS+i+OAglxyXG4gKiDmraREb2NCbG9ja+S9jeS6juWPpuS4gOS4qkRvY0Jsb2Nr5LmL5YmN77yM5bCG6KKr6Kej5p6Q5Li66aG16Z2i57qn5Yir44CCXHJcbiAqIOWwhuaCqOeahEBwYWNrYWdl5ZKMQHN1YnBhY2thZ2XmoIforrDmlL7lnKjmraTlpIRcclxuICogQHBhY2thZ2UgcGFnZWxldmVsX3BhY2thZ2VcclxuICovXHJcblxyXG4vKipcclxuICogZnVuY3Rpb24gYmx1aFxyXG4gKi9cclxuZnVuY3Rpb24gYmx1aCgpXHJcbntcclxufVxyXG4/PlxyXG48P3BocFxyXG4vKipcclxuKiDnsbsgYmx1aFxyXG4qIOexu+e6p0RvY0Jsb2Nr56S65L6L44CC5Lul5LiL56S65L6L5Luj6KGoYXBwbGllc190b19ibHVo5YyF5ZyoYXBwbGllc190b19ibHVo5YaFXHJcbiogQHBhY2thZ2UgcGFnZWxldmVsX3BhY2thZ2VcXFxcYXBwbGllc190b19ibHVoIFxyXG4qL1xyXG5jbGFzcyBibHVoXHJcbntcclxuXHJcbiAgICAvKipcclxuICAgICog5q2k5Y+Y6YeP5L2c5Li65YwnLi4uOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvcGFyYW0ucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzMyOGFiNjZjYzI3MjQ4NGYzZjY5NjAwY2NmYTdmODkyJzsgcHJpdmF0ZSAkbmFtZSA9ICdwYXJhbS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9wYXJhbS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3BhcmFt5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlo7DmmI7mlrnms5XkvKDlhaXnmoTlj4LmlbBcclxuICovXHJcblxyXG4gLyoqXHJcbiAgKiBAcGFyYW0gaW50ICRiIOS9oOmcgOimgeS8oOWFpeS4gOS4quaVtOaVsOWei+eahOWPmOmHj1xyXG4gICovXHJcbiBmdW5jdGlvbiBhKGludCAkYil7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9wcm9wZXJ0eS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc3YzdiMWI1YjVlOTQyNmY3NTUxNGJmMDRjYzJhZmY3NCc7IHByaXZhdGUgJG5hbWUgPSAncHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wcm9wZXJ0eeWMheaLrOWug+eahOWPmOS9k1twcm9wZXJ0eS1yZWFkIHwgcHJvcGVydHktd3JpdGVd5qCH562+56S65L6LXHJcbiAqXHJcbiAqIEBwcm9wZXJ0eSBtaXhlZCAkcmVndWxhciDlo7DmmI7luLjop4TnmoTor7vlhpnlsZ7mgKdcclxuICogQHByb3BlcnR5LXJlYWQgaW50ICRmb28g5aOw5piO5Y+q6K+7XHJcbiAqIEBwcm9wZXJ0eS13cml0ZSBzdHJpbmcgJGJhciDlo7DmmI7lj6rlhplcclxuICovXHJcblxyXG5jbGFzcyBNYWdpY2lhblxyXG57XHJcbiAgICBwcml2YXRlICRfdGhpbmd5O1xyXG4gICAgcHJpdmF0ZSAkX2JhcjtcclxuICAgIGZ1bmN0aW9uIF9fZ2V0KCR2YXIpXHJcbiAgICB7XHJcbiAgICAgICAgc3dpdGNoICgkdmFyKSB7XHJcbiAgICAgICAgICAgIGNhc2UgXCdmb29cJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiA0NTtcclxuICAgICAgICAgICAgY2FzZSBcJ3JlZ3VsYXJcJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X3RoaW5neTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL3JldHVybi5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICdmMTQxMzgyNjM2NzllYTk0NjI5MTI2N2FmNmYwMDczZSc7IHByaXZhdGUgJG5hbWUgPSAncmV0dXJuLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3JldHVybi5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3JldHVybuagh+etvuekuuS+i1xyXG4gKiBcclxuICog6L+Z5Liq5qCH562+55So5LqO5qCH6K6w5pa55rOV5oiW5Ye95pWw55qE6L+U5Zue5YC85ZKM6L+U5Zue5YaF5a65XHJcbiAqIEByZXR1cm4gaW50IOi/memHjOS8mui/lOWbnuS4gOS4quaVtOaVsOexu+Wei+eahOaVsOWtl1xyXG4gKi9cclxuZnVuY3Rpb24gYSgkcGFyYW0pXHJcbntcclxuICAgICRiID0gKGludCkgJHBhcmFtO1xyXG4gICAgcmV0dXJuICRiO1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9XTsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdIH0gfSB9KSBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3NyYy9waHBEb2N1bWVudG9yL1BhcnNlci9NaWRkbGV3YXJlL1JlRW5jb2RpbmdNaWRkbGV3YXJlLnBocDo0NgogICAgMy4xNTYwICAgMjE5NTc4ODAgIDM4LiBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnlcRmlsZS0+Y3JlYXRlRmlsZSgkY29tbWFuZCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmFjdG9yeVxGaWxlXENyZWF0ZUNvbW1hbmQgeyBwcml2YXRlICRmaWxlID0gY2xhc3MgcGhwRG9jdW1lbnRvclxQYXJzZXJcUmVFbmNvZGVkRmlsZSB7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3NlZS5waHAnOyBwcml2YXRlICRjb250ZW50cyA9IGNsYXNzIFN5bWZvbnlcQ29tcG9uZW50XFN0cmluZ1xVbmljb2RlU3RyaW5nIHsgcHJvdGVjdGVkICRzdHJpbmcgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3JldHVybuagh+etvuekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+55So5LqO6ZO+5o6l5Yiw5paH5qGj5YaF55qE5Lu75L2V5YWD57Sg77yM5Lmf5Y+v5Lul57uZ5oyH5a6a55qEeyBAc2VlIGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMzk2LnR4dCA8VVJJPn1cclxuICogQHNlZSBDaGlsZDo6bWV0aG9kKClcclxuICovXHJcbmNsYXNzIEZhdGhlclxyXG57XHJcbiAgICAvKipcclxuICAgICAqIOmTvuaOpeWIsOWQjOS4gOexu+eahOekuuS+i++8jOi+k+WHujx1PkZhdGhlcjrvvJpwYXJlbnRfbWV0aG9kKCk8L3U+XHJcbiAgICAgKiBAc2VlIHBhcmVudF9tZXRob2RcclxuICAgICAqL1xyXG4gICAgdmFyICRmb28gPSAzO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICog5a2Q57G757un5om/5q2k5pa55rOV44CCXHJcbiAgICAgKiDluLjph4/miJbnsbvlkI3nmoTljZXor43npLrkvovvvIzlnKjmnKzkvovkuK3kuLrnsbvlkI1cclxuICAgICAqIEBzZWUgQ2hpbGRcclxuICAgICAqIEBzZWUgQ2hpbGQ6OiRmb29cclxuJy4uLjsgcHJvdGVjdGVkICRpZ25vcmVDYXNlID0gRkFMU0UgfSB9OyBwcml2YXRlICRzdHJhdGVnaWVzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9qZWN0RmFjdG9yeVN0cmF0ZWdpZXMgeyBwcml2YXRlICRzdHJhdGVnaWVzID0gY2xhc3MgU3BsUHJpb3JpdHlRdWV1ZSB7ICB9IH07IHByaXZhdGUgJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnlcQ29udGV4dFN0YWNrIHsgcHJpdmF0ZSAkZWxlbWVudHMgPSBbXTsgcHJpdmF0ZSAkdHlwZUNvbnRleHQgPSBOVUxMOyBwcml2YXRlICRwcm9qZWN0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9qZWN0IHsgcHJpdmF0ZSAkbmFtZSA9ICdVbnRpdGxlZCBwcm9qZWN0JzsgcHJpdmF0ZSAkcm9vdE5hbWVzcGFjZSA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTmFtZXNwYWNlXyB7IHByaXZhdGUgJGZxc2VuID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIHsgcHJpdmF0ZSAkZnFzZW4gPSAnXFwnOyBwcml2YXRlICRuYW1lID0gJycgfTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfTsgcHJpdmF0ZSAkZmlsZXMgPSBbJ3RhZy9iYXNpYy9hYnN0cmFjdC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICcyN2UwZGY4NDQ4ODA3OTc2NDk3YWIwYjI1MDNjOGMxYSc7IHByaXZhdGUgJG5hbWUgPSAnYWJzdHJhY3QucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvYWJzdHJhY3QucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDlpoLmnpznsbvkuK3mnInmnIDlsJHkuIDkuKrmir3osaHmlrnms5XnmoTor53vvIzpgqPkuYjnsbvlupTor6Xooqvlo7DmmI7kuLrmir3osaHnsbtcclxuICogXHJcbiAqIOS7jnBocDXniYjmnKzkuYvlkI7mraTmoIfnrb7lt7LooqvlvIPnlKhcclxuICogXHJcbiAqIEBhYnN0cmFjdFxyXG4gKi9cclxuXHJcbmFic3RyYWN0IGNsYXNzIFRlc3Rcclxue1xyXG4gICAgLyoqXHJcbiAgICAqIOi/meaYr+S4gOS4quaKveixoeaWueazlWFcclxuICAgICpcclxuICAgICogQGFic3RyYWN0XHJcbiAgICAqL1xyXG4gICAgYWJzdHJhY3QgZnVuY3Rpb24gYSgpe31cclxuXHJcbiAgICAvKipcclxuICAgICog6L+Z5piv5LiA5Liq5pmu6YCa55qE5pa55rOVYlxyXG4gICAgKi9cclxuICAgIGZ1bmN0aW9uIGZ1bmN0aW9uMigpe31cclxuXHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvYXV0aG9yLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICcyYzAwZjkzM2Y0MDBmNzNkYmI2M2I4ODk5OWI4M2NjYic7IHByaXZhdGUgJG5hbWUgPSAnYXV0aG9yLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2F1dGhvci5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOW9k+WJjeS4unBhZ2XnpLrkvotcclxuICogXHJcbiAqIOatpOagh+etvuWPr+S7peeUqOS6juS7u+S9lemcgOimgeagh+iusOeahOWFg+e0oOS4ilxyXG4gKiAoZ2xvYmFsIHZhcmlhYmxlLCBpbmNsdWRlLCBjb25zdGFudCwgZnVuY3Rpb24sIGRlZmluZSwgY2xhc3MsIHZhcmlhYmxlLCBtZXRob2QsIHBhZ2UpXHJcbiAqIFxyXG4gKiBAYXV0aG9yIGhvbmVjZSA8Y2hpbmFfemh6QHllYXIubmV0PlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiDlvZPliY3kuLpmdW5jdGlvbuekuuS+i1xyXG4gKiBcclxuICog5q2k5Ye95pWw5Y+v6IO955Sx5Y+m5LiA5Liq5L2c6ICF57yW5YaZXHJcbiAqIEBhdXRob3IgaG9uZWNlIE5vLjJcclxuICovXHJcbmZ1bmN0aW9uIGEoKXt9JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2NhdGVnb3J5LnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICc2YjJmZjZkNDc2MWY0ZWEzZmM5YTdmYjk5NjUyMjMwNyc7IHByaXZhdGUgJG5hbWUgPSAnY2F0ZWdvcnkucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvY2F0ZWdvcnkucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK/lo7DmmI7nsbvliKvnmoTnpLrkvotcclxuICogXHJcbiAqIEBwYWNrYWdlIE15UGFja2FnZVxyXG4gKiBAY2F0ZWdvcnkgbXljYXRlZ29yeVxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAZ2xvYmFsIGFycmF5IHVzZWQgZm9yIHN0dWZmXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gbWluZSgpXHJcbntcclxuICAgIGdsb2JhbCAkYmF6O1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2NvcHlyaWdodC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnMzU4NGI1MjNhYzg0ZTkxYzc1MTRkYjNkNzZhZTM3NjMnOyBwcml2YXRlICRuYW1lID0gJ2NvcHlyaWdodC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9jb3B5cmlnaHQucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9jb3B5cmlnaHTnmoTmoIfnrb7npLrkvotcclxuICog5b2T5YmN5Li66aG16Z2i57qn5paH5qGj5Z2XXHJcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDIzLCBob25lY2VcclxuICovXHJcbic7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9kZXByZWNhdGVkLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzI3NjcyMjYzM2QyNzQyM2JkNzI2OGVkNDMyOWNlNzY4JzsgcHJpdmF0ZSAkbmFtZSA9ICdkZXByZWNhdGVkLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2RlcHJlY2F0ZWQucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9kZXByZWNhdGVk5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlvZPliY3kuLpwYWdl57qn5paH5qGj5Z2X77yMXHJcbiAqIOatpOagh+iusOWPr+eUqOS6jnBhZ2XnuqfmlofmoaPlnZfkuYvlpJbnmoTmlofmoaPlnZdcclxuICovXHJcbmNsYXNzIFRlc3Rcclxue1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCA8MC4xLjA+IGHmlrnms5Xoh6owLjEuMOeJiOacrOW3suW8g+eUqFxyXG4gICAgICovXHJcbiAgICBmdW5jdGlvbiBhKCl7fVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2V4YW1wbGUucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnOGNiOGNhYTAyMzcyYzdmYTRmZDRhNzdhMGVjMzFiZjcnOyBwcml2YXRlICRuYW1lID0gJ2V4YW1wbGUucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZXhhbXBsZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiog6L+Z5pivZXhhbXBsZeagh+etvuekuuS+i1xyXG4qIEBleGFtcGxlIC90YWcvaW5saW5lL2V4YW1wbGUucGhwIOi/meaYr+atpOagh+etvuWGheiBlOeUqOazlVxyXG4qIEBleGFtcGxlIGV4YW1wbGUucGhwIOatpOekuuS+i+S4uuW9k+WJjeebruW9leaWh+S7tlxyXG4qL1xyXG5mdW5jdGlvbiBhKCl7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9maWxlc291cmNlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICc5ODRkODc5MWY3ZDk4NGMyNmY0ZDFhOGU2NzFmNjUyMic7IHByaXZhdGUgJG5hbWUgPSAnZmlsZXNvdXJjZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9maWxlc291cmNlLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivZmlsZXNvdXJjZeagh+etvueahOekuuS+i+S7o+eggVxyXG4gKiBcclxuICog5L2c55So5bCx5piv57uZ5b2T5YmN5paH5Lu25Yib5bu65LiA5Liq6ZO+5o6l5bm25pi+56S65rqQ5Luj56CBXHJcbiAqIEBmaWxlc291cmNlXHJcbiAqL1xyXG5lY2hvIDE7JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2ZpbmFsLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzQwYWEyODM3ODA0MGEyN2NhYjI5MzJjZDQyYWQyOGU1JzsgcHJpdmF0ZSAkbmFtZSA9ICdmaW5hbC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9maW5hbC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2ZpbmFs5qCH562+55qE56S65L6LXHJcbiAqIOatpOagh+etvuW3suaXoOaViO+8jOS9nOeUqOWwseaYr+Wtl+mdouaEj+aAnVxyXG4gKi9cclxuXHJcbmNsYXNzIG15Y2xhc3Ncclxue1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZmluYWxcclxuICAgICAqL1xyXG4gICAgZmluYWwgZnVuY3Rpb24gYSgpXHJcbiAgICB7XHJcbiAgICB9XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvZ2xvYmFsLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICdlMjE4MGMxMTEwOTdkMjBmNzRmNDcwMjk4ODg3MTkxMic7IHByaXZhdGUgJG5hbWUgPSAnZ2xvYmFsLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2dsb2JhbC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2dsb2JhbOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5Li76KaB55So5LqO6K6w5b2V5YWo5bGA5Y+Y6YeP55qE55So5rOVXHJcbiAqIOW7uuiuruebtOaOpeWjsOaYjuWcqOWumuS5ieWFqOWxgOWPmOmHj+eahOS4iuS4gOihjO+8jOS7peWFjeW8leWPkeaUvuWcqOmUmeivr+eahOS9nOeUqOWfn+WGheS4jeivhuWIq+eahOmUmeivr1xyXG4gKi9cclxuXHJcbi8qKiBcclxuICogQGdsb2JhbCBtaXhlZCAkX0dMT0JBTFNbIm15dmFyIl0gXHJcbiAqL1xyXG4kX0dMT0JBTFNbIm15dmFyIl0gPSBhcnJheSgidGhpcyIgPT4gXCflt6XkvZzmraPluLhcJyk7XHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiDlsIZAbmFtZeS4jkBnbG9iYWzkuIDotbfkvb/nlKjnmoTnpLrkvotcclxuICog5ZyoQG5hbWXmoIfnrb7kuK3vvIxuYW1l5b+F6aG75pyJJCzlkKbliJnlsIblvJXlj5HplJnor69cclxuICogQGdsb2JhbCBhcnJheSAkR0xPQkFMU1tcJ25lYXRvXCddIFxyXG4gKiBAbmFtZSAkbmVhdG9cclxuICovXHJcbiRHTE9CQUxTW1wnbmVhdG9cJ10gPSAnLi4uOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvaWdub3JlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyAuLi4gfTsgcHJpdmF0ZSAkaGFzaCA9ICc4ZGZlOGU4NDViMDQwN2RjNWU0NWY5MDkzODgzMDY5Yic7IHByaXZhdGUgJG5hbWUgPSAnaWdub3JlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2lnbm9yZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2lnbm9yZeagh+etvuekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+55So5LqO57uE57uHcGhwZG9j6K6w5b2V5YWD57SgXHJcbiAqL1xyXG5cclxuaWYgKCRvc3Rlc3QpIHtcclxuICAgIC8qKlxyXG4gICAgICogVGhpcyBkZWZpbmUgd2lsbCBlaXRoZXIgYmUgXCdVbml4XCcgb3IgXCdXaW5kb3dzXCdcclxuICAgICAqL1xyXG4gICAgZGVmaW5lKCJPUyIsICJVbml4Iik7XHJcbn1cclxuZWxzZSB7XHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmUg6L+Z6YeM5piv5b+955Wl55qE5bi46YePXHJcbiAgICAgKi9cclxuICAgIGRlZmluZSgiT1MiLCAiV2luZG93cyIpO1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2ludGVybmFsLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJ2M2N2U0YjUxMWZmYmVlZjI1YmIxMzM1OWVhOTlhMTA1JzsgcHJpdmF0ZSAkbmFtZSA9ICdpbnRlcm5hbC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9pbnRlcm5hbC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2ludGVybmFs5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7lj6/ku6XnlJ/miJDkuKTku73mlofmoaPvvIzlrpjmlrnor7TmmK9waHBkb2PmnIDmnInnlKjnmoTlip/og73kuYvkuIBcclxuICoge0BpbnRlcm5hbCDopoHorr/pl67mnInlhbPkv67mlLnmraTnsbvnmoTmjIfljZcs6KeBIHtAbGluayBodHRwOi8vd3d3LmJhaWR1LmNvbSDmjIfljZd9LOaIluiBlOezu+S9oOeahOS4u+euoX19fVxyXG4gKiBAaW50ZXJuYWwg6K+l57G75L2/55So56eB5pyJ5pa55rOVIHtAbGluayBfZm9vKCl9IOWSjCB7QGxpbmsgX2JhcigpfSDlgZrkuIDkupvlpYfmgKrnmoTkuovmg4VcclxuICovXHJcblxyXG5jbGFzcyBEb2VzdGhpbmdzXHJcbntcclxuICAgIHByaXZhdGUgZnVuY3Rpb24gX2ZvbygpXHJcbiAgICB7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGZ1bmN0aW9uIF9iYXIoKVxyXG4gICAge1xyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2xpY2Vuc2UucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnODQwNjljYWYzOGJjMjQyYTQxODk4YmE4YjBjOGIwOGMnOyBwcml2YXRlICRuYW1lID0gJ2xpY2Vuc2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbGljZW5zZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2xpY2Vuc2XmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvueUqOS6juWQkeeUqOaIt+aPkOekuumAgueUqOS6juatpOaWh+aho+Wdl+eahOiuuOWPr+ivgVxyXG4gKiDlsZXnpLrmjIflkJHorrjlj6/or4FVUkznmoTotoXpk77mjqXvvIzkuKrkurrlj6rlu7rorq7mlL7lnKjmlofku7bnuqfliKvnmoTmlofmoaPlnZfkuK1cclxuICogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZTIuMFxyXG4gKi9cclxuXHJcbmNsYXNzIG9wZW5zb3VyY2VfY2xhc3Ncclxue1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL2xpbmsucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRoYXNoID0gJzA1NWJlMGEwMTk2NjYzNjAwMzE1N2JkYzI1YWY5MDZiJzsgcHJpdmF0ZSAkbmFtZSA9ICdsaW5rLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2xpbmsucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9saW5r5qCH562+56S65L6LXHJcbiAqIEBsaW5rIGh0dHA6Ly93d3cuYmFpZHUuY29tIOivpuaDheaJvueZvuW6plxyXG4gKi9cclxuXHJcbiAvKipcclxuICAqIERpc3BsYXlzIDxhIGhyZWY9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPkhlbGxvPC9hPlxyXG4gICogQGxpbmsgaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIzOTYudHh0IFJGQzIzOTZcclxuICAqL1xyXG4gZGVmaW5lKCJURVNUX0NPTlNUQU5UMiIsMyk7XHJcbic7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9tZXRob2QucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnMjBiNWU0NWU4YzI3NGVjNGI3YzMzYWYwZmNhZTlmOWQnOyBwcml2YXRlICRuYW1lID0gJ21ldGhvZC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9tZXRob2QucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9tZXRob2TmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOWumOaWuee7meWHuueahOWumuS5ieaYr++8jOimgeWcqOWtkOexu+S4reWjsOaYjueItuexu+S9v+eUqOmtlOacr+aWueazleadpeWunueOsOeahOS4gOS6m+mdnuaYvuekuuWtmOWcqOaWueazlVxyXG4gKiDov5nkuKrmoIfnrb7kuI3kvJrlnKhwaHBEb2PmmL7npLpmdW5jdGlvbuWunuS9k1xyXG4gKiBcclxuICogQG1ldGhvZCByZXR1cm4gdm9pZCBlY2hvMihzdHJpbmcgJHN0cmluZykgPOaJk+WNsOW4puacieaNouihjOespueahOWtl+espuS4sj5cclxuICovXHJcbmNsYXNzIFRlc3QgZXh0ZW5kcyBGYXRoZXJ7fVxyXG5cclxuY2xhc3MgRmF0aGVyXHJcbntcclxuICAgIGZ1bmN0aW9uIF9fY2FsbCgkbWV0aG9kLCBzdHJpbmcgJHBhcmFtcylcclxuICAgIHtcclxuICAgICAgICBpZiAoJG1ldGhvZCA9PSBcJ2VjaG8yXCcpIHtcclxuICAgICAgICAgICAgZWNobyAkcGFyYW1zIC4gUEhQX0VPTDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvbmFtZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnOTI0Zjk1MzNlOGE3NDFkMTMxNzM2ZmJmODZmODZmOTcnOyBwcml2YXRlICRuYW1lID0gJ25hbWUucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbmFtZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr25hbWXmoIfnrb7npLrkvotcclxuICovXHJcblxyXG4vKipcclxuICog5b2T5Zyo5Ye95pWw5Lit5L2/55SoQGdsb2JhbOaXtu+8jOWug+WwhumTvuaOpeWIsCRiYXpcclxuICogQG5hbWUgJGJhelxyXG4gKiBAZ2xvYmFsIGFycmF5ICRHTE9CQUxTW1wnYmF6XCddIFxyXG4gKi9cclxuJEdMT0JBTFNbXCdiYXpcJ10gPSBhcnJheShcJ2Zvb1wnLCBcJ2JhclwnKTtcclxuXHJcbi8qKlxyXG4gKiBAZ2xvYmFsIGFycmF5IHVzZWQgZm9yIHN0dWZmXHJcbiAqL1xyXG5mdW5jdGlvbiBtaW5lKClcclxue1xyXG4gICAgZ2xvYmFsICRiYXo7XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvcGFja2FnZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnMTJmOTNmNjQyNDc2ZmZiNTlhN2M4MDBjYjUzNjc2MzMnOyBwcml2YXRlICRuYW1lID0gJ3BhY2thZ2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcGFja2FnZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3BhY2thZ2XmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOmhtemdoue6p0RvY0Jsb2Nr56S65L6L44CCXHJcbiAqIOatpERvY0Jsb2Nr5L2N5LqO5Y+m5LiA5LiqRG9jQmxvY2vkuYvliY3vvIzlsIbooqvop6PmnpDkuLrpobXpnaLnuqfliKvjgIJcclxuICog5bCG5oKo55qEQHBhY2thZ2XlkoxAc3VicGFja2FnZeagh+iusOaUvuWcqOatpOWkhFxyXG4gKiBAcGFja2FnZSBwYWdlbGV2ZWxfcGFja2FnZVxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBmdW5jdGlvbiBibHVoXHJcbiAqL1xyXG5mdW5jdGlvbiBibHVoKClcclxue1xyXG59XHJcbj8+XHJcbjw/cGhwXHJcbi8qKlxyXG4qIOexuyBibHVoXHJcbiog57G757qnRG9jQmxvY2vnpLrkvovjgILku6XkuIvnpLrkvovku6PooahhcHBsaWVzX3RvX2JsdWjljIXlnKhhcHBsaWVzX3RvX2JsdWjlhoVcclxuKiBAcGFja2FnZSBwYWdlbGV2ZWxfcGFja2FnZVxcXFxhcHBsaWVzX3RvX2JsdWggXHJcbiovXHJcbmNsYXNzIGJsdWhcclxue1xyXG5cclxuICAgIC8qKlxyXG4gICAgKiDmraTlj5jph4/kvZzkuLrljCcuLi47IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbLi4uXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRjbGFzc2VzID0gWy4uLl07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbLi4uXTsgcHJpdmF0ZSAkdHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGVudW1zID0gWy4uLl07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfSwgJ3RhZy9iYXNpYy9wYXJhbS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGhhc2ggPSAnMzI4YWI2NmNjMjcyNDg0ZjNmNjk2MDBjY2ZhN2Y4OTInOyBwcml2YXRlICRuYW1lID0gJ3BhcmFtLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3BhcmFtLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivcGFyYW3moIfnrb7npLrkvotcclxuICogXHJcbiAqIOWjsOaYjuaWueazleS8oOWFpeeahOWPguaVsFxyXG4gKi9cclxuXHJcbiAvKipcclxuICAqIEBwYXJhbSBpbnQgJGIg5L2g6ZyA6KaB5Lyg5YWl5LiA5Liq5pW05pWw5Z6L55qE5Y+Y6YePXHJcbiAgKi9cclxuIGZ1bmN0aW9uIGEoaW50ICRiKXt9JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFsuLi5dOyBwcml2YXRlICRpbmNsdWRlcyA9IFsuLi5dOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJGNsYXNzZXMgPSBbLi4uXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFsuLi5dOyBwcml2YXRlICR0cmFpdHMgPSBbLi4uXTsgcHJpdmF0ZSAkZW51bXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbLi4uXSB9LCAndGFnL2Jhc2ljL3Byb3BlcnR5LnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzdjN2IxYjViNWU5NDI2Zjc1NTE0YmYwNGNjMmFmZjc0JzsgcHJpdmF0ZSAkbmFtZSA9ICdwcm9wZXJ0eS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9wcm9wZXJ0eS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3Byb3BlcnR55YyF5ous5a6D55qE5Y+Y5L2TW3Byb3BlcnR5LXJlYWQgfCBwcm9wZXJ0eS13cml0ZV3moIfnrb7npLrkvotcclxuICpcclxuICogQHByb3BlcnR5IG1peGVkICRyZWd1bGFyIOWjsOaYjuW4uOinhOeahOivu+WGmeWxnuaAp1xyXG4gKiBAcHJvcGVydHktcmVhZCBpbnQgJGZvbyDlo7DmmI7lj6ror7tcclxuICogQHByb3BlcnR5LXdyaXRlIHN0cmluZyAkYmFyIOWjsOaYjuWPquWGmVxyXG4gKi9cclxuXHJcbmNsYXNzIE1hZ2ljaWFuXHJcbntcclxuICAgIHByaXZhdGUgJF90aGluZ3k7XHJcbiAgICBwcml2YXRlICRfYmFyO1xyXG4gICAgZnVuY3Rpb24gX19nZXQoJHZhcilcclxuICAgIHtcclxuICAgICAgICBzd2l0Y2ggKCR2YXIpIHtcclxuICAgICAgICAgICAgY2FzZSBcJ2Zvb1wnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDQ1O1xyXG4gICAgICAgICAgICBjYXNlIFwncmVndWxhclwnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fdGhpbmd5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGYnLi4uOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH0sICd0YWcvYmFzaWMvcmV0dXJuLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJ2YxNDEzODI2MzY3OWVhOTQ2MjkxMjY3YWY2ZjAwNzNlJzsgcHJpdmF0ZSAkbmFtZSA9ICdyZXR1cm4ucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcmV0dXJuLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivcmV0dXJu5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDov5nkuKrmoIfnrb7nlKjkuo7moIforrDmlrnms5XmiJblh73mlbDnmoTov5Tlm57lgLzlkozov5Tlm57lhoXlrrlcclxuICogQHJldHVybiBpbnQg6L+Z6YeM5Lya6L+U5Zue5LiA5Liq5pW05pWw57G75Z6L55qE5pWw5a2XXHJcbiAqL1xyXG5mdW5jdGlvbiBhKCRwYXJhbSlcclxue1xyXG4gICAgJGIgPSAoaW50KSAkcGFyYW07XHJcbiAgICByZXR1cm4gJGI7XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gWy4uLl07IHByaXZhdGUgJGluY2x1ZGVzID0gWy4uLl07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsuLi5dOyBwcml2YXRlICRjb25zdGFudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsuLi5dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gWy4uLl07IHByaXZhdGUgJHRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRlbnVtcyA9IFsuLi5dOyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH1dOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW10gfSB9IH0pIHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvcmVmbGVjdGlvbi9zcmMvcGhwRG9jdW1lbnRvci9SZWZsZWN0aW9uL1BocC9GYWN0b3J5L0ZpbGUucGhwOjcxCiAgICAzLjE3OTMgICAyMjAyOTM5MiAgMzkuIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmFjdG9yeVxGaWxlLT5jcmVhdGVFbGVtZW50cygkY29udGV4dFN0YWNrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XENvbnRleHRTdGFjayB7IHByaXZhdGUgJGVsZW1lbnRzID0gWzAgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzUxMmYwNTlhYzJiN2U5MDgwYTY2MTRmYWRkMTg4NTI5JzsgcHJpdmF0ZSAkbmFtZSA9ICdzZWUucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvc2VlLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivcmV0dXJu5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7nlKjkuo7pk77mjqXliLDmlofmoaPlhoXnmoTku7vkvZXlhYPntKDvvIzkuZ/lj6/ku6Xnu5nmjIflrprnmoR7IEBzZWUgaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIzOTYudHh0IDxVUkk+fVxyXG4gKiBAc2VlIENoaWxkOjptZXRob2QoKVxyXG4gKi9cclxuY2xhc3MgRmF0aGVyXHJcbntcclxuICAgIC8qKlxyXG4gICAgICog6ZO+5o6l5Yiw5ZCM5LiA57G755qE56S65L6L77yM6L6T5Ye6PHU+RmF0aGVyOu+8mnBhcmVudF9tZXRob2QoKTwvdT5cclxuICAgICAqIEBzZWUgcGFyZW50X21ldGhvZFxyXG4gICAgICovXHJcbiAgICB2YXIgJGZvbyA9IDM7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDlrZDnsbvnu6fmib/mraTmlrnms5XjgIJcclxuICAgICAqIOW4uOmHj+aIluexu+WQjeeahOWNleivjeekuuS+i++8jOWcqOacrOS+i+S4reS4uuexu+WQjVxyXG4gICAgICogQHNlZSBDaGlsZFxyXG4gICAgICogQHNlZSBDaGlsZDo6JGZvb1xyXG4nLi4uOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsnXEZhdGhlcicgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18geyBwcml2YXRlICRmcXNlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiB7IC4uLiB9OyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IC4uLiB9OyBwcml2YXRlICRhYnN0cmFjdCA9IEZBTFNFOyBwcml2YXRlICRmaW5hbCA9IEZBTFNFOyBwcml2YXRlICRwYXJlbnQgPSBOVUxMOyBwcml2YXRlICRpbXBsZW1lbnRzID0gWy4uLl07IHByaXZhdGUgJGNvbnN0YW50cyA9IFsuLi5dOyBwcml2YXRlICRwcm9wZXJ0aWVzID0gWy4uLl07IHByaXZhdGUgJG1ldGhvZHMgPSBbLi4uXTsgcHJpdmF0ZSAkdXNlZFRyYWl0cyA9IFsuLi5dOyBwcml2YXRlICRsb2NhdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiB7IC4uLiB9OyBwcml2YXRlICRtZXRhZGF0YSA9IFsuLi5dIH1dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH1dOyBwcml2YXRlICR0eXBlQ29udGV4dCA9IE5VTEw7IHByaXZhdGUgJHByb2plY3QgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb2plY3QgeyBwcml2YXRlICRuYW1lID0gJ1VudGl0bGVkIHByb2plY3QnOyBwcml2YXRlICRyb290TmFtZXNwYWNlID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxOYW1lc3BhY2VfIHsgcHJpdmF0ZSAkZnFzZW4gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4geyBwcml2YXRlICRmcXNlbiA9ICdcXCc7IHByaXZhdGUgJG5hbWUgPSAnJyB9OyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9OyBwcml2YXRlICRmaWxlcyA9IFsndGFnL2Jhc2ljL2Fic3RyYWN0LnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzI3ZTBkZjg0NDg4MDc5NzY0OTdhYjBiMjUwM2M4YzFhJzsgcHJpdmF0ZSAkbmFtZSA9ICdhYnN0cmFjdC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9hYnN0cmFjdC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOWmguaenOexu+S4reacieacgOWwkeS4gOS4quaKveixoeaWueazleeahOivne+8jOmCo+S5iOexu+W6lOivpeiiq+WjsOaYjuS4uuaKveixoeexu1xyXG4gKiBcclxuICog5LuOcGhwNeeJiOacrOS5i+WQjuatpOagh+etvuW3suiiq+W8g+eUqFxyXG4gKiBcclxuICogQGFic3RyYWN0XHJcbiAqL1xyXG5cclxuYWJzdHJhY3QgY2xhc3MgVGVzdFxyXG57XHJcbiAgICAvKipcclxuICAgICog6L+Z5piv5LiA5Liq5oq96LGh5pa55rOVYVxyXG4gICAgKlxyXG4gICAgKiBAYWJzdHJhY3RcclxuICAgICovXHJcbiAgICBhYnN0cmFjdCBmdW5jdGlvbiBhKCl7fVxyXG5cclxuICAgIC8qKlxyXG4gICAgKiDov5nmmK/kuIDkuKrmma7pgJrnmoTmlrnms5ViXHJcbiAgICAqL1xyXG4gICAgZnVuY3Rpb24gZnVuY3Rpb24yKCl7fVxyXG5cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gWydcVGVzdCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18geyAuLi4gfV07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9hdXRob3IucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IHByaXZhdGUgJHN1bW1hcnkgPSAn5b2T5YmN5Li6cGFnZeekuuS+iyc7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIHsgLi4uIH07IHByaXZhdGUgJHRhZ3MgPSBbLi4uXTsgcHJpdmF0ZSAkY29udGV4dCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IHsgLi4uIH07IHByaXZhdGUgJGxvY2F0aW9uID0gTlVMTDsgcHJpdmF0ZSAkaXNUZW1wbGF0ZVN0YXJ0ID0gRkFMU0U7IHByaXZhdGUgJGlzVGVtcGxhdGVFbmQgPSBGQUxTRSB9OyBwcml2YXRlICRoYXNoID0gJzJjMDBmOTMzZjQwMGY3M2RiYjYzYjg4OTk5YjgzY2NiJzsgcHJpdmF0ZSAkbmFtZSA9ICdhdXRob3IucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvYXV0aG9yLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog5b2T5YmN5Li6cGFnZeekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+5Y+v5Lul55So5LqO5Lu75L2V6ZyA6KaB5qCH6K6w55qE5YWD57Sg5LiKXHJcbiAqIChnbG9iYWwgdmFyaWFibGUsIGluY2x1ZGUsIGNvbnN0YW50LCBmdW5jdGlvbiwgZGVmaW5lLCBjbGFzcywgdmFyaWFibGUsIG1ldGhvZCwgcGFnZSlcclxuICogXHJcbiAqIEBhdXRob3IgaG9uZWNlIDxjaGluYV96aHpAeWVhci5uZXQ+XHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIOW9k+WJjeS4umZ1bmN0aW9u56S65L6LXHJcbiAqIFxyXG4gKiDmraTlh73mlbDlj6/og73nlLHlj6bkuIDkuKrkvZzogIXnvJblhplcclxuICogQGF1dGhvciBob25lY2UgTm8uMlxyXG4gKi9cclxuZnVuY3Rpb24gYSgpe30nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsnXGEoKScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGdW5jdGlvbl8geyAuLi4gfV07IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9jYXRlZ29yeS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICfov5nmmK/lo7DmmI7nsbvliKvnmoTnpLrkvosnOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiB7IC4uLiB9OyBwcml2YXRlICR0YWdzID0gWy4uLl07IHByaXZhdGUgJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCB7IC4uLiB9OyBwcml2YXRlICRsb2NhdGlvbiA9IE5VTEw7IHByaXZhdGUgJGlzVGVtcGxhdGVTdGFydCA9IEZBTFNFOyBwcml2YXRlICRpc1RlbXBsYXRlRW5kID0gRkFMU0UgfTsgcHJpdmF0ZSAkaGFzaCA9ICc2YjJmZjZkNDc2MWY0ZWEzZmM5YTdmYjk5NjUyMjMwNyc7IHByaXZhdGUgJG5hbWUgPSAnY2F0ZWdvcnkucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvY2F0ZWdvcnkucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK/lo7DmmI7nsbvliKvnmoTnpLrkvotcclxuICogXHJcbiAqIEBwYWNrYWdlIE15UGFja2FnZVxyXG4gKiBAY2F0ZWdvcnkgbXljYXRlZ29yeVxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBAZ2xvYmFsIGFycmF5IHVzZWQgZm9yIHN0dWZmXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gbWluZSgpXHJcbntcclxuICAgIGdsb2JhbCAkYmF6O1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbJ1xtaW5lKCknID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRnVuY3Rpb25fIHsgLi4uIH1dOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvY29weXJpZ2h0LnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyBwcml2YXRlICRzdW1tYXJ5ID0gJ+i/meaYr2NvcHlyaWdodOeahOagh+etvuekuuS+i1xu5b2T5YmN5Li66aG16Z2i57qn5paH5qGj5Z2XJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyAuLi4gfTsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dOyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyAuLi4gfTsgcHJpdmF0ZSAkbG9jYXRpb24gPSBOVUxMOyBwcml2YXRlICRpc1RlbXBsYXRlU3RhcnQgPSBGQUxTRTsgcHJpdmF0ZSAkaXNUZW1wbGF0ZUVuZCA9IEZBTFNFIH07IHByaXZhdGUgJGhhc2ggPSAnMzU4NGI1MjNhYzg0ZTkxYzc1MTRkYjNkNzZhZTM3NjMnOyBwcml2YXRlICRuYW1lID0gJ2NvcHlyaWdodC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9jb3B5cmlnaHQucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9jb3B5cmlnaHTnmoTmoIfnrb7npLrkvotcclxuICog5b2T5YmN5Li66aG16Z2i57qn5paH5qGj5Z2XXHJcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDIzLCBob25lY2VcclxuICovXHJcbic7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9kZXByZWNhdGVkLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJzI3NjcyMjYzM2QyNzQyM2JkNzI2OGVkNDMyOWNlNzY4JzsgcHJpdmF0ZSAkbmFtZSA9ICdkZXByZWNhdGVkLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2RlcHJlY2F0ZWQucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9kZXByZWNhdGVk5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDlvZPliY3kuLpwYWdl57qn5paH5qGj5Z2X77yMXHJcbiAqIOatpOagh+iusOWPr+eUqOS6jnBhZ2XnuqfmlofmoaPlnZfkuYvlpJbnmoTmlofmoaPlnZdcclxuICovXHJcbmNsYXNzIFRlc3Rcclxue1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCA8MC4xLjA+IGHmlrnms5Xoh6owLjEuMOeJiOacrOW3suW8g+eUqFxyXG4gICAgICovXHJcbiAgICBmdW5jdGlvbiBhKCl7fVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbJ1xUZXN0JyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyB7IC4uLiB9XTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2V4YW1wbGUucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnOGNiOGNhYTAyMzcyYzdmYTRmZDRhNzdhMGVjMzFiZjcnOyBwcml2YXRlICRuYW1lID0gJ2V4YW1wbGUucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZXhhbXBsZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiog6L+Z5pivZXhhbXBsZeagh+etvuekuuS+i1xyXG4qIEBleGFtcGxlIC90YWcvaW5saW5lL2V4YW1wbGUucGhwIOi/meaYr+atpOagh+etvuWGheiBlOeUqOazlVxyXG4qIEBleGFtcGxlIGV4YW1wbGUucGhwIOatpOekuuS+i+S4uuW9k+WJjeebruW9leaWh+S7tlxyXG4qL1xyXG5mdW5jdGlvbiBhKCl7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWydcYSgpJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZ1bmN0aW9uXyB7IC4uLiB9XTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2ZpbGVzb3VyY2UucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IHByaXZhdGUgJHN1bW1hcnkgPSAn6L+Z5pivZmlsZXNvdXJjZeagh+etvueahOekuuS+i+S7o+eggSc7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIHsgLi4uIH07IHByaXZhdGUgJHRhZ3MgPSBbLi4uXTsgcHJpdmF0ZSAkY29udGV4dCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IHsgLi4uIH07IHByaXZhdGUgJGxvY2F0aW9uID0gTlVMTDsgcHJpdmF0ZSAkaXNUZW1wbGF0ZVN0YXJ0ID0gRkFMU0U7IHByaXZhdGUgJGlzVGVtcGxhdGVFbmQgPSBGQUxTRSB9OyBwcml2YXRlICRoYXNoID0gJzk4NGQ4NzkxZjdkOTg0YzI2ZjRkMWE4ZTY3MWY2NTIyJzsgcHJpdmF0ZSAkbmFtZSA9ICdmaWxlc291cmNlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2ZpbGVzb3VyY2UucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9maWxlc291cmNl5qCH562+55qE56S65L6L5Luj56CBXHJcbiAqIFxyXG4gKiDkvZznlKjlsLHmmK/nu5nlvZPliY3mlofku7bliJvlu7rkuIDkuKrpk77mjqXlubbmmL7npLrmupDku6PnoIFcclxuICogQGZpbGVzb3VyY2VcclxuICovXHJcbmVjaG8gMTsnOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvZmluYWwucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnNDBhYTI4Mzc4MDQwYTI3Y2FiMjkzMmNkNDJhZDI4ZTUnOyBwcml2YXRlICRuYW1lID0gJ2ZpbmFsLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2ZpbmFsLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivZmluYWzmoIfnrb7nmoTnpLrkvotcclxuICog5q2k5qCH562+5bey5peg5pWI77yM5L2c55So5bCx5piv5a2X6Z2i5oSP5oCdXHJcbiAqL1xyXG5cclxuY2xhc3MgbXljbGFzc1xyXG57XHJcbiAgICAvKipcclxuICAgICAqIEBmaW5hbFxyXG4gICAgICovXHJcbiAgICBmaW5hbCBmdW5jdGlvbiBhKClcclxuICAgIHtcclxuICAgIH1cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gWydcbXljbGFzcycgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18geyAuLi4gfV07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9nbG9iYWwucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IHByaXZhdGUgJHN1bW1hcnkgPSAn6L+Z5pivZ2xvYmFs5qCH562+56S65L6LJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyAuLi4gfTsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dOyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyAuLi4gfTsgcHJpdmF0ZSAkbG9jYXRpb24gPSBOVUxMOyBwcml2YXRlICRpc1RlbXBsYXRlU3RhcnQgPSBGQUxTRTsgcHJpdmF0ZSAkaXNUZW1wbGF0ZUVuZCA9IEZBTFNFIH07IHByaXZhdGUgJGhhc2ggPSAnZTIxODBjMTExMDk3ZDIwZjc0ZjQ3MDI5ODg4NzE5MTInOyBwcml2YXRlICRuYW1lID0gJ2dsb2JhbC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9nbG9iYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9nbG9iYWzmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOS4u+imgeeUqOS6juiusOW9leWFqOWxgOWPmOmHj+eahOeUqOazlVxyXG4gKiDlu7rorq7nm7TmjqXlo7DmmI7lnKjlrprkuYnlhajlsYDlj5jph4/nmoTkuIrkuIDooYzvvIzku6XlhY3lvJXlj5HmlL7lnKjplJnor6/nmoTkvZznlKjln5/lhoXkuI3or4bliKvnmoTplJnor69cclxuICovXHJcblxyXG4vKiogXHJcbiAqIEBnbG9iYWwgbWl4ZWQgJF9HTE9CQUxTWyJteXZhciJdIFxyXG4gKi9cclxuJF9HTE9CQUxTWyJteXZhciJdID0gYXJyYXkoInRoaXMiID0+IFwn5bel5L2c5q2j5bi4XCcpO1xyXG5cclxuXHJcblxyXG4vKipcclxuICog5bCGQG5hbWXkuI5AZ2xvYmFs5LiA6LW35L2/55So55qE56S65L6LXHJcbiAqIOWcqEBuYW1l5qCH562+5Lit77yMbmFtZeW/hemhu+aciSQs5ZCm5YiZ5bCG5byV5Y+R6ZSZ6K+vXHJcbiAqIEBnbG9iYWwgYXJyYXkgJEdMT0JBTFNbXCduZWF0b1wnXSBcclxuICogQG5hbWUgJG5lYXRvXHJcbiAqL1xyXG4kR0xPQkFMU1tcJ25lYXRvXCddID0gJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2lnbm9yZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICfov5nmmK9pZ25vcmXmoIfnrb7npLrkvosnOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiB7IC4uLiB9OyBwcml2YXRlICR0YWdzID0gWy4uLl07IHByaXZhdGUgJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCB7IC4uLiB9OyBwcml2YXRlICRsb2NhdGlvbiA9IE5VTEw7IHByaXZhdGUgJGlzVGVtcGxhdGVTdGFydCA9IEZBTFNFOyBwcml2YXRlICRpc1RlbXBsYXRlRW5kID0gRkFMU0UgfTsgcHJpdmF0ZSAkaGFzaCA9ICc4ZGZlOGU4NDViMDQwN2RjNWU0NWY5MDkzODgzMDY5Yic7IHByaXZhdGUgJG5hbWUgPSAnaWdub3JlLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2lnbm9yZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2lnbm9yZeagh+etvuekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+55So5LqO57uE57uHcGhwZG9j6K6w5b2V5YWD57SgXHJcbiAqL1xyXG5cclxuaWYgKCRvc3Rlc3QpIHtcclxuICAgIC8qKlxyXG4gICAgICogVGhpcyBkZWZpbmUgd2lsbCBlaXRoZXIgYmUgXCdVbml4XCcgb3IgXCdXaW5kb3dzXCdcclxuICAgICAqL1xyXG4gICAgZGVmaW5lKCJPUyIsICJVbml4Iik7XHJcbn1cclxuZWxzZSB7XHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmUg6L+Z6YeM5piv5b+955Wl55qE5bi46YePXHJcbiAgICAgKi9cclxuICAgIGRlZmluZSgiT1MiLCAiV2luZG93cyIpO1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWydcT1MnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQgeyAuLi4gfV07IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2ludGVybmFsLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJ2M2N2U0YjUxMWZmYmVlZjI1YmIxMzM1OWVhOTlhMTA1JzsgcHJpdmF0ZSAkbmFtZSA9ICdpbnRlcm5hbC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9pbnRlcm5hbC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2ludGVybmFs5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7lj6/ku6XnlJ/miJDkuKTku73mlofmoaPvvIzlrpjmlrnor7TmmK9waHBkb2PmnIDmnInnlKjnmoTlip/og73kuYvkuIBcclxuICoge0BpbnRlcm5hbCDopoHorr/pl67mnInlhbPkv67mlLnmraTnsbvnmoTmjIfljZcs6KeBIHtAbGluayBodHRwOi8vd3d3LmJhaWR1LmNvbSDmjIfljZd9LOaIluiBlOezu+S9oOeahOS4u+euoX19fVxyXG4gKiBAaW50ZXJuYWwg6K+l57G75L2/55So56eB5pyJ5pa55rOVIHtAbGluayBfZm9vKCl9IOWSjCB7QGxpbmsgX2JhcigpfSDlgZrkuIDkupvlpYfmgKrnmoTkuovmg4VcclxuICovXHJcblxyXG5jbGFzcyBEb2VzdGhpbmdzXHJcbntcclxuICAgIHByaXZhdGUgZnVuY3Rpb24gX2ZvbygpXHJcbiAgICB7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGZ1bmN0aW9uIF9iYXIoKVxyXG4gICAge1xyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbJ1xEb2VzdGhpbmdzJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyB7IC4uLiB9XTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2xpY2Vuc2UucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnODQwNjljYWYzOGJjMjQyYTQxODk4YmE4YjBjOGIwOGMnOyBwcml2YXRlICRuYW1lID0gJ2xpY2Vuc2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbGljZW5zZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2xpY2Vuc2XmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvueUqOS6juWQkeeUqOaIt+aPkOekuumAgueUqOS6juatpOaWh+aho+Wdl+eahOiuuOWPr+ivgVxyXG4gKiDlsZXnpLrmjIflkJHorrjlj6/or4FVUkznmoTotoXpk77mjqXvvIzkuKrkurrlj6rlu7rorq7mlL7lnKjmlofku7bnuqfliKvnmoTmlofmoaPlnZfkuK1cclxuICogQGxpY2Vuc2UgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEFwYWNoZTIuMFxyXG4gKi9cclxuXHJcbmNsYXNzIG9wZW5zb3VyY2VfY2xhc3Ncclxue1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbJ1xvcGVuc291cmNlX2NsYXNzJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyB7IC4uLiB9XTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2xpbmsucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IHByaXZhdGUgJHN1bW1hcnkgPSAn6L+Z5pivbGlua+agh+etvuekuuS+iyc7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIHsgLi4uIH07IHByaXZhdGUgJHRhZ3MgPSBbLi4uXTsgcHJpdmF0ZSAkY29udGV4dCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IHsgLi4uIH07IHByaXZhdGUgJGxvY2F0aW9uID0gTlVMTDsgcHJpdmF0ZSAkaXNUZW1wbGF0ZVN0YXJ0ID0gRkFMU0U7IHByaXZhdGUgJGlzVGVtcGxhdGVFbmQgPSBGQUxTRSB9OyBwcml2YXRlICRoYXNoID0gJzA1NWJlMGEwMTk2NjYzNjAwMzE1N2JkYzI1YWY5MDZiJzsgcHJpdmF0ZSAkbmFtZSA9ICdsaW5rLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2xpbmsucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9saW5r5qCH562+56S65L6LXHJcbiAqIEBsaW5rIGh0dHA6Ly93d3cuYmFpZHUuY29tIOivpuaDheaJvueZvuW6plxyXG4gKi9cclxuXHJcbiAvKipcclxuICAqIERpc3BsYXlzIDxhIGhyZWY9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPkhlbGxvPC9hPlxyXG4gICogQGxpbmsgaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIzOTYudHh0IFJGQzIzOTZcclxuICAqL1xyXG4gZGVmaW5lKCJURVNUX0NPTlNUQU5UMiIsMyk7XHJcbic7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFsnXFRFU1RfQ09OU1RBTlQyJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENvbnN0YW50IHsgLi4uIH1dOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9tZXRob2QucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnMjBiNWU0NWU4YzI3NGVjNGI3YzMzYWYwZmNhZTlmOWQnOyBwcml2YXRlICRuYW1lID0gJ21ldGhvZC5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9tZXRob2QucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9tZXRob2TmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOWumOaWuee7meWHuueahOWumuS5ieaYr++8jOimgeWcqOWtkOexu+S4reWjsOaYjueItuexu+S9v+eUqOmtlOacr+aWueazleadpeWunueOsOeahOS4gOS6m+mdnuaYvuekuuWtmOWcqOaWueazlVxyXG4gKiDov5nkuKrmoIfnrb7kuI3kvJrlnKhwaHBEb2PmmL7npLpmdW5jdGlvbuWunuS9k1xyXG4gKiBcclxuICogQG1ldGhvZCByZXR1cm4gdm9pZCBlY2hvMihzdHJpbmcgJHN0cmluZykgPOaJk+WNsOW4puacieaNouihjOespueahOWtl+espuS4sj5cclxuICovXHJcbmNsYXNzIFRlc3QgZXh0ZW5kcyBGYXRoZXJ7fVxyXG5cclxuY2xhc3MgRmF0aGVyXHJcbntcclxuICAgIGZ1bmN0aW9uIF9fY2FsbCgkbWV0aG9kLCBzdHJpbmcgJHBhcmFtcylcclxuICAgIHtcclxuICAgICAgICBpZiAoJG1ldGhvZCA9PSBcJ2VjaG8yXCcpIHtcclxuICAgICAgICAgICAgZWNobyAkcGFyYW1zIC4gUEhQX0VPTDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsnXFRlc3QnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIHsgLi4uIH0sICdcRmF0aGVyJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyB7IC4uLiB9XTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL25hbWUucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IHByaXZhdGUgJHN1bW1hcnkgPSAn6L+Z5pivbmFtZeagh+etvuekuuS+iyc7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIHsgLi4uIH07IHByaXZhdGUgJHRhZ3MgPSBbLi4uXTsgcHJpdmF0ZSAkY29udGV4dCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IHsgLi4uIH07IHByaXZhdGUgJGxvY2F0aW9uID0gTlVMTDsgcHJpdmF0ZSAkaXNUZW1wbGF0ZVN0YXJ0ID0gRkFMU0U7IHByaXZhdGUgJGlzVGVtcGxhdGVFbmQgPSBGQUxTRSB9OyBwcml2YXRlICRoYXNoID0gJzkyNGY5NTMzZThhNzQxZDEzMTczNmZiZjg2Zjg2Zjk3JzsgcHJpdmF0ZSAkbmFtZSA9ICduYW1lLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL25hbWUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9uYW1l5qCH562+56S65L6LXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIOW9k+WcqOWHveaVsOS4reS9v+eUqEBnbG9iYWzml7bvvIzlroPlsIbpk77mjqXliLAkYmF6XHJcbiAqIEBuYW1lICRiYXpcclxuICogQGdsb2JhbCBhcnJheSAkR0xPQkFMU1tcJ2JhelwnXSBcclxuICovXHJcbiRHTE9CQUxTW1wnYmF6XCddID0gYXJyYXkoXCdmb29cJywgXCdiYXJcJyk7XHJcblxyXG4vKipcclxuICogQGdsb2JhbCBhcnJheSB1c2VkIGZvciBzdHVmZlxyXG4gKi9cclxuZnVuY3Rpb24gbWluZSgpXHJcbntcclxuICAgIGdsb2JhbCAkYmF6O1xyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbJ1xtaW5lKCknID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRnVuY3Rpb25fIHsgLi4uIH1dOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvcGFja2FnZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICfov5nmmK9wYWNrYWdl5qCH562+56S65L6LJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyAuLi4gfTsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dOyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyAuLi4gfTsgcHJpdmF0ZSAkbG9jYXRpb24gPSBOVUxMOyBwcml2YXRlICRpc1RlbXBsYXRlU3RhcnQgPSBGQUxTRTsgcHJpdmF0ZSAkaXNUZW1wbGF0ZUVuZCA9IEZBTFNFIH07IHByaXZhdGUgJGhhc2ggPSAnMTJmOTNmNjQyNDc2ZmZiNTlhN2M4MDBjYjUzNjc2MzMnOyBwcml2YXRlICRuYW1lID0gJ3BhY2thZ2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcGFja2FnZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr3BhY2thZ2XmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOmhtemdoue6p0RvY0Jsb2Nr56S65L6L44CCXHJcbiAqIOatpERvY0Jsb2Nr5L2N5LqO5Y+m5LiA5LiqRG9jQmxvY2vkuYvliY3vvIzlsIbooqvop6PmnpDkuLrpobXpnaLnuqfliKvjgIJcclxuICog5bCG5oKo55qEQHBhY2thZ2XlkoxAc3VicGFja2FnZeagh+iusOaUvuWcqOatpOWkhFxyXG4gKiBAcGFja2FnZSBwYWdlbGV2ZWxfcGFja2FnZVxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBmdW5jdGlvbiBibHVoXHJcbiAqL1xyXG5mdW5jdGlvbiBibHVoKClcclxue1xyXG59XHJcbj8+XHJcbjw/cGhwXHJcbi8qKlxyXG4qIOexuyBibHVoXHJcbiog57G757qnRG9jQmxvY2vnpLrkvovjgILku6XkuIvnpLrkvovku6PooahhcHBsaWVzX3RvX2JsdWjljIXlnKhhcHBsaWVzX3RvX2JsdWjlhoVcclxuKiBAcGFja2FnZSBwYWdlbGV2ZWxfcGFja2FnZVxcXFxhcHBsaWVzX3RvX2JsdWggXHJcbiovXHJcbmNsYXNzIGJsdWhcclxue1xyXG5cclxuICAgIC8qKlxyXG4gICAgKiDmraTlj5jph4/kvZzkuLrljCcuLi47IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWydcYmx1aCgpJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZ1bmN0aW9uXyB7IC4uLiB9XTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbJ1xibHVoJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyB7IC4uLiB9XTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL3BhcmFtLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyBwcml2YXRlICRzdW1tYXJ5ID0gJ+i/meaYr3BhcmFt5qCH562+56S65L6LJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyAuLi4gfTsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dOyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyAuLi4gfTsgcHJpdmF0ZSAkbG9jYXRpb24gPSBOVUxMOyBwcml2YXRlICRpc1RlbXBsYXRlU3RhcnQgPSBGQUxTRTsgcHJpdmF0ZSAkaXNUZW1wbGF0ZUVuZCA9IEZBTFNFIH07IHByaXZhdGUgJGhhc2ggPSAnMzI4YWI2NmNjMjcyNDg0ZjNmNjk2MDBjY2ZhN2Y4OTInOyBwcml2YXRlICRuYW1lID0gJ3BhcmFtLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3BhcmFtLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivcGFyYW3moIfnrb7npLrkvotcclxuICogXHJcbiAqIOWjsOaYjuaWueazleS8oOWFpeeahOWPguaVsFxyXG4gKi9cclxuXHJcbiAvKipcclxuICAqIEBwYXJhbSBpbnQgJGIg5L2g6ZyA6KaB5Lyg5YWl5LiA5Liq5pW05pWw5Z6L55qE5Y+Y6YePXHJcbiAgKi9cclxuIGZ1bmN0aW9uIGEoaW50ICRiKXt9JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbJ1xhKCknID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRnVuY3Rpb25fIHsgLi4uIH1dOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvcHJvcGVydHkucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnN2M3YjFiNWI1ZTk0MjZmNzU1MTRiZjA0Y2MyYWZmNzQnOyBwcml2YXRlICRuYW1lID0gJ3Byb3BlcnR5LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL3Byb3BlcnR5LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivcHJvcGVydHnljIXmi6zlroPnmoTlj5jkvZNbcHJvcGVydHktcmVhZCB8IHByb3BlcnR5LXdyaXRlXeagh+etvuekuuS+i1xyXG4gKlxyXG4gKiBAcHJvcGVydHkgbWl4ZWQgJHJlZ3VsYXIg5aOw5piO5bi46KeE55qE6K+75YaZ5bGe5oCnXHJcbiAqIEBwcm9wZXJ0eS1yZWFkIGludCAkZm9vIOWjsOaYjuWPquivu1xyXG4gKiBAcHJvcGVydHktd3JpdGUgc3RyaW5nICRiYXIg5aOw5piO5Y+q5YaZXHJcbiAqL1xyXG5cclxuY2xhc3MgTWFnaWNpYW5cclxue1xyXG4gICAgcHJpdmF0ZSAkX3RoaW5neTtcclxuICAgIHByaXZhdGUgJF9iYXI7XHJcbiAgICBmdW5jdGlvbiBfX2dldCgkdmFyKVxyXG4gICAge1xyXG4gICAgICAgIHN3aXRjaCAoJHZhcikge1xyXG4gICAgICAgICAgICBjYXNlIFwnZm9vXCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNDU7XHJcbiAgICAgICAgICAgIGNhc2UgXCdyZWd1bGFyXCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJHRoaXMtPl90aGluZ3k7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZicuLi47IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gWydcTWFnaWNpYW4nID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIHsgLi4uIH1dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvcmV0dXJuLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBOVUxMOyBwcml2YXRlICRoYXNoID0gJ2YxNDEzODI2MzY3OWVhOTQ2MjkxMjY3YWY2ZjAwNzNlJzsgcHJpdmF0ZSAkbmFtZSA9ICdyZXR1cm4ucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcmV0dXJuLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivcmV0dXJu5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDov5nkuKrmoIfnrb7nlKjkuo7moIforrDmlrnms5XmiJblh73mlbDnmoTov5Tlm57lgLzlkozov5Tlm57lhoXlrrlcclxuICogQHJldHVybiBpbnQg6L+Z6YeM5Lya6L+U5Zue5LiA5Liq5pW05pWw57G75Z6L55qE5pWw5a2XXHJcbiAqL1xyXG5mdW5jdGlvbiBhKCRwYXJhbSlcclxue1xyXG4gICAgJGIgPSAoaW50KSAkcGFyYW07XHJcbiAgICByZXR1cm4gJGI7XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsnXGEoKScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGdW5jdGlvbl8geyAuLi4gfV07IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfV07IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXSB9IH0sICRub2RlcyA9IFswID0+IGNsYXNzIFBocFBhcnNlclxOb2RlXFN0bXRcQ2xhc3NfIHsgcHVibGljICRmbGFncyA9IDA7IHB1YmxpYyAkZXh0ZW5kcyA9IE5VTEw7IHB1YmxpYyAkaW1wbGVtZW50cyA9IFtdOyBwdWJsaWMgJG5hbWUgPSBjbGFzcyBQaHBQYXJzZXJcTm9kZVxJZGVudGlmaWVyIHsgcHVibGljICRuYW1lID0gJ0ZhdGhlcic7IHByb3RlY3RlZCAkYXR0cmlidXRlcyA9IFsnc3RhcnRMaW5lJyA9PiA4LCAnZW5kTGluZScgPT4gOF0gfTsgcHVibGljICRzdG10cyA9IFswID0+IGNsYXNzIFBocFBhcnNlclxOb2RlXFN0bXRcUHJvcGVydHkgeyBwdWJsaWMgJGZsYWdzID0gMDsgcHVibGljICRwcm9wcyA9IFswID0+IGNsYXNzIFBocFBhcnNlclxOb2RlXFN0bXRcUHJvcGVydHlQcm9wZXJ0eSB7IC4uLiB9XTsgcHVibGljICR0eXBlID0gTlVMTDsgcHVibGljICRhdHRyR3JvdXBzID0gW107IHByb3RlY3RlZCAkYXR0cmlidXRlcyA9IFsnc3RhcnRMaW5lJyA9PiAxNCwgJ2NvbW1lbnRzJyA9PiBbLi4uXSwgJ2VuZExpbmUnID0+IDE0XSB9LCAxID0+IGNsYXNzIFBocFBhcnNlclxOb2RlXFN0bXRcQ2xhc3NNZXRob2QgeyBwdWJsaWMgJGZsYWdzID0gMDsgcHVibGljICRieVJlZiA9IEZBTFNFOyBwdWJsaWMgJG5hbWUgPSBjbGFzcyBQaHBQYXJzZXJcTm9kZVxJZGVudGlmaWVyIHsgcHVibGljICRuYW1lID0gJ3BhcmVudF9tZXRob2QnOyBwcm90ZWN0ZWQgJGF0dHJpYnV0ZXMgPSBbLi4uXSB9OyBwdWJsaWMgJHBhcmFtcyA9IFtdOyBwdWJsaWMgJHJldHVyblR5cGUgPSBOVUxMOyBwdWJsaWMgJHN0bXRzID0gWzAgPT4gY2xhc3MgUGhwUGFyc2VyXE5vZGVcU3RtdFxJZl8geyAuLi4gfV07IHB1YmxpYyAkYXR0ckdyb3VwcyA9IFtdOyBwcm90ZWN0ZWQgJGF0dHJpYnV0ZXMgPSBbJ3N0YXJ0TGluZScgPT4gMjIsICdjb21tZW50cycgPT4gWy4uLl0sICdlbmRMaW5lJyA9PiAyNl07IHB1YmxpYyAkZnFzZW4gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4geyBwcml2YXRlICRmcXNlbiA9ICdcXEZhdGhlcjo6cGFyZW50X21ldGhvZCgpJzsgcHJpdmF0ZSAkbmFtZSA9ICdwYXJlbnRfbWV0aG9kJyB9IH1dOyBwdWJsaWMgJGF0dHJHcm91cHMgPSBbXTsgcHJvdGVjdGVkICRhdHRyaWJ1dGVzID0gWydzdGFydExpbmUnID0+IDgsICdjb21tZW50cycgPT4gWzAgPT4gY2xhc3MgUGhwUGFyc2VyXENvbW1lbnRcRG9jIHsgcHJvdGVjdGVkICR0ZXh0ID0gJy8qKlxyXG4gKiDov5nmmK9yZXR1cm7moIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvueUqOS6jumTvuaOpeWIsOaWh+aho+WGheeahOS7u+S9leWFg+e0oO+8jOS5n+WPr+S7pee7meaMh+WumueahHsgQHNlZSBodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjM5Ni50eHQgPFVSST59XHJcbiAqIEBzZWUgQ2hpbGQ6Om1ldGhvZCgpXHJcbiAqLyc7IHByb3RlY3RlZCAkc3RhcnRMaW5lID0gMjsgcHJvdGVjdGVkICRzdGFydEZpbGVQb3MgPSA3OyBwcm90ZWN0ZWQgJHN0YXJ0VG9rZW5Qb3MgPSAxOyBwcm90ZWN0ZWQgJGVuZExpbmUgPSA3OyBwcm90ZWN0ZWQgJGVuZEZpbGVQb3MgPSAyMDA7IHByb3RlY3RlZCAkZW5kVG9rZW5Qb3MgPSAxIH1dLCAnZW5kTGluZScgPT4gMjddOyBwdWJsaWMgJG5hbWVzcGFjZWROYW1lID0gY2xhc3MgUGhwUGFyc2VyXE5vZGVcTmFtZSB7IHB1YmxpYyAkcGFydHMgPSBbMCA9PiAnRmF0aGVyJ107IHByb3RlY3RlZCAkYXR0cmlidXRlcyA9IFtdIH07IHB1YmxpYyAkZnFzZW4gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4geyBwcml2YXRlICRmcXNlbiA9ICdcXEZhdGhlcic7IHByaXZhdGUgJG5hbWUgPSAnRmF0aGVyJyB9IH0sIDEgPT4gY2xhc3MgUGhwUGFyc2VyXE5vZGVcU3RtdFxDbGFzc18geyBwdWJsaWMgJGZsYWdzID0gMDsgcHVibGljICRleHRlbmRzID0gY2xhc3MgUGhwUGFyc2VyXE5vZGVcTmFtZVxGdWxseVF1YWxpZmllZCB7IHB1YmxpYyAkcGFydHMgPSBbMCA9PiAnRmF0aGVyJ107IHByb3RlY3RlZCAkYXR0cmlidXRlcyA9IFsnc3RhcnRMaW5lJyA9PiAzMywgJ2VuZExpbmUnID0+IDMzXSB9OyBwdWJsaWMgJGltcGxlbWVudHMgPSBbXTsgcHVibGljICRuYW1lID0gY2xhc3MgUGhwUGFyc2VyXE5vZGVcSWRlbnRpZmllciB7IHB1YmxpYyAkbmFtZSA9ICdDaGlsZCc7IHByb3RlY3RlZCAkYXR0cmlidXRlcyA9IFsnc3RhcnRMaW5lJyA9PiAzMywgJ2VuZExpbmUnID0+IDMzXSB9OyBwdWJsaWMgJHN0bXRzID0gWzAgPT4gY2xhc3MgUGhwUGFyc2VyXE5vZGVcU3RtdFxQcm9wZXJ0eSB7IHB1YmxpYyAkZmxhZ3MgPSAwOyBwdWJsaWMgJHByb3BzID0gWzAgPT4gY2xhc3MgUGhwUGFyc2VyXE5vZGVcU3RtdFxQcm9wZXJ0eVByb3BlcnR5IHsgLi4uIH1dOyBwdWJsaWMgJHR5cGUgPSBOVUxMOyBwdWJsaWMgJGF0dHJHcm91cHMgPSBbXTsgcHJvdGVjdGVkICRhdHRyaWJ1dGVzID0gWydzdGFydExpbmUnID0+IDM5LCAnY29tbWVudHMnID0+IFsuLi5dLCAnZW5kTGluZScgPT4gMzldIH1dOyBwdWJsaWMgJGF0dHJHcm91cHMgPSBbXTsgcHJvdGVjdGVkICRhdHRyaWJ1dGVzID0gWydzdGFydExpbmUnID0+IDMzLCAnY29tbWVudHMnID0+IFswID0+IGNsYXNzIFBocFBhcnNlclxDb21tZW50XERvYyB7IHByb3RlY3RlZCAkdGV4dCA9ICcvKipcclxuICog6L+Z5Liq57G75omp5bGV5LqGRmF0aGVyXHJcbiAqIOmTvuaOpeWIsOW4uOmHj+S7peWPiuWwhuWkmuS4quWFg+e0oOaUvuWcqOWQjOS4gOihjOeahOekuuS+i1xyXG4gKiBAc2VlIEZhdGhlciwgVEVTVF9DT05TVFxyXG4gKi8nOyBwcm90ZWN0ZWQgJHN0YXJ0TGluZSA9IDI4OyBwcm90ZWN0ZWQgJHN0YXJ0RmlsZVBvcyA9IDYxNjsgcHJvdGVjdGVkICRzdGFydFRva2VuUG9zID0gNDk7IHByb3RlY3RlZCAkZW5kTGluZSA9IDMyOyBwcm90ZWN0ZWQgJGVuZEZpbGVQb3MgPSA3NDU7IHByb3RlY3RlZCAkZW5kVG9rZW5Qb3MgPSA0OSB9XSwgJ2VuZExpbmUnID0+IDQwXTsgcHVibGljICRuYW1lc3BhY2VkTmFtZSA9IGNsYXNzIFBocFBhcnNlclxOb2RlXE5hbWUgeyBwdWJsaWMgJHBhcnRzID0gWzAgPT4gJ0NoaWxkJ107IHByb3RlY3RlZCAkYXR0cmlidXRlcyA9IFtdIH07IHB1YmxpYyAkZnFzZW4gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4geyBwcml2YXRlICRmcXNlbiA9ICdcXENoaWxkJzsgcHJpdmF0ZSAkbmFtZSA9ICdDaGlsZCcgfSB9LCAyID0+IGNsYXNzIFBocFBhcnNlclxOb2RlXFN0bXRcRXhwcmVzc2lvbiB7IHB1YmxpYyAkZXhwciA9IGNsYXNzIFBocFBhcnNlclxOb2RlXEV4cHJcRnVuY0NhbGwgeyBwdWJsaWMgJG5hbWUgPSBjbGFzcyBQaHBQYXJzZXJcTm9kZVxOYW1lXEZ1bGx5UXVhbGlmaWVkIHsgcHVibGljICRwYXJ0cyA9IFswID0+ICdkZWZpbmUnXTsgcHJvdGVjdGVkICRhdHRyaWJ1dGVzID0gWydzdGFydExpbmUnID0+IDQyLCAnZW5kTGluZScgPT4gNDJdIH07IHB1YmxpYyAkYXJncyA9IFswID0+IGNsYXNzIFBocFBhcnNlclxOb2RlXEFyZyB7IHB1YmxpYyAkbmFtZSA9IE5VTEw7IHB1YmxpYyAkdmFsdWUgPSBjbGFzcyBQaHBQYXJzZXJcTm9kZVxTY2FsYXJcU3RyaW5nXyB7IC4uLiB9OyBwdWJsaWMgJGJ5UmVmID0gRkFMU0U7IHB1YmxpYyAkdW5wYWNrID0gRkFMU0U7IHByb3RlY3RlZCAkYXR0cmlidXRlcyA9IFsuLi5dIH0sIDEgPT4gY2xhc3MgUGhwUGFyc2VyXE5vZGVcQXJnIHsgcHVibGljICRuYW1lID0gTlVMTDsgcHVibGljICR2YWx1ZSA9IGNsYXNzIFBocFBhcnNlclxOb2RlXFNjYWxhclxTdHJpbmdfIHsgLi4uIH07IHB1YmxpYyAkYnlSZWYgPSBGQUxTRTsgcHVibGljICR1bnBhY2sgPSBGQUxTRTsgcHJvdGVjdGVkICRhdHRyaWJ1dGVzID0gWy4uLl0gfV07IHByb3RlY3RlZCAkYXR0cmlidXRlcyA9IFsnc3RhcnRMaW5lJyA9PiA0MiwgJ2VuZExpbmUnID0+IDQyXSB9OyBwcm90ZWN0ZWQgJGF0dHJpYnV0ZXMgPSBbJ3N0YXJ0TGluZScgPT4gNDIsICdlbmRMaW5lJyA9PiA0Ml0gfV0sICRzdHJhdGVnaWVzID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9qZWN0RmFjdG9yeVN0cmF0ZWdpZXMgeyBwcml2YXRlICRzdHJhdGVnaWVzID0gY2xhc3MgU3BsUHJpb3JpdHlRdWV1ZSB7ICB9IH0pIHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvcmVmbGVjdGlvbi9zcmMvcGhwRG9jdW1lbnRvci9SZWZsZWN0aW9uL1BocC9GYWN0b3J5L0ZpbGUucGhwOjEyMAogICAgMy4yNDQzICAgMjIwNjU4MDggIDQwLiBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnlcQWJzdHJhY3RGYWN0b3J5LT5jcmVhdGUoJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnlcQ29udGV4dFN0YWNrIHsgcHJpdmF0ZSAkZWxlbWVudHMgPSBbMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnNTEyZjA1OWFjMmI3ZTkwODBhNjYxNGZhZGQxODg1MjknOyBwcml2YXRlICRuYW1lID0gJ3NlZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9zZWUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9yZXR1cm7moIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvueUqOS6jumTvuaOpeWIsOaWh+aho+WGheeahOS7u+S9leWFg+e0oO+8jOS5n+WPr+S7pee7meaMh+WumueahHsgQHNlZSBodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjM5Ni50eHQgPFVSST59XHJcbiAqIEBzZWUgQ2hpbGQ6Om1ldGhvZCgpXHJcbiAqL1xyXG5jbGFzcyBGYXRoZXJcclxue1xyXG4gICAgLyoqXHJcbiAgICAgKiDpk77mjqXliLDlkIzkuIDnsbvnmoTnpLrkvovvvIzovpPlh7o8dT5GYXRoZXI677yacGFyZW50X21ldGhvZCgpPC91PlxyXG4gICAgICogQHNlZSBwYXJlbnRfbWV0aG9kXHJcbiAgICAgKi9cclxuICAgIHZhciAkZm9vID0gMztcclxuXHJcbiAgICAvKipcclxuICAgICAqIOWtkOexu+e7p+aJv+atpOaWueazleOAglxyXG4gICAgICog5bi46YeP5oiW57G75ZCN55qE5Y2V6K+N56S65L6L77yM5Zyo5pys5L6L5Lit5Li657G75ZCNXHJcbiAgICAgKiBAc2VlIENoaWxkXHJcbiAgICAgKiBAc2VlIENoaWxkOjokZm9vXHJcbicuLi47IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gWydcRmF0aGVyJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyB7IHByaXZhdGUgJGZxc2VuID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIHsgLi4uIH07IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGFic3RyYWN0ID0gRkFMU0U7IHByaXZhdGUgJGZpbmFsID0gRkFMU0U7IHByaXZhdGUgJHBhcmVudCA9IE5VTEw7IHByaXZhdGUgJGltcGxlbWVudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJHByb3BlcnRpZXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0aG9kcyA9IFsuLi5dOyBwcml2YXRlICR1c2VkVHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGxvY2F0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIHsgLi4uIH07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfV07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfV07IHByaXZhdGUgJHR5cGVDb250ZXh0ID0gTlVMTDsgcHJpdmF0ZSAkcHJvamVjdCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdCB7IHByaXZhdGUgJG5hbWUgPSAnVW50aXRsZWQgcHJvamVjdCc7IHByaXZhdGUgJHJvb3ROYW1lc3BhY2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE5hbWVzcGFjZV8geyBwcml2YXRlICRmcXNlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiB7IHByaXZhdGUgJGZxc2VuID0gJ1xcJzsgcHJpdmF0ZSAkbmFtZSA9ICcnIH07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH07IHByaXZhdGUgJGZpbGVzID0gWyd0YWcvYmFzaWMvYWJzdHJhY3QucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnMjdlMGRmODQ0ODgwNzk3NjQ5N2FiMGIyNTAzYzhjMWEnOyBwcml2YXRlICRuYW1lID0gJ2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog5aaC5p6c57G75Lit5pyJ5pyA5bCR5LiA5Liq5oq96LGh5pa55rOV55qE6K+d77yM6YKj5LmI57G75bqU6K+l6KKr5aOw5piO5Li65oq96LGh57G7XHJcbiAqIFxyXG4gKiDku45waHA154mI5pys5LmL5ZCO5q2k5qCH562+5bey6KKr5byD55SoXHJcbiAqIFxyXG4gKiBAYWJzdHJhY3RcclxuICovXHJcblxyXG5hYnN0cmFjdCBjbGFzcyBUZXN0XHJcbntcclxuICAgIC8qKlxyXG4gICAgKiDov5nmmK/kuIDkuKrmir3osaHmlrnms5VhXHJcbiAgICAqXHJcbiAgICAqIEBhYnN0cmFjdFxyXG4gICAgKi9cclxuICAgIGFic3RyYWN0IGZ1bmN0aW9uIGEoKXt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIOi/meaYr+S4gOS4quaZrumAmueahOaWueazlWJcclxuICAgICovXHJcbiAgICBmdW5jdGlvbiBmdW5jdGlvbjIoKXt9XHJcblxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbJ1xUZXN0JyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyB7IC4uLiB9XTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2F1dGhvci5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICflvZPliY3kuLpwYWdl56S65L6LJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyAuLi4gfTsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dOyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyAuLi4gfTsgcHJpdmF0ZSAkbG9jYXRpb24gPSBOVUxMOyBwcml2YXRlICRpc1RlbXBsYXRlU3RhcnQgPSBGQUxTRTsgcHJpdmF0ZSAkaXNUZW1wbGF0ZUVuZCA9IEZBTFNFIH07IHByaXZhdGUgJGhhc2ggPSAnMmMwMGY5MzNmNDAwZjczZGJiNjNiODg5OTliODNjY2InOyBwcml2YXRlICRuYW1lID0gJ2F1dGhvci5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9hdXRob3IucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDlvZPliY3kuLpwYWdl56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7lj6/ku6XnlKjkuo7ku7vkvZXpnIDopoHmoIforrDnmoTlhYPntKDkuIpcclxuICogKGdsb2JhbCB2YXJpYWJsZSwgaW5jbHVkZSwgY29uc3RhbnQsIGZ1bmN0aW9uLCBkZWZpbmUsIGNsYXNzLCB2YXJpYWJsZSwgbWV0aG9kLCBwYWdlKVxyXG4gKiBcclxuICogQGF1dGhvciBob25lY2UgPGNoaW5hX3poekB5ZWFyLm5ldD5cclxuICovXHJcblxyXG4vKipcclxuICog5b2T5YmN5Li6ZnVuY3Rpb27npLrkvotcclxuICogXHJcbiAqIOatpOWHveaVsOWPr+iDveeUseWPpuS4gOS4quS9nOiAhee8luWGmVxyXG4gKiBAYXV0aG9yIGhvbmVjZSBOby4yXHJcbiAqL1xyXG5mdW5jdGlvbiBhKCl7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWydcYSgpJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZ1bmN0aW9uXyB7IC4uLiB9XTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2NhdGVnb3J5LnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyBwcml2YXRlICRzdW1tYXJ5ID0gJ+i/meaYr+WjsOaYjuexu+WIq+eahOekuuS+iyc7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIHsgLi4uIH07IHByaXZhdGUgJHRhZ3MgPSBbLi4uXTsgcHJpdmF0ZSAkY29udGV4dCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IHsgLi4uIH07IHByaXZhdGUgJGxvY2F0aW9uID0gTlVMTDsgcHJpdmF0ZSAkaXNUZW1wbGF0ZVN0YXJ0ID0gRkFMU0U7IHByaXZhdGUgJGlzVGVtcGxhdGVFbmQgPSBGQUxTRSB9OyBwcml2YXRlICRoYXNoID0gJzZiMmZmNmQ0NzYxZjRlYTNmYzlhN2ZiOTk2NTIyMzA3JzsgcHJpdmF0ZSAkbmFtZSA9ICdjYXRlZ29yeS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9jYXRlZ29yeS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr+WjsOaYjuexu+WIq+eahOekuuS+i1xyXG4gKiBcclxuICogQHBhY2thZ2UgTXlQYWNrYWdlXHJcbiAqIEBjYXRlZ29yeSBteWNhdGVnb3J5XHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBnbG9iYWwgYXJyYXkgdXNlZCBmb3Igc3R1ZmZcclxuICovXHJcblxyXG5mdW5jdGlvbiBtaW5lKClcclxue1xyXG4gICAgZ2xvYmFsICRiYXo7XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsnXG1pbmUoKScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGdW5jdGlvbl8geyAuLi4gfV07IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9jb3B5cmlnaHQucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IHByaXZhdGUgJHN1bW1hcnkgPSAn6L+Z5pivY29weXJpZ2h055qE5qCH562+56S65L6LXG7lvZPliY3kuLrpobXpnaLnuqfmlofmoaPlnZcnOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiB7IC4uLiB9OyBwcml2YXRlICR0YWdzID0gWy4uLl07IHByaXZhdGUgJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCB7IC4uLiB9OyBwcml2YXRlICRsb2NhdGlvbiA9IE5VTEw7IHByaXZhdGUgJGlzVGVtcGxhdGVTdGFydCA9IEZBTFNFOyBwcml2YXRlICRpc1RlbXBsYXRlRW5kID0gRkFMU0UgfTsgcHJpdmF0ZSAkaGFzaCA9ICczNTg0YjUyM2FjODRlOTFjNzUxNGRiM2Q3NmFlMzc2Myc7IHByaXZhdGUgJG5hbWUgPSAnY29weXJpZ2h0LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2NvcHlyaWdodC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2NvcHlyaWdodOeahOagh+etvuekuuS+i1xyXG4gKiDlvZPliY3kuLrpobXpnaLnuqfmlofmoaPlnZdcclxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMjMsIGhvbmVjZVxyXG4gKi9cclxuJzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2RlcHJlY2F0ZWQucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnMjc2NzIyNjMzZDI3NDIzYmQ3MjY4ZWQ0MzI5Y2U3NjgnOyBwcml2YXRlICRuYW1lID0gJ2RlcHJlY2F0ZWQucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZGVwcmVjYXRlZC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2RlcHJlY2F0ZWTmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOW9k+WJjeS4unBhZ2XnuqfmlofmoaPlnZfvvIxcclxuICog5q2k5qCH6K6w5Y+v55So5LqOcGFnZee6p+aWh+aho+Wdl+S5i+WklueahOaWh+aho+Wdl1xyXG4gKi9cclxuY2xhc3MgVGVzdFxyXG57XHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIDwwLjEuMD4gYeaWueazleiHqjAuMS4w54mI5pys5bey5byD55SoXHJcbiAgICAgKi9cclxuICAgIGZ1bmN0aW9uIGEoKXt9XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsnXFRlc3QnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIHsgLi4uIH1dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvZXhhbXBsZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc4Y2I4Y2FhMDIzNzJjN2ZhNGZkNGE3N2EwZWMzMWJmNyc7IHByaXZhdGUgJG5hbWUgPSAnZXhhbXBsZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9leGFtcGxlLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuKiDov5nmmK9leGFtcGxl5qCH562+56S65L6LXHJcbiogQGV4YW1wbGUgL3RhZy9pbmxpbmUvZXhhbXBsZS5waHAg6L+Z5piv5q2k5qCH562+5YaF6IGU55So5rOVXHJcbiogQGV4YW1wbGUgZXhhbXBsZS5waHAg5q2k56S65L6L5Li65b2T5YmN55uu5b2V5paH5Lu2XHJcbiovXHJcbmZ1bmN0aW9uIGEoKXt9JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbJ1xhKCknID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRnVuY3Rpb25fIHsgLi4uIH1dOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICfov5nmmK9maWxlc291cmNl5qCH562+55qE56S65L6L5Luj56CBJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyAuLi4gfTsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dOyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyAuLi4gfTsgcHJpdmF0ZSAkbG9jYXRpb24gPSBOVUxMOyBwcml2YXRlICRpc1RlbXBsYXRlU3RhcnQgPSBGQUxTRTsgcHJpdmF0ZSAkaXNUZW1wbGF0ZUVuZCA9IEZBTFNFIH07IHByaXZhdGUgJGhhc2ggPSAnOTg0ZDg3OTFmN2Q5ODRjMjZmNGQxYThlNjcxZjY1MjInOyBwcml2YXRlICRuYW1lID0gJ2ZpbGVzb3VyY2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2ZpbGVzb3VyY2XmoIfnrb7nmoTnpLrkvovku6PnoIFcclxuICogXHJcbiAqIOS9nOeUqOWwseaYr+e7meW9k+WJjeaWh+S7tuWIm+W7uuS4gOS4qumTvuaOpeW5tuaYvuekuua6kOS7o+eggVxyXG4gKiBAZmlsZXNvdXJjZVxyXG4gKi9cclxuZWNobyAxOyc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9maW5hbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc0MGFhMjgzNzgwNDBhMjdjYWIyOTMyY2Q0MmFkMjhlNSc7IHByaXZhdGUgJG5hbWUgPSAnZmluYWwucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmluYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9maW5hbOagh+etvueahOekuuS+i1xyXG4gKiDmraTmoIfnrb7lt7Lml6DmlYjvvIzkvZznlKjlsLHmmK/lrZfpnaLmhI/mgJ1cclxuICovXHJcblxyXG5jbGFzcyBteWNsYXNzXHJcbntcclxuICAgIC8qKlxyXG4gICAgICogQGZpbmFsXHJcbiAgICAgKi9cclxuICAgIGZpbmFsIGZ1bmN0aW9uIGEoKVxyXG4gICAge1xyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbJ1xteWNsYXNzJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyB7IC4uLiB9XTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2dsb2JhbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICfov5nmmK9nbG9iYWzmoIfnrb7npLrkvosnOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiB7IC4uLiB9OyBwcml2YXRlICR0YWdzID0gWy4uLl07IHByaXZhdGUgJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCB7IC4uLiB9OyBwcml2YXRlICRsb2NhdGlvbiA9IE5VTEw7IHByaXZhdGUgJGlzVGVtcGxhdGVTdGFydCA9IEZBTFNFOyBwcml2YXRlICRpc1RlbXBsYXRlRW5kID0gRkFMU0UgfTsgcHJpdmF0ZSAkaGFzaCA9ICdlMjE4MGMxMTEwOTdkMjBmNzRmNDcwMjk4ODg3MTkxMic7IHByaXZhdGUgJG5hbWUgPSAnZ2xvYmFsLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2dsb2JhbC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2dsb2JhbOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5Li76KaB55So5LqO6K6w5b2V5YWo5bGA5Y+Y6YeP55qE55So5rOVXHJcbiAqIOW7uuiuruebtOaOpeWjsOaYjuWcqOWumuS5ieWFqOWxgOWPmOmHj+eahOS4iuS4gOihjO+8jOS7peWFjeW8leWPkeaUvuWcqOmUmeivr+eahOS9nOeUqOWfn+WGheS4jeivhuWIq+eahOmUmeivr1xyXG4gKi9cclxuXHJcbi8qKiBcclxuICogQGdsb2JhbCBtaXhlZCAkX0dMT0JBTFNbIm15dmFyIl0gXHJcbiAqL1xyXG4kX0dMT0JBTFNbIm15dmFyIl0gPSBhcnJheSgidGhpcyIgPT4gXCflt6XkvZzmraPluLhcJyk7XHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiDlsIZAbmFtZeS4jkBnbG9iYWzkuIDotbfkvb/nlKjnmoTnpLrkvotcclxuICog5ZyoQG5hbWXmoIfnrb7kuK3vvIxuYW1l5b+F6aG75pyJJCzlkKbliJnlsIblvJXlj5HplJnor69cclxuICogQGdsb2JhbCBhcnJheSAkR0xPQkFMU1tcJ25lYXRvXCddIFxyXG4gKiBAbmFtZSAkbmVhdG9cclxuICovXHJcbiRHTE9CQUxTW1wnbmVhdG9cJ10gPSAnLi4uOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvaWdub3JlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyBwcml2YXRlICRzdW1tYXJ5ID0gJ+i/meaYr2lnbm9yZeagh+etvuekuuS+iyc7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIHsgLi4uIH07IHByaXZhdGUgJHRhZ3MgPSBbLi4uXTsgcHJpdmF0ZSAkY29udGV4dCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IHsgLi4uIH07IHByaXZhdGUgJGxvY2F0aW9uID0gTlVMTDsgcHJpdmF0ZSAkaXNUZW1wbGF0ZVN0YXJ0ID0gRkFMU0U7IHByaXZhdGUgJGlzVGVtcGxhdGVFbmQgPSBGQUxTRSB9OyBwcml2YXRlICRoYXNoID0gJzhkZmU4ZTg0NWIwNDA3ZGM1ZTQ1ZjkwOTM4ODMwNjliJzsgcHJpdmF0ZSAkbmFtZSA9ICdpZ25vcmUucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvaWdub3JlLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivaWdub3Jl5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7nlKjkuo7nu4Tnu4dwaHBkb2PorrDlvZXlhYPntKBcclxuICovXHJcblxyXG5pZiAoJG9zdGVzdCkge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGlzIGRlZmluZSB3aWxsIGVpdGhlciBiZSBcJ1VuaXhcJyBvciBcJ1dpbmRvd3NcJ1xyXG4gICAgICovXHJcbiAgICBkZWZpbmUoIk9TIiwgIlVuaXgiKTtcclxufVxyXG5lbHNlIHtcclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZSDov5nph4zmmK/lv73nlaXnmoTluLjph49cclxuICAgICAqL1xyXG4gICAgZGVmaW5lKCJPUyIsICJXaW5kb3dzIik7XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbJ1xPUycgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudCB7IC4uLiB9XTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvaW50ZXJuYWwucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnYzY3ZTRiNTExZmZiZWVmMjViYjEzMzU5ZWE5OWExMDUnOyBwcml2YXRlICRuYW1lID0gJ2ludGVybmFsLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2ludGVybmFsLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivaW50ZXJuYWzmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvuWPr+S7peeUn+aIkOS4pOS7veaWh+aho++8jOWumOaWueivtOaYr3BocGRvY+acgOacieeUqOeahOWKn+iDveS5i+S4gFxyXG4gKiB7QGludGVybmFsIOimgeiuv+mXruacieWFs+S/ruaUueatpOexu+eahOaMh+WNlyzop4Ege0BsaW5rIGh0dHA6Ly93d3cuYmFpZHUuY29tIOaMh+WNl30s5oiW6IGU57O75L2g55qE5Li7566hfX19XHJcbiAqIEBpbnRlcm5hbCDor6Xnsbvkvb/nlKjnp4HmnInmlrnms5Uge0BsaW5rIF9mb28oKX0g5ZKMIHtAbGluayBfYmFyKCl9IOWBmuS4gOS6m+Wlh+aAqueahOS6i+aDhVxyXG4gKi9cclxuXHJcbmNsYXNzIERvZXN0aGluZ3Ncclxue1xyXG4gICAgcHJpdmF0ZSBmdW5jdGlvbiBfZm9vKClcclxuICAgIHtcclxuICAgIH1cclxuICAgIHByaXZhdGUgZnVuY3Rpb24gX2JhcigpXHJcbiAgICB7XHJcbiAgICB9XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsnXERvZXN0aGluZ3MnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIHsgLi4uIH1dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvbGljZW5zZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc4NDA2OWNhZjM4YmMyNDJhNDE4OThiYThiMGM4YjA4Yyc7IHByaXZhdGUgJG5hbWUgPSAnbGljZW5zZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9saWNlbnNlLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbGljZW5zZeagh+etvuekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+55So5LqO5ZCR55So5oi35o+Q56S66YCC55So5LqO5q2k5paH5qGj5Z2X55qE6K645Y+v6K+BXHJcbiAqIOWxleekuuaMh+WQkeiuuOWPr+ivgVVSTOeahOi2hemTvuaOpe+8jOS4quS6uuWPquW7uuiuruaUvuWcqOaWh+S7tue6p+WIq+eahOaWh+aho+Wdl+S4rVxyXG4gKiBAbGljZW5zZSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAgQXBhY2hlMi4wXHJcbiAqL1xyXG5cclxuY2xhc3Mgb3BlbnNvdXJjZV9jbGFzc1xyXG57XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsnXG9wZW5zb3VyY2VfY2xhc3MnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIHsgLi4uIH1dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvbGluay5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICfov5nmmK9saW5r5qCH562+56S65L6LJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyAuLi4gfTsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dOyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyAuLi4gfTsgcHJpdmF0ZSAkbG9jYXRpb24gPSBOVUxMOyBwcml2YXRlICRpc1RlbXBsYXRlU3RhcnQgPSBGQUxTRTsgcHJpdmF0ZSAkaXNUZW1wbGF0ZUVuZCA9IEZBTFNFIH07IHByaXZhdGUgJGhhc2ggPSAnMDU1YmUwYTAxOTY2NjM2MDAzMTU3YmRjMjVhZjkwNmInOyBwcml2YXRlICRuYW1lID0gJ2xpbmsucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbGluay5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2xpbmvmoIfnrb7npLrkvotcclxuICogQGxpbmsgaHR0cDovL3d3dy5iYWlkdS5jb20g6K+m5oOF5om+55m+5bqmXHJcbiAqL1xyXG5cclxuIC8qKlxyXG4gICogRGlzcGxheXMgPGEgaHJlZj0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+SGVsbG88L2E+XHJcbiAgKiBAbGluayBodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjM5Ni50eHQgUkZDMjM5NlxyXG4gICovXHJcbiBkZWZpbmUoIlRFU1RfQ09OU1RBTlQyIiwzKTtcclxuJzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWydcVEVTVF9DT05TVEFOVDInID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQgeyAuLi4gfV07IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL21ldGhvZC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICcyMGI1ZTQ1ZThjMjc0ZWM0YjdjMzNhZjBmY2FlOWY5ZCc7IHByaXZhdGUgJG5hbWUgPSAnbWV0aG9kLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL21ldGhvZC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr21ldGhvZOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5a6Y5pa557uZ5Ye655qE5a6a5LmJ5piv77yM6KaB5Zyo5a2Q57G75Lit5aOw5piO54i257G75L2/55So6a2U5pyv5pa55rOV5p2l5a6e546w55qE5LiA5Lqb6Z2e5pi+56S65a2Y5Zyo5pa55rOVXHJcbiAqIOi/meS4quagh+etvuS4jeS8muWcqHBocERvY+aYvuekumZ1bmN0aW9u5a6e5L2TXHJcbiAqIFxyXG4gKiBAbWV0aG9kIHJldHVybiB2b2lkIGVjaG8yKHN0cmluZyAkc3RyaW5nKSA85omT5Y2w5bim5pyJ5o2i6KGM56ym55qE5a2X56ym5LiyPlxyXG4gKi9cclxuY2xhc3MgVGVzdCBleHRlbmRzIEZhdGhlcnt9XHJcblxyXG5jbGFzcyBGYXRoZXJcclxue1xyXG4gICAgZnVuY3Rpb24gX19jYWxsKCRtZXRob2QsIHN0cmluZyAkcGFyYW1zKVxyXG4gICAge1xyXG4gICAgICAgIGlmICgkbWV0aG9kID09IFwnZWNobzJcJykge1xyXG4gICAgICAgICAgICBlY2hvICRwYXJhbXMgLiBQSFBfRU9MO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gWydcVGVzdCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18geyAuLi4gfSwgJ1xGYXRoZXInID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIHsgLi4uIH1dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvbmFtZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICfov5nmmK9uYW1l5qCH562+56S65L6LJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyAuLi4gfTsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dOyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyAuLi4gfTsgcHJpdmF0ZSAkbG9jYXRpb24gPSBOVUxMOyBwcml2YXRlICRpc1RlbXBsYXRlU3RhcnQgPSBGQUxTRTsgcHJpdmF0ZSAkaXNUZW1wbGF0ZUVuZCA9IEZBTFNFIH07IHByaXZhdGUgJGhhc2ggPSAnOTI0Zjk1MzNlOGE3NDFkMTMxNzM2ZmJmODZmODZmOTcnOyBwcml2YXRlICRuYW1lID0gJ25hbWUucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbmFtZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr25hbWXmoIfnrb7npLrkvotcclxuICovXHJcblxyXG4vKipcclxuICog5b2T5Zyo5Ye95pWw5Lit5L2/55SoQGdsb2JhbOaXtu+8jOWug+WwhumTvuaOpeWIsCRiYXpcclxuICogQG5hbWUgJGJhelxyXG4gKiBAZ2xvYmFsIGFycmF5ICRHTE9CQUxTW1wnYmF6XCddIFxyXG4gKi9cclxuJEdMT0JBTFNbXCdiYXpcJ10gPSBhcnJheShcJ2Zvb1wnLCBcJ2JhclwnKTtcclxuXHJcbi8qKlxyXG4gKiBAZ2xvYmFsIGFycmF5IHVzZWQgZm9yIHN0dWZmXHJcbiAqL1xyXG5mdW5jdGlvbiBtaW5lKClcclxue1xyXG4gICAgZ2xvYmFsICRiYXo7XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsnXG1pbmUoKScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGdW5jdGlvbl8geyAuLi4gfV07IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9wYWNrYWdlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyBwcml2YXRlICRzdW1tYXJ5ID0gJ+i/meaYr3BhY2thZ2XmoIfnrb7npLrkvosnOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiB7IC4uLiB9OyBwcml2YXRlICR0YWdzID0gWy4uLl07IHByaXZhdGUgJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCB7IC4uLiB9OyBwcml2YXRlICRsb2NhdGlvbiA9IE5VTEw7IHByaXZhdGUgJGlzVGVtcGxhdGVTdGFydCA9IEZBTFNFOyBwcml2YXRlICRpc1RlbXBsYXRlRW5kID0gRkFMU0UgfTsgcHJpdmF0ZSAkaGFzaCA9ICcxMmY5M2Y2NDI0NzZmZmI1OWE3YzgwMGNiNTM2NzYzMyc7IHByaXZhdGUgJG5hbWUgPSAncGFja2FnZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9wYWNrYWdlLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivcGFja2FnZeagh+etvuekuuS+i1xyXG4gKiBcclxuICog6aG16Z2i57qnRG9jQmxvY2vnpLrkvovjgIJcclxuICog5q2kRG9jQmxvY2vkvY3kuo7lj6bkuIDkuKpEb2NCbG9ja+S5i+WJje+8jOWwhuiiq+ino+aekOS4uumhtemdoue6p+WIq+OAglxyXG4gKiDlsIbmgqjnmoRAcGFja2FnZeWSjEBzdWJwYWNrYWdl5qCH6K6w5pS+5Zyo5q2k5aSEXHJcbiAqIEBwYWNrYWdlIHBhZ2VsZXZlbF9wYWNrYWdlXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIGZ1bmN0aW9uIGJsdWhcclxuICovXHJcbmZ1bmN0aW9uIGJsdWgoKVxyXG57XHJcbn1cclxuPz5cclxuPD9waHBcclxuLyoqXHJcbiog57G7IGJsdWhcclxuKiDnsbvnuqdEb2NCbG9ja+ekuuS+i+OAguS7peS4i+ekuuS+i+S7o+ihqGFwcGxpZXNfdG9fYmx1aOWMheWcqGFwcGxpZXNfdG9fYmx1aOWGhVxyXG4qIEBwYWNrYWdlIHBhZ2VsZXZlbF9wYWNrYWdlXFxcXGFwcGxpZXNfdG9fYmx1aCBcclxuKi9cclxuY2xhc3MgYmx1aFxyXG57XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIOatpOWPmOmHj+S9nOS4uuWMJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbJ1xibHVoKCknID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRnVuY3Rpb25fIHsgLi4uIH1dOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsnXGJsdWgnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIHsgLi4uIH1dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvcGFyYW0ucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IHByaXZhdGUgJHN1bW1hcnkgPSAn6L+Z5pivcGFyYW3moIfnrb7npLrkvosnOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiB7IC4uLiB9OyBwcml2YXRlICR0YWdzID0gWy4uLl07IHByaXZhdGUgJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCB7IC4uLiB9OyBwcml2YXRlICRsb2NhdGlvbiA9IE5VTEw7IHByaXZhdGUgJGlzVGVtcGxhdGVTdGFydCA9IEZBTFNFOyBwcml2YXRlICRpc1RlbXBsYXRlRW5kID0gRkFMU0UgfTsgcHJpdmF0ZSAkaGFzaCA9ICczMjhhYjY2Y2MyNzI0ODRmM2Y2OTYwMGNjZmE3Zjg5Mic7IHByaXZhdGUgJG5hbWUgPSAncGFyYW0ucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcGFyYW0ucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wYXJhbeagh+etvuekuuS+i1xyXG4gKiBcclxuICog5aOw5piO5pa55rOV5Lyg5YWl55qE5Y+C5pWwXHJcbiAqL1xyXG5cclxuIC8qKlxyXG4gICogQHBhcmFtIGludCAkYiDkvaDpnIDopoHkvKDlhaXkuIDkuKrmlbTmlbDlnovnmoTlj5jph49cclxuICAqL1xyXG4gZnVuY3Rpb24gYShpbnQgJGIpe30nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsnXGEoKScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGdW5jdGlvbl8geyAuLi4gfV07IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9wcm9wZXJ0eS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc3YzdiMWI1YjVlOTQyNmY3NTUxNGJmMDRjYzJhZmY3NCc7IHByaXZhdGUgJG5hbWUgPSAncHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wcm9wZXJ0eeWMheaLrOWug+eahOWPmOS9k1twcm9wZXJ0eS1yZWFkIHwgcHJvcGVydHktd3JpdGVd5qCH562+56S65L6LXHJcbiAqXHJcbiAqIEBwcm9wZXJ0eSBtaXhlZCAkcmVndWxhciDlo7DmmI7luLjop4TnmoTor7vlhpnlsZ7mgKdcclxuICogQHByb3BlcnR5LXJlYWQgaW50ICRmb28g5aOw5piO5Y+q6K+7XHJcbiAqIEBwcm9wZXJ0eS13cml0ZSBzdHJpbmcgJGJhciDlo7DmmI7lj6rlhplcclxuICovXHJcblxyXG5jbGFzcyBNYWdpY2lhblxyXG57XHJcbiAgICBwcml2YXRlICRfdGhpbmd5O1xyXG4gICAgcHJpdmF0ZSAkX2JhcjtcclxuICAgIGZ1bmN0aW9uIF9fZ2V0KCR2YXIpXHJcbiAgICB7XHJcbiAgICAgICAgc3dpdGNoICgkdmFyKSB7XHJcbiAgICAgICAgICAgIGNhc2UgXCdmb29cJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiA0NTtcclxuICAgICAgICAgICAgY2FzZSBcJ3JlZ3VsYXJcJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X3RoaW5neTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbJ1xNYWdpY2lhbicgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18geyAuLi4gfV07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9yZXR1cm4ucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnZjE0MTM4MjYzNjc5ZWE5NDYyOTEyNjdhZjZmMDA3M2UnOyBwcml2YXRlICRuYW1lID0gJ3JldHVybi5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9yZXR1cm4ucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9yZXR1cm7moIfnrb7npLrkvotcclxuICogXHJcbiAqIOi/meS4quagh+etvueUqOS6juagh+iusOaWueazleaIluWHveaVsOeahOi/lOWbnuWAvOWSjOi/lOWbnuWGheWuuVxyXG4gKiBAcmV0dXJuIGludCDov5nph4zkvJrov5Tlm57kuIDkuKrmlbTmlbDnsbvlnovnmoTmlbDlrZdcclxuICovXHJcbmZ1bmN0aW9uIGEoJHBhcmFtKVxyXG57XHJcbiAgICAkYiA9IChpbnQpICRwYXJhbTtcclxuICAgIHJldHVybiAkYjtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWydcYSgpJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZ1bmN0aW9uXyB7IC4uLiB9XTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9XTsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdIH0gfSwgJG9iamVjdCA9IGNsYXNzIFBocFBhcnNlclxOb2RlXFN0bXRcQ2xhc3NfIHsgcHVibGljICRmbGFncyA9IDA7IHB1YmxpYyAkZXh0ZW5kcyA9IGNsYXNzIFBocFBhcnNlclxOb2RlXE5hbWVcRnVsbHlRdWFsaWZpZWQgeyBwdWJsaWMgJHBhcnRzID0gWzAgPT4gJ0ZhdGhlciddOyBwcm90ZWN0ZWQgJGF0dHJpYnV0ZXMgPSBbJ3N0YXJ0TGluZScgPT4gMzMsICdlbmRMaW5lJyA9PiAzM10gfTsgcHVibGljICRpbXBsZW1lbnRzID0gW107IHB1YmxpYyAkbmFtZSA9IGNsYXNzIFBocFBhcnNlclxOb2RlXElkZW50aWZpZXIgeyBwdWJsaWMgJG5hbWUgPSAnQ2hpbGQnOyBwcm90ZWN0ZWQgJGF0dHJpYnV0ZXMgPSBbJ3N0YXJ0TGluZScgPT4gMzMsICdlbmRMaW5lJyA9PiAzM10gfTsgcHVibGljICRzdG10cyA9IFswID0+IGNsYXNzIFBocFBhcnNlclxOb2RlXFN0bXRcUHJvcGVydHkgeyBwdWJsaWMgJGZsYWdzID0gMDsgcHVibGljICRwcm9wcyA9IFswID0+IGNsYXNzIFBocFBhcnNlclxOb2RlXFN0bXRcUHJvcGVydHlQcm9wZXJ0eSB7IHB1YmxpYyAkbmFtZSA9IGNsYXNzIFBocFBhcnNlclxOb2RlXFZhckxpa2VJZGVudGlmaWVyIHsgLi4uIH07IHB1YmxpYyAkZGVmYXVsdCA9IGNsYXNzIFBocFBhcnNlclxOb2RlXFNjYWxhclxMTnVtYmVyIHsgLi4uIH07IHByb3RlY3RlZCAkYXR0cmlidXRlcyA9IFsuLi5dOyBwdWJsaWMgJGZxc2VuID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIHsgLi4uIH0gfV07IHB1YmxpYyAkdHlwZSA9IE5VTEw7IHB1YmxpYyAkYXR0ckdyb3VwcyA9IFtdOyBwcm90ZWN0ZWQgJGF0dHJpYnV0ZXMgPSBbJ3N0YXJ0TGluZScgPT4gMzksICdjb21tZW50cycgPT4gWzAgPT4gY2xhc3MgUGhwUGFyc2VyXENvbW1lbnRcRG9jIHsgLi4uIH1dLCAnZW5kTGluZScgPT4gMzldIH1dOyBwdWJsaWMgJGF0dHJHcm91cHMgPSBbXTsgcHJvdGVjdGVkICRhdHRyaWJ1dGVzID0gWydzdGFydExpbmUnID0+IDMzLCAnY29tbWVudHMnID0+IFswID0+IGNsYXNzIFBocFBhcnNlclxDb21tZW50XERvYyB7IHByb3RlY3RlZCAkdGV4dCA9ICcvKipcclxuICog6L+Z5Liq57G75omp5bGV5LqGRmF0aGVyXHJcbiAqIOmTvuaOpeWIsOW4uOmHj+S7peWPiuWwhuWkmuS4quWFg+e0oOaUvuWcqOWQjOS4gOihjOeahOekuuS+i1xyXG4gKiBAc2VlIEZhdGhlciwgVEVTVF9DT05TVFxyXG4gKi8nOyBwcm90ZWN0ZWQgJHN0YXJ0TGluZSA9IDI4OyBwcm90ZWN0ZWQgJHN0YXJ0RmlsZVBvcyA9IDYxNjsgcHJvdGVjdGVkICRzdGFydFRva2VuUG9zID0gNDk7IHByb3RlY3RlZCAkZW5kTGluZSA9IDMyOyBwcm90ZWN0ZWQgJGVuZEZpbGVQb3MgPSA3NDU7IHByb3RlY3RlZCAkZW5kVG9rZW5Qb3MgPSA0OSB9XSwgJ2VuZExpbmUnID0+IDQwXTsgcHVibGljICRuYW1lc3BhY2VkTmFtZSA9IGNsYXNzIFBocFBhcnNlclxOb2RlXE5hbWUgeyBwdWJsaWMgJHBhcnRzID0gWzAgPT4gJ0NoaWxkJ107IHByb3RlY3RlZCAkYXR0cmlidXRlcyA9IFtdIH07IHB1YmxpYyAkZnFzZW4gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4geyBwcml2YXRlICRmcXNlbiA9ICdcXENoaWxkJzsgcHJpdmF0ZSAkbmFtZSA9ICdDaGlsZCcgfSB9LCAkc3RyYXRlZ2llcyA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdEZhY3RvcnlTdHJhdGVnaWVzIHsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIFNwbFByaW9yaXR5UXVldWUgeyAgfSB9KSBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9QaHAvRmFjdG9yeS9GaWxlLnBocDoxMzUKICAgIDMuMjQ1MCAgIDIyMDY1ODA4ICA0MS4gcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGYWN0b3J5XENsYXNzXy0+ZG9DcmVhdGUoJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZhY3RvcnlcQ29udGV4dFN0YWNrIHsgcHJpdmF0ZSAkZWxlbWVudHMgPSBbMCA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnNTEyZjA1OWFjMmI3ZTkwODBhNjYxNGZhZGQxODg1MjknOyBwcml2YXRlICRuYW1lID0gJ3NlZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9zZWUucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9yZXR1cm7moIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvueUqOS6jumTvuaOpeWIsOaWh+aho+WGheeahOS7u+S9leWFg+e0oO+8jOS5n+WPr+S7pee7meaMh+WumueahHsgQHNlZSBodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjM5Ni50eHQgPFVSST59XHJcbiAqIEBzZWUgQ2hpbGQ6Om1ldGhvZCgpXHJcbiAqL1xyXG5jbGFzcyBGYXRoZXJcclxue1xyXG4gICAgLyoqXHJcbiAgICAgKiDpk77mjqXliLDlkIzkuIDnsbvnmoTnpLrkvovvvIzovpPlh7o8dT5GYXRoZXI677yacGFyZW50X21ldGhvZCgpPC91PlxyXG4gICAgICogQHNlZSBwYXJlbnRfbWV0aG9kXHJcbiAgICAgKi9cclxuICAgIHZhciAkZm9vID0gMztcclxuXHJcbiAgICAvKipcclxuICAgICAqIOWtkOexu+e7p+aJv+atpOaWueazleOAglxyXG4gICAgICog5bi46YeP5oiW57G75ZCN55qE5Y2V6K+N56S65L6L77yM5Zyo5pys5L6L5Lit5Li657G75ZCNXHJcbiAgICAgKiBAc2VlIENoaWxkXHJcbiAgICAgKiBAc2VlIENoaWxkOjokZm9vXHJcbicuLi47IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gWydcRmF0aGVyJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyB7IHByaXZhdGUgJGZxc2VuID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIHsgLi4uIH07IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgLi4uIH07IHByaXZhdGUgJGFic3RyYWN0ID0gRkFMU0U7IHByaXZhdGUgJGZpbmFsID0gRkFMU0U7IHByaXZhdGUgJHBhcmVudCA9IE5VTEw7IHByaXZhdGUgJGltcGxlbWVudHMgPSBbLi4uXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWy4uLl07IHByaXZhdGUgJHByb3BlcnRpZXMgPSBbLi4uXTsgcHJpdmF0ZSAkbWV0aG9kcyA9IFsuLi5dOyBwcml2YXRlICR1c2VkVHJhaXRzID0gWy4uLl07IHByaXZhdGUgJGxvY2F0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIHsgLi4uIH07IHByaXZhdGUgJG1ldGFkYXRhID0gWy4uLl0gfV07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfV07IHByaXZhdGUgJHR5cGVDb250ZXh0ID0gTlVMTDsgcHJpdmF0ZSAkcHJvamVjdCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdCB7IHByaXZhdGUgJG5hbWUgPSAnVW50aXRsZWQgcHJvamVjdCc7IHByaXZhdGUgJHJvb3ROYW1lc3BhY2UgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE5hbWVzcGFjZV8geyBwcml2YXRlICRmcXNlbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiB7IHByaXZhdGUgJGZxc2VuID0gJ1xcJzsgcHJpdmF0ZSAkbmFtZSA9ICcnIH07IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH07IHByaXZhdGUgJGZpbGVzID0gWyd0YWcvYmFzaWMvYWJzdHJhY3QucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnMjdlMGRmODQ0ODgwNzk3NjQ5N2FiMGIyNTAzYzhjMWEnOyBwcml2YXRlICRuYW1lID0gJ2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2Fic3RyYWN0LnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog5aaC5p6c57G75Lit5pyJ5pyA5bCR5LiA5Liq5oq96LGh5pa55rOV55qE6K+d77yM6YKj5LmI57G75bqU6K+l6KKr5aOw5piO5Li65oq96LGh57G7XHJcbiAqIFxyXG4gKiDku45waHA154mI5pys5LmL5ZCO5q2k5qCH562+5bey6KKr5byD55SoXHJcbiAqIFxyXG4gKiBAYWJzdHJhY3RcclxuICovXHJcblxyXG5hYnN0cmFjdCBjbGFzcyBUZXN0XHJcbntcclxuICAgIC8qKlxyXG4gICAgKiDov5nmmK/kuIDkuKrmir3osaHmlrnms5VhXHJcbiAgICAqXHJcbiAgICAqIEBhYnN0cmFjdFxyXG4gICAgKi9cclxuICAgIGFic3RyYWN0IGZ1bmN0aW9uIGEoKXt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIOi/meaYr+S4gOS4quaZrumAmueahOaWueazlWJcclxuICAgICovXHJcbiAgICBmdW5jdGlvbiBmdW5jdGlvbjIoKXt9XHJcblxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbJ1xUZXN0JyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyB7IC4uLiB9XTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2F1dGhvci5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICflvZPliY3kuLpwYWdl56S65L6LJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyAuLi4gfTsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dOyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyAuLi4gfTsgcHJpdmF0ZSAkbG9jYXRpb24gPSBOVUxMOyBwcml2YXRlICRpc1RlbXBsYXRlU3RhcnQgPSBGQUxTRTsgcHJpdmF0ZSAkaXNUZW1wbGF0ZUVuZCA9IEZBTFNFIH07IHByaXZhdGUgJGhhc2ggPSAnMmMwMGY5MzNmNDAwZjczZGJiNjNiODg5OTliODNjY2InOyBwcml2YXRlICRuYW1lID0gJ2F1dGhvci5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9hdXRob3IucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDlvZPliY3kuLpwYWdl56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7lj6/ku6XnlKjkuo7ku7vkvZXpnIDopoHmoIforrDnmoTlhYPntKDkuIpcclxuICogKGdsb2JhbCB2YXJpYWJsZSwgaW5jbHVkZSwgY29uc3RhbnQsIGZ1bmN0aW9uLCBkZWZpbmUsIGNsYXNzLCB2YXJpYWJsZSwgbWV0aG9kLCBwYWdlKVxyXG4gKiBcclxuICogQGF1dGhvciBob25lY2UgPGNoaW5hX3poekB5ZWFyLm5ldD5cclxuICovXHJcblxyXG4vKipcclxuICog5b2T5YmN5Li6ZnVuY3Rpb27npLrkvotcclxuICogXHJcbiAqIOatpOWHveaVsOWPr+iDveeUseWPpuS4gOS4quS9nOiAhee8luWGmVxyXG4gKiBAYXV0aG9yIGhvbmVjZSBOby4yXHJcbiAqL1xyXG5mdW5jdGlvbiBhKCl7fSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWydcYSgpJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZ1bmN0aW9uXyB7IC4uLiB9XTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2NhdGVnb3J5LnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyBwcml2YXRlICRzdW1tYXJ5ID0gJ+i/meaYr+WjsOaYjuexu+WIq+eahOekuuS+iyc7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIHsgLi4uIH07IHByaXZhdGUgJHRhZ3MgPSBbLi4uXTsgcHJpdmF0ZSAkY29udGV4dCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IHsgLi4uIH07IHByaXZhdGUgJGxvY2F0aW9uID0gTlVMTDsgcHJpdmF0ZSAkaXNUZW1wbGF0ZVN0YXJ0ID0gRkFMU0U7IHByaXZhdGUgJGlzVGVtcGxhdGVFbmQgPSBGQUxTRSB9OyBwcml2YXRlICRoYXNoID0gJzZiMmZmNmQ0NzYxZjRlYTNmYzlhN2ZiOTk2NTIyMzA3JzsgcHJpdmF0ZSAkbmFtZSA9ICdjYXRlZ29yeS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9jYXRlZ29yeS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr+WjsOaYjuexu+WIq+eahOekuuS+i1xyXG4gKiBcclxuICogQHBhY2thZ2UgTXlQYWNrYWdlXHJcbiAqIEBjYXRlZ29yeSBteWNhdGVnb3J5XHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBnbG9iYWwgYXJyYXkgdXNlZCBmb3Igc3R1ZmZcclxuICovXHJcblxyXG5mdW5jdGlvbiBtaW5lKClcclxue1xyXG4gICAgZ2xvYmFsICRiYXo7XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsnXG1pbmUoKScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGdW5jdGlvbl8geyAuLi4gfV07IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9jb3B5cmlnaHQucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IHByaXZhdGUgJHN1bW1hcnkgPSAn6L+Z5pivY29weXJpZ2h055qE5qCH562+56S65L6LXG7lvZPliY3kuLrpobXpnaLnuqfmlofmoaPlnZcnOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiB7IC4uLiB9OyBwcml2YXRlICR0YWdzID0gWy4uLl07IHByaXZhdGUgJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCB7IC4uLiB9OyBwcml2YXRlICRsb2NhdGlvbiA9IE5VTEw7IHByaXZhdGUgJGlzVGVtcGxhdGVTdGFydCA9IEZBTFNFOyBwcml2YXRlICRpc1RlbXBsYXRlRW5kID0gRkFMU0UgfTsgcHJpdmF0ZSAkaGFzaCA9ICczNTg0YjUyM2FjODRlOTFjNzUxNGRiM2Q3NmFlMzc2Myc7IHByaXZhdGUgJG5hbWUgPSAnY29weXJpZ2h0LnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2NvcHlyaWdodC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2NvcHlyaWdodOeahOagh+etvuekuuS+i1xyXG4gKiDlvZPliY3kuLrpobXpnaLnuqfmlofmoaPlnZdcclxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMjMsIGhvbmVjZVxyXG4gKi9cclxuJzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2RlcHJlY2F0ZWQucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnMjc2NzIyNjMzZDI3NDIzYmQ3MjY4ZWQ0MzI5Y2U3NjgnOyBwcml2YXRlICRuYW1lID0gJ2RlcHJlY2F0ZWQucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZGVwcmVjYXRlZC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2RlcHJlY2F0ZWTmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOW9k+WJjeS4unBhZ2XnuqfmlofmoaPlnZfvvIxcclxuICog5q2k5qCH6K6w5Y+v55So5LqOcGFnZee6p+aWh+aho+Wdl+S5i+WklueahOaWh+aho+Wdl1xyXG4gKi9cclxuY2xhc3MgVGVzdFxyXG57XHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIDwwLjEuMD4gYeaWueazleiHqjAuMS4w54mI5pys5bey5byD55SoXHJcbiAgICAgKi9cclxuICAgIGZ1bmN0aW9uIGEoKXt9XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsnXFRlc3QnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIHsgLi4uIH1dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvZXhhbXBsZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc4Y2I4Y2FhMDIzNzJjN2ZhNGZkNGE3N2EwZWMzMWJmNyc7IHByaXZhdGUgJG5hbWUgPSAnZXhhbXBsZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9leGFtcGxlLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuKiDov5nmmK9leGFtcGxl5qCH562+56S65L6LXHJcbiogQGV4YW1wbGUgL3RhZy9pbmxpbmUvZXhhbXBsZS5waHAg6L+Z5piv5q2k5qCH562+5YaF6IGU55So5rOVXHJcbiogQGV4YW1wbGUgZXhhbXBsZS5waHAg5q2k56S65L6L5Li65b2T5YmN55uu5b2V5paH5Lu2XHJcbiovXHJcbmZ1bmN0aW9uIGEoKXt9JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbJ1xhKCknID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRnVuY3Rpb25fIHsgLi4uIH1dOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICfov5nmmK9maWxlc291cmNl5qCH562+55qE56S65L6L5Luj56CBJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyAuLi4gfTsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dOyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyAuLi4gfTsgcHJpdmF0ZSAkbG9jYXRpb24gPSBOVUxMOyBwcml2YXRlICRpc1RlbXBsYXRlU3RhcnQgPSBGQUxTRTsgcHJpdmF0ZSAkaXNUZW1wbGF0ZUVuZCA9IEZBTFNFIH07IHByaXZhdGUgJGhhc2ggPSAnOTg0ZDg3OTFmN2Q5ODRjMjZmNGQxYThlNjcxZjY1MjInOyBwcml2YXRlICRuYW1lID0gJ2ZpbGVzb3VyY2UucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmlsZXNvdXJjZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2ZpbGVzb3VyY2XmoIfnrb7nmoTnpLrkvovku6PnoIFcclxuICogXHJcbiAqIOS9nOeUqOWwseaYr+e7meW9k+WJjeaWh+S7tuWIm+W7uuS4gOS4qumTvuaOpeW5tuaYvuekuua6kOS7o+eggVxyXG4gKiBAZmlsZXNvdXJjZVxyXG4gKi9cclxuZWNobyAxOyc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9maW5hbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc0MGFhMjgzNzgwNDBhMjdjYWIyOTMyY2Q0MmFkMjhlNSc7IHByaXZhdGUgJG5hbWUgPSAnZmluYWwucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvZmluYWwucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9maW5hbOagh+etvueahOekuuS+i1xyXG4gKiDmraTmoIfnrb7lt7Lml6DmlYjvvIzkvZznlKjlsLHmmK/lrZfpnaLmhI/mgJ1cclxuICovXHJcblxyXG5jbGFzcyBteWNsYXNzXHJcbntcclxuICAgIC8qKlxyXG4gICAgICogQGZpbmFsXHJcbiAgICAgKi9cclxuICAgIGZpbmFsIGZ1bmN0aW9uIGEoKVxyXG4gICAge1xyXG4gICAgfVxyXG59JzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbJ1xteWNsYXNzJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyB7IC4uLiB9XTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL2dsb2JhbC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICfov5nmmK9nbG9iYWzmoIfnrb7npLrkvosnOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiB7IC4uLiB9OyBwcml2YXRlICR0YWdzID0gWy4uLl07IHByaXZhdGUgJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCB7IC4uLiB9OyBwcml2YXRlICRsb2NhdGlvbiA9IE5VTEw7IHByaXZhdGUgJGlzVGVtcGxhdGVTdGFydCA9IEZBTFNFOyBwcml2YXRlICRpc1RlbXBsYXRlRW5kID0gRkFMU0UgfTsgcHJpdmF0ZSAkaGFzaCA9ICdlMjE4MGMxMTEwOTdkMjBmNzRmNDcwMjk4ODg3MTkxMic7IHByaXZhdGUgJG5hbWUgPSAnZ2xvYmFsLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2dsb2JhbC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2dsb2JhbOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5Li76KaB55So5LqO6K6w5b2V5YWo5bGA5Y+Y6YeP55qE55So5rOVXHJcbiAqIOW7uuiuruebtOaOpeWjsOaYjuWcqOWumuS5ieWFqOWxgOWPmOmHj+eahOS4iuS4gOihjO+8jOS7peWFjeW8leWPkeaUvuWcqOmUmeivr+eahOS9nOeUqOWfn+WGheS4jeivhuWIq+eahOmUmeivr1xyXG4gKi9cclxuXHJcbi8qKiBcclxuICogQGdsb2JhbCBtaXhlZCAkX0dMT0JBTFNbIm15dmFyIl0gXHJcbiAqL1xyXG4kX0dMT0JBTFNbIm15dmFyIl0gPSBhcnJheSgidGhpcyIgPT4gXCflt6XkvZzmraPluLhcJyk7XHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiDlsIZAbmFtZeS4jkBnbG9iYWzkuIDotbfkvb/nlKjnmoTnpLrkvotcclxuICog5ZyoQG5hbWXmoIfnrb7kuK3vvIxuYW1l5b+F6aG75pyJJCzlkKbliJnlsIblvJXlj5HplJnor69cclxuICogQGdsb2JhbCBhcnJheSAkR0xPQkFMU1tcJ25lYXRvXCddIFxyXG4gKiBAbmFtZSAkbmVhdG9cclxuICovXHJcbiRHTE9CQUxTW1wnbmVhdG9cJ10gPSAnLi4uOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvaWdub3JlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyBwcml2YXRlICRzdW1tYXJ5ID0gJ+i/meaYr2lnbm9yZeagh+etvuekuuS+iyc7IHByaXZhdGUgJGRlc2NyaXB0aW9uID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIHsgLi4uIH07IHByaXZhdGUgJHRhZ3MgPSBbLi4uXTsgcHJpdmF0ZSAkY29udGV4dCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IHsgLi4uIH07IHByaXZhdGUgJGxvY2F0aW9uID0gTlVMTDsgcHJpdmF0ZSAkaXNUZW1wbGF0ZVN0YXJ0ID0gRkFMU0U7IHByaXZhdGUgJGlzVGVtcGxhdGVFbmQgPSBGQUxTRSB9OyBwcml2YXRlICRoYXNoID0gJzhkZmU4ZTg0NWIwNDA3ZGM1ZTQ1ZjkwOTM4ODMwNjliJzsgcHJpdmF0ZSAkbmFtZSA9ICdpZ25vcmUucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvaWdub3JlLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivaWdub3Jl5qCH562+56S65L6LXHJcbiAqIFxyXG4gKiDmraTmoIfnrb7nlKjkuo7nu4Tnu4dwaHBkb2PorrDlvZXlhYPntKBcclxuICovXHJcblxyXG5pZiAoJG9zdGVzdCkge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGlzIGRlZmluZSB3aWxsIGVpdGhlciBiZSBcJ1VuaXhcJyBvciBcJ1dpbmRvd3NcJ1xyXG4gICAgICovXHJcbiAgICBkZWZpbmUoIk9TIiwgIlVuaXgiKTtcclxufVxyXG5lbHNlIHtcclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZSDov5nph4zmmK/lv73nlaXnmoTluLjph49cclxuICAgICAqL1xyXG4gICAgZGVmaW5lKCJPUyIsICJXaW5kb3dzIik7XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbJ1xPUycgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudCB7IC4uLiB9XTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFtdOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvaW50ZXJuYWwucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnYzY3ZTRiNTExZmZiZWVmMjViYjEzMzU5ZWE5OWExMDUnOyBwcml2YXRlICRuYW1lID0gJ2ludGVybmFsLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL2ludGVybmFsLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivaW50ZXJuYWzmoIfnrb7npLrkvotcclxuICogXHJcbiAqIOatpOagh+etvuWPr+S7peeUn+aIkOS4pOS7veaWh+aho++8jOWumOaWueivtOaYr3BocGRvY+acgOacieeUqOeahOWKn+iDveS5i+S4gFxyXG4gKiB7QGludGVybmFsIOimgeiuv+mXruacieWFs+S/ruaUueatpOexu+eahOaMh+WNlyzop4Ege0BsaW5rIGh0dHA6Ly93d3cuYmFpZHUuY29tIOaMh+WNl30s5oiW6IGU57O75L2g55qE5Li7566hfX19XHJcbiAqIEBpbnRlcm5hbCDor6Xnsbvkvb/nlKjnp4HmnInmlrnms5Uge0BsaW5rIF9mb28oKX0g5ZKMIHtAbGluayBfYmFyKCl9IOWBmuS4gOS6m+Wlh+aAqueahOS6i+aDhVxyXG4gKi9cclxuXHJcbmNsYXNzIERvZXN0aGluZ3Ncclxue1xyXG4gICAgcHJpdmF0ZSBmdW5jdGlvbiBfZm9vKClcclxuICAgIHtcclxuICAgIH1cclxuICAgIHByaXZhdGUgZnVuY3Rpb24gX2JhcigpXHJcbiAgICB7XHJcbiAgICB9XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsnXERvZXN0aGluZ3MnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIHsgLi4uIH1dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvbGljZW5zZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc4NDA2OWNhZjM4YmMyNDJhNDE4OThiYThiMGM4YjA4Yyc7IHByaXZhdGUgJG5hbWUgPSAnbGljZW5zZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9saWNlbnNlLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivbGljZW5zZeagh+etvuekuuS+i1xyXG4gKiBcclxuICog5q2k5qCH562+55So5LqO5ZCR55So5oi35o+Q56S66YCC55So5LqO5q2k5paH5qGj5Z2X55qE6K645Y+v6K+BXHJcbiAqIOWxleekuuaMh+WQkeiuuOWPr+ivgVVSTOeahOi2hemTvuaOpe+8jOS4quS6uuWPquW7uuiuruaUvuWcqOaWh+S7tue6p+WIq+eahOaWh+aho+Wdl+S4rVxyXG4gKiBAbGljZW5zZSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAgQXBhY2hlMi4wXHJcbiAqL1xyXG5cclxuY2xhc3Mgb3BlbnNvdXJjZV9jbGFzc1xyXG57XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFtdOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsnXG9wZW5zb3VyY2VfY2xhc3MnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIHsgLi4uIH1dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvbGluay5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICfov5nmmK9saW5r5qCH562+56S65L6LJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyAuLi4gfTsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dOyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyAuLi4gfTsgcHJpdmF0ZSAkbG9jYXRpb24gPSBOVUxMOyBwcml2YXRlICRpc1RlbXBsYXRlU3RhcnQgPSBGQUxTRTsgcHJpdmF0ZSAkaXNUZW1wbGF0ZUVuZCA9IEZBTFNFIH07IHByaXZhdGUgJGhhc2ggPSAnMDU1YmUwYTAxOTY2NjM2MDAzMTU3YmRjMjVhZjkwNmInOyBwcml2YXRlICRuYW1lID0gJ2xpbmsucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbGluay5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr2xpbmvmoIfnrb7npLrkvotcclxuICogQGxpbmsgaHR0cDovL3d3dy5iYWlkdS5jb20g6K+m5oOF5om+55m+5bqmXHJcbiAqL1xyXG5cclxuIC8qKlxyXG4gICogRGlzcGxheXMgPGEgaHJlZj0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+SGVsbG88L2E+XHJcbiAgKiBAbGluayBodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjM5Ni50eHQgUkZDMjM5NlxyXG4gICovXHJcbiBkZWZpbmUoIlRFU1RfQ09OU1RBTlQyIiwzKTtcclxuJzsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gWydcVEVTVF9DT05TVEFOVDInID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQgeyAuLi4gfV07IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9LCAndGFnL2Jhc2ljL21ldGhvZC5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICcyMGI1ZTQ1ZThjMjc0ZWM0YjdjMzNhZjBmY2FlOWY5ZCc7IHByaXZhdGUgJG5hbWUgPSAnbWV0aG9kLnBocCc7IHByaXZhdGUgJHBhdGggPSAndGFnL2Jhc2ljL21ldGhvZC5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr21ldGhvZOagh+etvuekuuS+i1xyXG4gKiBcclxuICog5a6Y5pa557uZ5Ye655qE5a6a5LmJ5piv77yM6KaB5Zyo5a2Q57G75Lit5aOw5piO54i257G75L2/55So6a2U5pyv5pa55rOV5p2l5a6e546w55qE5LiA5Lqb6Z2e5pi+56S65a2Y5Zyo5pa55rOVXHJcbiAqIOi/meS4quagh+etvuS4jeS8muWcqHBocERvY+aYvuekumZ1bmN0aW9u5a6e5L2TXHJcbiAqIFxyXG4gKiBAbWV0aG9kIHJldHVybiB2b2lkIGVjaG8yKHN0cmluZyAkc3RyaW5nKSA85omT5Y2w5bim5pyJ5o2i6KGM56ym55qE5a2X56ym5LiyPlxyXG4gKi9cclxuY2xhc3MgVGVzdCBleHRlbmRzIEZhdGhlcnt9XHJcblxyXG5jbGFzcyBGYXRoZXJcclxue1xyXG4gICAgZnVuY3Rpb24gX19jYWxsKCRtZXRob2QsIHN0cmluZyAkcGFyYW1zKVxyXG4gICAge1xyXG4gICAgICAgIGlmICgkbWV0aG9kID09IFwnZWNobzJcJykge1xyXG4gICAgICAgICAgICBlY2hvICRwYXJhbXMgLiBQSFBfRU9MO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gW107IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gWydcVGVzdCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18geyAuLi4gfSwgJ1xGYXRoZXInID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIHsgLi4uIH1dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvbmFtZS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIHsgcHJpdmF0ZSAkc3VtbWFyeSA9ICfov5nmmK9uYW1l5qCH562+56S65L6LJzsgcHJpdmF0ZSAkZGVzY3JpcHRpb24gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24geyAuLi4gfTsgcHJpdmF0ZSAkdGFncyA9IFsuLi5dOyBwcml2YXRlICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyAuLi4gfTsgcHJpdmF0ZSAkbG9jYXRpb24gPSBOVUxMOyBwcml2YXRlICRpc1RlbXBsYXRlU3RhcnQgPSBGQUxTRTsgcHJpdmF0ZSAkaXNUZW1wbGF0ZUVuZCA9IEZBTFNFIH07IHByaXZhdGUgJGhhc2ggPSAnOTI0Zjk1MzNlOGE3NDFkMTMxNzM2ZmJmODZmODZmOTcnOyBwcml2YXRlICRuYW1lID0gJ25hbWUucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvbmFtZS5waHAnOyBwcml2YXRlICRzb3VyY2UgPSAnPD9waHBcclxuLyoqXHJcbiAqIOi/meaYr25hbWXmoIfnrb7npLrkvotcclxuICovXHJcblxyXG4vKipcclxuICog5b2T5Zyo5Ye95pWw5Lit5L2/55SoQGdsb2JhbOaXtu+8jOWug+WwhumTvuaOpeWIsCRiYXpcclxuICogQG5hbWUgJGJhelxyXG4gKiBAZ2xvYmFsIGFycmF5ICRHTE9CQUxTW1wnYmF6XCddIFxyXG4gKi9cclxuJEdMT0JBTFNbXCdiYXpcJ10gPSBhcnJheShcJ2Zvb1wnLCBcJ2JhclwnKTtcclxuXHJcbi8qKlxyXG4gKiBAZ2xvYmFsIGFycmF5IHVzZWQgZm9yIHN0dWZmXHJcbiAqL1xyXG5mdW5jdGlvbiBtaW5lKClcclxue1xyXG4gICAgZ2xvYmFsICRiYXo7XHJcbn0nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsnXG1pbmUoKScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGdW5jdGlvbl8geyAuLi4gfV07IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9wYWNrYWdlLnBocCcgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIHsgcHJpdmF0ZSAkZG9jQmxvY2sgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sgeyBwcml2YXRlICRzdW1tYXJ5ID0gJ+i/meaYr3BhY2thZ2XmoIfnrb7npLrkvosnOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiB7IC4uLiB9OyBwcml2YXRlICR0YWdzID0gWy4uLl07IHByaXZhdGUgJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCB7IC4uLiB9OyBwcml2YXRlICRsb2NhdGlvbiA9IE5VTEw7IHByaXZhdGUgJGlzVGVtcGxhdGVTdGFydCA9IEZBTFNFOyBwcml2YXRlICRpc1RlbXBsYXRlRW5kID0gRkFMU0UgfTsgcHJpdmF0ZSAkaGFzaCA9ICcxMmY5M2Y2NDI0NzZmZmI1OWE3YzgwMGNiNTM2NzYzMyc7IHByaXZhdGUgJG5hbWUgPSAncGFja2FnZS5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9wYWNrYWdlLnBocCc7IHByaXZhdGUgJHNvdXJjZSA9ICc8P3BocFxyXG4vKipcclxuICog6L+Z5pivcGFja2FnZeagh+etvuekuuS+i1xyXG4gKiBcclxuICog6aG16Z2i57qnRG9jQmxvY2vnpLrkvovjgIJcclxuICog5q2kRG9jQmxvY2vkvY3kuo7lj6bkuIDkuKpEb2NCbG9ja+S5i+WJje+8jOWwhuiiq+ino+aekOS4uumhtemdoue6p+WIq+OAglxyXG4gKiDlsIbmgqjnmoRAcGFja2FnZeWSjEBzdWJwYWNrYWdl5qCH6K6w5pS+5Zyo5q2k5aSEXHJcbiAqIEBwYWNrYWdlIHBhZ2VsZXZlbF9wYWNrYWdlXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIGZ1bmN0aW9uIGJsdWhcclxuICovXHJcbmZ1bmN0aW9uIGJsdWgoKVxyXG57XHJcbn1cclxuPz5cclxuPD9waHBcclxuLyoqXHJcbiog57G7IGJsdWhcclxuKiDnsbvnuqdEb2NCbG9ja+ekuuS+i+OAguS7peS4i+ekuuS+i+S7o+ihqGFwcGxpZXNfdG9fYmx1aOWMheWcqGFwcGxpZXNfdG9fYmx1aOWGhVxyXG4qIEBwYWNrYWdlIHBhZ2VsZXZlbF9wYWNrYWdlXFxcXGFwcGxpZXNfdG9fYmx1aCBcclxuKi9cclxuY2xhc3MgYmx1aFxyXG57XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIOatpOWPmOmHj+S9nOS4uuWMJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbJ1xibHVoKCknID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRnVuY3Rpb25fIHsgLi4uIH1dOyBwcml2YXRlICRjb25zdGFudHMgPSBbXTsgcHJpdmF0ZSAkY2xhc3NlcyA9IFsnXGJsdWgnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIHsgLi4uIH1dOyBwcml2YXRlICRpbnRlcmZhY2VzID0gW107IHByaXZhdGUgJHRyYWl0cyA9IFtdOyBwcml2YXRlICRlbnVtcyA9IFtdOyBwcml2YXRlICRtZXRhZGF0YSA9IFtdIH0sICd0YWcvYmFzaWMvcGFyYW0ucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayB7IHByaXZhdGUgJHN1bW1hcnkgPSAn6L+Z5pivcGFyYW3moIfnrb7npLrkvosnOyBwcml2YXRlICRkZXNjcmlwdGlvbiA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiB7IC4uLiB9OyBwcml2YXRlICR0YWdzID0gWy4uLl07IHByaXZhdGUgJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCB7IC4uLiB9OyBwcml2YXRlICRsb2NhdGlvbiA9IE5VTEw7IHByaXZhdGUgJGlzVGVtcGxhdGVTdGFydCA9IEZBTFNFOyBwcml2YXRlICRpc1RlbXBsYXRlRW5kID0gRkFMU0UgfTsgcHJpdmF0ZSAkaGFzaCA9ICczMjhhYjY2Y2MyNzI0ODRmM2Y2OTYwMGNjZmE3Zjg5Mic7IHByaXZhdGUgJG5hbWUgPSAncGFyYW0ucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcGFyYW0ucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wYXJhbeagh+etvuekuuS+i1xyXG4gKiBcclxuICog5aOw5piO5pa55rOV5Lyg5YWl55qE5Y+C5pWwXHJcbiAqL1xyXG5cclxuIC8qKlxyXG4gICogQHBhcmFtIGludCAkYiDkvaDpnIDopoHkvKDlhaXkuIDkuKrmlbTmlbDlnovnmoTlj5jph49cclxuICAqL1xyXG4gZnVuY3Rpb24gYShpbnQgJGIpe30nOyBwcml2YXRlICRuYW1lc3BhY2VzID0gW107IHByaXZhdGUgJGluY2x1ZGVzID0gW107IHByaXZhdGUgJGZ1bmN0aW9ucyA9IFsnXGEoKScgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGdW5jdGlvbl8geyAuLi4gfV07IHByaXZhdGUgJGNvbnN0YW50cyA9IFtdOyBwcml2YXRlICRjbGFzc2VzID0gW107IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9wcm9wZXJ0eS5waHAnID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZSB7IHByaXZhdGUgJGRvY0Jsb2NrID0gTlVMTDsgcHJpdmF0ZSAkaGFzaCA9ICc3YzdiMWI1YjVlOTQyNmY3NTUxNGJmMDRjYzJhZmY3NCc7IHByaXZhdGUgJG5hbWUgPSAncHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkcGF0aCA9ICd0YWcvYmFzaWMvcHJvcGVydHkucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9wcm9wZXJ0eeWMheaLrOWug+eahOWPmOS9k1twcm9wZXJ0eS1yZWFkIHwgcHJvcGVydHktd3JpdGVd5qCH562+56S65L6LXHJcbiAqXHJcbiAqIEBwcm9wZXJ0eSBtaXhlZCAkcmVndWxhciDlo7DmmI7luLjop4TnmoTor7vlhpnlsZ7mgKdcclxuICogQHByb3BlcnR5LXJlYWQgaW50ICRmb28g5aOw5piO5Y+q6K+7XHJcbiAqIEBwcm9wZXJ0eS13cml0ZSBzdHJpbmcgJGJhciDlo7DmmI7lj6rlhplcclxuICovXHJcblxyXG5jbGFzcyBNYWdpY2lhblxyXG57XHJcbiAgICBwcml2YXRlICRfdGhpbmd5O1xyXG4gICAgcHJpdmF0ZSAkX2JhcjtcclxuICAgIGZ1bmN0aW9uIF9fZ2V0KCR2YXIpXHJcbiAgICB7XHJcbiAgICAgICAgc3dpdGNoICgkdmFyKSB7XHJcbiAgICAgICAgICAgIGNhc2UgXCdmb29cJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiA0NTtcclxuICAgICAgICAgICAgY2FzZSBcJ3JlZ3VsYXJcJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X3RoaW5neTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmJy4uLjsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdOyBwcml2YXRlICRpbmNsdWRlcyA9IFtdOyBwcml2YXRlICRmdW5jdGlvbnMgPSBbXTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbJ1xNYWdpY2lhbicgPT4gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18geyAuLi4gfV07IHByaXZhdGUgJGludGVyZmFjZXMgPSBbXTsgcHJpdmF0ZSAkdHJhaXRzID0gW107IHByaXZhdGUgJGVudW1zID0gW107IHByaXZhdGUgJG1ldGFkYXRhID0gW10gfSwgJ3RhZy9iYXNpYy9yZXR1cm4ucGhwJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUgeyBwcml2YXRlICRkb2NCbG9jayA9IE5VTEw7IHByaXZhdGUgJGhhc2ggPSAnZjE0MTM4MjYzNjc5ZWE5NDYyOTEyNjdhZjZmMDA3M2UnOyBwcml2YXRlICRuYW1lID0gJ3JldHVybi5waHAnOyBwcml2YXRlICRwYXRoID0gJ3RhZy9iYXNpYy9yZXR1cm4ucGhwJzsgcHJpdmF0ZSAkc291cmNlID0gJzw/cGhwXHJcbi8qKlxyXG4gKiDov5nmmK9yZXR1cm7moIfnrb7npLrkvotcclxuICogXHJcbiAqIOi/meS4quagh+etvueUqOS6juagh+iusOaWueazleaIluWHveaVsOeahOi/lOWbnuWAvOWSjOi/lOWbnuWGheWuuVxyXG4gKiBAcmV0dXJuIGludCDov5nph4zkvJrov5Tlm57kuIDkuKrmlbTmlbDnsbvlnovnmoTmlbDlrZdcclxuICovXHJcbmZ1bmN0aW9uIGEoJHBhcmFtKVxyXG57XHJcbiAgICAkYiA9IChpbnQpICRwYXJhbTtcclxuICAgIHJldHVybiAkYjtcclxufSc7IHByaXZhdGUgJG5hbWVzcGFjZXMgPSBbXTsgcHJpdmF0ZSAkaW5jbHVkZXMgPSBbXTsgcHJpdmF0ZSAkZnVuY3Rpb25zID0gWydcYSgpJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZ1bmN0aW9uXyB7IC4uLiB9XTsgcHJpdmF0ZSAkY29uc3RhbnRzID0gW107IHByaXZhdGUgJGNsYXNzZXMgPSBbXTsgcHJpdmF0ZSAkaW50ZXJmYWNlcyA9IFtdOyBwcml2YXRlICR0cmFpdHMgPSBbXTsgcHJpdmF0ZSAkZW51bXMgPSBbXTsgcHJpdmF0ZSAkbWV0YWRhdGEgPSBbXSB9XTsgcHJpdmF0ZSAkbmFtZXNwYWNlcyA9IFtdIH0gfSwgJG9iamVjdCA9IGNsYXNzIFBocFBhcnNlclxOb2RlXFN0bXRcQ2xhc3NfIHsgcHVibGljICRmbGFncyA9IDA7IHB1YmxpYyAkZXh0ZW5kcyA9IGNsYXNzIFBocFBhcnNlclxOb2RlXE5hbWVcRnVsbHlRdWFsaWZpZWQgeyBwdWJsaWMgJHBhcnRzID0gWzAgPT4gJ0ZhdGhlciddOyBwcm90ZWN0ZWQgJGF0dHJpYnV0ZXMgPSBbJ3N0YXJ0TGluZScgPT4gMzMsICdlbmRMaW5lJyA9PiAzM10gfTsgcHVibGljICRpbXBsZW1lbnRzID0gW107IHB1YmxpYyAkbmFtZSA9IGNsYXNzIFBocFBhcnNlclxOb2RlXElkZW50aWZpZXIgeyBwdWJsaWMgJG5hbWUgPSAnQ2hpbGQnOyBwcm90ZWN0ZWQgJGF0dHJpYnV0ZXMgPSBbJ3N0YXJ0TGluZScgPT4gMzMsICdlbmRMaW5lJyA9PiAzM10gfTsgcHVibGljICRzdG10cyA9IFswID0+IGNsYXNzIFBocFBhcnNlclxOb2RlXFN0bXRcUHJvcGVydHkgeyBwdWJsaWMgJGZsYWdzID0gMDsgcHVibGljICRwcm9wcyA9IFswID0+IGNsYXNzIFBocFBhcnNlclxOb2RlXFN0bXRcUHJvcGVydHlQcm9wZXJ0eSB7IHB1YmxpYyAkbmFtZSA9IGNsYXNzIFBocFBhcnNlclxOb2RlXFZhckxpa2VJZGVudGlmaWVyIHsgLi4uIH07IHB1YmxpYyAkZGVmYXVsdCA9IGNsYXNzIFBocFBhcnNlclxOb2RlXFNjYWxhclxMTnVtYmVyIHsgLi4uIH07IHByb3RlY3RlZCAkYXR0cmlidXRlcyA9IFsuLi5dOyBwdWJsaWMgJGZxc2VuID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIHsgLi4uIH0gfV07IHB1YmxpYyAkdHlwZSA9IE5VTEw7IHB1YmxpYyAkYXR0ckdyb3VwcyA9IFtdOyBwcm90ZWN0ZWQgJGF0dHJpYnV0ZXMgPSBbJ3N0YXJ0TGluZScgPT4gMzksICdjb21tZW50cycgPT4gWzAgPT4gY2xhc3MgUGhwUGFyc2VyXENvbW1lbnRcRG9jIHsgLi4uIH1dLCAnZW5kTGluZScgPT4gMzldIH1dOyBwdWJsaWMgJGF0dHJHcm91cHMgPSBbXTsgcHJvdGVjdGVkICRhdHRyaWJ1dGVzID0gWydzdGFydExpbmUnID0+IDMzLCAnY29tbWVudHMnID0+IFswID0+IGNsYXNzIFBocFBhcnNlclxDb21tZW50XERvYyB7IHByb3RlY3RlZCAkdGV4dCA9ICcvKipcclxuICog6L+Z5Liq57G75omp5bGV5LqGRmF0aGVyXHJcbiAqIOmTvuaOpeWIsOW4uOmHj+S7peWPiuWwhuWkmuS4quWFg+e0oOaUvuWcqOWQjOS4gOihjOeahOekuuS+i1xyXG4gKiBAc2VlIEZhdGhlciwgVEVTVF9DT05TVFxyXG4gKi8nOyBwcm90ZWN0ZWQgJHN0YXJ0TGluZSA9IDI4OyBwcm90ZWN0ZWQgJHN0YXJ0RmlsZVBvcyA9IDYxNjsgcHJvdGVjdGVkICRzdGFydFRva2VuUG9zID0gNDk7IHByb3RlY3RlZCAkZW5kTGluZSA9IDMyOyBwcm90ZWN0ZWQgJGVuZEZpbGVQb3MgPSA3NDU7IHByb3RlY3RlZCAkZW5kVG9rZW5Qb3MgPSA0OSB9XSwgJ2VuZExpbmUnID0+IDQwXTsgcHVibGljICRuYW1lc3BhY2VkTmFtZSA9IGNsYXNzIFBocFBhcnNlclxOb2RlXE5hbWUgeyBwdWJsaWMgJHBhcnRzID0gWzAgPT4gJ0NoaWxkJ107IHByb3RlY3RlZCAkYXR0cmlidXRlcyA9IFtdIH07IHB1YmxpYyAkZnFzZW4gPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4geyBwcml2YXRlICRmcXNlbiA9ICdcXENoaWxkJzsgcHJpdmF0ZSAkbmFtZSA9ICdDaGlsZCcgfSB9LCAkc3RyYXRlZ2llcyA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvamVjdEZhY3RvcnlTdHJhdGVnaWVzIHsgcHJpdmF0ZSAkc3RyYXRlZ2llcyA9IGNsYXNzIFNwbFByaW9yaXR5UXVldWUgeyAgfSB9KSBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24vc3JjL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbi9QaHAvRmFjdG9yeS9BYnN0cmFjdEZhY3RvcnkucGhwOjU5CiAgICAzLjI0NTkgICAyMjA2NTgwOCAgNDIuIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmFjdG9yeVxBYnN0cmFjdEZhY3RvcnktPmNyZWF0ZURvY0Jsb2NrKCRkb2NCbG9jayA9IGNsYXNzIFBocFBhcnNlclxDb21tZW50XERvYyB7IHByb3RlY3RlZCAkdGV4dCA9ICcvKipcclxuICog6L+Z5Liq57G75omp5bGV5LqGRmF0aGVyXHJcbiAqIOmTvuaOpeWIsOW4uOmHj+S7peWPiuWwhuWkmuS4quWFg+e0oOaUvuWcqOWQjOS4gOihjOeahOekuuS+i1xyXG4gKiBAc2VlIEZhdGhlciwgVEVTVF9DT05TVFxyXG4gKi8nOyBwcm90ZWN0ZWQgJHN0YXJ0TGluZSA9IDI4OyBwcm90ZWN0ZWQgJHN0YXJ0RmlsZVBvcyA9IDYxNjsgcHJvdGVjdGVkICRzdGFydFRva2VuUG9zID0gNDk7IHByb3RlY3RlZCAkZW5kTGluZSA9IDMyOyBwcm90ZWN0ZWQgJGVuZEZpbGVQb3MgPSA3NDU7IHByb3RlY3RlZCAkZW5kVG9rZW5Qb3MgPSA0OSB9LCAkY29udGV4dCA9IE5VTEwpIHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvcmVmbGVjdGlvbi9zcmMvcGhwRG9jdW1lbnRvci9SZWZsZWN0aW9uL1BocC9GYWN0b3J5L0NsYXNzXy5waHA6NDcKICAgIDMuMjQ1OSAgIDIyMDY1ODA4ICA0My4gcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrRmFjdG9yeS0+Y3JlYXRlKCRkb2NibG9jayA9ICcvKipcclxuICog6L+Z5Liq57G75omp5bGV5LqGRmF0aGVyXHJcbiAqIOmTvuaOpeWIsOW4uOmHj+S7peWPiuWwhuWkmuS4quWFg+e0oOaUvuWcqOWQjOS4gOihjOeahOekuuS+i1xyXG4gKiBAc2VlIEZhdGhlciwgVEVTVF9DT05TVFxyXG4gKi8nLCAkY29udGV4dCA9IE5VTEwsICRsb2NhdGlvbiA9ID8/PykgcGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3IvcGhwZG9jdW1lbnRvci9yZWZsZWN0aW9uL3NyYy9waHBEb2N1bWVudG9yL1JlZmxlY3Rpb24vUGhwL0ZhY3RvcnkvQWJzdHJhY3RGYWN0b3J5LnBocDo3OAogICAgMy4yNDYzICAgMjIwNjY1OTIgIDQ0LiBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tGYWN0b3J5LT5wYXJzZVRhZ0Jsb2NrKCR0YWdzID0gJ1xuQHNlZSBGYXRoZXIsIFRFU1RfQ09OU1QnLCAkY29udGV4dCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IHsgcHJpdmF0ZSAkbmFtZXNwYWNlID0gJyc7IHByaXZhdGUgJG5hbWVzcGFjZUFsaWFzZXMgPSBbXSB9KSBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3JlZmxlY3Rpb24tZG9jYmxvY2svc3JjL0RvY0Jsb2NrRmFjdG9yeS5waHA6MTA1CiAgICAzLjI0NjUgICAyMjA2NzM5MiAgNDUuIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xTdGFuZGFyZFRhZ0ZhY3RvcnktPmNyZWF0ZSgkdGFnTGluZSA9ICdAc2VlIEZhdGhlciwgVEVTVF9DT05TVCcsICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyBwcml2YXRlICRuYW1lc3BhY2UgPSAnJzsgcHJpdmF0ZSAkbmFtZXNwYWNlQWxpYXNlcyA9IFtdIH0pIHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvcmVmbGVjdGlvbi1kb2NibG9jay9zcmMvRG9jQmxvY2tGYWN0b3J5LnBocDoyNDUKICAgIDMuMjQ2NiAgIDIyMDY3NTIwICA0Ni4gcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFN0YW5kYXJkVGFnRmFjdG9yeS0+Y3JlYXRlVGFnKCRib2R5ID0gJ0ZhdGhlciwgVEVTVF9DT05TVCcsICRuYW1lID0gJ3NlZScsICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyBwcml2YXRlICRuYW1lc3BhY2UgPSAnJzsgcHJpdmF0ZSAkbmFtZXNwYWNlQWxpYXNlcyA9IFtdIH0pIHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvcmVmbGVjdGlvbi1kb2NibG9jay9zcmMvRG9jQmxvY2svU3RhbmRhcmRUYWdGYWN0b3J5LnBocDoxNDkKICAgIDMuMjQ3MiAgIDIyMDY4MjcyICA0Ny4gcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcU2VlOjpjcmVhdGUoJGJvZHkgPSAnRmF0aGVyLCBURVNUX0NPTlNUJywgJHR5cGVSZXNvbHZlciA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlblJlc29sdmVyIHsgIH0sICRkZXNjcmlwdGlvbkZhY3RvcnkgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb25GYWN0b3J5IHsgcHJpdmF0ZSAkdGFnRmFjdG9yeSA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xTdGFuZGFyZFRhZ0ZhY3RvcnkgeyBwcml2YXRlICR0YWdIYW5kbGVyTWFwcGluZ3MgPSBbJ2F1dGhvcicgPT4gJ3BocERvY3VtZW50b3JcXFJlZmxlY3Rpb25cXERvY0Jsb2NrXFxUYWdzXFxBdXRob3InLCAnY292ZXJzJyA9PiAncGhwRG9jdW1lbnRvclxcUmVmbGVjdGlvblxcRG9jQmxvY2tcXFRhZ3NcXENvdmVycycsICdkZXByZWNhdGVkJyA9PiAncGhwRG9jdW1lbnRvclxcUmVmbGVjdGlvblxcRG9jQmxvY2tcXFRhZ3NcXERlcHJlY2F0ZWQnLCAnbGluaycgPT4gJ3BocERvY3VtZW50b3JcXFJlZmxlY3Rpb25cXERvY0Jsb2NrXFxUYWdzXFxMaW5rJywgJ21ldGhvZCcgPT4gJ3BocERvY3VtZW50b3JcXFJlZmxlY3Rpb25cXERvY0Jsb2NrXFxUYWdzXFxNZXRob2QnLCAncGFyYW0nID0+ICdwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFxEb2NCbG9ja1xcVGFnc1xcUGFyYW0nLCAncHJvcGVydHktcmVhZCcgPT4gJ3BocERvY3VtZW50b3JcXFJlZmxlY3Rpb25cXERvY0Jsb2NrXFxUYWdzXFxQcm9wZXJ0eVJlYWQnLCAncHJvcGVydHknID0+ICdwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFxEb2NCbG9ja1xcVGFnc1xcUHJvcGVydHknLCAncHJvcGVydHktd3JpdGUnID0+ICdwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFxEb2NCbG9ja1xcVGFnc1xcUHJvcGVydHlXcml0ZScsICdyZXR1cm4nID0+ICdwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFxEb2NCbG9ja1xcVGFnc1xcUmV0dXJuXycsICdzZWUnID0+ICdwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFxEb2NCbG9ja1xcVGFnc1xcU2VlJywgJ3NpbmNlJyA9PiAncGhwRG9jdW1lbnRvclxcUmVmbGVjdGlvblxcRG9jQmxvY2tcXFRhZ3NcXFNpbmNlJywgJ3NvdXJjZScgPT4gJ3BocERvY3VtZW50b3JcXFJlZmxlY3Rpb25cXERvY0Jsb2NrXFxUYWdzXFxTb3VyY2UnLCAndGhyb3cnID0+ICdwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFxEb2NCbG9ja1xcVGFnc1xcVGhyb3dzJywgJ3Rocm93cycgPT4gJ3BocERvY3VtZW50b3JcXFJlZmxlY3Rpb25cXERvY0Jsb2NrXFxUYWdzXFxUaHJvd3MnLCAndXNlcycgPT4gJ3BocERvY3VtZW50b3JcXFJlZmxlY3Rpb25cXERvY0Jsb2NrXFxUYWdzXFxVc2VzJywgJ3ZhcicgPT4gJ3BocERvY3VtZW50b3JcXFJlZmxlY3Rpb25cXERvY0Jsb2NrXFxUYWdzXFxWYXJfJywgJ3ZlcnNpb24nID0+ICdwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFxEb2NCbG9ja1xcVGFnc1xcVmVyc2lvbiddOyBwcml2YXRlICRhbm5vdGF0aW9uTWFwcGluZ3MgPSBbXTsgcHJpdmF0ZSAkdGFnSGFuZGxlclBhcmFtZXRlckNhY2hlID0gWydwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xHZW5lcmljJyA9PiBbMCA9PiBjbGFzcyBSZWZsZWN0aW9uUGFyYW1ldGVyIHsgcHVibGljICRuYW1lID0gJ2JvZHknIH0sIDEgPT4gY2xhc3MgUmVmbGVjdGlvblBhcmFtZXRlciB7IHB1YmxpYyAkbmFtZSA9ICduYW1lJyB9LCAyID0+IGNsYXNzIFJlZmxlY3Rpb25QYXJhbWV0ZXIgeyBwdWJsaWMgJG5hbWUgPSAnZGVzY3JpcHRpb25GYWN0b3J5JyB9LCAzID0+IGNsYXNzIFJlZmxlY3Rpb25QYXJhbWV0ZXIgeyBwdWJsaWMgJG5hbWUgPSAnY29udGV4dCcgfV0sICdwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xBdXRob3InID0+IFswID0+IGNsYXNzIFJlZmxlY3Rpb25QYXJhbWV0ZXIgeyBwdWJsaWMgJG5hbWUgPSAnYm9keScgfV0sICdwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xEZXByZWNhdGVkJyA9PiBbMCA9PiBjbGFzcyBSZWZsZWN0aW9uUGFyYW1ldGVyIHsgcHVibGljICRuYW1lID0gJ2JvZHknIH0sIDEgPT4gY2xhc3MgUmVmbGVjdGlvblBhcmFtZXRlciB7IHB1YmxpYyAkbmFtZSA9ICdkZXNjcmlwdGlvbkZhY3RvcnknIH0sIDIgPT4gY2xhc3MgUmVmbGVjdGlvblBhcmFtZXRlciB7IHB1YmxpYyAkbmFtZSA9ICdjb250ZXh0JyB9XSwgJ3BocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXExpbmsnID0+IFswID0+IGNsYXNzIFJlZmxlY3Rpb25QYXJhbWV0ZXIgeyBwdWJsaWMgJG5hbWUgPSAnYm9keScgfSwgMSA9PiBjbGFzcyBSZWZsZWN0aW9uUGFyYW1ldGVyIHsgcHVibGljICRuYW1lID0gJ2Rlc2NyaXB0aW9uRmFjdG9yeScgfSwgMiA9PiBjbGFzcyBSZWZsZWN0aW9uUGFyYW1ldGVyIHsgcHVibGljICRuYW1lID0gJ2NvbnRleHQnIH1dLCAncGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcTWV0aG9kJyA9PiBbMCA9PiBjbGFzcyBSZWZsZWN0aW9uUGFyYW1ldGVyIHsgcHVibGljICRuYW1lID0gJ2JvZHknIH0sIDEgPT4gY2xhc3MgUmVmbGVjdGlvblBhcmFtZXRlciB7IHB1YmxpYyAkbmFtZSA9ICd0eXBlUmVzb2x2ZXInIH0sIDIgPT4gY2xhc3MgUmVmbGVjdGlvblBhcmFtZXRlciB7IHB1YmxpYyAkbmFtZSA9ICdkZXNjcmlwdGlvbkZhY3RvcnknIH0sIDMgPT4gY2xhc3MgUmVmbGVjdGlvblBhcmFtZXRlciB7IHB1YmxpYyAkbmFtZSA9ICdjb250ZXh0JyB9XSwgJ3BocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtJyA9PiBbMCA9PiBjbGFzcyBSZWZsZWN0aW9uUGFyYW1ldGVyIHsgcHVibGljICRuYW1lID0gJ2JvZHknIH0sIDEgPT4gY2xhc3MgUmVmbGVjdGlvblBhcmFtZXRlciB7IHB1YmxpYyAkbmFtZSA9ICd0eXBlUmVzb2x2ZXInIH0sIDIgPT4gY2xhc3MgUmVmbGVjdGlvblBhcmFtZXRlciB7IHB1YmxpYyAkbmFtZSA9ICdkZXNjcmlwdGlvbkZhY3RvcnknIH0sIDMgPT4gY2xhc3MgUmVmbGVjdGlvblBhcmFtZXRlciB7IHB1YmxpYyAkbmFtZSA9ICdjb250ZXh0JyB9XSwgJ3BocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFByb3BlcnR5JyA9PiBbMCA9PiBjbGFzcyBSZWZsZWN0aW9uUGFyYW1ldGVyIHsgcHVibGljICRuYW1lID0gJ2JvZHknIH0sIDEgPT4gY2xhc3MgUmVmbGVjdGlvblBhcmFtZXRlciB7IHB1YmxpYyAkbmFtZSA9ICd0eXBlUmVzb2x2ZXInIH0sIDIgPT4gY2xhc3MgUmVmbGVjdGlvblBhcmFtZXRlciB7IHB1YmxpYyAkbmFtZSA9ICdkZXNjcmlwdGlvbkZhY3RvcnknIH0sIDMgPT4gY2xhc3MgUmVmbGVjdGlvblBhcmFtZXRlciB7IHB1YmxpYyAkbmFtZSA9ICdjb250ZXh0JyB9XSwgJ3BocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFByb3BlcnR5UmVhZCcgPT4gWzAgPT4gY2xhc3MgUmVmbGVjdGlvblBhcmFtZXRlciB7IHB1YmxpYyAkbmFtZSA9ICdib2R5JyB9LCAxID0+IGNsYXNzIFJlZmxlY3Rpb25QYXJhbWV0ZXIgeyBwdWJsaWMgJG5hbWUgPSAndHlwZVJlc29sdmVyJyB9LCAyID0+IGNsYXNzIFJlZmxlY3Rpb25QYXJhbWV0ZXIgeyBwdWJsaWMgJG5hbWUgPSAnZGVzY3JpcHRpb25GYWN0b3J5JyB9LCAzID0+IGNsYXNzIFJlZmxlY3Rpb25QYXJhbWV0ZXIgeyBwdWJsaWMgJG5hbWUgPSAnY29udGV4dCcgfV0sICdwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQcm9wZXJ0eVdyaXRlJyA9PiBbMCA9PiBjbGFzcyBSZWZsZWN0aW9uUGFyYW1ldGVyIHsgcHVibGljICRuYW1lID0gJ2JvZHknIH0sIDEgPT4gY2xhc3MgUmVmbGVjdGlvblBhcmFtZXRlciB7IHB1YmxpYyAkbmFtZSA9ICd0eXBlUmVzb2x2ZXInIH0sIDIgPT4gY2xhc3MgUmVmbGVjdGlvblBhcmFtZXRlciB7IHB1YmxpYyAkbmFtZSA9ICdkZXNjcmlwdGlvbkZhY3RvcnknIH0sIDMgPT4gY2xhc3MgUmVmbGVjdGlvblBhcmFtZXRlciB7IHB1YmxpYyAkbmFtZSA9ICdjb250ZXh0JyB9XSwgJ3BocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8nID0+IFswID0+IGNsYXNzIFJlZmxlY3Rpb25QYXJhbWV0ZXIgeyBwdWJsaWMgJG5hbWUgPSAnYm9keScgfSwgMSA9PiBjbGFzcyBSZWZsZWN0aW9uUGFyYW1ldGVyIHsgcHVibGljICRuYW1lID0gJ3R5cGVSZXNvbHZlcicgfSwgMiA9PiBjbGFzcyBSZWZsZWN0aW9uUGFyYW1ldGVyIHsgcHVibGljICRuYW1lID0gJ2Rlc2NyaXB0aW9uRmFjdG9yeScgfSwgMyA9PiBjbGFzcyBSZWZsZWN0aW9uUGFyYW1ldGVyIHsgcHVibGljICRuYW1lID0gJ2NvbnRleHQnIH1dLCAncGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcU2VlJyA9PiBbMCA9PiBjbGFzcyBSZWZsZWN0aW9uUGFyYW1ldGVyIHsgcHVibGljICRuYW1lID0gJ2JvZHknIH0sIDEgPT4gY2xhc3MgUmVmbGVjdGlvblBhcmFtZXRlciB7IHB1YmxpYyAkbmFtZSA9ICd0eXBlUmVzb2x2ZXInIH0sIDIgPT4gY2xhc3MgUmVmbGVjdGlvblBhcmFtZXRlciB7IHB1YmxpYyAkbmFtZSA9ICdkZXNjcmlwdGlvbkZhY3RvcnknIH0sIDMgPT4gY2xhc3MgUmVmbGVjdGlvblBhcmFtZXRlciB7IHB1YmxpYyAkbmFtZSA9ICdjb250ZXh0JyB9XV07IHByaXZhdGUgJGZxc2VuUmVzb2x2ZXIgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW5SZXNvbHZlciB7ICB9OyBwcml2YXRlICRzZXJ2aWNlTG9jYXRvciA9IFsncGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuUmVzb2x2ZXInID0+IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlblJlc29sdmVyIHsgIH0sICdwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb25GYWN0b3J5JyA9PiAuLi4sICdwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZVJlc29sdmVyJyA9PiBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZVJlc29sdmVyIHsgcHJpdmF0ZSAka2V5d29yZHMgPSBbJ3N0cmluZycgPT4gJ3BocERvY3VtZW50b3JcXFJlZmxlY3Rpb25cXFR5cGVzXFxTdHJpbmdfJywgJ2NsYXNzLXN0cmluZycgPT4gJ3BocERvY3VtZW50b3JcXFJlZmxlY3Rpb25cXFR5cGVzXFxDbGFzc1N0cmluZycsICdpbnRlcmZhY2Utc3RyaW5nJyA9PiAncGhwRG9jdW1lbnRvclxcUmVmbGVjdGlvblxcVHlwZXNcXEludGVyZmFjZVN0cmluZycsICdodG1sLWVzY2FwZWQtc3RyaW5nJyA9PiAncGhwRG9jdW1lbnRvclxcUmVmbGVjdGlvblxcUHNldWRvVHlwZXNcXEh0bWxFc2NhcGVkU3RyaW5nJywgJ2xvd2VyY2FzZS1zdHJpbmcnID0+ICdwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFxQc2V1ZG9UeXBlc1xcTG93ZXJjYXNlU3RyaW5nJywgJ25vbi1lbXB0eS1sb3dlcmNhc2Utc3RyaW5nJyA9PiAncGhwRG9jdW1lbnRvclxcUmVmbGVjdGlvblxcUHNldWRvVHlwZXNcXE5vbkVtcHR5TG93ZXJjYXNlU3RyaW5nJywgJ25vbi1lbXB0eS1zdHJpbmcnID0+ICdwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFxQc2V1ZG9UeXBlc1xcTm9uRW1wdHlTdHJpbmcnLCAnbnVtZXJpYy1zdHJpbmcnID0+ICdwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFxQc2V1ZG9UeXBlc1xcTnVtZXJpY1N0cmluZycsICd0cmFpdC1zdHJpbmcnID0+ICdwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFxQc2V1ZG9UeXBlc1xcVHJhaXRTdHJpbmcnLCAnaW50JyA9PiAncGhwRG9jdW1lbnRvclxcUmVmbGVjdGlvblxcVHlwZXNcXEludGVnZXInLCAnaW50ZWdlcicgPT4gJ3BocERvY3VtZW50b3JcXFJlZmxlY3Rpb25cXFR5cGVzXFxJbnRlZ2VyJywgJ3Bvc2l0aXZlLWludCcgPT4gJ3BocERvY3VtZW50b3JcXFJlZmxlY3Rpb25cXFBzZXVkb1R5cGVzXFxQb3NpdGl2ZUludGVnZXInLCAnYm9vbCcgPT4gJ3BocERvY3VtZW50b3JcXFJlZmxlY3Rpb25cXFR5cGVzXFxCb29sZWFuJywgJ2Jvb2xlYW4nID0+ICdwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFxUeXBlc1xcQm9vbGVhbicsICdyZWFsJyA9PiAncGhwRG9jdW1lbnRvclxcUmVmbGVjdGlvblxcVHlwZXNcXEZsb2F0XycsICdmbG9hdCcgPT4gJ3BocERvY3VtZW50b3JcXFJlZmxlY3Rpb25cXFR5cGVzXFxGbG9hdF8nLCAnZG91YmxlJyA9PiAncGhwRG9jdW1lbnRvclxcUmVmbGVjdGlvblxcVHlwZXNcXEZsb2F0XycsICdvYmplY3QnID0+ICdwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFxUeXBlc1xcT2JqZWN0XycsICdtaXhlZCcgPT4gJ3BocERvY3VtZW50b3JcXFJlZmxlY3Rpb25cXFR5cGVzXFxNaXhlZF8nLCAnYXJyYXknID0+ICdwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFxUeXBlc1xcQXJyYXlfJywgJ2FycmF5LWtleScgPT4gJ3BocERvY3VtZW50b3JcXFJlZmxlY3Rpb25cXFR5cGVzXFxBcnJheUtleScsICdyZXNvdXJjZScgPT4gJ3BocERvY3VtZW50b3JcXFJlZmxlY3Rpb25cXFR5cGVzXFxSZXNvdXJjZV8nLCAndm9pZCcgPT4gJ3BocERvY3VtZW50b3JcXFJlZmxlY3Rpb25cXFR5cGVzXFxWb2lkXycsICdudWxsJyA9PiAncGhwRG9jdW1lbnRvclxcUmVmbGVjdGlvblxcVHlwZXNcXE51bGxfJywgJ3NjYWxhcicgPT4gJ3BocERvY3VtZW50b3JcXFJlZmxlY3Rpb25cXFR5cGVzXFxTY2FsYXInLCAnY2FsbGJhY2snID0+ICdwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFxUeXBlc1xcQ2FsbGFibGVfJywgJ2NhbGxhYmxlJyA9PiAncGhwRG9jdW1lbnRvclxcUmVmbGVjdGlvblxcVHlwZXNcXENhbGxhYmxlXycsICdjYWxsYWJsZS1zdHJpbmcnID0+ICdwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFxQc2V1ZG9UeXBlc1xcQ2FsbGFibGVTdHJpbmcnLCAnZmFsc2UnID0+ICdwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFxQc2V1ZG9UeXBlc1xcRmFsc2VfJywgJ3RydWUnID0+ICdwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFxQc2V1ZG9UeXBlc1xcVHJ1ZV8nLCAnbGl0ZXJhbC1zdHJpbmcnID0+ICdwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFxQc2V1ZG9UeXBlc1xcTGl0ZXJhbFN0cmluZycsICdzZWxmJyA9PiAncGhwRG9jdW1lbnRvclxcUmVmbGVjdGlvblxcVHlwZXNcXFNlbGZfJywgJyR0aGlzJyA9PiAncGhwRG9jdW1lbnRvclxcUmVmbGVjdGlvblxcVHlwZXNcXFRoaXMnLCAnc3RhdGljJyA9PiAncGhwRG9jdW1lbnRvclxcUmVmbGVjdGlvblxcVHlwZXNcXFN0YXRpY18nLCAncGFyZW50JyA9PiAncGhwRG9jdW1lbnRvclxcUmVmbGVjdGlvblxcVHlwZXNcXFBhcmVudF8nLCAnaXRlcmFibGUnID0+ICdwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFxUeXBlc1xcSXRlcmFibGVfJywgJ25ldmVyJyA9PiAncGhwRG9jdW1lbnRvclxcUmVmbGVjdGlvblxcVHlwZXNcXE5ldmVyXyddOyBwcml2YXRlICRmcXNlblJlc29sdmVyID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuUmVzb2x2ZXIgeyAgfSB9XSB9IH0sICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyBwcml2YXRlICRuYW1lc3BhY2UgPSAnJzsgcHJpdmF0ZSAkbmFtZXNwYWNlQWxpYXNlcyA9IFtdIH0pIHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvcmVmbGVjdGlvbi1kb2NibG9jay9zcmMvRG9jQmxvY2svU3RhbmRhcmRUYWdGYWN0b3J5LnBocDoyMTgKICAgIDMuMjQ3OSAgIDIyMDY4OTY4ICA0OC4gcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcU2VlOjpyZXNvbHZlRnFzZW4oJHBhcnRzID0gJ0ZhdGhlciwnLCAkZnFzZW5SZXNvbHZlciA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlblJlc29sdmVyIHsgIH0sICRjb250ZXh0ID0gY2xhc3MgcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQgeyBwcml2YXRlICRuYW1lc3BhY2UgPSAnJzsgcHJpdmF0ZSAkbmFtZXNwYWNlQWxpYXNlcyA9IFtdIH0pIHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvcmVmbGVjdGlvbi1kb2NibG9jay9zcmMvRG9jQmxvY2svVGFncy9TZWUucGhwOjY3CiAgICAzLjI0NzkgICAyMjA2OTM0NCAgNDkuIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlblJlc29sdmVyLT5yZXNvbHZlKCRmcXNlbiA9ICdGYXRoZXIsJywgJGNvbnRleHQgPSBjbGFzcyBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCB7IHByaXZhdGUgJG5hbWVzcGFjZSA9ICcnOyBwcml2YXRlICRuYW1lc3BhY2VBbGlhc2VzID0gW10gfSkgcGhhcjovL0M6L1VzZXJzL0FkbWluaXN0cmF0b3IvLnBoaXZlL3BoYXJzL3BocGRvY3VtZW50b3ItMy4yLjEucGhhci92ZW5kb3IvcGhwZG9jdW1lbnRvci9yZWZsZWN0aW9uLWRvY2Jsb2NrL3NyYy9Eb2NCbG9jay9UYWdzL1NlZS5waHA6NzQKICAgIDMuMjQ4MCAgIDIyMDY5MzQ0ICA1MC4gcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuUmVzb2x2ZXItPnJlc29sdmVQYXJ0aWFsU3RydWN0dXJhbEVsZW1lbnROYW1lKCR0eXBlID0gJ0ZhdGhlciwnLCAkY29udGV4dCA9IGNsYXNzIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IHsgcHJpdmF0ZSAkbmFtZXNwYWNlID0gJyc7IHByaXZhdGUgJG5hbWVzcGFjZUFsaWFzZXMgPSBbXSB9KSBwaGFyOi8vQzovVXNlcnMvQWRtaW5pc3RyYXRvci8ucGhpdmUvcGhhcnMvcGhwZG9jdW1lbnRvci0zLjIuMS5waGFyL3ZlbmRvci9waHBkb2N1bWVudG9yL3R5cGUtcmVzb2x2ZXIvc3JjL0Zxc2VuUmVzb2x2ZXIucGhwOjQzCiAgICAzLjI0ODAgICAyMjA2OTg0MCAgNTEuIHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbi0+X19jb25zdHJ1Y3QoJGZxc2VuID0gJ1xcRmF0aGVyLCcpIHBoYXI6Ly9DOi9Vc2Vycy9BZG1pbmlzdHJhdG9yLy5waGl2ZS9waGFycy9waHBkb2N1bWVudG9yLTMuMi4xLnBoYXIvdmVuZG9yL3BocGRvY3VtZW50b3IvdHlwZS1yZXNvbHZlci9zcmMvRnFzZW5SZXNvbHZlci5waHA6NzMKIjt9fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwYXJlbnQiO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo3OiJcRmF0aGVyIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NjoiRmF0aGVyIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGltcGxlbWVudHMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBjb25zdGFudHMiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwcm9wZXJ0aWVzIjthOjE6e3M6MTI6IlxDaGlsZDo6JGZvbyI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6MTA6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MTI6IlxDaGlsZDo6JGZvbyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjM6ImZvbyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo0Mzoi5p+l55yL5Zyo54i257G75Lit55qE5pa55rOVIHsgQGxpbmsgRmF0aGVyfSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcU2VlIjozOntzOjc6IgAqAG5hbWUiO3M6Mzoic2VlIjtzOjk6IgAqAHJlZmVycyI7Tzo1NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXEZxc2VuIjoxOntzOjYxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXEZxc2VuAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MTY6IlxwYXJlbnRfbWV0aG9kKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMzoicGFyZW50X21ldGhvZCI7fX1zOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tjt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO3M6MToiOSI7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjM5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAcmVhZE9ubHkiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBtZXRhZGF0YSI7YTowOnt9fX1zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbWV0aG9kcyI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHVzZWRUcmFpdHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGFkYXRhIjthOjA6e319fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW50ZXJmYWNlcyI7YTowOnt9czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQB0cmFpdHMiO2E6MDp7fXM6NDA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZW51bXMiO2E6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbWV0YWRhdGEiO2E6MDp7fX0=";