1778692655
441d63ebbc39eba359c9061ece8482bd-phpdoc%3Afb2129abeb94397828fe96a977692570-a5d7d678e69564ed2b3df15bf4f06024
s:145468:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjE5OiJIdHRwQ2xpZW50VHJhaXQucGhwIjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWVzcGFjZXMiO2E6MTp7czoyOToiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnQiO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyOToiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnQiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMDoiSHR0cENsaWVudCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGluY2x1ZGVzIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGZ1bmN0aW9ucyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjb25zdGFudHMiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY2xhc3NlcyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbnRlcmZhY2VzIjthOjA6e31zOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHRyYWl0cyI7YToxOntzOjQ1OiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxIdHRwQ2xpZW50VHJhaXQiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVHJhaXRfIjoxMDp7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVHJhaXRfAHByb3BlcnRpZXMiO2E6MTp7czo1ODoiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcSHR0cENsaWVudFRyYWl0OjokQ0hVTktfU0laRSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6MTQ6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyOTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU4OiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxIdHRwQ2xpZW50VHJhaXQ6OiRDSFVOS19TSVpFIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTA6IkNIVU5LX1NJWkUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24iOjI6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AZXhwcmVzc2lvbiI7czo1OiIxNjM3MiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBwYXJ0cyI7YTowOnt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjoxO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAcmVhZE9ubHkiO2I6MDtzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBob29rcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlydHVhbCI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AG1ldGFkYXRhIjthOjA6e31zOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBhdHRyaWJ1dGVzIjthOjA6e319fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFRyYWl0XwBtZXRob2RzIjthOjE1OntzOjYwOiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxIdHRwQ2xpZW50VHJhaXQ6OndpdGhPcHRpb25zKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo3OiJvcHRpb25zIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozMTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo4ODg7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Mzc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTA5Nzt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdGF0aWNfIjoxOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0YXRpY18AZ2VuZXJpY1R5cGVzIjthOjA6e319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjA6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEh0dHBDbGllbnRUcmFpdDo6d2l0aE9wdGlvbnMoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjExOiJ3aXRoT3B0aW9ucyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjYzOiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxIdHRwQ2xpZW50VHJhaXQ6OnByZXBhcmVSZXF1ZXN0KCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTo1OntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE51bGxhYmxlIjoxOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE51bGxhYmxlAHJlYWxUeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjY6Im1ldGhvZCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsYWJsZSI6MTp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsYWJsZQByZWFsVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czozOiJ1cmwiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjc6Im9wdGlvbnMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MztPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE0OiJkZWZhdWx0T3B0aW9ucyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uIjoyOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAGV4cHJlc3Npb24iO3M6MjoiW10iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AcGFydHMiO2E6MDp7fX1zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTo0O086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNzoiYWxsb3dFeHRyYU9wdGlvbnMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbiI6Mjp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBleHByZXNzaW9uIjtzOjQ0OiJ7eyBQSFBET0M2ODkzNGEzZTk0NTVmYTcyNDIwMjM3ZWIwNTkwMjMyNyB9fSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBwYXJ0cyI7YToxOntzOjQ0OiJ7eyBQSFBET0M2ODkzNGEzZTk0NTVmYTcyNDIwMjM3ZWIwNTkwMjMyNyB9fSI7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXEZhbHNlXyI6MDp7fX19czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQ0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjEyOTI7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTkyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjg4MjQ7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2MzoiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcSHR0cENsaWVudFRyYWl0OjpwcmVwYXJlUmVxdWVzdCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTQ6InByZXBhcmVSZXF1ZXN0Ijt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjgwOiJWYWxpZGF0ZXMgYW5kIG5vcm1hbGl6ZXMgbWV0aG9kLCBVUkwgYW5kIG9wdGlvbnMsIGFuZCBtZXJnZXMgdGhlbSB3aXRoIGRlZmF1bHRzLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVGhyb3dzIjozOntzOjc6IgAqAG5hbWUiO3M6NjoidGhyb3dzIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozNjoiV2hlbiBhIG5vdC1zdXBwb3J0ZWQgb3B0aW9uIGlzIGZvdW5kIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2NDoiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI0OiJJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24iO319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjI4OiJTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50IjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTo1OntzOjI0OiJJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24iO3M6NjM6IlN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiI7czoxODoiVHJhbnNwb3J0RXhjZXB0aW9uIjtzOjU3OiJTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEV4Y2VwdGlvblxUcmFuc3BvcnRFeGNlcHRpb24iO3M6MTk6IlN0cmVhbWFibGVJbnRlcmZhY2UiO3M6NTc6IlN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcUmVzcG9uc2VcU3RyZWFtYWJsZUludGVyZmFjZSI7czoxMzoiU3RyZWFtV3JhcHBlciI7czo1MToiU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxSZXNwb25zZVxTdHJlYW1XcmFwcGVyIjtzOjk6Ik1pbWVUeXBlcyI7czozMjoiU3ltZm9ueVxDb21wb25lbnRcTWltZVxNaW1lVHlwZXMiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjE7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6Njg6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEh0dHBDbGllbnRUcmFpdDo6bWVyZ2VEZWZhdWx0T3B0aW9ucygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mzp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6Nzoib3B0aW9ucyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTQ6ImRlZmF1bHRPcHRpb25zIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE3OiJhbGxvd0V4dHJhT3B0aW9ucyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uIjoyOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAGV4cHJlc3Npb24iO3M6NDQ6Int7IFBIUERPQzY4OTM0YTNlOTQ1NWZhNzI0MjAyMzdlYjA1OTAyMzI3IH19IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAHBhcnRzIjthOjE6e3M6NDQ6Int7IFBIUERPQzY4OTM0YTNlOTQ1NWZhNzI0MjAyMzdlYjA1OTAyMzI3IH19IjtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcRmFsc2VfIjowOnt9fX1zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTk3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjg5MTk7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Mjg1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjEyMzExO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Njg6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEh0dHBDbGllbnRUcmFpdDo6bWVyZ2VEZWZhdWx0T3B0aW9ucygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTk6Im1lcmdlRGVmYXVsdE9wdGlvbnMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MDoiIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xUaHJvd3MiOjM6e3M6NzoiACoAbmFtZSI7czo2OiJ0aHJvd3MiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjMxOiJXaGVuIGFuIGludmFsaWQgb3B0aW9uIGlzIGZvdW5kIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2NDoiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI0OiJJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24iO319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO3I6MTYyO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjoxO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjY1OiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxIdHRwQ2xpZW50VHJhaXQ6Om5vcm1hbGl6ZUhlYWRlcnMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjc6ImhlYWRlcnMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI5MjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxMjQzOTt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozMjg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTM4Njc7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2NToiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcSHR0cENsaWVudFRyYWl0Ojpub3JtYWxpemVIZWFkZXJzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNjoibm9ybWFsaXplSGVhZGVycyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czowOiIiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mjp7aTowO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX19aToxO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFRocm93cyI6Mzp7czo3OiIAKgBuYW1lIjtzOjY6InRocm93cyI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzE6IldoZW4gYW4gaW52YWxpZCBoZWFkZXIgaXMgZm91bmQiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjY0OiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjQ6IkludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiI7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjoxNjI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjE7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NjI6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEh0dHBDbGllbnRUcmFpdDo6bm9ybWFsaXplQm9keSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mjp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6ImJvZHkiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE3OiJub3JtYWxpemVkSGVhZGVycyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uIjoyOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAGV4cHJlc3Npb24iO3M6MjoiW10iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AcGFydHMiO2E6MDp7fX1zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjoxO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzM3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjE0MDc5O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjUwODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToyMTQwNjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2MjoiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcSHR0cENsaWVudFRyYWl0Ojpub3JtYWxpemVCb2R5KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMzoibm9ybWFsaXplQm9keSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czowOiIiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mzp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czo3OiIAKgB0eXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6NTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MjtPOjQwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcUmVzb3VyY2VfIjowOnt9aTozO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoxMjoiXFRyYXZlcnNhYmxlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTE6IlRyYXZlcnNhYmxlIjt9fWk6NDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6ODoiXENsb3N1cmUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo3OiJDbG9zdXJlIjt9fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO31zOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjQ6ImJvZHkiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7fWk6MTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6NzoiACoAdHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjM6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjQwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcUmVzb3VyY2VfIjowOnt9aToyO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo4OiJcQ2xvc3VyZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjc6IkNsb3N1cmUiO319fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1pOjI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVGhyb3dzIjozOntzOjc6IgAqAG5hbWUiO3M6NjoidGhyb3dzIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMDoiV2hlbiBhbiBpbnZhbGlkIGJvZHkgaXMgcGFzc2VkIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2NDoiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI0OiJJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24iO319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO3I6MTYyO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjoxO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjU2OiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxIdHRwQ2xpZW50VHJhaXQ6OmRlY2h1bmsoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NDoiYm9keSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NTEwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjIxNDEzO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjUyNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToyMTg5ODt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTY6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEh0dHBDbGllbnRUcmFpdDo6ZGVjaHVuaygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NzoiZGVjaHVuayI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MTtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo3MzoiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcSHR0cENsaWVudFRyYWl0Ojpub3JtYWxpemVQZWVyRmluZ2VycHJpbnQoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToiZmluZ2VycHJpbnQiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjUyOTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToyMTk5OTt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1NDg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MjMwMTE7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo3MzoiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcSHR0cENsaWVudFRyYWl0Ojpub3JtYWxpemVQZWVyRmluZ2VycHJpbnQoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI0OiJub3JtYWxpemVQZWVyRmluZ2VycHJpbnQiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MDoiIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xUaHJvd3MiOjM6e3M6NzoiACoAbmFtZSI7czo2OiJ0aHJvd3MiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjM3OiJXaGVuIGFuIGludmFsaWQgZmluZ2VycHJpbnQgaXMgcGFzc2VkIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2NDoiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI0OiJJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24iO319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO3I6MTYyO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjoxO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjU5OiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxIdHRwQ2xpZW50VHJhaXQ6Ompzb25FbmNvZGUoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo1OiJ2YWx1ZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsYWJsZSI6MTp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsYWJsZQByZWFsVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo1OiJmbGFncyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uIjoyOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAGV4cHJlc3Npb24iO3M6NDQ6Int7IFBIUERPQzM3YTYyNTljYzBjMWRhZTI5OWE3ODY2NDg5ZGZmMGJkIH19IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAHBhcnRzIjthOjE6e3M6NDQ6Int7IFBIUERPQzM3YTYyNTljYzBjMWRhZTI5OWE3ODY2NDg5ZGZmMGJkIH19IjtPOjM2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTnVsbF8iOjA6e319fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjg6Im1heERlcHRoIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24iOjI6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AZXhwcmVzc2lvbiI7czozOiI1MTIiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AcGFydHMiO2E6MDp7fX1zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NTUzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjIzMTEyO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjU2NDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToyMzYwODt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTk6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEh0dHBDbGllbnRUcmFpdDo6anNvbkVuY29kZSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTA6Impzb25FbmNvZGUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MDoiIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xUaHJvd3MiOjM6e3M6NzoiACoAbmFtZSI7czo2OiJ0aHJvd3MiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjM3OiJXaGVuIHRoZSB2YWx1ZSBjYW5ub3QgYmUganNvbi1lbmNvZGVkIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2NDoiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI0OiJJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24iO319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO3I6MTYyO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjoxO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjU5OiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxIdHRwQ2xpZW50VHJhaXQ6OnJlc29sdmVVcmwoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjM6InVybCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsYWJsZSI6MTp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsYWJsZQByZWFsVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NDoiYmFzZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTM6InF1ZXJ5RGVmYXVsdHMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbiI6Mjp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBleHByZXNzaW9uIjtzOjI6IltdIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAHBhcnRzIjthOjA6e319czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjU3MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToyMzgxOTt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo2MzU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MjY0MTI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1OToiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcSHR0cENsaWVudFRyYWl0OjpyZXNvbHZlVXJsKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMDoicmVzb2x2ZVVybCI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozNDoiUmVzb2x2ZXMgYSBVUkwgYWdhaW5zdCBhIGJhc2UgVVJJLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToyOntpOjA7Tzo0MjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcU2VlIjozOntzOjc6IgAqAG5hbWUiO3M6Mzoic2VlIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7TjtzOjk6IgAqAHJlZmVycyI7Tzo1MjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXFVybCI6MTp7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJlZmVyZW5jZVxVcmwAdXJpIjtzOjQ5OiJodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTUuMi4yIjt9fWk6MTtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xUaHJvd3MiOjM6e3M6NzoiACoAbmFtZSI7czo2OiJ0aHJvd3MiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI5OiJXaGVuIGFuIGludmFsaWQgVVJMIGlzIHBhc3NlZCI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjQ6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24iO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyNDoiSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIjt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtyOjE2MjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MTtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo1NzoiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcSHR0cENsaWVudFRyYWl0OjpwYXJzZVVybCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mzp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czozOiJ1cmwiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjU6InF1ZXJ5IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24iOjI6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AZXhwcmVzc2lvbiI7czoyOiJbXSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBwYXJ0cyI7YTowOnt9fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNDoiYWxsb3dlZFNjaGVtZXMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbiI6Mjp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBleHByZXNzaW9uIjtzOjMwOiJbJ2h0dHAnID0+IDgwLCAnaHR0cHMnID0+IDQ0M10iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AcGFydHMiO2E6MDp7fX1zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NjQyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjI2NTY2O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjcxNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTozMDIwMzt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU3OiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxIdHRwQ2xpZW50VHJhaXQ6OnBhcnNlVXJsKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo4OiJwYXJzZVVybCI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo0NjoiUGFyc2VzIGEgVVJMIGFuZCBmaXhlcyBpdHMgZW5jb2RpbmcgaWYgbmVlZGVkLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVGhyb3dzIjozOntzOjc6IgAqAG5hbWUiO3M6NjoidGhyb3dzIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyOToiV2hlbiBhbiBpbnZhbGlkIFVSTCBpcyBwYXNzZWQiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjY0OiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjQ6IkludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiI7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjoxNjI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjE7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NjY6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEh0dHBDbGllbnRUcmFpdDo6cmVtb3ZlRG90U2VnbWVudHMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NDoicGF0aCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NzIxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjMwMzM2O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjc0MjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTozMTI0OTt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjY6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEh0dHBDbGllbnRUcmFpdDo6cmVtb3ZlRG90U2VnbWVudHMoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE3OiJyZW1vdmVEb3RTZWdtZW50cyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozMzoiUmVtb3ZlcyBkb3Qtc2VnbWVudHMgZnJvbSBhIHBhdGguIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQyOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xTZWUiOjM6e3M6NzoiACoAbmFtZSI7czozOiJzZWUiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtOO3M6OToiACoAcmVmZXJzIjtPOjUyOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZWZlcmVuY2VcVXJsIjoxOntzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXFVybAB1cmkiO3M6NDk6Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tNS4yLjQiO319fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjoxNjI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjE7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NjU6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEh0dHBDbGllbnRUcmFpdDo6bWVyZ2VRdWVyeVN0cmluZygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mzp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsYWJsZSI6MTp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsYWJsZQByZWFsVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToicXVlcnlTdHJpbmciO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEwOiJxdWVyeUFycmF5IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjc6InJlcGxhY2UiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjc0OTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTozMTQyNTt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo4MDE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MzMxNDM7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTnVsbGFibGUiOjE6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTnVsbGFibGUAcmVhbFR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjY1OiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxIdHRwQ2xpZW50VHJhaXQ6Om1lcmdlUXVlcnlTdHJpbmcoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE2OiJtZXJnZVF1ZXJ5U3RyaW5nIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjUzOiJNZXJnZXMgYW5kIGVuY29kZXMgYSBxdWVyeSBhcnJheSB3aXRoIGEgcXVlcnkgc3RyaW5nLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVGhyb3dzIjozOntzOjc6IgAqAG5hbWUiO3M6NjoidGhyb3dzIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo0NDoiV2hlbiBhbiBpbnZhbGlkIHF1ZXJ5LXN0cmluZyB2YWx1ZSBpcyBwYXNzZWQiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjY0OiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjQ6IkludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiI7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjoxNjI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjE7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NTc6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEh0dHBDbGllbnRUcmFpdDo6Z2V0UHJveHkoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTnVsbGFibGUiOjE6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTnVsbGFibGUAcmVhbFR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NToicHJveHkiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjM6InVybCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsYWJsZSI6MTp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsYWJsZQByZWFsVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo3OiJub1Byb3h5IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo4MDY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MzMyNzY7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6ODM0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjM0NDY4O31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE51bGxhYmxlIjoxOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE51bGxhYmxlAHJlYWxUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTc6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEh0dHBDbGllbnRUcmFpdDo6Z2V0UHJveHkoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjg6ImdldFByb3h5Ijt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjEwMjoiTG9hZHMgcHJveHkgY29uZmlndXJhdGlvbiBmcm9tIHRoZSBzYW1lIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcyBjdXJsIHdoZW4gbm8gcHJveHkgaXMgZXhwbGljaXRseSBzZXQuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO3I6MTYyO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjoxO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjYwOiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxIdHRwQ2xpZW50VHJhaXQ6OmdldFByb3h5VXJsKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToyOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE51bGxhYmxlIjoxOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE51bGxhYmxlAHJlYWxUeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjU6InByb3h5IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czozOiJ1cmwiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjgzNjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTozNDQ3NTt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo4NTA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MzUwNzE7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTnVsbGFibGUiOjE6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTnVsbGFibGUAcmVhbFR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjYwOiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxIdHRwQ2xpZW50VHJhaXQ6OmdldFByb3h5VXJsKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMToiZ2V0UHJveHlVcmwiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjE7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NjE6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEh0dHBDbGllbnRUcmFpdDo6c2hvdWxkQnVmZmVyKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo3OiJoZWFkZXJzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo4NTI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MzUwNzg7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6ODYzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjM1NDkxO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2MToiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcSHR0cENsaWVudFRyYWl0OjpzaG91bGRCdWZmZXIoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEyOiJzaG91bGRCdWZmZXIiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjE7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fX1zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxUcmFpdF8AdXNlZFRyYWl0cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVHJhaXRfAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxUcmFpdF8AZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjg2NDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxUcmFpdF8AY29uc3RhbnRzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxUcmFpdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0NToiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcSHR0cENsaWVudFRyYWl0IjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTU6Ikh0dHBDbGllbnRUcmFpdCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFRyYWl0XwBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NzU6IlByb3ZpZGVzIHRoZSBjb21tb24gbG9naWMgZnJvbSB3cml0aW5nIEh0dHBDbGllbnRJbnRlcmZhY2UgaW1wbGVtZW50YXRpb25zLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxMDY6IkFsbCBwcml2YXRlIG1ldGhvZHMgYXJlIHN0YXRpYyB0byBwcmV2ZW50IGltcGxlbWVudGVycyBmcm9tIGNyZWF0aW5nIG1lbW9yeSBsZWFrcyB2aWEgY2lyY3VsYXIgcmVmZXJlbmNlcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yIjo0OntzOjc6IgAqAG5hbWUiO3M6NjoiYXV0aG9yIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7TjtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yAGF1dGhvck5hbWUiO3M6MTQ6Ik5pY29sYXMgR3Jla2FzIjtzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yAGF1dGhvckVtYWlsIjtzOjEzOiJwQHRjaHdvcmsuY29tIjt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjoxNjI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxUcmFpdF8AbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFRyYWl0XwBhdHRyaWJ1dGVzIjthOjA6e319fXM6NDA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZW51bXMiO2E6MDp7fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaGFzaCI7czozMjoiYTVkN2Q2NzhlNjk1NjRlZDJiM2RmMTViZjRmMDYwMjQiO3M6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAcGF0aCI7czo0NjoidmVuZG9yL3N5bWZvbnkvaHR0cC1jbGllbnQvSHR0cENsaWVudFRyYWl0LnBocCI7czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBzb3VyY2UiO3M6MzU0OTU6Ijw/cGhwCgovKgogKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgU3ltZm9ueSBwYWNrYWdlLgogKgogKiAoYykgRmFiaWVuIFBvdGVuY2llciA8ZmFiaWVuQHN5bWZvbnkuY29tPgogKgogKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRQogKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS4KICovCgpuYW1lc3BhY2UgU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudDsKCnVzZSBTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb247CnVzZSBTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEV4Y2VwdGlvblxUcmFuc3BvcnRFeGNlcHRpb247CnVzZSBTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XFJlc3BvbnNlXFN0cmVhbWFibGVJbnRlcmZhY2U7CnVzZSBTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XFJlc3BvbnNlXFN0cmVhbVdyYXBwZXI7CnVzZSBTeW1mb255XENvbXBvbmVudFxNaW1lXE1pbWVUeXBlczsKCi8qKgogKiBQcm92aWRlcyB0aGUgY29tbW9uIGxvZ2ljIGZyb20gd3JpdGluZyBIdHRwQ2xpZW50SW50ZXJmYWNlIGltcGxlbWVudGF0aW9ucy4KICoKICogQWxsIHByaXZhdGUgbWV0aG9kcyBhcmUgc3RhdGljIHRvIHByZXZlbnQgaW1wbGVtZW50ZXJzIGZyb20gY3JlYXRpbmcgbWVtb3J5IGxlYWtzIHZpYSBjaXJjdWxhciByZWZlcmVuY2VzLgogKgogKiBAYXV0aG9yIE5pY29sYXMgR3Jla2FzIDxwQHRjaHdvcmsuY29tPgogKi8KdHJhaXQgSHR0cENsaWVudFRyYWl0CnsKICAgIHByaXZhdGUgc3RhdGljIGludCAkQ0hVTktfU0laRSA9IDE2MzcyOwoKICAgIHB1YmxpYyBmdW5jdGlvbiB3aXRoT3B0aW9ucyhhcnJheSAkb3B0aW9ucyk6IHN0YXRpYwogICAgewogICAgICAgICRjbG9uZSA9IGNsb25lICR0aGlzOwogICAgICAgICRjbG9uZS0+ZGVmYXVsdE9wdGlvbnMgPSBzZWxmOjptZXJnZURlZmF1bHRPcHRpb25zKCRvcHRpb25zLCAkdGhpcy0+ZGVmYXVsdE9wdGlvbnMpOwoKICAgICAgICByZXR1cm4gJGNsb25lOwogICAgfQoKICAgIC8qKgogICAgICogVmFsaWRhdGVzIGFuZCBub3JtYWxpemVzIG1ldGhvZCwgVVJMIGFuZCBvcHRpb25zLCBhbmQgbWVyZ2VzIHRoZW0gd2l0aCBkZWZhdWx0cy4KICAgICAqCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBXaGVuIGEgbm90LXN1cHBvcnRlZCBvcHRpb24gaXMgZm91bmQKICAgICAqLwogICAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gcHJlcGFyZVJlcXVlc3QoP3N0cmluZyAkbWV0aG9kLCA/c3RyaW5nICR1cmwsIGFycmF5ICRvcHRpb25zLCBhcnJheSAkZGVmYXVsdE9wdGlvbnMgPSBbXSwgYm9vbCAkYWxsb3dFeHRyYU9wdGlvbnMgPSBmYWxzZSk6IGFycmF5CiAgICB7CiAgICAgICAgaWYgKG51bGwgIT09ICRtZXRob2QpIHsKICAgICAgICAgICAgaWYgKFxzdHJsZW4oJG1ldGhvZCkgIT09IHN0cnNwbigkbWV0aG9kLCAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonKSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbihcc3ByaW50ZignSW52YWxpZCBIVFRQIG1ldGhvZCAiJXMiLCBvbmx5IHVwcGVyY2FzZSBsZXR0ZXJzIGFyZSBhY2NlcHRlZC4nLCAkbWV0aG9kKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCEkbWV0aG9kKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdUaGUgSFRUUCBtZXRob2QgY2Fubm90IGJlIGVtcHR5LicpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAkb3B0aW9ucyA9IHNlbGY6Om1lcmdlRGVmYXVsdE9wdGlvbnMoJG9wdGlvbnMsICRkZWZhdWx0T3B0aW9ucywgJGFsbG93RXh0cmFPcHRpb25zKTsKCiAgICAgICAgJGJ1ZmZlciA9ICRvcHRpb25zWydidWZmZXInXSA/PyB0cnVlOwoKICAgICAgICBpZiAoJGJ1ZmZlciBpbnN0YW5jZW9mIFxDbG9zdXJlKSB7CiAgICAgICAgICAgICRvcHRpb25zWydidWZmZXInXSA9IHN0YXRpYyBmdW5jdGlvbiAoYXJyYXkgJGhlYWRlcnMpIHVzZSAoJGJ1ZmZlcikgewogICAgICAgICAgICAgICAgaWYgKCFcaXNfYm9vbCgkYnVmZmVyID0gJGJ1ZmZlcigkaGVhZGVycykpKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFcaXNfYXJyYXkoJGJ1ZmZlckluZm8gPSBAc3RyZWFtX2dldF9tZXRhX2RhdGEoJGJ1ZmZlcikpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oXHNwcmludGYoJ1RoZSBjbG9zdXJlIHBhc3NlZCBhcyBvcHRpb24gImJ1ZmZlciIgbXVzdCByZXR1cm4gYm9vbCBvciBzdHJlYW0gcmVzb3VyY2UsIGdvdCAiJXMiLicsIGdldF9kZWJ1Z190eXBlKCRidWZmZXIpKSk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAoZmFsc2UgPT09IHN0cnBicmsoJGJ1ZmZlckluZm9bJ21vZGUnXSwgJ2FjZXcrJykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbihcc3ByaW50ZignVGhlIHN0cmVhbSByZXR1cm5lZCBieSB0aGUgY2xvc3VyZSBwYXNzZWQgYXMgb3B0aW9uICJidWZmZXIiIG11c3QgYmUgd3JpdGVhYmxlLCBnb3QgbW9kZSAiJXMiLicsICRidWZmZXJJbmZvWydtb2RlJ10pKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgcmV0dXJuICRidWZmZXI7CiAgICAgICAgICAgIH07CiAgICAgICAgfSBlbHNlaWYgKCFcaXNfYm9vbCgkYnVmZmVyKSkgewogICAgICAgICAgICBpZiAoIVxpc19hcnJheSgkYnVmZmVySW5mbyA9IEBzdHJlYW1fZ2V0X21ldGFfZGF0YSgkYnVmZmVyKSkpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oXHNwcmludGYoJ09wdGlvbiAiYnVmZmVyIiBtdXN0IGJlIGJvb2wsIHN0cmVhbSByZXNvdXJjZSBvciBDbG9zdXJlLCAiJXMiIGdpdmVuLicsIGdldF9kZWJ1Z190eXBlKCRidWZmZXIpKSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChmYWxzZSA9PT0gc3RycGJyaygkYnVmZmVySW5mb1snbW9kZSddLCAnYWNldysnKSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbihcc3ByaW50ZignVGhlIHN0cmVhbSBpbiBvcHRpb24gImJ1ZmZlciIgbXVzdCBiZSB3cml0ZWFibGUsIG1vZGUgIiVzIiBnaXZlbi4nLCAkYnVmZmVySW5mb1snbW9kZSddKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmIChpc3NldCgkb3B0aW9uc1snanNvbiddKSkgewogICAgICAgICAgICBpZiAoaXNzZXQoJG9wdGlvbnNbJ2JvZHknXSkgJiYgJycgIT09ICRvcHRpb25zWydib2R5J10pIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ0RlZmluZSBlaXRoZXIgdGhlICJqc29uIiBvciB0aGUgImJvZHkiIG9wdGlvbiwgc2V0dGluZyBib3RoIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJG9wdGlvbnNbJ2JvZHknXSA9IHNlbGY6Ompzb25FbmNvZGUoJG9wdGlvbnNbJ2pzb24nXSk7CiAgICAgICAgICAgIHVuc2V0KCRvcHRpb25zWydqc29uJ10pOwoKICAgICAgICAgICAgaWYgKCFpc3NldCgkb3B0aW9uc1snbm9ybWFsaXplZF9oZWFkZXJzJ11bJ2NvbnRlbnQtdHlwZSddKSkgewogICAgICAgICAgICAgICAgJG9wdGlvbnNbJ25vcm1hbGl6ZWRfaGVhZGVycyddWydjb250ZW50LXR5cGUnXSA9IFsnQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uJ107CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmICghaXNzZXQoJG9wdGlvbnNbJ25vcm1hbGl6ZWRfaGVhZGVycyddWydhY2NlcHQnXSkpIHsKICAgICAgICAgICAgJG9wdGlvbnNbJ25vcm1hbGl6ZWRfaGVhZGVycyddWydhY2NlcHQnXSA9IFsnQWNjZXB0OiAqLyonXTsKICAgICAgICB9CgogICAgICAgIGlmIChpc3NldCgkb3B0aW9uc1snYm9keSddKSkgewogICAgICAgICAgICAkb3B0aW9uc1snYm9keSddID0gc2VsZjo6bm9ybWFsaXplQm9keSgkb3B0aW9uc1snYm9keSddLCAkb3B0aW9uc1snbm9ybWFsaXplZF9oZWFkZXJzJ10pOwoKICAgICAgICAgICAgaWYgKFxpc19zdHJpbmcoJG9wdGlvbnNbJ2JvZHknXSkKICAgICAgICAgICAgICAgICYmIChzdHJpbmcpIFxzdHJsZW4oJG9wdGlvbnNbJ2JvZHknXSkgIT09IHN1YnN0cigkaCA9ICRvcHRpb25zWydub3JtYWxpemVkX2hlYWRlcnMnXVsnY29udGVudC1sZW5ndGgnXVswXSA/PyAnJywgMTYpCiAgICAgICAgICAgICAgICAmJiAoJycgIT09ICRoIHx8ICcnICE9PSAkb3B0aW9uc1snYm9keSddKQogICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgIGlmICgnY2h1bmtlZCcgPT09IHN1YnN0cigkb3B0aW9uc1snbm9ybWFsaXplZF9oZWFkZXJzJ11bJ3RyYW5zZmVyLWVuY29kaW5nJ11bMF0gPz8gJycsIFxzdHJsZW4oJ1RyYW5zZmVyLUVuY29kaW5nOiAnKSkpIHsKICAgICAgICAgICAgICAgICAgICB1bnNldCgkb3B0aW9uc1snbm9ybWFsaXplZF9oZWFkZXJzJ11bJ3RyYW5zZmVyLWVuY29kaW5nJ10pOwogICAgICAgICAgICAgICAgICAgICRvcHRpb25zWydib2R5J10gPSBzZWxmOjpkZWNodW5rKCRvcHRpb25zWydib2R5J10pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICRvcHRpb25zWydub3JtYWxpemVkX2hlYWRlcnMnXVsnY29udGVudC1sZW5ndGgnXSA9IFtzdWJzdHJfcmVwbGFjZSgkaCA/OiAnQ29udGVudC1MZW5ndGg6ICcsIFxzdHJsZW4oJG9wdGlvbnNbJ2JvZHknXSksIDE2KV07CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmIChpc3NldCgkb3B0aW9uc1sncGVlcl9maW5nZXJwcmludCddKSkgewogICAgICAgICAgICAkb3B0aW9uc1sncGVlcl9maW5nZXJwcmludCddID0gc2VsZjo6bm9ybWFsaXplUGVlckZpbmdlcnByaW50KCRvcHRpb25zWydwZWVyX2ZpbmdlcnByaW50J10pOwogICAgICAgIH0KCiAgICAgICAgaWYgKGlzc2V0KCRvcHRpb25zWydjcnlwdG9fbWV0aG9kJ10pICYmICFcaW5fYXJyYXkoJG9wdGlvbnNbJ2NyeXB0b19tZXRob2QnXSwgWwogICAgICAgICAgICBcU1RSRUFNX0NSWVBUT19NRVRIT0RfVExTdjFfMF9DTElFTlQsCiAgICAgICAgICAgIFxTVFJFQU1fQ1JZUFRPX01FVEhPRF9UTFN2MV8xX0NMSUVOVCwKICAgICAgICAgICAgXFNUUkVBTV9DUllQVE9fTUVUSE9EX1RMU3YxXzJfQ0xJRU5ULAogICAgICAgICAgICBcU1RSRUFNX0NSWVBUT19NRVRIT0RfVExTdjFfM19DTElFTlQsCiAgICAgICAgXSwgdHJ1ZSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignT3B0aW9uICJjcnlwdG9fbWV0aG9kIiBtdXN0IGJlIG9uZSBvZiAiU1RSRUFNX0NSWVBUT19NRVRIT0RfVExTdjFfKl9DTElFTlQiLicpOwogICAgICAgIH0KCiAgICAgICAgLy8gVmFsaWRhdGUgb25fcHJvZ3Jlc3MKICAgICAgICBpZiAoaXNzZXQoJG9wdGlvbnNbJ29uX3Byb2dyZXNzJ10pICYmICFcaXNfY2FsbGFibGUoJG9uUHJvZ3Jlc3MgPSAkb3B0aW9uc1snb25fcHJvZ3Jlc3MnXSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbihcc3ByaW50ZignT3B0aW9uICJvbl9wcm9ncmVzcyIgbXVzdCBiZSBjYWxsYWJsZSwgIiVzIiBnaXZlbi4nLCBnZXRfZGVidWdfdHlwZSgkb25Qcm9ncmVzcykpKTsKICAgICAgICB9CgogICAgICAgIGlmIChcaXNfYXJyYXkoJG9wdGlvbnNbJ2F1dGhfYmFzaWMnXSA/PyBudWxsKSkgewogICAgICAgICAgICAkY291bnQgPSBcY291bnQoJG9wdGlvbnNbJ2F1dGhfYmFzaWMnXSk7CiAgICAgICAgICAgIGlmICgkY291bnQgPD0gMCB8fCAkY291bnQgPiAyKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKFxzcHJpbnRmKCdPcHRpb24gImF1dGhfYmFzaWMiIG11c3QgY29udGFpbiAxIG9yIDIgZWxlbWVudHMsICIlcyIgZ2l2ZW4uJywgJGNvdW50KSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRvcHRpb25zWydhdXRoX2Jhc2ljJ10gPSBpbXBsb2RlKCc6JywgJG9wdGlvbnNbJ2F1dGhfYmFzaWMnXSk7CiAgICAgICAgfQoKICAgICAgICBpZiAoIVxpc19zdHJpbmcoJG9wdGlvbnNbJ2F1dGhfYmFzaWMnXSA/PyAnJykpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbihcc3ByaW50ZignT3B0aW9uICJhdXRoX2Jhc2ljIiBtdXN0IGJlIHN0cmluZyBvciBhbiBhcnJheSwgIiVzIiBnaXZlbi4nLCBnZXRfZGVidWdfdHlwZSgkb3B0aW9uc1snYXV0aF9iYXNpYyddKSkpOwogICAgICAgIH0KCiAgICAgICAgaWYgKGlzc2V0KCRvcHRpb25zWydhdXRoX2JlYXJlciddKSkgewogICAgICAgICAgICBpZiAoIVxpc19zdHJpbmcoJG9wdGlvbnNbJ2F1dGhfYmVhcmVyJ10pKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKFxzcHJpbnRmKCdPcHRpb24gImF1dGhfYmVhcmVyIiBtdXN0IGJlIGEgc3RyaW5nLCAiJXMiIGdpdmVuLicsIGdldF9kZWJ1Z190eXBlKCRvcHRpb25zWydhdXRoX2JlYXJlciddKSkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCd7W15ceDIxLVx4N0VdfScsICRvcHRpb25zWydhdXRoX2JlYXJlciddKSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignSW52YWxpZCBjaGFyYWN0ZXIgZm91bmQgaW4gb3B0aW9uICJhdXRoX2JlYXJlciI6ICcuanNvbl9lbmNvZGUoJG9wdGlvbnNbJ2F1dGhfYmVhcmVyJ10pLicuJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmIChpc3NldCgkb3B0aW9uc1snYXV0aF9iYXNpYyddLCAkb3B0aW9uc1snYXV0aF9iZWFyZXInXSkpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignRGVmaW5lIGVpdGhlciB0aGUgImF1dGhfYmFzaWMiIG9yIHRoZSAiYXV0aF9iZWFyZXIiIG9wdGlvbiwgc2V0dGluZyBib3RoIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CiAgICAgICAgfQoKICAgICAgICBpZiAobnVsbCAhPT0gJHVybCkgewogICAgICAgICAgICAvLyBNZXJnZSBhdXRoIHdpdGggaGVhZGVycwogICAgICAgICAgICBpZiAoKCRvcHRpb25zWydhdXRoX2Jhc2ljJ10gPz8gZmFsc2UpICYmICEoJG9wdGlvbnNbJ25vcm1hbGl6ZWRfaGVhZGVycyddWydhdXRob3JpemF0aW9uJ10gPz8gZmFsc2UpKSB7CiAgICAgICAgICAgICAgICAkb3B0aW9uc1snbm9ybWFsaXplZF9oZWFkZXJzJ11bJ2F1dGhvcml6YXRpb24nXSA9IFsnQXV0aG9yaXphdGlvbjogQmFzaWMgJy5iYXNlNjRfZW5jb2RlKCRvcHRpb25zWydhdXRoX2Jhc2ljJ10pXTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBNZXJnZSBiZWFyZXIgd2l0aCBoZWFkZXJzCiAgICAgICAgICAgIGlmICgoJG9wdGlvbnNbJ2F1dGhfYmVhcmVyJ10gPz8gZmFsc2UpICYmICEoJG9wdGlvbnNbJ25vcm1hbGl6ZWRfaGVhZGVycyddWydhdXRob3JpemF0aW9uJ10gPz8gZmFsc2UpKSB7CiAgICAgICAgICAgICAgICAkb3B0aW9uc1snbm9ybWFsaXplZF9oZWFkZXJzJ11bJ2F1dGhvcml6YXRpb24nXSA9IFsnQXV0aG9yaXphdGlvbjogQmVhcmVyICcuJG9wdGlvbnNbJ2F1dGhfYmVhcmVyJ11dOwogICAgICAgICAgICB9CgogICAgICAgICAgICB1bnNldCgkb3B0aW9uc1snYXV0aF9iYXNpYyddLCAkb3B0aW9uc1snYXV0aF9iZWFyZXInXSk7CgogICAgICAgICAgICAvLyBQYXJzZSBiYXNlIFVSSQogICAgICAgICAgICBpZiAoXGlzX3N0cmluZygkYmFzZVVyaSA9ICRvcHRpb25zWydiYXNlX3VyaSddID8/IG51bGwpKSB7CiAgICAgICAgICAgICAgICAkYmFzZVVyaSA9IHNlbGY6OnBhcnNlVXJsKCRiYXNlVXJpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB1bnNldCgkb3B0aW9uc1snYmFzZV91cmknXSk7CgogICAgICAgICAgICAvLyBWYWxpZGF0ZSBhbmQgcmVzb2x2ZSBVUkwKICAgICAgICAgICAgJHVybCA9IHNlbGY6OnBhcnNlVXJsKCR1cmwsICRvcHRpb25zWydxdWVyeSddKTsKICAgICAgICAgICAgJHVybCA9IHNlbGY6OnJlc29sdmVVcmwoJHVybCwgJGJhc2VVcmksICRkZWZhdWx0T3B0aW9uc1sncXVlcnknXSA/PyBbXSk7CiAgICAgICAgfQoKICAgICAgICAvLyBGaW5hbGl6ZSBub3JtYWxpemF0aW9uIG9mIG9wdGlvbnMKICAgICAgICAkb3B0aW9uc1snaHR0cF92ZXJzaW9uJ10gPSAoc3RyaW5nKSAoJG9wdGlvbnNbJ2h0dHBfdmVyc2lvbiddID8/ICcnKSA/OiBudWxsOwogICAgICAgIGlmICgwID4gJG9wdGlvbnNbJ3RpbWVvdXQnXSA9IChmbG9hdCkgKCRvcHRpb25zWyd0aW1lb3V0J10gPz8gXGluaV9nZXQoJ2RlZmF1bHRfc29ja2V0X3RpbWVvdXQnKSkpIHsKICAgICAgICAgICAgJG9wdGlvbnNbJ3RpbWVvdXQnXSA9IDE3MjgwMC4wOyAvLyAyIGRheXMKICAgICAgICB9CgogICAgICAgICRvcHRpb25zWydtYXhfZHVyYXRpb24nXSA9IGlzc2V0KCRvcHRpb25zWydtYXhfZHVyYXRpb24nXSkgPyAoZmxvYXQpICRvcHRpb25zWydtYXhfZHVyYXRpb24nXSA6IDA7CiAgICAgICAgJG9wdGlvbnNbJ2hlYWRlcnMnXSA9IGFycmF5X21lcmdlKC4uLmFycmF5X3ZhbHVlcygkb3B0aW9uc1snbm9ybWFsaXplZF9oZWFkZXJzJ10pKTsKCiAgICAgICAgcmV0dXJuIFskdXJsLCAkb3B0aW9uc107CiAgICB9CgogICAgLyoqCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBXaGVuIGFuIGludmFsaWQgb3B0aW9uIGlzIGZvdW5kCiAgICAgKi8KICAgIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIG1lcmdlRGVmYXVsdE9wdGlvbnMoYXJyYXkgJG9wdGlvbnMsIGFycmF5ICRkZWZhdWx0T3B0aW9ucywgYm9vbCAkYWxsb3dFeHRyYU9wdGlvbnMgPSBmYWxzZSk6IGFycmF5CiAgICB7CiAgICAgICAgJG9wdGlvbnNbJ25vcm1hbGl6ZWRfaGVhZGVycyddID0gc2VsZjo6bm9ybWFsaXplSGVhZGVycygkb3B0aW9uc1snaGVhZGVycyddID8/IFtdKTsKCiAgICAgICAgaWYgKCRkZWZhdWx0T3B0aW9uc1snaGVhZGVycyddID8/IGZhbHNlKSB7CiAgICAgICAgICAgICRvcHRpb25zWydub3JtYWxpemVkX2hlYWRlcnMnXSArPSBzZWxmOjpub3JtYWxpemVIZWFkZXJzKCRkZWZhdWx0T3B0aW9uc1snaGVhZGVycyddKTsKICAgICAgICB9CgogICAgICAgICRvcHRpb25zWydoZWFkZXJzJ10gPSBhcnJheV9tZXJnZSguLi5hcnJheV92YWx1ZXMoJG9wdGlvbnNbJ25vcm1hbGl6ZWRfaGVhZGVycyddKSA/OiBbW11dKTsKCiAgICAgICAgaWYgKCRyZXNvbHZlID0gJG9wdGlvbnNbJ3Jlc29sdmUnXSA/PyBmYWxzZSkgewogICAgICAgICAgICAkb3B0aW9uc1sncmVzb2x2ZSddID0gW107CiAgICAgICAgICAgIGZvcmVhY2ggKCRyZXNvbHZlIGFzICRrID0+ICR2KSB7CiAgICAgICAgICAgICAgICBpZiAoJycgPT09ICR2ID0gKHN0cmluZykgJHYpIHsKICAgICAgICAgICAgICAgICAgICAkdiA9IG51bGw7CiAgICAgICAgICAgICAgICB9IGVsc2VpZiAoJ1snID09PSAkdlswXSAmJiAnXScgPT09IHN1YnN0cigkdiwgLTEpICYmIHN0cl9jb250YWlucygkdiwgJzonKSkgewogICAgICAgICAgICAgICAgICAgICR2ID0gc3Vic3RyKCR2LCAxLCAtMSk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJG9wdGlvbnNbJ3Jlc29sdmUnXVtzdWJzdHIoc2VsZjo6cGFyc2VVcmwoJ2h0dHA6Ly8nLiRrKVsnYXV0aG9yaXR5J10sIDIpXSA9ICR2OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBPcHRpb24gInF1ZXJ5IiBpcyBuZXZlciBpbmhlcml0ZWQgZnJvbSBkZWZhdWx0cwogICAgICAgICRvcHRpb25zWydxdWVyeSddID8/PSBbXTsKCiAgICAgICAgJG9wdGlvbnMgKz0gJGRlZmF1bHRPcHRpb25zOwoKICAgICAgICBpZiAoaXNzZXQoc2VsZjo6JGVtcHR5RGVmYXVsdHMpKSB7CiAgICAgICAgICAgIGZvcmVhY2ggKHNlbGY6OiRlbXB0eURlZmF1bHRzIGFzICRrID0+ICR2KSB7CiAgICAgICAgICAgICAgICBpZiAoIWlzc2V0KCRvcHRpb25zWyRrXSkpIHsKICAgICAgICAgICAgICAgICAgICAkb3B0aW9uc1ska10gPSAkdjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKGlzc2V0KCRkZWZhdWx0T3B0aW9uc1snZXh0cmEnXSkpIHsKICAgICAgICAgICAgJG9wdGlvbnNbJ2V4dHJhJ10gKz0gJGRlZmF1bHRPcHRpb25zWydleHRyYSddOwogICAgICAgIH0KCiAgICAgICAgaWYgKCRyZXNvbHZlID0gJGRlZmF1bHRPcHRpb25zWydyZXNvbHZlJ10gPz8gZmFsc2UpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHJlc29sdmUgYXMgJGsgPT4gJHYpIHsKICAgICAgICAgICAgICAgIGlmICgnJyA9PT0gJHYgPSAoc3RyaW5nKSAkdikgewogICAgICAgICAgICAgICAgICAgICR2ID0gbnVsbDsKICAgICAgICAgICAgICAgIH0gZWxzZWlmICgnWycgPT09ICR2WzBdICYmICddJyA9PT0gc3Vic3RyKCR2LCAtMSkgJiYgc3RyX2NvbnRhaW5zKCR2LCAnOicpKSB7CiAgICAgICAgICAgICAgICAgICAgJHYgPSBzdWJzdHIoJHYsIDEsIC0xKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAkb3B0aW9uc1sncmVzb2x2ZSddICs9IFtzdWJzdHIoc2VsZjo6cGFyc2VVcmwoJ2h0dHA6Ly8nLiRrKVsnYXV0aG9yaXR5J10sIDIpID0+ICR2XTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCRhbGxvd0V4dHJhT3B0aW9ucyB8fCAhJGRlZmF1bHRPcHRpb25zKSB7CiAgICAgICAgICAgIHJldHVybiAkb3B0aW9uczsKICAgICAgICB9CgogICAgICAgIC8vIExvb2sgZm9yIHVuc3VwcG9ydGVkIG9wdGlvbnMKICAgICAgICBmb3JlYWNoICgkb3B0aW9ucyBhcyAkbmFtZSA9PiAkdikgewogICAgICAgICAgICBpZiAoXGFycmF5X2tleV9leGlzdHMoJG5hbWUsICRkZWZhdWx0T3B0aW9ucykgfHwgJ25vcm1hbGl6ZWRfaGVhZGVycycgPT09ICRuYW1lKSB7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCdhdXRoX250bG0nID09PSAkbmFtZSkgewogICAgICAgICAgICAgICAgaWYgKCFcZXh0ZW5zaW9uX2xvYWRlZCgnY3VybCcpKSB7CiAgICAgICAgICAgICAgICAgICAgJG1zZyA9ICd0cnkgaW5zdGFsbGluZyB0aGUgImN1cmwiIGV4dGVuc2lvbiB0byB1c2UgIiVzIiBpbnN0ZWFkLic7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICRtc2cgPSAndHJ5IHVzaW5nICIlcyIgaW5zdGVhZC4nOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oXHNwcmludGYoJ09wdGlvbiAiYXV0aF9udGxtIiBpcyBub3Qgc3VwcG9ydGVkIGJ5ICIlcyIsICcuJG1zZywgX19DTEFTU19fLCBDdXJsSHR0cENsaWVudDo6Y2xhc3MpKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCd2YXJzJyA9PT0gJG5hbWUpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oXHNwcmludGYoJ09wdGlvbiAidmFycyIgaXMgbm90IHN1cHBvcnRlZCBieSAiJXMiLCB0cnkgdXNpbmcgIiVzIiBpbnN0ZWFkLicsIF9fQ0xBU1NfXywgVXJpVGVtcGxhdGVIdHRwQ2xpZW50OjpjbGFzcykpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkYWx0ZXJuYXRpdmVzID0gW107CgogICAgICAgICAgICBmb3JlYWNoICgkZGVmYXVsdE9wdGlvbnMgYXMgJGsgPT4gJHYpIHsKICAgICAgICAgICAgICAgIGlmIChsZXZlbnNodGVpbigkbmFtZSwgJGspIDw9IFxzdHJsZW4oJG5hbWUpIC8gMyB8fCBzdHJfY29udGFpbnMoJGssICRuYW1lKSkgewogICAgICAgICAgICAgICAgICAgICRhbHRlcm5hdGl2ZXNbXSA9ICRrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKFxzcHJpbnRmKCdVbnN1cHBvcnRlZCBvcHRpb24gIiVzIiBwYXNzZWQgdG8gIiVzIiwgZGlkIHlvdSBtZWFuICIlcyI/JywgJG5hbWUsIF9fQ0xBU1NfXywgaW1wbG9kZSgnIiwgIicsICRhbHRlcm5hdGl2ZXMgPzogYXJyYXlfa2V5cygkZGVmYXVsdE9wdGlvbnMpKSkpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRvcHRpb25zOwogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiBzdHJpbmdbXVtdCiAgICAgKgogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gV2hlbiBhbiBpbnZhbGlkIGhlYWRlciBpcyBmb3VuZAogICAgICovCiAgICBwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBub3JtYWxpemVIZWFkZXJzKGFycmF5ICRoZWFkZXJzKTogYXJyYXkKICAgIHsKICAgICAgICAkbm9ybWFsaXplZEhlYWRlcnMgPSBbXTsKCiAgICAgICAgZm9yZWFjaCAoJGhlYWRlcnMgYXMgJG5hbWUgPT4gJHZhbHVlcykgewogICAgICAgICAgICBpZiAoJHZhbHVlcyBpbnN0YW5jZW9mIFxTdHJpbmdhYmxlKSB7CiAgICAgICAgICAgICAgICAkdmFsdWVzID0gKHN0cmluZykgJHZhbHVlczsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKFxpc19pbnQoJG5hbWUpKSB7CiAgICAgICAgICAgICAgICBpZiAoIVxpc19zdHJpbmcoJHZhbHVlcykpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKFxzcHJpbnRmKCdJbnZhbGlkIHZhbHVlIGZvciBoZWFkZXIgIiVzIjogZXhwZWN0ZWQgc3RyaW5nLCAiJXMiIGdpdmVuLicsICRuYW1lLCBnZXRfZGVidWdfdHlwZSgkdmFsdWVzKSkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgWyRuYW1lLCAkdmFsdWVzXSA9IGV4cGxvZGUoJzonLCAkdmFsdWVzLCAyKTsKICAgICAgICAgICAgICAgICR2YWx1ZXMgPSBbbHRyaW0oJHZhbHVlcyldOwogICAgICAgICAgICB9IGVsc2VpZiAoIWlzX2l0ZXJhYmxlKCR2YWx1ZXMpKSB7CiAgICAgICAgICAgICAgICBpZiAoXGlzX29iamVjdCgkdmFsdWVzKSkgewogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oXHNwcmludGYoJ0ludmFsaWQgdmFsdWUgZm9yIGhlYWRlciAiJXMiOiBleHBlY3RlZCBzdHJpbmcsICIlcyIgZ2l2ZW4uJywgJG5hbWUsIGdldF9kZWJ1Z190eXBlKCR2YWx1ZXMpKSk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJHZhbHVlcyA9IChhcnJheSkgJHZhbHVlczsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJGxjTmFtZSA9IHN0cnRvbG93ZXIoJG5hbWUpOwogICAgICAgICAgICAkbm9ybWFsaXplZEhlYWRlcnNbJGxjTmFtZV0gPSBbXTsKCiAgICAgICAgICAgIGZvcmVhY2ggKCR2YWx1ZXMgYXMgJHZhbHVlKSB7CiAgICAgICAgICAgICAgICAkbm9ybWFsaXplZEhlYWRlcnNbJGxjTmFtZV1bXSA9ICR2YWx1ZSA9ICRuYW1lLic6ICcuJHZhbHVlOwoKICAgICAgICAgICAgICAgIGlmIChcc3RybGVuKCR2YWx1ZSkgIT09IHN0cmNzcG4oJHZhbHVlLCAiXHJcblwwIikpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKFxzcHJpbnRmKCdJbnZhbGlkIGhlYWRlcjogQ1IvTEYvTlVMIGZvdW5kIGluICIlcyIuJywgJHZhbHVlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkbm9ybWFsaXplZEhlYWRlcnM7CiAgICB9CgogICAgLyoqCiAgICAgKiBAcGFyYW0gYXJyYXl8c3RyaW5nfHJlc291cmNlfFxUcmF2ZXJzYWJsZXxcQ2xvc3VyZSAkYm9keQogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nfHJlc291cmNlfFxDbG9zdXJlCiAgICAgKgogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gV2hlbiBhbiBpbnZhbGlkIGJvZHkgaXMgcGFzc2VkCiAgICAgKi8KICAgIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIG5vcm1hbGl6ZUJvZHkoJGJvZHksIGFycmF5ICYkbm9ybWFsaXplZEhlYWRlcnMgPSBbXSkKICAgIHsKICAgICAgICBpZiAoXGlzX2FycmF5KCRib2R5KSkgewogICAgICAgICAgICBzdGF0aWMgJGNvb2tpZTsKCiAgICAgICAgICAgICRzdHJlYW1zID0gW107CiAgICAgICAgICAgIGFycmF5X3dhbGtfcmVjdXJzaXZlKCRib2R5LCAkY2FzdGVyID0gc3RhdGljIGZ1bmN0aW9uICgmJHYpIHVzZSAoJiRjYXN0ZXIsICYkc3RyZWFtcywgJiRjb29raWUpIHsKICAgICAgICAgICAgICAgIGlmIChcaXNfcmVzb3VyY2UoJHYpIHx8ICR2IGluc3RhbmNlb2YgU3RyZWFtYWJsZUludGVyZmFjZSkgewogICAgICAgICAgICAgICAgICAgICRjb29raWUgPSBoYXNoKCd4eGgxMjgnLCAkY29va2llID8/PSByYW5kb21fYnl0ZXMoOCksIHRydWUpOwogICAgICAgICAgICAgICAgICAgICRrID0gc3Vic3RyKHN0cnRyKGJhc2U2NF9lbmNvZGUoJGNvb2tpZSksICcrLycsICctXycpLCAwLCAtMik7CiAgICAgICAgICAgICAgICAgICAgJHN0cmVhbXNbJGtdID0gJHYgaW5zdGFuY2VvZiBTdHJlYW1hYmxlSW50ZXJmYWNlID8gJHYtPnRvU3RyZWFtKGZhbHNlKSA6ICR2OwogICAgICAgICAgICAgICAgICAgICR2ID0gJGs7CiAgICAgICAgICAgICAgICB9IGVsc2VpZiAoXGlzX29iamVjdCgkdikpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoJHZhcnMgPSBnZXRfb2JqZWN0X3ZhcnMoJHYpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5X3dhbGtfcmVjdXJzaXZlKCR2YXJzLCAkY2FzdGVyKTsKICAgICAgICAgICAgICAgICAgICAgICAgJHYgPSAkdmFyczsKICAgICAgICAgICAgICAgICAgICB9IGVsc2VpZiAoJHYgaW5zdGFuY2VvZiBcU3RyaW5nYWJsZSkgewogICAgICAgICAgICAgICAgICAgICAgICAkdiA9IChzdHJpbmcpICR2OwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICRjYXN0ZXIgPSBudWxsOwoKICAgICAgICAgICAgaWYgKCcnID09PSAkYm9keSA9IGh0dHBfYnVpbGRfcXVlcnkoJGJvZHksICcnLCAnJicpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJyc7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICghJHN0cmVhbXMgJiYgIXN0cl9jb250YWlucygkbm9ybWFsaXplZEhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddWzBdID8/ICcnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKSB7CiAgICAgICAgICAgICAgICBpZiAoIXN0cl9jb250YWlucygkbm9ybWFsaXplZEhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddWzBdID8/ICcnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJykpIHsKICAgICAgICAgICAgICAgICAgICAkbm9ybWFsaXplZEhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddID0gWydDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCddOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHJldHVybiAkYm9keTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKHByZWdfbWF0Y2goJ3ttdWx0aXBhcnQvZm9ybS1kYXRhOyBib3VuZGFyeT0oP3wiKFteIlxyXG5dKyspInwoWy0hIyQlJlwnKisuXl9gfH5fQS1aYS16MC05XSsrKSl9JywgJG5vcm1hbGl6ZWRIZWFkZXJzWydjb250ZW50LXR5cGUnXVswXSA/PyAnJywgJGJvdW5kYXJ5KSkgewogICAgICAgICAgICAgICAgJGJvdW5kYXJ5ID0gJGJvdW5kYXJ5WzFdOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGJvdW5kYXJ5ID0gc3Vic3RyKHN0cnRyKGJhc2U2NF9lbmNvZGUoJGNvb2tpZSA/Pz0gcmFuZG9tX2J5dGVzKDgpKSwgJysvJywgJy1fJyksIDAsIC0yKTsKICAgICAgICAgICAgICAgICRub3JtYWxpemVkSGVhZGVyc1snY29udGVudC10eXBlJ10gPSBbJ0NvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L2Zvcm0tZGF0YTsgYm91bmRhcnk9Jy4kYm91bmRhcnldOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkYm9keSA9IGV4cGxvZGUoJyYnLCAkYm9keSk7CiAgICAgICAgICAgICRjb250ZW50TGVuZ3RoID0gMDsKCiAgICAgICAgICAgIGZvcmVhY2ggKCRib2R5IGFzICRpID0+ICRwYXJ0KSB7CiAgICAgICAgICAgICAgICBbJGssICR2XSA9IGV4cGxvZGUoJz0nLCAkcGFydCwgMik7CiAgICAgICAgICAgICAgICAkcGFydCA9ICgkaSA/ICJcclxuIiA6ICcnKS4iLS17JGJvdW5kYXJ5fVxyXG4iOwogICAgICAgICAgICAgICAgJGsgPSBzdHJfcmVwbGFjZShbJyInLCAiXHIiLCAiXG4iXSwgWyclMjInLCAnJTBEJywgJyUwQSddLCB1cmxkZWNvZGUoJGspKTsgLy8gc2VlIFdIQVRXRyBIVE1MIGxpdmluZyBzdGFuZGFyZAoKICAgICAgICAgICAgICAgIGlmICghaXNzZXQoJHN0cmVhbXNbJHZdKSkgewogICAgICAgICAgICAgICAgICAgICRwYXJ0IC49ICJDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJ7JGt9XCJcclxuXHJcbiIudXJsZGVjb2RlKCR2KTsKICAgICAgICAgICAgICAgICAgICAkY29udGVudExlbmd0aCArPSAwIDw9ICRjb250ZW50TGVuZ3RoID8gXHN0cmxlbigkcGFydCkgOiAwOwogICAgICAgICAgICAgICAgICAgICRib2R5WyRpXSA9IFskaywgJHBhcnQsIG51bGxdOwogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJHYgPSAkc3RyZWFtc1skdl07CgogICAgICAgICAgICAgICAgaWYgKCFcaXNfYXJyYXkoJG0gPSBAc3RyZWFtX2dldF9tZXRhX2RhdGEoJHYpKSkgewogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBUcmFuc3BvcnRFeGNlcHRpb24oXHNwcmludGYoJ0ludmFsaWQgIiVzIiByZXNvdXJjZSBmb3VuZCBpbiBib2R5IHBhcnQgIiVzIi4nLCBnZXRfcmVzb3VyY2VfdHlwZSgkdiksICRrKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoZmVvZigkdikpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHJhbnNwb3J0RXhjZXB0aW9uKFxzcHJpbnRmKCdVcGxvYWRlZCBzdHJlYW0gZW5kZWQgZm9yIGJvZHkgcGFydCAiJXMiLicsICRrKSk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJG0gKz0gc3RyZWFtX2NvbnRleHRfZ2V0X29wdGlvbnMoJHYpWydodHRwJ10gPz8gW107CiAgICAgICAgICAgICAgICAkZmlsZW5hbWUgPSBiYXNlbmFtZSgkbVsnZmlsZW5hbWUnXSA/PyAkbVsndXJpJ10gPz8gJ3Vua25vd24nKTsKICAgICAgICAgICAgICAgICRmaWxlbmFtZSA9IHN0cl9yZXBsYWNlKFsnIicsICJcciIsICJcbiJdLCBbJyUyMicsICclMEQnLCAnJTBBJ10sICRmaWxlbmFtZSk7CiAgICAgICAgICAgICAgICAkY29udGVudFR5cGUgPSAkbVsnY29udGVudF90eXBlJ10gPz8gbnVsbDsKCiAgICAgICAgICAgICAgICBpZiAoKCRoZWFkZXJzID0gJG1bJ3dyYXBwZXJfZGF0YSddID8/IFtdKSBpbnN0YW5jZW9mIFN0cmVhbVdyYXBwZXIpIHsKICAgICAgICAgICAgICAgICAgICAkaGFzQ29udGVudExlbmd0aCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICRoZWFkZXJzID0gJGhlYWRlcnMtPmdldFJlc3BvbnNlKCktPmdldEluZm8oJ3Jlc3BvbnNlX2hlYWRlcnMnKTsKICAgICAgICAgICAgICAgIH0gZWxzZWlmICgkaGFzQ29udGVudExlbmd0aCA9IDAgPCAkaCA9IGZzdGF0KCR2KVsnc2l6ZSddID8/IDApIHsKICAgICAgICAgICAgICAgICAgICAkY29udGVudExlbmd0aCArPSAwIDw9ICRjb250ZW50TGVuZ3RoID8gJGggOiAwOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZvcmVhY2ggKFxpc19hcnJheSgkaGVhZGVycykgPyAkaGVhZGVycyA6IFtdIGFzICRoKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKFxpc19zdHJpbmcoJGgpICYmIDAgPT09IHN0cmlwb3MoJGgsICdDb250ZW50LVR5cGU6ICcpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb250ZW50VHlwZSA/Pz0gc3Vic3RyKCRoLCAxNCk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlaWYgKCEkaGFzQ29udGVudExlbmd0aCAmJiBcaXNfc3RyaW5nKCRoKSAmJiAwID09PSBzdHJpcG9zKCRoLCAnQ29udGVudC1MZW5ndGg6ICcpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRoYXNDb250ZW50TGVuZ3RoID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRlbnRMZW5ndGggKz0gMCA8PSAkY29udGVudExlbmd0aCA/IHN1YnN0cigkaCwgMTYpIDogMDsKICAgICAgICAgICAgICAgICAgICB9IGVsc2VpZiAoXGlzX3N0cmluZygkaCkgJiYgMCA9PT0gc3RyaXBvcygkaCwgJ0NvbnRlbnQtRW5jb2Rpbmc6ICcpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb250ZW50TGVuZ3RoID0gLTE7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICghJGhhc0NvbnRlbnRMZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICAkY29udGVudExlbmd0aCA9IC0xOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKG51bGwgPT09ICRjb250ZW50VHlwZSAmJiAncGxhaW5maWxlJyA9PT0gKCRtWyd3cmFwcGVyX3R5cGUnXSA/PyBudWxsKSAmJiBpc3NldCgkbVsndXJpJ10pKSB7CiAgICAgICAgICAgICAgICAgICAgJG1pbWVUeXBlcyA9IGNsYXNzX2V4aXN0cyhNaW1lVHlwZXM6OmNsYXNzKSA/IE1pbWVUeXBlczo6Z2V0RGVmYXVsdCgpIDogZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgJGNvbnRlbnRUeXBlID0gJG1pbWVUeXBlcyA/ICRtaW1lVHlwZXMtPmd1ZXNzTWltZVR5cGUoJG1bJ3VyaSddKSA6IG51bGw7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkY29udGVudFR5cGUgPz89ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nOwoKICAgICAgICAgICAgICAgICRwYXJ0IC49ICJDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJ7JGt9XCI7IGZpbGVuYW1lPVwieyRmaWxlbmFtZX1cIlxyXG4iOwogICAgICAgICAgICAgICAgJHBhcnQgLj0gIkNvbnRlbnQtVHlwZTogeyRjb250ZW50VHlwZX1cclxuXHJcbiI7CgogICAgICAgICAgICAgICAgJGNvbnRlbnRMZW5ndGggKz0gMCA8PSAkY29udGVudExlbmd0aCA/IFxzdHJsZW4oJHBhcnQpIDogMDsKICAgICAgICAgICAgICAgICRib2R5WyRpXSA9IFskaywgJHBhcnQsICR2XTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJGJvZHlbKyskaV0gPSBbJycsICJcclxuLS17JGJvdW5kYXJ5fS0tXHJcbiIsIG51bGxdOwoKICAgICAgICAgICAgaWYgKDAgPCAkY29udGVudExlbmd0aCkgewogICAgICAgICAgICAgICAgJG5vcm1hbGl6ZWRIZWFkZXJzWydjb250ZW50LWxlbmd0aCddID0gWydDb250ZW50LUxlbmd0aDogJy4oJGNvbnRlbnRMZW5ndGggKz0gXHN0cmxlbigkYm9keVskaV1bMV0pKV07CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRib2R5ID0gc3RhdGljIGZ1bmN0aW9uICgkc2l6ZSkgdXNlICgkYm9keSkgewogICAgICAgICAgICAgICAgZm9yZWFjaCAoJGJvZHkgYXMgJGkgPT4gWyRrLCAkcGFydCwgJGhdKSB7CiAgICAgICAgICAgICAgICAgICAgdW5zZXQoJGJvZHlbJGldKTsKCiAgICAgICAgICAgICAgICAgICAgeWllbGQgJHBhcnQ7CgogICAgICAgICAgICAgICAgICAgIHdoaWxlIChudWxsICE9PSAkaCAmJiAhZmVvZigkaCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZhbHNlID09PSAkcGFydCA9IGZyZWFkKCRoLCAkc2l6ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBUcmFuc3BvcnRFeGNlcHRpb24oXHNwcmludGYoJ0Vycm9yIHdoaWxlIHJlYWRpbmcgdXBsb2FkZWQgc3RyZWFtIGZvciBib2R5IHBhcnQgIiVzIi4nLCAkaykpOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICB5aWVsZCAkcGFydDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkaCA9IG51bGw7CiAgICAgICAgICAgIH07CiAgICAgICAgfQoKICAgICAgICBpZiAoXGlzX3N0cmluZygkYm9keSkpIHsKICAgICAgICAgICAgcmV0dXJuICRib2R5OwogICAgICAgIH0KCiAgICAgICAgJGdlbmVyYXRvclRvQ2FsbGFibGUgPSBzdGF0aWMgZm4gKFxHZW5lcmF0b3IgJGJvZHkpOiBcQ2xvc3VyZSA9PiBzdGF0aWMgZnVuY3Rpb24gKCkgdXNlICgkYm9keSkgewogICAgICAgICAgICB3aGlsZSAoJGJvZHktPnZhbGlkKCkpIHsKICAgICAgICAgICAgICAgICRjaHVuayA9ICRib2R5LT5jdXJyZW50KCk7CiAgICAgICAgICAgICAgICAkYm9keS0+bmV4dCgpOwoKICAgICAgICAgICAgICAgIGlmICgnJyAhPT0gJGNodW5rKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICRjaHVuazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuICcnOwogICAgICAgIH07CgogICAgICAgIGlmICgkYm9keSBpbnN0YW5jZW9mIFxHZW5lcmF0b3IpIHsKICAgICAgICAgICAgcmV0dXJuICRnZW5lcmF0b3JUb0NhbGxhYmxlKCRib2R5KTsKICAgICAgICB9CgogICAgICAgIGlmICgkYm9keSBpbnN0YW5jZW9mIFxUcmF2ZXJzYWJsZSkgewogICAgICAgICAgICByZXR1cm4gJGdlbmVyYXRvclRvQ2FsbGFibGUoKHN0YXRpYyBmdW5jdGlvbiAoJGJvZHkpIHsgeWllbGQgZnJvbSAkYm9keTsgfSkoJGJvZHkpKTsKICAgICAgICB9CgogICAgICAgIGlmICgkYm9keSBpbnN0YW5jZW9mIFxDbG9zdXJlKSB7CiAgICAgICAgICAgICRyID0gbmV3IFxSZWZsZWN0aW9uRnVuY3Rpb24oJGJvZHkpOwogICAgICAgICAgICAkYm9keSA9ICRyLT5nZXRDbG9zdXJlKCk7CgogICAgICAgICAgICBpZiAoJHItPmlzR2VuZXJhdG9yKCkpIHsKICAgICAgICAgICAgICAgICRib2R5ID0gJGJvZHkoc2VsZjo6JENIVU5LX1NJWkUpOwoKICAgICAgICAgICAgICAgIHJldHVybiAkZ2VuZXJhdG9yVG9DYWxsYWJsZSgkYm9keSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiAkYm9keTsKICAgICAgICB9CgogICAgICAgIGlmICghXGlzX2FycmF5KEBzdHJlYW1fZ2V0X21ldGFfZGF0YSgkYm9keSkpKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oXHNwcmludGYoJ09wdGlvbiAiYm9keSIgbXVzdCBiZSBzdHJpbmcsIHN0cmVhbSByZXNvdXJjZSwgaXRlcmFibGUgb3IgY2FsbGFibGUsICIlcyIgZ2l2ZW4uJywgZ2V0X2RlYnVnX3R5cGUoJGJvZHkpKSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGJvZHk7CiAgICB9CgogICAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gZGVjaHVuayhzdHJpbmcgJGJvZHkpOiBzdHJpbmcKICAgIHsKICAgICAgICAkaCA9IGZvcGVuKCdwaHA6Ly90ZW1wJywgJ3crJyk7CiAgICAgICAgc3RyZWFtX2ZpbHRlcl9hcHBlbmQoJGgsICdkZWNodW5rJywgXFNUUkVBTV9GSUxURVJfV1JJVEUpOwogICAgICAgIGZ3cml0ZSgkaCwgJGJvZHkpOwogICAgICAgICRib2R5ID0gc3RyZWFtX2dldF9jb250ZW50cygkaCwgLTEsIDApOwogICAgICAgIHJld2luZCgkaCk7CiAgICAgICAgZnRydW5jYXRlKCRoLCAwKTsKCiAgICAgICAgaWYgKGZ3cml0ZSgkaCwgJy0nKSAmJiAnJyAhPT0gc3RyZWFtX2dldF9jb250ZW50cygkaCwgLTEsIDApKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBUcmFuc3BvcnRFeGNlcHRpb24oJ1JlcXVlc3QgYm9keSBoYXMgYnJva2VuIGNodW5rZWQgZW5jb2RpbmcuJyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGJvZHk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBXaGVuIGFuIGludmFsaWQgZmluZ2VycHJpbnQgaXMgcGFzc2VkCiAgICAgKi8KICAgIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIG5vcm1hbGl6ZVBlZXJGaW5nZXJwcmludChtaXhlZCAkZmluZ2VycHJpbnQpOiBhcnJheQogICAgewogICAgICAgIGlmIChcaXNfc3RyaW5nKCRmaW5nZXJwcmludCkpIHsKICAgICAgICAgICAgJGZpbmdlcnByaW50ID0gbWF0Y2ggKFxzdHJsZW4oJGZpbmdlcnByaW50ID0gc3RyX3JlcGxhY2UoJzonLCAnJywgJGZpbmdlcnByaW50KSkpIHsKICAgICAgICAgICAgICAgIDMyID0+IFsnbWQ1JyA9PiAkZmluZ2VycHJpbnRdLAogICAgICAgICAgICAgICAgNDAgPT4gWydzaGExJyA9PiAkZmluZ2VycHJpbnRdLAogICAgICAgICAgICAgICAgNDQgPT4gWydwaW4tc2hhMjU2JyA9PiBbJGZpbmdlcnByaW50XV0sCiAgICAgICAgICAgICAgICA2NCA9PiBbJ3NoYTI1NicgPT4gJGZpbmdlcnByaW50XSwKICAgICAgICAgICAgICAgIGRlZmF1bHQgPT4gdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbihcc3ByaW50ZignQ2Fubm90IGF1dG8tZGV0ZWN0IGZpbmdlcnByaW50IGFsZ29yaXRobSBmb3IgIiVzIi4nLCAkZmluZ2VycHJpbnQpKSwKICAgICAgICAgICAgfTsKICAgICAgICB9IGVsc2VpZiAoXGlzX2FycmF5KCRmaW5nZXJwcmludCkpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJGZpbmdlcnByaW50IGFzICRhbGdvID0+ICRoYXNoKSB7CiAgICAgICAgICAgICAgICAkZmluZ2VycHJpbnRbJGFsZ29dID0gJ3Bpbi1zaGEyNTYnID09PSAkYWxnbyA/IChhcnJheSkgJGhhc2ggOiBzdHJfcmVwbGFjZSgnOicsICcnLCAkaGFzaCk7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKFxzcHJpbnRmKCdPcHRpb24gInBlZXJfZmluZ2VycHJpbnQiIG11c3QgYmUgc3RyaW5nIG9yIGFycmF5LCAiJXMiIGdpdmVuLicsIGdldF9kZWJ1Z190eXBlKCRmaW5nZXJwcmludCkpKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkZmluZ2VycHJpbnQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBXaGVuIHRoZSB2YWx1ZSBjYW5ub3QgYmUganNvbi1lbmNvZGVkCiAgICAgKi8KICAgIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIGpzb25FbmNvZGUobWl4ZWQgJHZhbHVlLCA/aW50ICRmbGFncyA9IG51bGwsIGludCAkbWF4RGVwdGggPSA1MTIpOiBzdHJpbmcKICAgIHsKICAgICAgICAkZmxhZ3MgPz89IFxKU09OX0hFWF9UQUcgfCBcSlNPTl9IRVhfQVBPUyB8IFxKU09OX0hFWF9BTVAgfCBcSlNPTl9IRVhfUVVPVCB8IFxKU09OX1BSRVNFUlZFX1pFUk9fRlJBQ1RJT047CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgICR2YWx1ZSA9IGpzb25fZW5jb2RlKCR2YWx1ZSwgJGZsYWdzIHwgXEpTT05fVEhST1dfT05fRVJST1IsICRtYXhEZXB0aCk7CiAgICAgICAgfSBjYXRjaCAoXEpzb25FeGNlcHRpb24gJGUpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignSW52YWxpZCB2YWx1ZSBmb3IgImpzb24iIG9wdGlvbjogJy4kZS0+Z2V0TWVzc2FnZSgpKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkdmFsdWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXNvbHZlcyBhIFVSTCBhZ2FpbnN0IGEgYmFzZSBVUkkuCiAgICAgKgogICAgICogQHNlZSBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTUuMi4yCiAgICAgKgogICAgICogQHRocm93cyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gV2hlbiBhbiBpbnZhbGlkIFVSTCBpcyBwYXNzZWQKICAgICAqLwogICAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gcmVzb2x2ZVVybChhcnJheSAkdXJsLCA/YXJyYXkgJGJhc2UsIGFycmF5ICRxdWVyeURlZmF1bHRzID0gW10pOiBhcnJheQogICAgewogICAgICAgICRnaXZlblVybCA9ICR1cmw7CgogICAgICAgIGlmIChudWxsICE9PSAkYmFzZSAmJiAnJyA9PT0gKCRiYXNlWydzY2hlbWUnXSA/PyAnJykuKCRiYXNlWydhdXRob3JpdHknXSA/PyAnJykpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbihcc3ByaW50ZignSW52YWxpZCAiYmFzZV91cmkiIG9wdGlvbjogaG9zdCBvciBzY2hlbWUgaXMgbWlzc2luZyBpbiAiJXMiLicsIGltcGxvZGUoJycsICRiYXNlKSkpOwogICAgICAgIH0KCiAgICAgICAgaWYgKG51bGwgPT09ICR1cmxbJ3NjaGVtZSddICYmIChudWxsID09PSAkYmFzZSB8fCBudWxsID09PSAkYmFzZVsnc2NoZW1lJ10pKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oXHNwcmludGYoJ0ludmFsaWQgVVJMOiBzY2hlbWUgaXMgbWlzc2luZyBpbiAiJXMiLiBEaWQgeW91IGZvcmdldCB0byBhZGQgImh0dHAocyk6Ly8iPycsIGltcGxvZGUoJycsICRiYXNlID8/ICR1cmwpKSk7CiAgICAgICAgfQoKICAgICAgICBpZiAobnVsbCA9PT0gJGJhc2UgJiYgJycgPT09ICR1cmxbJ3NjaGVtZSddLiR1cmxbJ2F1dGhvcml0eSddKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oXHNwcmludGYoJ0ludmFsaWQgVVJMOiBubyAiYmFzZV91cmkiIG9wdGlvbiB3YXMgcHJvdmlkZWQgYW5kIGhvc3Qgb3Igc2NoZW1lIGlzIG1pc3NpbmcgaW4gIiVzIi4nLCBpbXBsb2RlKCcnLCAkdXJsKSkpOwogICAgICAgIH0KCiAgICAgICAgaWYgKG51bGwgIT09ICR1cmxbJ3NjaGVtZSddKSB7CiAgICAgICAgICAgICR1cmxbJ3BhdGgnXSA9IHNlbGY6OnJlbW92ZURvdFNlZ21lbnRzKCR1cmxbJ3BhdGgnXSA/PyAnJyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKG51bGwgIT09ICR1cmxbJ2F1dGhvcml0eSddKSB7CiAgICAgICAgICAgICAgICAkdXJsWydwYXRoJ10gPSBzZWxmOjpyZW1vdmVEb3RTZWdtZW50cygkdXJsWydwYXRoJ10gPz8gJycpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaWYgKG51bGwgPT09ICR1cmxbJ3BhdGgnXSkgewogICAgICAgICAgICAgICAgICAgICR1cmxbJ3BhdGgnXSA9ICRiYXNlWydwYXRoJ107CiAgICAgICAgICAgICAgICAgICAgJHVybFsncXVlcnknXSA/Pz0gJGJhc2VbJ3F1ZXJ5J107CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGlmICgnLycgIT09ICR1cmxbJ3BhdGgnXVswXSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAobnVsbCA9PT0gJGJhc2VbJ3BhdGgnXSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHVybFsncGF0aCddID0gJy8nLiR1cmxbJ3BhdGgnXTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWdtZW50cyA9IGV4cGxvZGUoJy8nLCAkYmFzZVsncGF0aCddKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5X3NwbGljZSgkc2VnbWVudHMsIC0xLCAxLCBbJHVybFsncGF0aCddXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdXJsWydwYXRoJ10gPSBpbXBsb2RlKCcvJywgJHNlZ21lbnRzKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgJHVybFsncGF0aCddID0gc2VsZjo6cmVtb3ZlRG90U2VnbWVudHMoJHVybFsncGF0aCddKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAkdXJsWydhdXRob3JpdHknXSA9ICRiYXNlWydhdXRob3JpdHknXTsKCiAgICAgICAgICAgICAgICBpZiAoJHF1ZXJ5RGVmYXVsdHMpIHsKICAgICAgICAgICAgICAgICAgICAkdXJsWydxdWVyeSddID0gJz8nLnNlbGY6Om1lcmdlUXVlcnlTdHJpbmcoc3Vic3RyKCR1cmxbJ3F1ZXJ5J10gPz8gJycsIDEpLCAkcXVlcnlEZWZhdWx0cywgZmFsc2UpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAkdXJsWydzY2hlbWUnXSA9ICRiYXNlWydzY2hlbWUnXTsKICAgICAgICB9CgogICAgICAgIGlmICgnJyA9PT0gKCR1cmxbJ3BhdGgnXSA/PyAnJykpIHsKICAgICAgICAgICAgJHVybFsncGF0aCddID0gJy8nOwogICAgICAgIH0KCiAgICAgICAgaWYgKCc/JyA9PT0gKCR1cmxbJ3F1ZXJ5J10gPz8gJycpKSB7CiAgICAgICAgICAgICR1cmxbJ3F1ZXJ5J10gPSBudWxsOwogICAgICAgIH0KCiAgICAgICAgaWYgKG51bGwgIT09ICR1cmxbJ3NjaGVtZSddICYmIG51bGwgPT09ICR1cmxbJ2F1dGhvcml0eSddKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oXHNwcmludGYoJ0ludmFsaWQgVVJMOiBob3N0IGlzIG1pc3NpbmcgaW4gIiVzIi4nLCBpbXBsb2RlKCcnLCAkZ2l2ZW5VcmwpKSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHVybDsKICAgIH0KCiAgICAvKioKICAgICAqIFBhcnNlcyBhIFVSTCBhbmQgZml4ZXMgaXRzIGVuY29kaW5nIGlmIG5lZWRlZC4KICAgICAqCiAgICAgKiBAdGhyb3dzIEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBXaGVuIGFuIGludmFsaWQgVVJMIGlzIHBhc3NlZAogICAgICovCiAgICBwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBwYXJzZVVybChzdHJpbmcgJHVybCwgYXJyYXkgJHF1ZXJ5ID0gW10sIGFycmF5ICRhbGxvd2VkU2NoZW1lcyA9IFsnaHR0cCcgPT4gODAsICdodHRwcycgPT4gNDQzXSk6IGFycmF5CiAgICB7CiAgICAgICAgaWYgKGZhbHNlICE9PSAoJGkgPSBzdHJwb3MoJHVybCwgJ1xcJykpICYmICRpIDwgc3RyY3NwbigkdXJsLCAnPyMnKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKFxzcHJpbnRmKCdNYWxmb3JtZWQgVVJMICIlcyI6IGJhY2tzbGFzaGVzIGFyZSBub3QgYWxsb3dlZC4nLCAkdXJsKSk7CiAgICAgICAgfQogICAgICAgIGlmIChcc3RybGVuKCR1cmwpICE9PSBzdHJjc3BuKCR1cmwsICJcclxuXHQiKSkgewogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKFxzcHJpbnRmKCdNYWxmb3JtZWQgVVJMICIlcyI6IENSL0xGL1RBQiBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZC4nLCAkdXJsKSk7CiAgICAgICAgfQogICAgICAgIGlmICgnJyAhPT0gJHVybCAmJiAoXG9yZCgkdXJsWzBdKSA8PSAzMiB8fCBcb3JkKCR1cmxbLTFdKSA8PSAzMikpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbihcc3ByaW50ZignTWFsZm9ybWVkIFVSTCAiJXMiOiBsZWFkaW5nL3RyYWlsaW5nIEFTQ0lJIGNvbnRyb2wgY2hhcmFjdGVycyBvciBzcGFjZXMgYXJlIG5vdCBhbGxvd2VkLicsICR1cmwpKTsKICAgICAgICB9CgogICAgICAgICR0YWlsID0gJyc7CgogICAgICAgIGlmIChmYWxzZSA9PT0gJHBhcnRzID0gcGFyc2VfdXJsKFxzdHJsZW4oJHVybCkgIT09IHN0cmNzcG4oJHVybCwgJz8jJykgPyAkdXJsIDogJHVybC4kdGFpbCA9ICcjJykpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbihcc3ByaW50ZignTWFsZm9ybWVkIFVSTCAiJXMiLicsICR1cmwpKTsKICAgICAgICB9CgogICAgICAgIGlmICgkcXVlcnkpIHsKICAgICAgICAgICAgJHBhcnRzWydxdWVyeSddID0gc2VsZjo6bWVyZ2VRdWVyeVN0cmluZygkcGFydHNbJ3F1ZXJ5J10gPz8gbnVsbCwgJHF1ZXJ5LCB0cnVlKTsKICAgICAgICB9CgogICAgICAgICRzY2hlbWUgPSAkcGFydHNbJ3NjaGVtZSddID8/IG51bGw7CiAgICAgICAgJGhvc3QgPSAkcGFydHNbJ2hvc3QnXSA/PyBudWxsOwoKICAgICAgICBpZiAoISRzY2hlbWUgJiYgJGhvc3QgJiYgIXN0cl9zdGFydHNfd2l0aCgkdXJsLCAnLy8nKSkgewogICAgICAgICAgICAkcGFydHMgPSBwYXJzZV91cmwoJzovJy4kdXJsLiR0YWlsKTsKICAgICAgICAgICAgJHBhcnRzWydwYXRoJ10gPSBzdWJzdHIoJHBhcnRzWydwYXRoJ10sIDIpOwogICAgICAgICAgICAkc2NoZW1lID0gJGhvc3QgPSBudWxsOwogICAgICAgIH0KCiAgICAgICAgJHBvcnQgPSAkcGFydHNbJ3BvcnQnXSA/PyAwOwoKICAgICAgICBpZiAobnVsbCAhPT0gJHNjaGVtZSkgewogICAgICAgICAgICBpZiAoIWlzc2V0KCRhbGxvd2VkU2NoZW1lc1skc2NoZW1lID0gc3RydG9sb3dlcigkc2NoZW1lKV0pKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKFxzcHJpbnRmKCdVbnN1cHBvcnRlZCBzY2hlbWUgaW4gIiVzIjogIiVzIiBleHBlY3RlZC4nLCAkdXJsLCBpbXBsb2RlKCciIG9yICInLCBhcnJheV9rZXlzKCRhbGxvd2VkU2NoZW1lcykpKSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRwb3J0ID0gJGFsbG93ZWRTY2hlbWVzWyRzY2hlbWVdID09PSAkcG9ydCA/IDAgOiAkcG9ydDsKICAgICAgICAgICAgJHNjaGVtZSAuPSAnOic7CiAgICAgICAgfQoKICAgICAgICBpZiAobnVsbCAhPT0gJGhvc3QpIHsKICAgICAgICAgICAgaWYgKCFcZGVmaW5lZCgnSU5UTF9JRE5BX1ZBUklBTlRfVVRTNDYnKSAmJiBwcmVnX21hdGNoKCcvW1x4ODAtXHhGRl0vJywgJGhvc3QpKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKFxzcHJpbnRmKCdVbnN1cHBvcnRlZCBJRE4gIiVzIiwgdHJ5IGVuYWJsaW5nIHRoZSAiaW50bCIgUEhQIGV4dGVuc2lvbiBvciBydW5uaW5nICJjb21wb3NlciByZXF1aXJlIHN5bWZvbnkvcG9seWZpbGwtaW50bC1pZG4iLicsICRob3N0KSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRob3N0ID0gXGRlZmluZWQoJ0lOVExfSUROQV9WQVJJQU5UX1VUUzQ2JykgPyBpZG5fdG9fYXNjaWkoJGhvc3QsIFxJRE5BX0RFRkFVTFQgfCBcSUROQV9VU0VfU1REM19SVUxFUyB8IFxJRE5BX0NIRUNLX0JJREkgfCBcSUROQV9DSEVDS19DT05URVhUSiB8IFxJRE5BX05PTlRSQU5TSVRJT05BTF9UT19BU0NJSSwgXElOVExfSUROQV9WQVJJQU5UX1VUUzQ2KSA/OiBzdHJ0b2xvd2VyKCRob3N0KSA6IHN0cnRvbG93ZXIoJGhvc3QpOwogICAgICAgICAgICAkaG9zdCAuPSAkcG9ydCA/ICc6Jy4kcG9ydCA6ICcnOwogICAgICAgIH0KCiAgICAgICAgZm9yZWFjaCAoWyd1c2VyJywgJ3Bhc3MnLCAncGF0aCcsICdxdWVyeScsICdmcmFnbWVudCddIGFzICRwYXJ0KSB7CiAgICAgICAgICAgIGlmICghaXNzZXQoJHBhcnRzWyRwYXJ0XSkpIHsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoc3RyX2NvbnRhaW5zKCRwYXJ0c1skcGFydF0sICclJykpIHsKICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tMi4zCiAgICAgICAgICAgICAgICAkcGFydHNbJHBhcnRdID0gcHJlZ19yZXBsYWNlX2NhbGxiYWNrKCcvJSg/OjJbREVdfDNbMC05XXxbNDZdWzEtOUEtRl18NUZ8WzU3XVswLTlBXXw3RSkrKy9pJywgZm4gKCRtKSA9PiByYXd1cmxkZWNvZGUoJG1bMF0pLCAkcGFydHNbJHBhcnRdKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzM5ODYjc2VjdGlvbi0zLjMKICAgICAgICAgICAgJHBhcnRzWyRwYXJ0XSA9IHByZWdfcmVwbGFjZV9jYWxsYmFjaygiI1teLUEtWmEtejAtOS5ffiEkJi8nKClbXF0qKyw7PTpAe30lXSsrIyIsIGZuICgkbSkgPT4gcmF3dXJsZW5jb2RlKCRtWzBdKSwgJHBhcnRzWyRwYXJ0XSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAnc2NoZW1lJyA9PiAkc2NoZW1lLAogICAgICAgICAgICAnYXV0aG9yaXR5JyA9PiBudWxsICE9PSAkaG9zdCA/ICcvLycuKGlzc2V0KCRwYXJ0c1sndXNlciddKSA/ICRwYXJ0c1sndXNlciddLihpc3NldCgkcGFydHNbJ3Bhc3MnXSkgPyAnOicuJHBhcnRzWydwYXNzJ10gOiAnJykuJ0AnIDogJycpLiRob3N0IDogbnVsbCwKICAgICAgICAgICAgJ3BhdGgnID0+IGlzc2V0KCRwYXJ0c1sncGF0aCddWzBdKSA/ICRwYXJ0c1sncGF0aCddIDogbnVsbCwKICAgICAgICAgICAgJ3F1ZXJ5JyA9PiBpc3NldCgkcGFydHNbJ3F1ZXJ5J10pID8gJz8nLiRwYXJ0c1sncXVlcnknXSA6IG51bGwsCiAgICAgICAgICAgICdmcmFnbWVudCcgPT4gaXNzZXQoJHBhcnRzWydmcmFnbWVudCddKSAmJiAhJHRhaWwgPyAnIycuJHBhcnRzWydmcmFnbWVudCddIDogbnVsbCwKICAgICAgICBdOwogICAgfQoKICAgIC8qKgogICAgICogUmVtb3ZlcyBkb3Qtc2VnbWVudHMgZnJvbSBhIHBhdGguCiAgICAgKgogICAgICogQHNlZSBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTUuMi40CiAgICAgKi8KICAgIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIHJlbW92ZURvdFNlZ21lbnRzKHN0cmluZyAkcGF0aCk6IHN0cmluZwogICAgewogICAgICAgICRyZXN1bHQgPSAnJzsKCiAgICAgICAgd2hpbGUgKCFcaW5fYXJyYXkoJHBhdGgsIFsnJywgJy4nLCAnLi4nXSwgdHJ1ZSkpIHsKICAgICAgICAgICAgaWYgKCcuJyA9PT0gJHBhdGhbMF0gJiYgKHN0cl9zdGFydHNfd2l0aCgkcGF0aCwgJHAgPSAnLi4vJykgfHwgc3RyX3N0YXJ0c193aXRoKCRwYXRoLCAkcCA9ICcuLycpKSkgewogICAgICAgICAgICAgICAgJHBhdGggPSBzdWJzdHIoJHBhdGgsIFxzdHJsZW4oJHApKTsKICAgICAgICAgICAgfSBlbHNlaWYgKCcvLicgPT09ICRwYXRoIHx8IHN0cl9zdGFydHNfd2l0aCgkcGF0aCwgJy8uLycpKSB7CiAgICAgICAgICAgICAgICAkcGF0aCA9IHN1YnN0cl9yZXBsYWNlKCRwYXRoLCAnLycsIDAsIDMpOwogICAgICAgICAgICB9IGVsc2VpZiAoJy8uLicgPT09ICRwYXRoIHx8IHN0cl9zdGFydHNfd2l0aCgkcGF0aCwgJy8uLi8nKSkgewogICAgICAgICAgICAgICAgJGkgPSBzdHJycG9zKCRyZXN1bHQsICcvJyk7CiAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJGkgPyBzdWJzdHIoJHJlc3VsdCwgMCwgJGkpIDogJyc7CiAgICAgICAgICAgICAgICAkcGF0aCA9IHN1YnN0cl9yZXBsYWNlKCRwYXRoLCAnLycsIDAsIDQpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGkgPSBzdHJwb3MoJHBhdGgsICcvJywgMSkgPzogXHN0cmxlbigkcGF0aCk7CiAgICAgICAgICAgICAgICAkcmVzdWx0IC49IHN1YnN0cigkcGF0aCwgMCwgJGkpOwogICAgICAgICAgICAgICAgJHBhdGggPSBzdWJzdHIoJHBhdGgsICRpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRyZXN1bHQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBNZXJnZXMgYW5kIGVuY29kZXMgYSBxdWVyeSBhcnJheSB3aXRoIGEgcXVlcnkgc3RyaW5nLgogICAgICoKICAgICAqIEB0aHJvd3MgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIFdoZW4gYW4gaW52YWxpZCBxdWVyeS1zdHJpbmcgdmFsdWUgaXMgcGFzc2VkCiAgICAgKi8KICAgIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIG1lcmdlUXVlcnlTdHJpbmcoP3N0cmluZyAkcXVlcnlTdHJpbmcsIGFycmF5ICRxdWVyeUFycmF5LCBib29sICRyZXBsYWNlKTogP3N0cmluZwogICAgewogICAgICAgIGlmICghJHF1ZXJ5QXJyYXkpIHsKICAgICAgICAgICAgcmV0dXJuICRxdWVyeVN0cmluZzsKICAgICAgICB9CgogICAgICAgICRxdWVyeSA9IFtdOwoKICAgICAgICBpZiAobnVsbCAhPT0gJHF1ZXJ5U3RyaW5nKSB7CiAgICAgICAgICAgIGZvcmVhY2ggKGV4cGxvZGUoJyYnLCAkcXVlcnlTdHJpbmcpIGFzICR2KSB7CiAgICAgICAgICAgICAgICBpZiAoJycgIT09ICR2KSB7CiAgICAgICAgICAgICAgICAgICAgJGsgPSB1cmxkZWNvZGUoZXhwbG9kZSgnPScsICR2LCAyKVswXSk7CiAgICAgICAgICAgICAgICAgICAgJHF1ZXJ5WyRrXSA9IChpc3NldCgkcXVlcnlbJGtdKSA/ICRxdWVyeVska10uJyYnIDogJycpLiR2OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoJHJlcGxhY2UpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHF1ZXJ5QXJyYXkgYXMgJGsgPT4gJHYpIHsKICAgICAgICAgICAgICAgIGlmIChudWxsID09PSAkdikgewogICAgICAgICAgICAgICAgICAgIHVuc2V0KCRxdWVyeVska10pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAkcXVlcnlTdHJpbmcgPSBodHRwX2J1aWxkX3F1ZXJ5KCRxdWVyeUFycmF5LCAnJywgJyYnLCBcUEhQX1FVRVJZX1JGQzM5ODYpOwogICAgICAgICRxdWVyeUFycmF5ID0gW107CgogICAgICAgIGlmICgkcXVlcnlTdHJpbmcpIHsKICAgICAgICAgICAgaWYgKHN0cl9jb250YWlucygkcXVlcnlTdHJpbmcsICclJykpIHsKICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tMi4zICsgc29tZSBjaGFycyBub3QgZW5jb2RlZCBieSBicm93c2VycwogICAgICAgICAgICAgICAgJHF1ZXJ5U3RyaW5nID0gc3RydHIoJHF1ZXJ5U3RyaW5nLCBbCiAgICAgICAgICAgICAgICAgICAgJyUyMScgPT4gJyEnLAogICAgICAgICAgICAgICAgICAgICclMjQnID0+ICckJywKICAgICAgICAgICAgICAgICAgICAnJTI4JyA9PiAnKCcsCiAgICAgICAgICAgICAgICAgICAgJyUyOScgPT4gJyknLAogICAgICAgICAgICAgICAgICAgICclMkEnID0+ICcqJywKICAgICAgICAgICAgICAgICAgICAnJTJGJyA9PiAnLycsCiAgICAgICAgICAgICAgICAgICAgJyUzQScgPT4gJzonLAogICAgICAgICAgICAgICAgICAgICclM0InID0+ICc7JywKICAgICAgICAgICAgICAgICAgICAnJTQwJyA9PiAnQCcsCiAgICAgICAgICAgICAgICAgICAgJyU1QicgPT4gJ1snLAogICAgICAgICAgICAgICAgICAgICclNUQnID0+ICddJywKICAgICAgICAgICAgICAgIF0pOwogICAgICAgICAgICB9CgogICAgICAgICAgICBmb3JlYWNoIChleHBsb2RlKCcmJywgJHF1ZXJ5U3RyaW5nKSBhcyAkdikgewogICAgICAgICAgICAgICAgJHF1ZXJ5QXJyYXlbcmF3dXJsZGVjb2RlKGV4cGxvZGUoJz0nLCAkdiwgMilbMF0pXSA9ICR2OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gaW1wbG9kZSgnJicsICRyZXBsYWNlID8gYXJyYXlfcmVwbGFjZSgkcXVlcnksICRxdWVyeUFycmF5KSA6ICgkcXVlcnkgKyAkcXVlcnlBcnJheSkpOwogICAgfQoKICAgIC8qKgogICAgICogTG9hZHMgcHJveHkgY29uZmlndXJhdGlvbiBmcm9tIHRoZSBzYW1lIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcyBjdXJsIHdoZW4gbm8gcHJveHkgaXMgZXhwbGljaXRseSBzZXQuCiAgICAgKi8KICAgIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIGdldFByb3h5KD9zdHJpbmcgJHByb3h5LCBhcnJheSAkdXJsLCA/c3RyaW5nICRub1Byb3h5KTogP2FycmF5CiAgICB7CiAgICAgICAgaWYgKG51bGwgPT09ICRwcm94eSA9IHNlbGY6OmdldFByb3h5VXJsKCRwcm94eSwgJHVybCkpIHsKICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgfQoKICAgICAgICAkcHJveHkgPSAocGFyc2VfdXJsKCRwcm94eSkgPzogW10pICsgWydzY2hlbWUnID0+ICdodHRwJ107CgogICAgICAgIGlmICghaXNzZXQoJHByb3h5Wydob3N0J10pKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBUcmFuc3BvcnRFeGNlcHRpb24oJ0ludmFsaWQgSFRUUCBwcm94eTogaG9zdCBpcyBtaXNzaW5nLicpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCdodHRwJyA9PT0gJHByb3h5WydzY2hlbWUnXSkgewogICAgICAgICAgICAkcHJveHlVcmwgPSAndGNwOi8vJy4kcHJveHlbJ2hvc3QnXS4nOicuKCRwcm94eVsncG9ydCddID8/ICc4MCcpOwogICAgICAgIH0gZWxzZWlmICgnaHR0cHMnID09PSAkcHJveHlbJ3NjaGVtZSddKSB7CiAgICAgICAgICAgICRwcm94eVVybCA9ICdzc2w6Ly8nLiRwcm94eVsnaG9zdCddLic6Jy4oJHByb3h5Wydwb3J0J10gPz8gJzQ0MycpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRocm93IG5ldyBUcmFuc3BvcnRFeGNlcHRpb24oXHNwcmludGYoJ1Vuc3VwcG9ydGVkIHByb3h5IHNjaGVtZSAiJXMiOiAiaHR0cCIgb3IgImh0dHBzIiBleHBlY3RlZC4nLCAkcHJveHlbJ3NjaGVtZSddKSk7CiAgICAgICAgfQoKICAgICAgICAkbm9Qcm94eSA/Pz0gJF9TRVJWRVJbJ25vX3Byb3h5J10gPz8gJF9TRVJWRVJbJ05PX1BST1hZJ10gPz8gJyc7CiAgICAgICAgJG5vUHJveHkgPSAkbm9Qcm94eSA/IHByZWdfc3BsaXQoJy9bXHMsXSsvJywgJG5vUHJveHkpIDogW107CgogICAgICAgIHJldHVybiBbCiAgICAgICAgICAgICd1cmwnID0+ICRwcm94eVVybCwKICAgICAgICAgICAgJ2F1dGgnID0+IGlzc2V0KCRwcm94eVsndXNlciddKSA/ICdCYXNpYyAnLmJhc2U2NF9lbmNvZGUocmF3dXJsZGVjb2RlKCRwcm94eVsndXNlciddKS4nOicucmF3dXJsZGVjb2RlKCRwcm94eVsncGFzcyddID8/ICcnKSkgOiBudWxsLAogICAgICAgICAgICAnbm9fcHJveHknID0+ICRub1Byb3h5LAogICAgICAgIF07CiAgICB9CgogICAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gZ2V0UHJveHlVcmwoP3N0cmluZyAkcHJveHksIGFycmF5ICR1cmwpOiA/c3RyaW5nCiAgICB7CiAgICAgICAgaWYgKG51bGwgIT09ICRwcm94eSkgewogICAgICAgICAgICByZXR1cm4gJHByb3h5OwogICAgICAgIH0KCiAgICAgICAgLy8gSWdub3JlIEhUVFBfUFJPWFkgZXhjZXB0IG9uIHRoZSBDTEkgdG8gd29yayBhcm91bmQgaHR0cG94eSBzZXQgb2YgdnVsbmVyYWJpbGl0aWVzCiAgICAgICAgJHByb3h5ID0gJF9TRVJWRVJbJ2h0dHBfcHJveHknXSA/PyAoXGluX2FycmF5KFxQSFBfU0FQSSwgWydjbGknLCAncGhwZGJnJ10sIHRydWUpID8gJF9TRVJWRVJbJ0hUVFBfUFJPWFknXSA/PyBudWxsIDogbnVsbCkgPz8gJF9TRVJWRVJbJ2FsbF9wcm94eSddID8/ICRfU0VSVkVSWydBTExfUFJPWFknXSA/PyBudWxsOwoKICAgICAgICBpZiAoJ2h0dHBzOicgPT09ICR1cmxbJ3NjaGVtZSddKSB7CiAgICAgICAgICAgICRwcm94eSA9ICRfU0VSVkVSWydodHRwc19wcm94eSddID8/ICRfU0VSVkVSWydIVFRQU19QUk9YWSddID8/ICRwcm94eTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkcHJveHk7CiAgICB9CgogICAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gc2hvdWxkQnVmZmVyKGFycmF5ICRoZWFkZXJzKTogYm9vbAogICAgewogICAgICAgIGlmIChudWxsID09PSAkY29udGVudFR5cGUgPSAkaGVhZGVyc1snY29udGVudC10eXBlJ11bMF0gPz8gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICBpZiAoZmFsc2UgIT09ICRpID0gc3RycG9zKCRjb250ZW50VHlwZSwgJzsnKSkgewogICAgICAgICAgICAkY29udGVudFR5cGUgPSBzdWJzdHIoJGNvbnRlbnRUeXBlLCAwLCAkaSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGNvbnRlbnRUeXBlICYmIHByZWdfbWF0Y2goJyNeKD86dGV4dC98YXBwbGljYXRpb24vKD86LitcKyk/KD86anNvbnx4bWwpJCkjaScsICRjb250ZW50VHlwZSk7CiAgICB9Cn0KIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGRvY0Jsb2NrIjtOO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbWV0YWRhdGEiO2E6MDp7fX0=";