@tilde-nlp/ngx-translate 5.0.2 → 5.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -329,14 +329,15 @@ export const i18n_en = {
329
329
  "SELECTED_NONE": "None",
330
330
  "EDIT": "Edit",
331
331
  "CREATE": "New glossary",
332
- "DESCRIPTION_EMPTY": "Create your first glossary for {{srcLang}}-{{trgLang}}",
332
+ "DESCRIPTION_EMPTY": "Create new glossary for <span>{{srcLang}}-{{trgLang}} translation engine</span> or open <span>default glossaries</span> and create glossary there to use it in translation across the platform.",
333
333
  "DESCRIPTION_EMPTY_ADVICE": "For best results include technical terms, brand names, acronyms and surnames.",
334
+ "UNAVAILABLE_GLOSSARIES": "No glossary available!",
334
335
  "LAST_UPDATED": "Last updated: {{date}}",
335
336
  "DEFAULT_COLLECTION_NAME": "My term collection",
336
337
  "SYNC": "Sync",
337
338
  "SYNC_ERROR": "Retry",
338
339
  "TERMS_IN_USE": "Terms in use: {{termCount}}",
339
- "DEFAULT_GLOSSARY_MANAGEMENT": "Default glossary management",
340
+ "DEFAULT_GLOSSARY_MANAGEMENT": "Manage default glossaries",
340
341
  "ARIA_LABELS": {
341
342
  "RADIO_GROUP": "Select a term collection",
342
343
  "OTHER_COLLECTIONS": "Open the collection menu"
@@ -361,8 +362,12 @@ export const i18n_en = {
361
362
  },
362
363
  "READER": {
363
364
  "TITLE": "Glossaries",
364
- "DESCRIPTION": "No glossaries created",
365
- "HINT": "You must be a Terminology Manager to create glossaries"
365
+ "UNAVAILABLE": "Glossaries not available!",
366
+ "TEXT": "Glossaries are only available for authorized users. </br> <a href=''>Sign in</a> or <a href=''>start your free trial</a> to unlock our glossary.",
367
+ "WHAT_IS_GLOSSARY_TITLE": "What is a Glossary?",
368
+ "WHAT_IS_GLOSSARY_DESC": "A glossary in machine translation is a custom dictionary of specific terms and translations.",
369
+ "BENEFITS_TITLE": "Glossary Benefits",
370
+ "BENEFITS_DESC": "It ensures consistency and accuracy, enhancing translation quality for specialized content."
366
371
  },
367
372
  "ERRORS": {
368
373
  "ERRORIMPORTING": "Importing error"
@@ -451,4 +456,4 @@ export const i18n_en = {
451
456
  "PAUSE": "Pause"
452
457
  }
453
458
  };
454
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvaTE4bi9lbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsa0JBQWtCLEVBQUUsWUFBWTtJQUNoQyxVQUFVLEVBQUUsVUFBVTtJQUN0QixlQUFlLEVBQUU7UUFDZixVQUFVLEVBQUUsc0dBQXNHO1FBQ2xILGVBQWUsRUFBRSxZQUFZO1FBQzdCLG9CQUFvQixFQUFFLFFBQVE7UUFDOUIscUJBQXFCLEVBQUUsVUFBVTtRQUNqQyxxQkFBcUIsRUFBRSxVQUFVO1FBQ2pDLG9CQUFvQixFQUFFLFNBQVM7UUFDL0Isc0JBQXNCLEVBQUUsK0JBQStCO1FBQ3ZELDJCQUEyQixFQUFFLGdLQUFnSztRQUM3TCw0QkFBNEIsRUFBRSxpQ0FBaUM7UUFDL0QsaUNBQWlDLEVBQUUsa0tBQWtLO1FBQ3JNLHNDQUFzQyxFQUFFLHFDQUFxQztRQUM3RSxvQ0FBb0MsRUFBRSxvQ0FBb0M7UUFDMUUsaUNBQWlDLEVBQUUsd0JBQXdCO1FBQzNELHFDQUFxQyxFQUFFLGdCQUFnQjtRQUN2RCxnQ0FBZ0MsRUFBRSx1QkFBdUI7UUFDekQsbUNBQW1DLEVBQUUsRUFBRTtRQUN2QywrQkFBK0IsRUFBRSxFQUFFO1FBQ25DLGlDQUFpQyxFQUFFLDRCQUE0QjtRQUMvRCxtQ0FBbUMsRUFBRSxjQUFjO1FBQ25ELGtDQUFrQyxFQUFFLFVBQVU7UUFDOUMsNkJBQTZCLEVBQUUsa0dBQWtHO1FBQ2pJLE1BQU0sRUFBRSxPQUFPO1FBQ2YscUJBQXFCLEVBQUUsbUJBQW1CO1FBQzFDLHVCQUF1QixFQUFFLDhCQUE4QjtRQUN2RCx1QkFBdUIsRUFBRSx5QkFBeUI7UUFDbEQsOEJBQThCLEVBQUUsMEZBQTBGO1FBQzFILG9CQUFvQixFQUFFLDZMQUE2TDtRQUNuTixnQkFBZ0IsRUFBRSxxRkFBcUY7UUFDdkcsbUJBQW1CLEVBQUUsdURBQXVEO1FBQzVFLGdCQUFnQixFQUFFLHdDQUF3QztRQUMxRCwwQkFBMEIsRUFBRSx5QkFBeUI7UUFDckQsK0JBQStCLEVBQUUsNEpBQTRKO1FBQzdMLG9CQUFvQixFQUFFLG1IQUFtSDtRQUN6SSxJQUFJLEVBQUUsS0FBSztRQUNYLGFBQWEsRUFBRSxvQkFBb0I7UUFDbkMsZ0JBQWdCLEVBQUUscUJBQXFCO1FBQ3ZDLHdCQUF3QixFQUFFLG1CQUFtQjtRQUM3Qyx1QkFBdUIsRUFBRSxZQUFZO1FBQ3JDLDJCQUEyQixFQUFFLGFBQWE7UUFDMUMsb0JBQW9CLEVBQUUsb0dBQW9HO1FBQzFILGdCQUFnQixFQUFFLFdBQVc7UUFDN0Isb0JBQW9CLEVBQUUsV0FBVztRQUNqQyxxQkFBcUIsRUFBRSxXQUFXO1FBQ2xDLGdCQUFnQixFQUFFLE1BQU07UUFDeEIsZ0JBQWdCLEVBQUUsTUFBTTtRQUN4QixrQkFBa0IsRUFBRSxRQUFRO1FBQzVCLHVCQUF1QixFQUFFLGFBQWE7UUFDdEMsd0JBQXdCLEVBQUUsY0FBYztRQUN4QyxtQkFBbUIsRUFBRSxTQUFTO1FBQzlCLDhCQUE4QixFQUFFLG1CQUFtQjtRQUNuRCx3QkFBd0IsRUFBRSx3REFBd0Q7UUFDbEYscUNBQXFDLEVBQUUscUlBQXFJO1FBQzVLLCtCQUErQixFQUFFLG9DQUFvQztRQUNyRSx5QkFBeUIsRUFBRSxpREFBaUQ7UUFDNUUsaUNBQWlDLEVBQUUsZ0dBQWdHO1FBQ25JLDBCQUEwQixFQUFFLG1CQUFtQjtRQUMvQyxvQkFBb0IsRUFBRSx5Q0FBeUM7UUFDL0QsaUNBQWlDLEVBQUUseUlBQXlJO1FBQzVLLHNCQUFzQixFQUFFLFlBQVk7S0FDckM7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixRQUFRLEVBQUUsV0FBVztRQUNyQixXQUFXLEVBQUUsUUFBUTtRQUNyQixVQUFVLEVBQUUsVUFBVTtRQUN0QixzQkFBc0IsRUFBRSxjQUFjO1FBQ3RDLG9CQUFvQixFQUFFLFlBQVk7UUFDbEMsaUJBQWlCLEVBQUUscUJBQXFCO1FBQ3hDLHFCQUFxQixFQUFFLDBCQUEwQjtRQUNqRCxnQkFBZ0IsRUFBRSxRQUFRO1FBQzFCLG1CQUFtQixFQUFFLFdBQVc7UUFDaEMsZUFBZSxFQUFFLE9BQU87UUFDeEIsaUJBQWlCLEVBQUUsU0FBUztRQUM1QixxQkFBcUIsRUFBRSxVQUFVO1FBQ2pDLG1CQUFtQixFQUFFLGNBQWM7UUFDbkMsa0JBQWtCLEVBQUUsVUFBVTtRQUM5QixpQkFBaUIsRUFBRSxNQUFNO1FBQ3pCLGVBQWUsRUFBRSxRQUFRO1FBQ3pCLDJCQUEyQixFQUFFLFFBQVE7UUFDckMsZ0JBQWdCLEVBQUUsMERBQTBEO1FBQzVFLHFCQUFxQixFQUFFLDRCQUE0QjtRQUNuRCxrQkFBa0IsRUFBRSxrRUFBa0U7UUFDdEYsdUJBQXVCLEVBQUUsOEJBQThCO1FBQ3ZELDRCQUE0QixFQUFFLHVEQUF1RDtRQUNyRixxQkFBcUIsRUFBRSxZQUFZO0tBQ3BDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IscUJBQXFCLEVBQUUsa0JBQWtCO1FBQ3pDLGVBQWUsRUFBRSxpREFBaUQ7UUFDbEUsdUJBQXVCLEVBQUUsK0ZBQStGO1FBQ3hILHVCQUF1QixFQUFFLG1CQUFtQjtRQUM1QyxpQkFBaUIsRUFBRSx3RUFBd0U7UUFDM0YsOEJBQThCLEVBQUUsNElBQTRJO1FBQzVLLDJCQUEyQixFQUFFLGNBQWM7UUFDM0MscUJBQXFCLEVBQUUsaURBQWlEO1FBQ3hFLG9DQUFvQyxFQUFFLGNBQWM7UUFDcEQsOEJBQThCLEVBQUUscUtBQXFLO1FBQ3JNLDBCQUEwQixFQUFFLDZCQUE2QjtRQUN6RCxvQkFBb0IsRUFBRSwrQ0FBK0M7UUFDckUsd0JBQXdCLEVBQUUsY0FBYztRQUN4QyxrQkFBa0IsRUFBRSx1REFBdUQ7UUFDM0UsMEJBQTBCLEVBQUUsNkVBQTZFO1FBQ3pHLHFCQUFxQixFQUFFLG9CQUFvQjtRQUMzQywwQkFBMEIsRUFBRSxxQkFBcUI7UUFDakQsb0JBQW9CLEVBQUUsa0dBQWtHO1FBQ3hILCtCQUErQixFQUFFLG9CQUFvQjtRQUNyRCx5QkFBeUIsRUFBRSxxREFBcUQ7UUFDaEYsaUNBQWlDLEVBQUUsZ0dBQWdHO1FBQ25JLDhCQUE4QixFQUFFLDBEQUEwRDtRQUMxRix3QkFBd0IsRUFBRSwrRkFBK0Y7UUFDekgsdUJBQXVCLEVBQUUsZUFBZTtRQUN4QyxpQkFBaUIsRUFBRSw0QkFBNEI7UUFDL0Msc0JBQXNCLEVBQUUsY0FBYztRQUN0QyxnQkFBZ0IsRUFBRSxrQ0FBa0M7UUFDcEQseUJBQXlCLEVBQUUsNkJBQTZCO1FBQ3hELG1CQUFtQixFQUFFLG9EQUFvRDtRQUN6RSwyQkFBMkIsRUFBRSwrRkFBK0Y7UUFDNUgseUJBQXlCLEVBQUUsK0JBQStCO1FBQzFELG1CQUFtQixFQUFFLCtHQUErRztRQUNwSSxNQUFNLEVBQUUsMkNBQTJDO1FBQ25ELGNBQWMsRUFBRSx5R0FBeUc7UUFDekgsWUFBWSxFQUFFLGlCQUFpQjtRQUMvQixNQUFNLEVBQUUseURBQXlEO1FBQ2pFLGNBQWMsRUFBRSw2R0FBNkc7UUFDN0gsTUFBTSxFQUFFLGdFQUFnRTtRQUN4RSxZQUFZLEVBQUUsc0NBQXNDO1FBQ3BELE1BQU0sRUFBRSx1Q0FBdUM7UUFDL0MsY0FBYyxFQUFFLDRFQUE0RTtRQUM1RixNQUFNLEVBQUUsNENBQTRDO1FBQ3BELGNBQWMsRUFBRSxxRUFBcUU7UUFDckYsTUFBTSxFQUFFLCtGQUErRjtRQUN2RyxPQUFPLEVBQUUsNkNBQTZDO1FBQ3RELGFBQWEsRUFBRSxxQkFBcUI7UUFDcEMsVUFBVSxFQUFFLGtDQUFrQztRQUM5QywwQkFBMEIsRUFBRSxvQkFBb0I7UUFDaEQsb0JBQW9CLEVBQUUsK0JBQStCO1FBQ3JELDRCQUE0QixFQUFFLCtGQUErRjtRQUM3SCw0QkFBNEIsRUFBRTtZQUM1QixzQkFBc0IsRUFBRSw4QkFBOEI7WUFDdEQsZ0JBQWdCLEVBQUUsaUZBQWlGO1lBQ25HLCtCQUErQixFQUFFLDRCQUE0QjtZQUM3RCx5QkFBeUIsRUFBRSxzREFBc0Q7WUFDakYsbUNBQW1DLEVBQUUsMERBQTBEO1lBQy9GLDZCQUE2QixFQUFFLCtGQUErRjtZQUM5SCwrQkFBK0IsRUFBRSxtQkFBbUI7WUFDcEQseUJBQXlCLEVBQUUsOEZBQThGO1NBQzFIO1FBQ0QsYUFBYSxFQUFFO1lBQ2IseUJBQXlCLEVBQUUsbUJBQW1CO1lBQzlDLG1CQUFtQixFQUFFLDBFQUEwRTtZQUMvRiw0QkFBNEIsRUFBRSxpQkFBaUI7WUFDL0Msc0JBQXNCLEVBQUUsNkVBQTZFO1lBQ3JHLHNDQUFzQyxFQUFFLHlCQUF5QjtZQUNqRSxnQ0FBZ0MsRUFBRSwrSEFBK0g7WUFDakssK0NBQStDLEVBQUUseUJBQXlCO1lBQzFFLHlDQUF5QyxFQUFFLDZJQUE2STtZQUN4TCxhQUFhLEVBQUUsZ0JBQWdCO1lBQy9CLE9BQU8sRUFBRSxrQ0FBa0M7WUFDM0Msb0JBQW9CLEVBQUUsMkJBQTJCO1lBQ2pELGNBQWMsRUFBRSwrQkFBK0I7U0FDaEQ7UUFDRCxPQUFPLEVBQUU7WUFDUCxpQkFBaUIsRUFBRSxXQUFXO1lBQzlCLFdBQVcsRUFBRSxtREFBbUQ7WUFDaEUseUJBQXlCLEVBQUUsY0FBYztZQUN6QyxtQkFBbUIsRUFBRSx3RUFBd0U7WUFDN0YsdUJBQXVCLEVBQUUsMEJBQTBCO1lBQ25ELGlCQUFpQixFQUFFLHFGQUFxRjtZQUN4Ryx5QkFBeUIsRUFBRSxjQUFjO1lBQ3pDLG1CQUFtQixFQUFFLHVHQUF1RztZQUM1SCw0QkFBNEIsRUFBRSwyQkFBMkI7WUFDekQsc0JBQXNCLEVBQUUsOENBQThDO1lBQ3RFLDBCQUEwQixFQUFFLHNCQUFzQjtZQUNsRCxvQkFBb0IsRUFBRSxxRUFBcUU7U0FDNUY7S0FDRjtJQUNELFFBQVEsRUFBRSxFQUFFO0lBQ1osV0FBVyxFQUFFO1FBQ1gsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixJQUFJLEVBQUUsUUFBUTtRQUNkLElBQUksRUFBRSxTQUFTO1FBQ2YsSUFBSSxFQUFFLFVBQVU7UUFDaEIsSUFBSSxFQUFFLFFBQVE7UUFDZCxJQUFJLEVBQUUsU0FBUztRQUNmLElBQUksRUFBRSxXQUFXO1FBQ2pCLElBQUksRUFBRSxZQUFZO1FBQ2xCLElBQUksRUFBRSxTQUFTO1FBQ2YsSUFBSSxFQUFFLGFBQWE7UUFDbkIsSUFBSSxFQUFFLFdBQVc7UUFDakIsSUFBSSxFQUFFLE9BQU87UUFDYixJQUFJLEVBQUUsV0FBVztRQUNqQixJQUFJLEVBQUUsU0FBUztRQUNmLElBQUksRUFBRSxXQUFXO1FBQ2pCLElBQUksRUFBRSxRQUFRO1FBQ2QsSUFBSSxFQUFFLFFBQVE7UUFDZCxJQUFJLEVBQUUsV0FBVztRQUNqQixJQUFJLEVBQUUsT0FBTztRQUNiLElBQUksRUFBRSxTQUFTO1FBQ2YsSUFBSSxFQUFFLFFBQVE7UUFDZCxJQUFJLEVBQUUsUUFBUTtRQUNkLElBQUksRUFBRSxPQUFPO1FBQ2IsSUFBSSxFQUFFLE9BQU87UUFDYixJQUFJLEVBQUUsU0FBUztRQUNmLElBQUksRUFBRSxTQUFTO1FBQ2YsSUFBSSxFQUFFLFlBQVk7UUFDbEIsSUFBSSxFQUFFLFNBQVM7UUFDZixJQUFJLEVBQUUsV0FBVztRQUNqQixJQUFJLEVBQUUsU0FBUztRQUNmLElBQUksRUFBRSxTQUFTO1FBQ2YsSUFBSSxFQUFFLFVBQVU7UUFDaEIsSUFBSSxFQUFFLFFBQVE7UUFDZCxJQUFJLEVBQUUsU0FBUztRQUNmLElBQUksRUFBRSxVQUFVO1FBQ2hCLElBQUksRUFBRSxVQUFVO1FBQ2hCLElBQUksRUFBRSxPQUFPO1FBQ2IsSUFBSSxFQUFFLFlBQVk7S0FDbkI7SUFDRCxhQUFhLEVBQUU7UUFDYixjQUFjLEVBQUUsT0FBTztRQUN2QixvQkFBb0IsRUFBRSxhQUFhO1FBQ25DLGNBQWMsRUFBRSxvQkFBb0I7UUFDcEMsY0FBYyxFQUFFLGNBQWM7UUFDOUIsYUFBYSxFQUFFLHNCQUFzQjtRQUNyQyxpQkFBaUIsRUFBRSw2QkFBNkI7UUFDaEQsTUFBTSxFQUFFLG1CQUFtQjtRQUMzQixTQUFTLEVBQUUscUJBQXFCO1FBQ2hDLGFBQWEsRUFBRSxpQkFBaUI7UUFDaEMsZ0JBQWdCLEVBQUUsZ0JBQWdCO1FBQ2xDLHlCQUF5QixFQUFFLHNCQUFzQjtLQUNsRDtJQUNELFVBQVUsRUFBRTtRQUNWLE1BQU0sRUFBRSxtQkFBbUI7UUFDM0IsU0FBUyxFQUFFLHFCQUFxQjtRQUNoQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7S0FDbkM7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixTQUFTLEVBQUUsaUJBQWlCO1FBQzVCLGVBQWUsRUFBRSxtVEFBbVQ7UUFDcFUsZUFBZSxFQUFFLDZNQUE2TTtRQUM5TixlQUFlLEVBQUUsdUtBQXVLO1FBQ3hMLGFBQWEsRUFBRSw2QkFBNkI7UUFFNUMsU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixlQUFlLEVBQUUsdUxBQXVMO1FBQ3hNLGVBQWUsRUFBRSw2TEFBNkw7UUFDOU0sZUFBZSxFQUFFLHFEQUFxRDtRQUN0RSxRQUFRLEVBQUUsMkxBQTJMO1FBQ3JNLFFBQVEsRUFBRSxxRUFBcUU7UUFDL0UsUUFBUSxFQUFFLG9GQUFvRjtRQUM5RixRQUFRLEVBQUUsc0RBQXNEO1FBRWhFLFNBQVMsRUFBRSxtQ0FBbUM7UUFDOUMsZUFBZSxFQUFFLGtIQUFrSDtRQUNuSSxlQUFlLEVBQUUscUJBQXFCO1FBQ3RDLFFBQVEsRUFBRSwrQkFBK0I7UUFDekMsUUFBUSxFQUFFLDRCQUE0QjtRQUN0QyxRQUFRLEVBQUUsMkZBQTJGO1FBQ3JHLFFBQVEsRUFBRSxxQ0FBcUM7UUFDL0MsUUFBUSxFQUFFLHNCQUFzQjtRQUNoQyxRQUFRLEVBQUUsb0dBQW9HO1FBQzlHLFFBQVEsRUFBRSxpRUFBaUU7UUFDM0UsUUFBUSxFQUFFLCtGQUErRjtRQUN6RyxRQUFRLEVBQUUsbUhBQW1IO1FBRTdILGVBQWUsRUFBRSwyakJBQTJqQjtRQUU1a0IsT0FBTyxFQUFFLGNBQWM7S0FDeEI7SUFDRCxrQkFBa0IsRUFBRTtRQUNsQixTQUFTLEVBQUUsbUJBQW1CO1FBQzlCLGVBQWUsRUFBRSwwTEFBMEw7UUFDM00sZUFBZSxFQUFFLDZEQUE2RDtRQUM5RSxlQUFlLEVBQUUsdUtBQXVLO1FBQ3hMLGFBQWEsRUFBRSwrQkFBK0I7UUFFOUMsU0FBUyxFQUFFLGtCQUFrQjtRQUM3QixlQUFlLEVBQUUsb0xBQW9MO1FBQ3JNLGVBQWUsRUFBRSw2TEFBNkw7UUFDOU0sZUFBZSxFQUFFLHFEQUFxRDtRQUN0RSxRQUFRLEVBQUUseUxBQXlMO1FBQ25NLFFBQVEsRUFBRSxxRUFBcUU7UUFDL0UsUUFBUSxFQUFFLG9GQUFvRjtRQUM5RixRQUFRLEVBQUUsc0RBQXNEO1FBRWhFLFNBQVMsRUFBRSxtQ0FBbUM7UUFDOUMsZUFBZSxFQUFFLGtIQUFrSDtRQUNuSSxlQUFlLEVBQUUscUJBQXFCO1FBQ3RDLFFBQVEsRUFBRSwrQkFBK0I7UUFDekMsUUFBUSxFQUFFLDRCQUE0QjtRQUN0QyxRQUFRLEVBQUUsMkZBQTJGO1FBQ3JHLFFBQVEsRUFBRSxxQ0FBcUM7UUFDL0MsUUFBUSxFQUFFLHNCQUFzQjtRQUNoQyxRQUFRLEVBQUUsb0dBQW9HO1FBQzlHLFFBQVEsRUFBRSxpRUFBaUU7UUFDM0UsUUFBUSxFQUFFLCtGQUErRjtRQUV6RyxlQUFlLEVBQUUsMFNBQTBTO1FBRTNULE9BQU8sRUFBRSxjQUFjO0tBQ3hCO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsTUFBTSxFQUFFLG9CQUFvQjtRQUM1QixXQUFXLEVBQUUsV0FBVztRQUN4QixTQUFTLEVBQUUsU0FBUztRQUNwQixRQUFRLEVBQUUsUUFBUTtRQUNsQixRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLFlBQVksRUFBRTtZQUNaLE9BQU8sRUFBRSxtQ0FBbUM7WUFDNUMsYUFBYSxFQUFFLDhFQUE4RTtTQUM5RjtLQUNGO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsTUFBTSxFQUFFLG9CQUFvQjtRQUM1QixPQUFPLEVBQUUscUJBQXFCO1FBQzlCLE9BQU8sRUFBRSxxQkFBcUI7UUFDOUIsUUFBUSxFQUFFLHNCQUFzQjtRQUNoQyxNQUFNLEVBQUUsb0JBQW9CO1FBQzVCLE9BQU8sRUFBRSxxQkFBcUI7UUFDOUIsS0FBSyxFQUFFLG1CQUFtQjtRQUMxQixNQUFNLEVBQUUsb0JBQW9CO1FBQzVCLE1BQU0sRUFBRSxvQkFBb0I7UUFDNUIsT0FBTyxFQUFFLHFCQUFxQjtRQUM5QixRQUFRLEVBQUUsc0JBQXNCO1FBQ2hDLFNBQVMsRUFBRSx1QkFBdUI7UUFDbEMsUUFBUSxFQUFFLHNCQUFzQjtRQUNoQyxTQUFTLEVBQUUsdUJBQXVCO1FBQ2xDLFVBQVUsRUFBRSxVQUFVO0tBQ3ZCO0lBQ0Qsa0JBQWtCLEVBQUU7UUFDbEIsT0FBTyxFQUFFLFlBQVk7UUFDckIsU0FBUyxFQUFFLFNBQVM7UUFDcEIsYUFBYSxFQUFFLGlHQUFpRztRQUNoSCxVQUFVLEVBQUUsWUFBWTtRQUN4QixlQUFlLEVBQUUsTUFBTTtRQUN2QixNQUFNLEVBQUUsTUFBTTtRQUNkLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLG1CQUFtQixFQUFFLHdEQUF3RDtRQUM3RSwwQkFBMEIsRUFBRSwrRUFBK0U7UUFDM0csY0FBYyxFQUFFLHdCQUF3QjtRQUN4Qyx5QkFBeUIsRUFBRSxvQkFBb0I7UUFDL0MsTUFBTSxFQUFFLE1BQU07UUFDZCxZQUFZLEVBQUUsT0FBTztRQUNyQixjQUFjLEVBQUUsNkJBQTZCO1FBQzdDLDZCQUE2QixFQUFFLDZCQUE2QjtRQUM1RCxhQUFhLEVBQUU7WUFDYixhQUFhLEVBQUUsMEJBQTBCO1lBQ3pDLG1CQUFtQixFQUFFLDBCQUEwQjtTQUNoRDtRQUNELGVBQWUsRUFBRTtZQUNmLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLHVCQUF1QixFQUFFLGVBQWU7WUFDeEMsUUFBUSxFQUFFLFFBQVE7WUFDbEIsZUFBZSxFQUFFLGlGQUFpRjtZQUNsRyxlQUFlLEVBQUUseUhBQXlIO1lBQzFJLE9BQU8sRUFBRSxxQkFBcUI7WUFDOUIsdUJBQXVCLEVBQUUsK0ZBQStGO1NBQ3pIO1FBQ0QsVUFBVSxFQUFFO1lBQ1YsTUFBTSxFQUFFLHFDQUFxQztZQUM3QyxXQUFXLEVBQUUsb0JBQW9CO1lBQ2pDLFlBQVksRUFBRSw2REFBNkQ7WUFDM0Usb0JBQW9CLEVBQUUsdUZBQXVGO1lBQzdHLE1BQU0sRUFBRSw0QkFBNEI7WUFDcEMsU0FBUyxFQUFFLDhFQUE4RTtZQUN6Rix3QkFBd0IsRUFBRSwwREFBMEQ7U0FDckY7UUFDRCxRQUFRLEVBQUU7WUFDUixPQUFPLEVBQUUsWUFBWTtZQUNyQixhQUFhLEVBQUUsdUJBQXVCO1lBQ3RDLE1BQU0sRUFBRSx3REFBd0Q7U0FDakU7UUFDRCxRQUFRLEVBQUU7WUFDUixnQkFBZ0IsRUFBRSxpQkFBaUI7U0FDcEM7S0FDRjtJQUNELFNBQVMsRUFBRTtRQUNULHNCQUFzQixFQUFFLGtCQUFrQjtRQUMxQyxPQUFPLEVBQUUsU0FBUztRQUNsQixLQUFLLEVBQUUsS0FBSztRQUNaLGtCQUFrQixFQUFFLGtCQUFrQjtRQUN0QyxVQUFVLEVBQUUsVUFBVTtRQUN0QixTQUFTLEVBQUUsU0FBUztRQUNwQixNQUFNLEVBQUUsWUFBWTtRQUNwQixLQUFLLEVBQUUsb0JBQW9CO1FBQzNCLEtBQUssRUFBRSxjQUFjO1FBQ3JCLEtBQUssRUFBRSxTQUFTO1FBQ2hCLEtBQUssRUFBRSwyQkFBMkI7UUFDbEMsV0FBVyxFQUFFLGVBQWU7UUFDNUIsTUFBTSxFQUFFLHFCQUFxQjtRQUM3QixPQUFPLEVBQUUsd0JBQXdCO1FBQ2pDLFdBQVcsRUFBRSxXQUFXO1FBQ3hCLEtBQUssRUFBRSxhQUFhO1FBQ3BCLE1BQU0sRUFBRSwyRUFBMkU7UUFDbkYsSUFBSSxFQUFFLHlCQUF5QjtRQUMvQixjQUFjLEVBQUUsMEJBQTBCO0tBQzNDO0lBQ0Qsb0JBQW9CLEVBQUU7UUFDcEIsT0FBTyxFQUFFLHVCQUF1QjtLQUNqQztJQUNELE9BQU8sRUFBRTtRQUNQLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLDBCQUEwQixFQUFFLDJCQUEyQjtRQUN2RCwyQkFBMkIsRUFBRSxlQUFlO1FBQzVDLGVBQWUsRUFBRSxzQkFBc0I7UUFDdkMsTUFBTSxFQUFFLGdCQUFnQjtRQUN4QixPQUFPLEVBQUUsa0JBQWtCO1FBQzNCLDJCQUEyQixFQUFFLGlCQUFpQjtRQUM5QyxxQkFBcUIsRUFBRSx1SUFBdUk7S0FDL0o7SUFDRCxpQkFBaUIsRUFBRTtRQUNqQixNQUFNLEVBQUUsMkJBQTJCO1FBQ25DLE9BQU8sRUFBRSx3QkFBd0I7UUFDakMsYUFBYSxFQUFFLG9FQUFvRTtRQUNuRixRQUFRLEVBQUUsUUFBUTtRQUNsQixTQUFTLEVBQUUsYUFBYTtRQUN4QixhQUFhLEVBQUUscUJBQXFCO1FBQ3BDLEtBQUssRUFBRSxLQUFLO1FBQ1osT0FBTyxFQUFFLE9BQU87S0FDakI7SUFDRCxhQUFhLEVBQUU7UUFDYixRQUFRLEVBQUUsUUFBUTtRQUNsQixlQUFlLEVBQUUsbUJBQW1CO1FBQ3BDLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFFBQVEsRUFBRSxvREFBb0Q7UUFDOUQsT0FBTyxFQUFFLFlBQVk7S0FDdEI7SUFDRCxlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLG9CQUFvQixFQUFFLGtCQUFrQjtRQUN4QyxxQkFBcUIsRUFBRSxlQUFlO1FBQ3RDLGVBQWUsRUFBRSxlQUFlO1FBQ2hDLG1CQUFtQixFQUFFLFlBQVk7UUFDakMsZUFBZSxFQUFFLGVBQWU7UUFDaEMsY0FBYyxFQUFFLG1CQUFtQjtRQUNuQyx3QkFBd0IsRUFBRSx3QkFBd0I7UUFDbEQsd0JBQXdCLEVBQUUsbUNBQW1DO1FBQzdELFVBQVUsRUFBRSxVQUFVO0tBQ3ZCO0lBQ0QscUNBQXFDLEVBQUU7UUFDckMsT0FBTyxFQUFFLHNDQUFzQztRQUMvQyxhQUFhLEVBQUUsZ0JBQWdCO1FBQy9CLHNCQUFzQixFQUFFLHFCQUFxQjtRQUM3Qyx5QkFBeUIsRUFBRSxxQkFBcUI7S0FDakQ7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixNQUFNLEVBQUUsb0NBQW9DO1FBQzVDLGNBQWMsRUFBRSx3SEFBd0g7S0FDekk7SUFDRCxTQUFTLEVBQUU7UUFDVCxjQUFjLEVBQUUsY0FBYztLQUMvQjtJQUNELGdCQUFnQixFQUFFO1FBQ2hCLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE9BQU8sRUFBRSxPQUFPO0tBQ2pCO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBpMThuX2VuID0ge1xyXG4gIFwiVEVSTV9QT1JUQUxfTkFNRVwiOiBcIlRpbGRlIHRlcm1cIixcclxuICBcIkFQUF9OQU1FXCI6IFwiVGlsZGUgTVRcIixcclxuICBcIlRMRF9UUkFOU0xBVEVcIjoge1xyXG4gICAgXCJCRVNUX05NVFwiOiBcIlByb3VkIHdpbm5lciBvZiB0aGUgYmVzdCBtYWNoaW5lIHRyYW5zbGF0aW9uIHRlY2hub2xvZ3kgYXQgV01UIENvbXBldGl0aW9uIGZvciB0aHJlZSB5ZWFycyBpbiBhIHJvdy5cIixcclxuICAgIFwiQkVTVF9OTVRfTU9SRVwiOiBcIkxlYXJuIG1vcmVcIixcclxuICAgIFwiQ0FOQ0VMX1RSQU5TTEFUSU9OXCI6IFwiQ2FuY2VsXCIsXHJcbiAgICBcIkRJQ1RJT05BUllfRVhBTVBMRVNcIjogXCJleGFtcGxlc1wiLFxyXG4gICAgXCJET1dOTE9BRF9UUkFOU0xBVEVEXCI6IFwiRG93bmxvYWRcIixcclxuICAgIFwiRE9NQUlOU19BUklBX0xBQkVMXCI6IFwiRG9tYWluc1wiLFxyXG4gICAgXCJGSUxFX0RPV05MT0FEX1NPVVJDRVwiOiBcIkRvd25sb2FkIGNvbnZlcnRlZCBzb3VyY2UgUERGXCIsXHJcbiAgICBcIkZJTEVfRE9XTkxPQURfU09VUkNFX0hFTFBcIjogXCJQREYgY29udmVyc2lvbiBtYXkgY2F1c2UgZm9ybWF0dGluZyBlcnJvcnMgb3IgdGV4dCBkaXN0b3J0aW9uLiBQbGVhc2UgY2hlY2sgdGhlIGNvbnZlcnRlZCBmaWxlIGFuZCBmaXggdGhlIGVycm9ycyBiZWZvcmUgcmUtdXBsb2FkaW5nIHRoZSBmaWxlIGZvciB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJGSUxFX0RPV05MT0FEX1NPVVJDRV9JTUFHRVwiOiBcIkRvd25sb2FkIGNvbnZlcnRlZCBzb3VyY2UgaW1hZ2VcIixcclxuICAgIFwiRklMRV9ET1dOTE9BRF9TT1VSQ0VfSU1BR0VfSEVMUFwiOiBcIkltYWdlIGNvbnZlcnNpb24gbWF5IGNhdXNlIGZvcm1hdHRpbmcgZXJyb3JzIG9yIHRleHQgZGlzdG9ydGlvbi4gUGxlYXNlIGNoZWNrIHRoZSBjb252ZXJ0ZWQgZmlsZSBhbmQgZml4IHRoZSBlcnJvcnMgYmVmb3JlIHJlLXVwbG9hZGluZyB0aGUgZmlsZSBmb3IgdHJhbnNsYXRpb25cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfSU5JVElBTElaSU5HXCI6IFwiSW5pdGlhbGl6aW5nIHRyYW5zbGF0aW9uIHByb2Nlc3MuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfRVhUUkFDVElOR1wiOiBcIkV4dHJhY3RpbmcgdHJhbnNsYXRhYmxlIGNvbnRlbnQuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfV0FJVElOR1wiOiBcIlN0YXJ0aW5nIHRyYW5zbGF0b3IuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfVFJBTlNMQVRJTkdcIjogXCJUcmFuc2xhdGluZy4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19TQVZJTkdcIjogXCJTYXZpbmcgdHJhbnNsYXRpb24uLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfQ09NUExFVEVEXCI6IFwiXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX0VSUk9SXCI6IFwiXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX1FVRVVJTkdcIjogXCJUcmFuc2xhdGlvbiBpcyBzdGFydGluZy4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19VUExPQURJTkdcIjogXCJVcGxvYWRpbmcuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfVVBMT0FERURcIjogXCJVcGxvYWRlZFwiLFxyXG4gICAgXCJGSUxFX1RBUkdFVF9QUkVWSUVXX01FU1NBR0VcIjogXCJUaGlzIGlzIGEgcHJldmlldyBvZiB0aGUgdHJhbnNsYXRlZCBkb2N1bWVudCwgcGxlYXNlIGRvd25sb2FkIHRvIHJlY2VpdmUgYSBjb21wbGV0ZSB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiRlJPTVwiOiBcIkZyb206XCIsXHJcbiAgICBcIlBERl9ESVNDTEFJTUVSX0xJTktcIjogXCJTZWUgaG93IHRvIGZpeCBpdFwiLFxyXG4gICAgXCJJTUFHRV9ESVNDTEFJTUVSX0xJTktcIjogXCJSZWFkIGFib3V0IGltYWdlIGNvbnZlcnNpb24uXCIsXHJcbiAgICBcIlBSRVBBUklOR19UUkFOU0xBVElPTlwiOiBcIlRyYW5zbGF0aW9uIGlzIHN0YXJ0aW5nXCIsXHJcbiAgICBcIlJFR0lTVEVSRURfRk9STUFUU19MT0dHRURfSU5cIjogXCJSZWdpc3RlcmVkIHVzZXJzIGhhdmUgYWNjZXNzIHRvIHRoZSBmb2xsb3dpbmcgZG9jdW1lbnQgZm9ybWF0cyB0cmFuc2xhdGlvbjoge3tmb3JtYXRzfX0uXCIsXHJcbiAgICBcIlJFR0lTVEVSRURfRk9STUFUU1wiOiBcIlJlZ2lzdGVyZWQgdXNlcnMgaGF2ZSBhY2Nlc3MgdG8gdGhlIGZvbGxvd2luZyBkb2N1bWVudCBmb3JtYXRzIHRyYW5zbGF0aW9uOiB7e2Zvcm1hdHN9fS4gUmVxdWVzdCB5b3VyIGFjY2VzcyA8YSBjbGFzcz1cXFwiYWNjZW50LWNvbG9yXFxcIiB0YXJnZXQ9XFxcImJsYW5rXFxcIiBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319XFxcIj5oZXJlPC9hPi5cIixcclxuICAgIFwiU09VUkNFX0ZPUk1BVFNcIjogXCJTZWN1cmUgcHVibGljIHRyYW5zbGF0aW9uIHNlcnZpY2Ugc3VwcG9ydHMgZm9sbG93aW5nIGRvY3VtZW50IGZvcm1hdHM6IHt7Zm9ybWF0c319O1wiLFxyXG4gICAgXCJTT1VSQ0VfV09SRF9MSU1JVFwiOiBcIiB0cmFuc2xhdGlvbiBhbW91bnQgaXMgbGltaXRlZCB1cCB0byB7e2xpbWl0fX0gd29yZHMuXCIsXHJcbiAgICBcIlNPVVJDRV9UT09MVElQXCI6IFwiVHlwZSB0ZXh0IG9yIGluc2VydCBsaW5rIHRvIHRyYW5zbGF0ZS5cIixcclxuICAgIFwiU09VUkNFX1RPT0xUSVBfT05MWV9URVhUXCI6IFwiVHlwZSB0ZXh0IHRvIHRyYW5zbGF0ZS5cIixcclxuICAgIFwiU09VUkNFX1RPT0xUSVBfU0VOU0lUSVZFX0lORk9cIjogXCJEbyBub3QgdXNlIHt7YXBwTmFtZX19IHRvIHRyYW5zbGF0ZSBjb25maWRlbnRpYWwgb3IgY2xhc3NpZmllZCBpbmZvcm1hdGlvbiBvciB0ZXh0cyB0aGF0IGNvbnRhaW4gc3BlY2lhbCBjYXRlZ29yaWVzIG9mIHBlcnNvbmFsIGRhdGEsIHN1Y2ggYXMgbWVkaWNhbCBkYXRhXCIsXHJcbiAgICBcIlRBUkdFVF9ERVNDUklQVElPTlwiOiBcIk1hY2hpbmUgdHJhbnNsYXRpb24gYWxsb3dzIHRvIHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgYSBzb3VyY2UgdGV4dCwgYnV0IGNhbm5vdCBzdWJzdGl0dXRlIGEgaHVtYW4gdHJhbnNsYXRpb24uXCIsXHJcbiAgICBcIlRPXCI6IFwiVG86XCIsXHJcbiAgICBcIlRFWFRfQ09QSUVEXCI6IFwiVHJhbnNsYXRpb24gY29waWVkXCIsXHJcbiAgICBcIlNVR0dFU1RfQlVUVE9OXCI6IFwiU3VnZ2VzdCB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJTVUdHRVNUX09SSUdJTkFMX0xBQkVMXCI6IFwiT3JpZ2luYWwgc2VudGVuY2VcIixcclxuICAgIFwiU1VHR0VTVF9TVUJNSVRfQlVUVE9OXCI6IFwiQ29udHJpYnV0ZVwiLFxyXG4gICAgXCJTVUdHRVNUX1RSQU5TTEFUSU9OX0xBQkVMXCI6IFwiVHJhbnNsYXRpb25cIixcclxuICAgIFwiU1VHR0VTVF9VU0FHRV9JTkZPXCI6IFwiWW91ciBhbm9ueW1pemVkIHRyYW5zbGF0aW9uIHN1Z2dlc3Rpb24gd2lsbCBiZSB1c2VkIHRvIGltcHJvdmUgdGhlIHF1YWxpdHkgb2YgbWFjaGluZSB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiVE9PTFRJUF9BQ1RJT05cIjogXCJUcmFuc2xhdGVcIixcclxuICAgIFwiVkVORE9SU19BUklBX0xBQkVMXCI6IFwiUHJvdmlkZXJzXCIsXHJcbiAgICBcIldPUkRfVFlQRV9BREpFQ1RJVkVcIjogXCJhZGplY3RpdmVcIixcclxuICAgIFwiV09SRF9UWVBFX05PVU5cIjogXCJub3VuXCIsXHJcbiAgICBcIldPUkRfVFlQRV9WRVJCXCI6IFwidmVyYlwiLFxyXG4gICAgXCJXT1JEX1RZUEVfQURWRVJCXCI6IFwiYWR2ZXJiXCIsXHJcbiAgICBcIldPUkRfVFlQRV9DT05KVU5DVElPTlwiOiBcImNvbmp1bmN0aW9uXCIsXHJcbiAgICBcIldPUkRfVFlQRV9JTlRFUkpFQ1RJT05cIjogXCJpbnRlcmplY3Rpb25cIixcclxuICAgIFwiV09SRF9UWVBFX1BST05PVU5cIjogXCJwcm9ub3VuXCIsXHJcbiAgICBcIkRPQ19XT1JEX0NOVF9MSU1JVF9NU0dfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBsaW1pdFwiLFxyXG4gICAgXCJET0NfV09SRF9DTlRfTElNSVRfTVNHXCI6IFwiT25seSB0aGUgZmlyc3Qge3t3b3JkQ291bnR9fSB3b3JkcyB3aWxsIGJlIHRyYW5zbGF0ZWQuXCIsXHJcbiAgICBcIkRPQ19XT1JEX0NOVF9MSU1JVF9NU0dfU1VCU0NSSVBUSU9OXCI6IFwiIFlvdSBuZWVkIGEgVGlsZGUgTVQgc3Vic2NyaXB0aW9uIHRvIHRyYW5zbGF0ZSBmdWxsIGZpbGVzLiA8YSBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319P3t7cXVlcnlTdHJpbmd9fVxcXCI+c3RhcnQgd2l0aCBhIGZyZWUgdHJpYWw8L2E+XCIsXHJcbiAgICBcIkVSUk9SX05PX1NZU1RFTVNfTE9BREVEX1RJVExFXCI6IFwiTm8gdHJhbnNsYXRpb24gZW5naW5lcyB3ZXJlIGxvYWRlZFwiLFxyXG4gICAgXCJFUlJPUl9OT19TWVNURU1TX0xPQURFRFwiOiBcIkZhaWxlZCB0byBsb2FkIHRoZSBtYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZXMuXCIsXHJcbiAgICBcIkVSUk9SX05PX1NZU1RFTVNfTE9BREVEX1NVUFBPUlRcIjogXCIgUGxlYXNlIHJlbG9hZCB0aGUgcGFnZSBvciBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+IHN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJQREZfUEFHRV9MSU1JVF9NU0dfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBsaW1pdFwiLFxyXG4gICAgXCJQREZfUEFHRV9MSU1JVF9NU0dcIjogXCJPbmx5IHRoZSBmaXJzdCBwYWdlIHdpbGwgYmUgdHJhbnNsYXRlZC5cIixcclxuICAgIFwiUERGX1BBR0VfTElNSVRfTVNHX1NVQlNDUklQVElPTlwiOiBcIiBZb3UgbmVlZCBhIFRpbGRlIE1UIHN1YnNjcmlwdGlvbiB0byB0cmFuc2xhdGUgZnVsbCBQREYgZmlsZXMuIDxhIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX0/e3txdWVyeVN0cmluZ319XFxcIj5zdGFydCB3aXRoIGEgZnJlZSB0cmlhbDwvYT5cIixcclxuICAgIFwiQ0xFQVJfU09VUkNFX1RPT0xUSVBcIjogXCJDbGVhciB0ZXh0XCJcclxuICB9LFxyXG4gIFwiTVVMVElQTEVfRklMRVNcIjoge1xyXG4gICAgXCJBUFBFTkRcIjogXCJBZGQgZmlsZXNcIixcclxuICAgIFwiQ0xFQVJfQUxMXCI6IFwiQ2FuY2VsXCIsXHJcbiAgICBcIkRPV05MT0FEXCI6IFwiRG93bmxvYWRcIixcclxuICAgIFwiU1RBVFVTU19JTklUSUFMSVpJTkdcIjogXCJJbml0aWFsaXppbmdcIixcclxuICAgIFwiU1RBVFVTU19FWFRSQUNUSU5HXCI6IFwiRXh0cmFjdGluZ1wiLFxyXG4gICAgXCJTVEFUVVNTX1dBSVRJTkdcIjogXCJTdGFydGluZyB0cmFuc2xhdG9yXCIsXHJcbiAgICBcIlNUQVRVU1NfVFJBTlNMQVRJTkdcIjogXCJUcmFuc2xhdGluZyB7e3BlcmNlbnR9fSVcIixcclxuICAgIFwiU1RBVFVTU19TQVZJTkdcIjogXCJTYXZpbmdcIixcclxuICAgIFwiU1RBVFVTU19DT01QTEVURURcIjogXCJDb21wbGV0ZWRcIixcclxuICAgIFwiU1RBVFVTU19FUlJPUlwiOiBcIkVycm9yXCIsXHJcbiAgICBcIlNUQVRVU1NfUVVFVUlOR1wiOiBcIlF1ZXVpbmdcIixcclxuICAgIFwiU1RBVFVTU19OT1RfU1RBUlRFRFwiOiBcIlVwbG9hZGVkXCIsXHJcbiAgICBcIlNUQVRVU1NfVVBMT0FESU5HXCI6IFwiVXBsb2FkaW5nLi4uXCIsXHJcbiAgICBcIlNUQVRVU1NfVVBMT0FERURcIjogXCJVcGxvYWRlZFwiLFxyXG4gICAgXCJUSVRMRV9GSUxFX05BTUVcIjogXCJGaWxlXCIsXHJcbiAgICBcIlRJVExFX1NUQVRVU1NcIjogXCJTdGF0dXNcIixcclxuICAgIFwiVFJBTlNMQVRJT05fU1RBVFVTU19MQUJFTFwiOiBcIlN0YXR1c1wiLFxyXG4gICAgXCJQREZfRElTQ0xBSU1FUlwiOiBcIlBERiBkb2N1bWVudHMgbWF5IGhhdmUgZm9ybWF0dGluZyBvciB0cmFuc2xhdGlvbiBlcnJvcnMuXCIsXHJcbiAgICBcIlBERl9ESVNDTEFJTUVSX0xJTktcIjogXCJSZWFkIGFib3V0IHBkZiBjb252ZXJzaW9uLlwiLFxyXG4gICAgXCJJTUFHRV9ESVNDTEFJTUVSXCI6IFwiSW1hZ2UgY29udmVyc2lvbiBtYXkgY2F1c2UgZm9ybWF0dGluZyBlcnJvcnMgb3IgdGV4dCBkaXN0b3J0aW9uLlwiLFxyXG4gICAgXCJJTUFHRV9ESVNDTEFJTUVSX0xJTktcIjogXCJSZWFkIGFib3V0IGltYWdlIGNvbnZlcnNpb24uXCIsXHJcbiAgICBcIlNDUkVFTl9SRUFERVJfQU5OT1VOQ0VNRU5UXCI6IFwie3t0cmFuc2xhdGVkfX0gb3V0IG9mIHt7dG90YWx9fSBmaWxlcyBhcmUgdHJhbnNsYXRlZC5cIixcclxuICAgIFwiUkVNT1ZFX0ZJTEVfVE9PTFRJUFwiOiBcIkNsZWFyIGZpbGVcIlxyXG4gIH0sXHJcbiAgXCJFUlJPUlNcIjoge1xyXG4gICAgXCJFUlJPUl9ERUZBVUxUX1RJVExFXCI6IFwiVW5leHBlY3RlZCBlcnJvclwiLFxyXG4gICAgXCJFUlJPUl9ERUZBVUxUXCI6IFwiQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZC4gUGxlYXNlIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiRVJST1JfREVGQVVMVF9TVVBQT1JUXCI6IFwiIElmIHRoZSBwcm9ibGVtIGNvbnRpbnVlcywgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJNQVhfQ0hBUl9MRU5HVEhfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBsaW1pdFwiLFxyXG4gICAgXCJNQVhfQ0hBUl9MRU5HVEhcIjogXCJPbmx5IHt7bWF4Q2hhckxlbmd0aH19L3t7dG90YWxTeW1ib2xzfX0gY2hhcmFjdGVycyB3aWxsIGJlIHRyYW5zbGF0ZWQuXCIsXHJcbiAgICBcIk1BWF9DSEFSX0xFTkdUSF9TVUJTQ1JJUFRJT05cIjogXCIgWW91IG5lZWQgYSBUaWxkZSBNVCBzdWJzY3JpcHRpb24gZm9yIHVubGltaXRlZCB0ZXh0IHRyYW5zbGF0aW9uLiA8YSBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319P3t7cXVlcnlTdHJpbmd9fVxcXCI+c3RhcnQgd2l0aCBhIGZyZWUgdHJpYWw8L2E+XCIsXHJcbiAgICBcIk1BWF9OVU1CRVJfT0ZfRklMRVNfVElUTEVcIjogXCJVcGxvYWQgbGltaXRcIixcclxuICAgIFwiTUFYX05VTUJFUl9PRl9GSUxFU1wiOiBcIk9ubHkge3tsaW1pdH19IGZpbGVzIGNhbiBiZSB0cmFuc2xhdGVkIGF0IG9uY2UuXCIsXHJcbiAgICBcIklOQ1JFQVNFX01BWF9OVU1CRVJfT0ZfRklMRVNfVElUTEVcIjogXCJVcGxvYWQgbGltaXRcIixcclxuICAgIFwiSU5DUkVBU0VfTUFYX05VTUJFUl9PRl9GSUxFU1wiOiBcIk9ubHkgMSBmaWxlIGNhbiBiZSB0cmFuc2xhdGVkIGF0IG9uY2UuIFlvdSBuZWVkIGEgVGlsZGUgTVQgc3Vic2NyaXB0aW9uIHRvIGluY3JlYXNlIGxpbWl0LiA8YSBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319P3t7cXVlcnlTdHJpbmd9fVxcXCI+c3RhcnQgd2l0aCBhIGZyZWUgdHJpYWw8L2E+XCIsXHJcbiAgICBcIkZJTEVfQUxSRUFEWV9BRERFRF9USVRMRVwiOiBcIkZpbGUgaGFzIGFscmVhZHkgYmVlbiBhZGRlZFwiLFxyXG4gICAgXCJGSUxFX0FMUkVBRFlfQURERURcIjogXCJGaWxlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGhhcyBhbHJlYWR5IGJlZW4gYWRkZWQuXCIsXHJcbiAgICBcIlVBTlVUSE9SSVpFRF80MDFfVElUTEVcIjogXCJVbmF1dGhvcml6ZWRcIixcclxuICAgIFwiVUFOVVRIT1JJWkVEXzQwMVwiOiBcIllvdSBkb24ndCBoYXZlIHBlcm1pc3Npb24gdG8gdXNlIG1hY2hpbmUgdHJhbnNsYXRpb24uXCIsXHJcbiAgICBcIlVBTlVUSE9SSVpFRF80MDFfU1VQUE9SVFwiOiBcIiBQbGVhc2UgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPiBzdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRV9VTktOT1dOX0ZJTEVfVFlQRVwiOiBcIlVua25vd24gZmlsZSB0eXBlLlwiLFxyXG4gICAgXCJFX0NBTk5PVF9SRUFEX0ZJTEVfVElUTEVcIjogXCJVbmFibGUgdG8gcmVhZCBmaWxlXCIsXHJcbiAgICBcIkVfQ0FOTk9UX1JFQURfRklMRVwiOiBcIlRoZSBmaWxlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGlzIGNvcnJ1cHRlZCBhbmQgY291bGRuJ3QgYmUgdHJhbnNsYXRlZC4gQ2hlY2sgdGhlIGZpbGUgYW5kIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiRV9GQUlMRURfSU5fVFJBTlNMQVRJT05fVElUTEVcIjogXCJUcmFuc2xhdGlvbiBmYWlsZWRcIixcclxuICAgIFwiRV9GQUlMRURfSU5fVFJBTlNMQVRJT05cIjogXCJFcnJvciBvY2N1cnJlZCB3aGlsZSB0cmFuc2xhdGluZy4gUGxlYXNlIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiRV9GQUlMRURfSU5fVFJBTlNMQVRJT05fU1VQUE9SVFwiOiBcIiBJZiB0aGUgcHJvYmxlbSBjb250aW51ZXMsIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz4gc3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfRk9STUFUX1RSQUNLX0NIQU5HRVNfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBmYWlsZWQsIGJlY2F1c2Ug4oCYdHJhY2sgY2hhbmdlc+KAmSBpcyB0dXJuZWQgb25cIixcclxuICAgIFwiRV9GT1JNQVRfVFJBQ0tfQ0hBTkdFU1wiOiBcIkNoYW5nZXMgbXVzdCBmaXJzdCBiZSBhY2NlcHRlZCBvciDigJh0cmFjayBjaGFuZ2Vz4oCZIHR1cm5lZCBvZmYgYmVmb3JlIHRyYW5zbGF0aW5nIE9mZmljZSBmaWxlcy5cIixcclxuICAgIFwiRV9VTktOT1dOX0VSUk9SX1RJVExFXCI6IFwiVW5rbm93biBlcnJvclwiLFxyXG4gICAgXCJFX1VOS05PV05fRVJST1JcIjogXCJBbiB1bmtub3duIGVycm9yIG9jY3VycmVkLlwiLFxyXG4gICAgXCJFX1VOQVVUSE9SSVpFRF9USVRMRVwiOiBcIlVuYXV0aG9yaXplZFwiLFxyXG4gICAgXCJFX1VOQVVUSE9SSVpFRFwiOiBcIkRvY3VtZW50IHRyYW5zbGF0aW9uIHdhcyBkZW5pZWQuXCIsXHJcbiAgICBcIkNPTExFQ1RJT05fQ1JFQVRFX1RJVExFXCI6IFwiRmFpbGVkIHRvIGNyZWF0ZSBhIGdsb3NzYXJ5XCIsXHJcbiAgICBcIkNPTExFQ1RJT05fQ1JFQVRFXCI6IFwiRmFpbGVkIHRvIGNyZWF0ZSBhIG5ldyBnbG9zc2FyeS4gUGxlYXNlIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiQ09MTEVDVElPTl9DUkVBVEVfU1VQUE9SVFwiOiBcIiBJZiB0aGUgcHJvYmxlbSBjb250aW51ZXMsIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiQ09MTEVDVElPTl9JTVBPUlRfVElUTEVcIjogXCJGYWlsZWQgdG8gYXR0YWNoIHRoZSBnbG9zc2FyeVwiLFxyXG4gICAgXCJDT0xMRUNUSU9OX0lNUE9SVFwiOiBcIkZhaWxlZCB0byBhdHRhY2ggdGhlIHRlcm0gY29sbGVjdGlvbiB3aXRoIElEOiB7e3Rlcm1JZH19IHRvIHRoZSBtYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZS4gUGxlYXNlIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiRV8xMVwiOiBcIkRhaWx5IHRyYW5zbGF0aW9uIGxpbWl0IGhhcyBiZWVuIHJlYWNoZWQuXCIsXHJcbiAgICBcIkVfMTFfU1VQUE9SVFwiOiBcIiBUbyBpbmNyZWFzZSB0aGUgZGFpbHkgbGltaXQsIHBsZWFzZSBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfMTJfVElUTEVcIjogXCJUZXh0IHNpemUgbGltaXRcIixcclxuICAgIFwiRV8xMlwiOiBcIlRleHQgc2l6ZSBsaW1pdCByZWFjaGVkLiBTZW5kIGxlc3MgdGV4dCBpbiB0aGUgcmVxdWVzdC5cIixcclxuICAgIFwiRV8xMl9TVVBQT1JUXCI6IFwiIFRvIGluY3JlYXNlIHRoZSB0ZXh0IHNpemUgbGltaXQsIHBsZWFzZSBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfMjFcIjogXCJUaGUgdHJhbnNsYXRpb24gZW5naW5lIGlzIHN0YXJ0aW5nIHVwLCB0aGlzIG1heSB0YWtlIGEgbW9tZW50IVwiLFxyXG4gICAgXCJFXzIyX1RJVExFXCI6IFwiTWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmUgbm90IGZvdW5kXCIsXHJcbiAgICBcIkVfMjJcIjogXCJNYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZSBub3QgZm91bmQuXCIsXHJcbiAgICBcIkVfMjJfU1VQUE9SVFwiOiBcIiBQbGVhc2UgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJFXzIzXCI6IFwiTWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmUgaXMgbm90IHN0YXJ0ZWQuXCIsXHJcbiAgICBcIkVfMjNfU1VQUE9SVFwiOiBcIiBDb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfNDFcIjogXCJVbmtub3duIHRlcm0gY29ycHVzIElEIHByb3ZpZGVkLiBUZXJtIGNvcnB1cyBtdXN0IGJlIGxpbmtlZCB0byB0aGUgbWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmVcIixcclxuICAgIFwiRV81MDRcIjogXCJUcmFuc2xhdGlvbiBoYXMgdGltZWQgb3V0LiBUcnkgYWdhaW4gbGF0ZXIuXCIsXHJcbiAgICBcIkVfNTA0X1RJVExFXCI6IFwiVHJhbnNsYXRpb24gdGltZW91dFwiLFxyXG4gICAgXCJFXzQwNDIwMVwiOiBcIkVuZ2luZSB0ZXJtIGNvbGxlY3Rpb24gbm90IGZvdW5kXCIsXHJcbiAgICBcIlRSQU5TTEFUSU9OX0ZBSUxFRF9USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGZhaWxlZFwiLFxyXG4gICAgXCJUUkFOU0xBVElPTl9GQUlMRURcIjogXCJBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkLlwiLFxyXG4gICAgXCJUUkFOU0xBVElPTl9GQUlMRURfU1VQUE9SVFwiOiBcIiBJZiB0aGUgcHJvYmxlbSBjb250aW51ZXMsIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRklMRV9UUkFOU0xBVElPTl9TVUJTVEFUVVNcIjoge1xyXG4gICAgICBcIkJBRF9GSUxFX0VSUk9SX1RJVExFXCI6IFwiRmFpbGVkIHRvIHRyYW5zbGF0ZSB0aGUgZmlsZVwiLFxyXG4gICAgICBcIkJBRF9GSUxFX0VSUk9SXCI6IFwiVGhlIGZpbGUgaXMgY29ycnVwdGVkIGFuZCBjb3VsZG4ndCBiZSB0cmFuc2xhdGVkLiBDaGVjayB0aGUgZmlsZSBhbmQgdHJ5IGFnYWluLlwiLFxyXG4gICAgICBcIk5PX1RFWFRfRVhUUkFDVEVEX0VSUk9SX1RJVExFXCI6IFwiRmFpbGVkIHRvIGV4dHJhY3QgYW55IHRleHRcIixcclxuICAgICAgXCJOT19URVhUX0VYVFJBQ1RFRF9FUlJPUlwiOiBcIlRoZSBmaWxlIG1heSBiZSBlbXB0eS4gQ2hlY2sgdGhlIGZpbGUgYW5kIHRyeSBhZ2Fpbi5cIixcclxuICAgICAgXCJUUkFDS19DSEFOR0VTX0VOQUJMRURfRVJST1JfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBmYWlsZWQsIGJlY2F1c2Ug4oCYdHJhY2sgY2hhbmdlc+KAmSBpcyB0dXJuZWQgb25cIixcclxuICAgICAgXCJUUkFDS19DSEFOR0VTX0VOQUJMRURfRVJST1JcIjogXCJDaGFuZ2VzIG11c3QgZmlyc3QgYmUgYWNjZXB0ZWQgb3Ig4oCYdHJhY2sgY2hhbmdlc+KAmSB0dXJuZWQgb2ZmIGJlZm9yZSB0cmFuc2xhdGluZyBPZmZpY2UgZmlsZXMuXCIsXHJcbiAgICAgIFwiVU5LTk9XTl9GSUxFX1RZUEVfRVJST1JfVElUTEVcIjogXCJVbmtub3duIGZpbGUgdHlwZVwiLFxyXG4gICAgICBcIlVOS05PV05fRklMRV9UWVBFX0VSUk9SXCI6IFwiRmlsZSB0eXBlIG5vdCByZWNvZ25pemVkLiBUaGUgZmlsZSBleHRlbnNpb24gbWF5IGJlIGluY29ycmVjdCwgb3IgdGhlIGZpbGUgbWF5IGJlIGNvcnJ1cHRlZC5cIlxyXG4gICAgfSxcclxuICAgIFwiRklMRV9VUExPQURcIjoge1xyXG4gICAgICBcIkZJTEVfVVBMT0FEX0VNUFRZX1RJVExFXCI6IFwiVGhlIGZpbGUgaXMgZW1wdHlcIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9FTVBUWVwiOiBcIlRoZSB1cGxvYWRlZCBmaWxlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGlzIGVtcHR5LiBTZWxlY3QgYSBmaWxlIHdpdGggY29udGVudC5cIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9NQVhfU0laRV9USVRMRVwiOiBcIkZpbGUgc2l6ZSBsaW1pdFwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX01BWF9TSVpFXCI6IFwiVGhlIHVwbG9hZGVkIGZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgaXMgdG9vIGJpZy4gTWF4aW11bSBzaXplIHt7bWF4U2l6ZU1CfX1NQlwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX1VOU1VQUE9SVEVEX0ZPUk1BVF9USVRMRVwiOiBcIlVuc3VwcG9ydGVkIGZpbGUgZm9ybWF0XCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfVU5TVVBQT1JURURfRk9STUFUXCI6IFwiVGhlIHVwbG9hZGVkIGZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgZm9ybWF0IGlzIG5vdCBzdXBwb3J0ZWQuIFRyYW5zbGF0aW9uIGlzIHN1cHBvcnRlZCBmb3IgdGhlc2UgZG9jdW1lbnQgZm9ybWF0czoge3tmb3JtYXRzfX0uXCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfVU5TVVBQT1JURURfRk9STUFUX1JFR0lTVEVSX1RJVExFXCI6IFwiVW5zdXBwb3J0ZWQgZmlsZSBmb3JtYXRcIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9VTlNVUFBPUlRFRF9GT1JNQVRfUkVHSVNURVJcIjogXCJZb3UgbmVlZCBUaWxkZSBNVCBzdWJzY3JpcHRpb24gdG8gdHJhbnNsYXRlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGZpbGUuIDxhIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX0/e3txdWVyeVN0cmluZ319XFxcIj5zdGFydCB3aXRoIGEgZnJlZSB0cmlhbDwvYT5cIixcclxuICAgICAgXCJFXzQwNF9USVRMRVwiOiBcIkZpbGUgbm90IGZvdW5kXCIsXHJcbiAgICAgIFwiRV80MDRcIjogXCJUaGUgcmVxdWVzdGVkIGZpbGUgZG9lc24ndCBleGlzdFwiLFxyXG4gICAgICBcIkVfNDA0X1JFTU9WRV9USVRMRVwiOiBcIkZhaWxlZCB0byBkZWxldGUgdGhlIGZpbGVcIixcclxuICAgICAgXCJFXzQwNF9SRU1PVkVcIjogXCJGaWxlIGhhcyBhbHJlYWR5IGJlZW4gZGVsZXRlZFwiXHJcbiAgICB9LFxyXG4gICAgXCJBVURJT1wiOiB7XHJcbiAgICAgIFwiTk9fU1BFRUNIX1RJVExFXCI6IFwiTm8gc3BlZWNoXCIsXHJcbiAgICAgIFwiTk9fU1BFRUNIXCI6IFwiWW91ciByZWNvcmRpbmcgd2FzIHN0b3BwZWQuIFdlIGNvdWxkbid0IGhlYXIgeW91LlwiLFxyXG4gICAgICBcIk1BWF9USU1FX0VYQ0VFREVEX1RJVExFXCI6IFwiU3BlZWNoIGxpbWl0XCIsXHJcbiAgICAgIFwiTUFYX1RJTUVfRVhDRUVERURcIjogXCJZb3VyIHJlY29yZGluZyB3YXMgc3RvcHBlZC4gU3BlZWNoIGlucHV0IGlzIGxpbWl0ZWQgdG8ge3t0aW1lU3RyaW5nfX0uXCIsXHJcbiAgICAgIFwiTUlDX05PVF9BTExPV0VEX1RJVExFXCI6IFwiTWljcm9waG9uZSBhY2Nlc3MgZGVuaWVkXCIsXHJcbiAgICAgIFwiTUlDX05PVF9BTExPV0VEXCI6IFwiWW91IGhhdmUgZGVuaWVkIGFjY2VzcyB0byB0aGUgbWljcm9waG9uZS4gQ2hhbmdlIHBlcm1pc3Npb25zIGluIGJyb3dzZXIncyBzZXR0aW5ncy5cIixcclxuICAgICAgXCJNQVhfU0laRV9FWENFRURFRF9USVRMRVwiOiBcIlNwZWVjaCBsaW1pdFwiLFxyXG4gICAgICBcIk1BWF9TSVpFX0VYQ0VFREVEXCI6IFwiWW91ciByZWNvcmRpbmcgd2FzIHN0b3BwZWQgYW5kIHNlbnQgdG8gcHJvY2Vzc2luZy4gU3BlZWNoIGlucHV0IGlzIGxpbWl0ZWQgdG8gKHt7bWF4U2l6ZU1ifX1NQikgc2l6ZS5cIixcclxuICAgICAgXCJDQU5UX1NUQVJUX1JFQ09SRElOR19USVRMRVwiOiBcIkZhaWxlZCB0byBzdGFydCByZWNvcmRpbmdcIixcclxuICAgICAgXCJDQU5UX1NUQVJUX1JFQ09SRElOR1wiOiBcIlVuYWJsZSB0byBzdGFydCByZWNvcmRpbmcuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXHJcbiAgICAgIFwiTk9fVEVYVF9SRUNPR05JWkVEX1RpdGxlXCI6IFwiTm8gc3BlZWNoIHJlY29nbml6ZWRcIixcclxuICAgICAgXCJOT19URVhUX1JFQ09HTklaRURcIjogXCJObyBzcGVlY2ggY291bGQgYmUgcmVjb2duaXplZC4gQ2hlY2sgeW91ciBtaWNyb3Bob25lIGFuZCB0cnkgYWdhaW4uXCJcclxuICAgIH1cclxuICB9LFxyXG4gIFwiUkFUSU5HXCI6IHt9LFxyXG4gIFwiTEFOR1VBR0VTXCI6IHtcclxuICAgIFwiQVVUT1wiOiBcIkRldGVjdCBsYW5ndWFnZVwiLFxyXG4gICAgXCJBUlwiOiBcIkFyYWJpY1wiLFxyXG4gICAgXCJMVlwiOiBcIkxhdHZpYW5cIixcclxuICAgIFwiRVRcIjogXCJFc3RvbmlhblwiLFxyXG4gICAgXCJEQVwiOiBcIkRhbmlzaFwiLFxyXG4gICAgXCJGSVwiOiBcIkZpbm5pc2hcIixcclxuICAgIFwiSVNcIjogXCJJY2VsYW5kaWNcIixcclxuICAgIFwiTFRcIjogXCJMaXRodWFuaWFuXCIsXHJcbiAgICBcIlNWXCI6IFwiU3dlZGlzaFwiLFxyXG4gICAgXCJCRVwiOiBcIkJlbG9ydXNzaWFuXCIsXHJcbiAgICBcIkJHXCI6IFwiQnVsZ2FyaWFuXCIsXHJcbiAgICBcIkNTXCI6IFwiQ3plY2hcIixcclxuICAgIFwiSFVcIjogXCJIdW5nYXJpYW5cIixcclxuICAgIFwiUlVcIjogXCJSdXNzaWFuXCIsXHJcbiAgICBcIk1PXCI6IFwiTW9sZGF2aWFuXCIsXHJcbiAgICBcIlBMXCI6IFwiUG9saXNoXCIsXHJcbiAgICBcIlNLXCI6IFwiU2xvdmFrXCIsXHJcbiAgICBcIlVLXCI6IFwiVWtyYWluaWFuXCIsXHJcbiAgICBcIk5MXCI6IFwiRHV0Y2hcIixcclxuICAgIFwiRU5cIjogXCJFbmdsaXNoXCIsXHJcbiAgICBcIkZSXCI6IFwiRnJlbmNoXCIsXHJcbiAgICBcIkRFXCI6IFwiR2VybWFuXCIsXHJcbiAgICBcIkdBXCI6IFwiSXJpc2hcIixcclxuICAgIFwiRUxcIjogXCJHcmVla1wiLFxyXG4gICAgXCJJVFwiOiBcIkl0YWxpYW5cIixcclxuICAgIFwiTVRcIjogXCJNYWx0ZXNlXCIsXHJcbiAgICBcIlBUXCI6IFwiUG9ydHVndWVzZVwiLFxyXG4gICAgXCJTUlwiOiBcIlNlcmJpYW5cIixcclxuICAgIFwiU0xcIjogXCJTbG92ZW5pYW5cIixcclxuICAgIFwiRVNcIjogXCJTcGFuaXNoXCIsXHJcbiAgICBcIlpIXCI6IFwiQ2hpbmVzZVwiLFxyXG4gICAgXCJKQVwiOiBcIkphcGFuZXNlXCIsXHJcbiAgICBcIktPXCI6IFwiS29yZWFuXCIsXHJcbiAgICBcIlRSXCI6IFwiVHVya2lzaFwiLFxyXG4gICAgXCJIUlwiOiBcIkNyb2F0aWFuXCIsXHJcbiAgICBcIlJPXCI6IFwiUm9tYW5pYW5cIixcclxuICAgIFwiVVpcIjogXCJVemJla1wiLFxyXG4gICAgXCJJRFwiOiBcIkluZG9uZXNpYW5cIlxyXG4gIH0sXHJcbiAgXCJBUklBX0xBQkVMU1wiOiB7XHJcbiAgICBcIkNMT1NFX0JVVFRPTlwiOiBcIkNsZWFyXCIsXHJcbiAgICBcIkNMRUFSX05PVElGSUNBVElPTlwiOiBcIkNsb3NlIGFsZXJ0XCIsXHJcbiAgICBcIkNMRUFSX1NPVVJDRVwiOiBcIkNsZWFyIGVudGVyZWQgdGV4dFwiLFxyXG4gICAgXCJDTE9TRV9ESUFMT0dcIjogXCJDbG9zZSBkaWFsb2dcIixcclxuICAgIFwiQ0xFQVJfRklMRVNcIjogXCJDbGVhciB1cGxvYWRlZCBmaWxlc1wiLFxyXG4gICAgXCJTSE9XX0VYVEVOU0lPTlNcIjogXCJTaG93IG90aGVyIGRvd25sb2FkIG9wdGlvbnNcIixcclxuICAgIFwiQ09QWVwiOiBcIkNvcHkgdG8gY2xpcGJvYXJkXCIsXHJcbiAgICBcIlJFRlJFU0hcIjogXCJSZWZyZXNoIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIk9QRU5fSU5fTkVXXCI6IFwiT3BlbiBpbiBuZXcgdGFiXCIsXHJcbiAgICBcIlNXQVBfTEFOR1VBR0VTXCI6IFwiU3dhcCBsYW5ndWFnZXNcIixcclxuICAgIFwiT1RIRVJfTEFOR1VBR0VTX1RSSUdHRVJcIjogXCJTaG93IG90aGVyIGxhbmd1YWdlc1wiXHJcbiAgfSxcclxuICBcIlRPT0xUSVBTXCI6IHtcclxuICAgIFwiQ09QWVwiOiBcIkNvcHkgdG8gY2xpcGJvYXJkXCIsXHJcbiAgICBcIlJFRlJFU0hcIjogXCJSZWZyZXNoIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIlNXQVBfTEFOR1VBR0VTXCI6IFwiU3dhcCBsYW5ndWFnZXNcIlxyXG4gIH0sXHJcbiAgXCJQREZfQ09OVkVSU0lPTlwiOiB7XHJcbiAgICBcIlRJVExFXzFcIjogXCJQREYgdHJhbnNsYXRpb25cIixcclxuICAgIFwiUEFSQUdSQVBIXzFfMVwiOiBcIldoZW4gYSAucGRmIGZpbGUgaXMgdXBsb2FkZWQgZm9yIHRyYW5zbGF0aW9uIGl0IGlzIGNvbnZlcnRlZCBpbnRvIGEgdHJhbnNsYXRhYmxlIGZvcm1hdC4gQm90aCBzY2FubmVkIGFuZCBuYXRpdmUgLnBkZnMgYXJlIHN1cHBvcnRlZC4gVHJhbnNsYXRpb25zIGNhbiBiZSBkb3dubG9hZGVkIGluIC5kb2N4LCAudG14IG9yIC5wZGYgZm9ybWF0cyBhbmQgd2lsbCByZXRhaW4gdGhlIGJhc2ljIGZvcm1hdHRpbmcuIEZvcm1hdHRpbmcgaW4gdGhlIHRyYW5zbGF0ZWQgLmRvY3ggYW5kIC5wZGYgZmlsZXMgbWF5IHNsaWdodGx5IGRpZmZlci4gXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8xXzJcIjogXCJBcyBjb252ZXJzaW9uIHRha2VzIHRpbWUsIHRvIHNwZWVkIHRoaW5ncyB1cCBzcGxpdCB5b3VyIC5wZGZzIGFuZCBkZWxldGUgdGhlIHBhZ2VzIHdpdGggbm8gdHJhbnNsYXRhYmxlIGluZm9ybWF0aW9uLiBGYWN0b3JzIGxpa2UgdGhlIG51bWJlciBvZiBwYWdlcywgcXVhbGl0eSBhbmQgdGV4dCBkZW5zaXR5IGFmZmVjdCB0aGUgcHJvY2Vzc2luZyB0aW1lLlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMV8zXCI6IFwiVG8gaW1wcm92ZSB0cmFuc2xhdGlvbiBwZXJmb3JtYW5jZSwgd2UgcmVjb21tZW5kIHRvIGRvd25sb2FkIHRoZSBjb252ZXJ0ZWQgZG9jdW1lbnQgaW4gdGhlIG9yaWdpbmFsIGxhbmd1YWdlIGFuZCBmaXggaXQgbWFudWFsbHkgYmVmb3JlIHJlLXVwbG9hZGluZyBmb3IgdHJhbnNsYXRpb24uXCIsXHJcbiAgICBcIklNQUdFX0FMVF8xXCI6IFwiU291cmNlIFBERiBkb3dubG9hZCBleGFtcGxlXCIsXHJcblxyXG4gICAgXCJUSVRMRV8yXCI6IFwiUERGIGNvbnZlcnNpb25cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfMVwiOiBcIlRoZSBkb2N1bWVudCBpcyBhbmFseXNlZCBhbmQgaXRzIGNvbnRlbnQgaXMgc3BsaXQgaW4gdGV4dCwgdGFibGUgYW5kIGltYWdlL2JhY2tncm91bmQgaW1hZ2UgYXJlYXMuIFRoZXkgYXJlIGFuYWx5c2VkIGZ1cnRoZXIgdG8gZGV0ZXJtaW5lIHdoaWNoIGNvbnRlbnQgc2hvdWxkIGJlIHJlY29nbml6ZWQgYXMgdGV4dC5cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfMlwiOiBcIlRleHR1YWwgZGF0YSBhcmUgYWNxdWlyZWQgYnkgbWVhbnMgb2YgT0NSIG9yIG9wdGljYWwgY2hhcmFjdGVyIHJlY29nbml0aW9uLiBFdmVyeSBjaGFyYWN0ZXIgaXMgcmVjb2duaXplZCBkZXBlbmRpbmcgb24gaXRzIHZpc3VhbCBjaGFyYWN0ZXJpc3RpY3MsIHRoZW4gYXNzZW1ibGVkIGludG8gd29yZHMgYW5kIHNlbnRlbmNlcy5cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfM1wiOiBcIlJlY29nbml0aW9uIGlzIGFmZmVjdGVkIGJ5IG1hbnkgZmFjdG9ycywgaW5jbHVkaW5nOlwiLFxyXG4gICAgXCJMSV8xXzFcIjogXCJRdWFsaXR5IG9mIHRoZSBzY2FubmVkIGRvY3VtZW50IChibHVycmVkIG9yIGRlZm9ybWVkIHRleHQsIGltYWdlIG5vaXNlLCBpbWFnZSByZXNvbHV0aW9uLCBjb250cmFzdCBldGMuKS4gRm9yIHRoZSBiZXN0IHJlc3VsdCwgLnBkZnMgc2hvdWxkIGJlIGF0IGxlYXN0IDMwMCBkcGksIHVuc2tld2VkIGFuZCBub2lzZSBmcmVlLlwiLFxyXG4gICAgXCJMSV8xXzJcIjogXCJGb250IHNpemUuIFNpemVzIHNtYWxsZXIgdGhhbiA5IHBvaW50cyBtaWdodCBiZSBwb29ybHkgcmVjb2duaXplZC4gXCIsXHJcbiAgICBcIkxJXzFfM1wiOiBcIlJhcmUgYW5kIG9yaWdpbmFsIGZvbnRzLiBMZXNzIGNvbW1vbiBmb250cyBtYXkgYmUgdW5yZWNvZ25pemFibGUgb3IgcGVyZm9ybSB3b3JzZS5cIixcclxuICAgIFwiTElfMV80XCI6IFwiQ29tcGxleGl0eSBvZiB0aGUgZG9jdW1lbnQgc3RydWN0dXJlIGFuZCBmb3JtYXR0aW5nLlwiLFxyXG5cclxuICAgIFwiVElUTEVfM1wiOiBcIkltcHJvdmluZyB0cmFuc2xhdGlvbiBwZXJmb3JtYW5jZVwiLFxyXG4gICAgXCJQQVJBR1JBUEhfM18xXCI6IFwiVGhlIGNvbnZlcnNpb24gcHJvY2VzcyBpcyB2ZXJ5IGNvbXBsZXggYW5kIG1heSBiZSBhZmZlY3RlZCBieSB2YXJpb3VzIGVycm9ycyByZXN1bHRpbmcgZnJvbSB0aGUgaW5wdXQgZG9jdW1lbnQuIFwiLFxyXG4gICAgXCJQQVJBR1JBUEhfM18yXCI6IFwiSXNzdWVzIHRvIGxvb2sgZm9yOlwiLFxyXG4gICAgXCJMSV8yXzFcIjogXCJJbmNvcnJlY3RseSByZWNvZ25pemVkIHdvcmRzLlwiLFxyXG4gICAgXCJMSV8yXzJcIjogXCJJbmNvcnJlY3Qgd29yZCBib3VuZGFyaWVzLlwiLFxyXG4gICAgXCJMSV8yXzNcIjogXCJTZW50ZW5jZXMgc3Bhbm5pbmcgbXVsdGlwbGUgY29sdW1ucywgbGluZXMgb3IgcGFnZXMgc3BsaXQgaW50byBkaWZmZXJlbnQgdGV4dHVhbCBvYmplY3RzLlwiLFxyXG4gICAgXCJMSV8yXzRcIjogXCJNaXNwbGFjZWQgcGFnZSBmb290ZXJzIGFuZCBoZWFkZXJzLlwiLFxyXG4gICAgXCJMSV8yXzVcIjogXCJJbmNvcnJlY3QgbnVtYmVyaW5nLlwiLFxyXG4gICAgXCJMSV8yXzZcIjogXCJUYWJsZXMgcmVjb2duaXplZCBhcyBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoIHRleHR1YWwgY29udGVudCBwbGFjZWQgaW50byBkaWZmZXJlbnQgdGV4dHVhbCBvYmplY3RzLlwiLFxyXG4gICAgXCJMSV8yXzdcIjogXCJTb21lIGRpYWdyYW1zIHJlY29nbml6ZWQgYXMgaW1hZ2VzIHdpdGhvdXQgYW55IHRleHR1YWwgY29udGVudC5cIixcclxuICAgIFwiTElfMl84XCI6IFwiU2VwYXJhdG9ycywgYm9yZGVycyBvciBvdGhlciBob3Jpem9udGFsIGxpbmVzIHJlY29nbml6ZWQgYXMgc3RyaWtldGhyb3VnaCBvciB1bmRlcmxpbmVkIHRleHQuXCIsXHJcbiAgICBcIkxJXzJfOVwiOiBcIkZvcm1hdHRpbmcgb2YgdGhlIHRhYmxlIG9mIGNvbnRlbnRzIG9yIHNpbWlsYXIgbGlzdHMgY29sbGFwc2VkIG9yIHJlY29nbml6ZWQgYXMgc3RyaWtldGhyb3VnaCBvciB1bmRlcmxpbmVkIHRleHQuXCIsXHJcblxyXG4gICAgXCJQQVJBR1JBUEhfNF8xXCI6IFwiPGI+Tm90ZSB0aGF0IHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgd2lsbCBub3QgcmV0YWluIGFsbCBkZXRhaWxzIG9mIHRoZSBvcmlnaW5hbCBmb3JtYXR0aW5nLjwvYj4gU29tZSBpbWFnZXMsIHRhYmxlcyBvciBkaWFncmFtcyBtYXkgYmVjb21lIGRpc3RvcnRlZCBvciBzaW1wbGlmaWVkLiBGb250cyBpbiB0aGUgdHJhbnNsYXRlZCBkb2N1bWVudCB3aWxsIG5vdCBiZSB0aGUgc2FtZSBhcyBpbiB0aGUgb3JpZ2luYWwsIGJ1dCBtYXkgYmUgc2ltaWxhci4gSW5jb3JyZWN0IGZvbnQgc2l6ZSBtYXkgYmUgcmVjb2duaXplZC4gU3BlY2lmaWMgV29yZCBmb3JtYXR0aW5nIGxpa2UgaGVhZGluZ3MsIHRhYmxlcyBvZiBjb250ZW50LCBoZWFkZXJzIGFuZCBmb290ZXJzLCBsYWJlbHMsIGZvcm1zIGV0Yy4gd2lsbCBiZSBzdHlsZWQgdG8gbG9vayBsaWtlIHRoZSBvcmlnaW5hbCwgYnV0IHdpbGwgbm90IG1hdGNoIHRoZSBvcmlnaW5hbCBjb21wbGV0ZWx5IChlLmcuIHRpdGxlcyB3aWxsIGJlIGJvbGQgYW5kIGluIGxhcmdlciBmb250LCBidXQgd2lsbCBub3QgYmUgc2V0IHRvIHRoZSBoZWFkaW5nIHN0eWxlKS5cIixcclxuXHJcbiAgICBcIkNMT1NFXCI6IFwiQ2xvc2UgZGlhbG9nXCJcclxuICB9LFxyXG4gIFwiSU1BR0VfQ09OVkVSU0lPTlwiOiB7XHJcbiAgICBcIlRJVExFXzFcIjogXCJJbWFnZSB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMV8xXCI6IFwiV2hlbiBhbiBpbWFnZSBmaWxlIGlzIHVwbG9hZGVkIGZvciB0cmFuc2xhdGlvbiBpdCBpcyBjb252ZXJ0ZWQgaW50byBhIHRyYW5zbGF0YWJsZSBmb3JtYXQuIFRyYW5zbGF0aW9ucyBjYW4gYmUgZG93bmxvYWRlZCBpbiAuZG9jeCBvciAudG14IGZvcm1hdHMgYW5kIHdpbGwgcmV0YWluIHRoZSBiYXNpYyBmb3JtYXR0aW5nLlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMV8yXCI6IFwiPGI+U3VwcG9ydGVkIGltYWdlIGZvcm1hdHM6PC9iPiAuanBnLCAuanBlZywgLnBuZyBhbmQgLmJtcC5cIixcclxuICAgIFwiUEFSQUdSQVBIXzFfM1wiOiBcIlRvIGltcHJvdmUgdHJhbnNsYXRpb24gcGVyZm9ybWFuY2UsIHdlIHJlY29tbWVuZCB0byBkb3dubG9hZCB0aGUgY29udmVydGVkIGRvY3VtZW50IGluIHRoZSBvcmlnaW5hbCBsYW5ndWFnZSBhbmQgZml4IGl0IG1hbnVhbGx5IGJlZm9yZSByZS11cGxvYWRpbmcgZm9yIHRyYW5zbGF0aW9uLlwiLFxyXG4gICAgXCJJTUFHRV9BTFRfMVwiOiBcIlNvdXJjZSBpbWFnZSBkb3dubG9hZCBleGFtcGxlXCIsXHJcblxyXG4gICAgXCJUSVRMRV8yXCI6IFwiSW1hZ2UgY29udmVyc2lvblwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMl8xXCI6IFwiVGhlIGltYWdlIGlzIGFuYWx5c2VkIGFuZCBpdHMgY29udGVudCBpcyBzcGxpdCBpbiB0ZXh0LCB0YWJsZSBhbmQgaW1hZ2UvYmFja2dyb3VuZCBpbWFnZSBhcmVhcy4gVGhleSBhcmUgYW5hbHlzZWQgZnVydGhlciB0byBkZXRlcm1pbmUgd2hpY2ggY29udGVudCBzaG91bGQgYmUgcmVjb2duaXplZCBhcyB0ZXh0LlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMl8yXCI6IFwiVGV4dHVhbCBkYXRhIGFyZSBhY3F1aXJlZCBieSBtZWFucyBvZiBPQ1Igb3Igb3B0aWNhbCBjaGFyYWN0ZXIgcmVjb2duaXRpb24uIEV2ZXJ5IGNoYXJhY3RlciBpcyByZWNvZ25pemVkIGRlcGVuZGluZyBvbiBpdHMgdmlzdWFsIGNoYXJhY3RlcmlzdGljcywgdGhlbiBhc3NlbWJsZWQgaW50byB3b3JkcyBhbmQgc2VudGVuY2VzLlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMl8zXCI6IFwiUmVjb2duaXRpb24gaXMgYWZmZWN0ZWQgYnkgbWFueSBmYWN0b3JzLCBpbmNsdWRpbmc6XCIsXHJcbiAgICBcIkxJXzFfMVwiOiBcIlF1YWxpdHkgb2YgdGhlIHNjYW5uZWQgaW1hZ2UgKGJsdXJyZWQgb3IgZGVmb3JtZWQgdGV4dCwgaW1hZ2Ugbm9pc2UsIGltYWdlIHJlc29sdXRpb24sIGNvbnRyYXN0IGV0Yy4pLiBGb3IgdGhlIGJlc3QgcmVzdWx0LCBpbWFnZXMgc2hvdWxkIGJlIGF0IGxlYXN0IDMwMCBkcGksIHVuc2tld2VkIGFuZCBub2lzZSBmcmVlLlwiLFxyXG4gICAgXCJMSV8xXzJcIjogXCJGb250IHNpemUuIFNpemVzIHNtYWxsZXIgdGhhbiA5IHBvaW50cyBtaWdodCBiZSBwb29ybHkgcmVjb2duaXplZC4gXCIsXHJcbiAgICBcIkxJXzFfM1wiOiBcIlJhcmUgYW5kIG9yaWdpbmFsIGZvbnRzLiBMZXNzIGNvbW1vbiBmb250cyBtYXkgYmUgdW5yZWNvZ25pemFibGUgb3IgcGVyZm9ybSB3b3JzZS5cIixcclxuICAgIFwiTElfMV80XCI6IFwiQ29tcGxleGl0eSBvZiB0aGUgZG9jdW1lbnQgc3RydWN0dXJlIGFuZCBmb3JtYXR0aW5nLlwiLFxyXG5cclxuICAgIFwiVElUTEVfM1wiOiBcIkltcHJvdmluZyB0cmFuc2xhdGlvbiBwZXJmb3JtYW5jZVwiLFxyXG4gICAgXCJQQVJBR1JBUEhfM18xXCI6IFwiVGhlIGNvbnZlcnNpb24gcHJvY2VzcyBpcyB2ZXJ5IGNvbXBsZXggYW5kIG1heSBiZSBhZmZlY3RlZCBieSB2YXJpb3VzIGVycm9ycyByZXN1bHRpbmcgZnJvbSB0aGUgaW5wdXQgZG9jdW1lbnQuIFwiLFxyXG4gICAgXCJQQVJBR1JBUEhfM18yXCI6IFwiSXNzdWVzIHRvIGxvb2sgZm9yOlwiLFxyXG4gICAgXCJMSV8yXzFcIjogXCJJbmNvcnJlY3RseSByZWNvZ25pemVkIHdvcmRzLlwiLFxyXG4gICAgXCJMSV8yXzJcIjogXCJJbmNvcnJlY3Qgd29yZCBib3VuZGFyaWVzLlwiLFxyXG4gICAgXCJMSV8yXzNcIjogXCJTZW50ZW5jZXMgc3Bhbm5pbmcgbXVsdGlwbGUgY29sdW1ucywgbGluZXMgb3IgcGFnZXMgc3BsaXQgaW50byBkaWZmZXJlbnQgdGV4dHVhbCBvYmplY3RzLlwiLFxyXG4gICAgXCJMSV8yXzRcIjogXCJNaXNwbGFjZWQgcGFnZSBmb290ZXJzIGFuZCBoZWFkZXJzLlwiLFxyXG4gICAgXCJMSV8yXzVcIjogXCJJbmNvcnJlY3QgbnVtYmVyaW5nLlwiLFxyXG4gICAgXCJMSV8yXzZcIjogXCJUYWJsZXMgcmVjb2duaXplZCBhcyBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoIHRleHR1YWwgY29udGVudCBwbGFjZWQgaW50byBkaWZmZXJlbnQgdGV4dHVhbCBvYmplY3RzLlwiLFxyXG4gICAgXCJMSV8yXzdcIjogXCJTb21lIGRpYWdyYW1zIHJlY29nbml6ZWQgYXMgaW1hZ2VzIHdpdGhvdXQgYW55IHRleHR1YWwgY29udGVudC5cIixcclxuICAgIFwiTElfMl84XCI6IFwiU2VwYXJhdG9ycywgYm9yZGVycyBvciBvdGhlciBob3Jpem9udGFsIGxpbmVzIHJlY29nbml6ZWQgYXMgc3RyaWtldGhyb3VnaCBvciB1bmRlcmxpbmVkIHRleHQuXCIsXHJcblxyXG4gICAgXCJQQVJBR1JBUEhfNF8xXCI6IFwiPGI+Tm90ZSB0aGF0IHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgd2lsbCBub3QgcmV0YWluIGFsbCBkZXRhaWxzIG9mIHRoZSBvcmlnaW5hbCBmb3JtYXR0aW5nLjwvYj4gU29tZSBpbWFnZXMsIHRhYmxlcyBvciBkaWFncmFtcyBtYXkgYmVjb21lIGRpc3RvcnRlZCBvciBzaW1wbGlmaWVkLiBGb250cyBpbiB0aGUgdHJhbnNsYXRlZCBkb2N1bWVudCB3aWxsIG5vdCBiZSB0aGUgc2FtZSBhcyBpbiB0aGUgb3JpZ2luYWwsIGJ1dCBtYXkgYmUgc2ltaWxhci4gSW5jb3JyZWN0IGZvbnQgc2l6ZSBtYXkgYmUgcmVjb2duaXplZC5cIixcclxuXHJcbiAgICBcIkNMT1NFXCI6IFwiQ2xvc2UgZGlhbG9nXCJcclxuICB9LFxyXG4gIFwiV0VCVFJBTlNMQVRFXCI6IHtcclxuICAgIFwiQkFDS1wiOiBcIkJhY2sgdG8gVHJhbnNsYXRvclwiLFxyXG4gICAgXCJMT0FEX1BBR0VcIjogXCJMb2FkIHBhZ2VcIixcclxuICAgIFwiUkVTVE9SRVwiOiBcIlJlc3RvcmVcIixcclxuICAgIFwiQ0FOQ0VMXCI6IFwiQ2FuY2VsXCIsXHJcbiAgICBcIlNFQVJDSFwiOiBcIlNlYXJjaCB3ZWJzaXRlXCIsXHJcbiAgICBcIk5PX1JFQ09SRFNcIjoge1xyXG4gICAgICBcIlRJVExFXCI6IFwiU2VhcmNoIGZvciBhIHdlYnNpdGUgdG8gdHJhbnNsYXRlXCIsXHJcbiAgICAgIFwiREVTQ1JJUFRJT05cIjogXCJTZWUgPGEgaHJlZj0ne3toZWxwVXJsfX0nIHRhcmdldD0nX2JsYW5rJyBjbGFzcz0ndW5kZXJsaW5lJz5ob3cgaXQgd29ya3M8L2E+XCJcclxuICAgIH0sXHJcbiAgfSxcclxuICBcIkRBVEVfQUdPXCI6IHtcclxuICAgIFwiWUVBUlwiOiBcInt7dmFsdWV9fSB5ZWFyIGFnb1wiLFxyXG4gICAgXCJZRUFSU1wiOiBcInt7dmFsdWV9fSB5ZWFycyBhZ29cIixcclxuICAgIFwiTU9OVEhcIjogXCJ7e3ZhbHVlfX0gbW9udGggYWdvXCIsXHJcbiAgICBcIk1PTlRIU1wiOiBcInt7dmFsdWV9fSBtb250aHMgYWdvXCIsXHJcbiAgICBcIldFRUtcIjogXCJ7e3ZhbHVlfX0gd2VlayBhZ29cIixcclxuICAgIFwiV0VFS1NcIjogXCJ7e3ZhbHVlfX0gd2Vla3MgYWdvXCIsXHJcbiAgICBcIkRBWVwiOiBcInt7dmFsdWV9fSBkYXkgYWdvXCIsXHJcbiAgICBcIkRBWVNcIjogXCJ7e3ZhbHVlfX0gZGF5cyBhZ29cIixcclxuICAgIFwiSE9VUlwiOiBcInt7dmFsdWV9fSBob3VyIGFnb1wiLFxyXG4gICAgXCJIT1VSU1wiOiBcInt7dmFsdWV9fSBob3VycyBhZ29cIixcclxuICAgIFwiTUlOVVRFXCI6IFwie3t2YWx1ZX19IG1pbnV0ZSBhZ29cIixcclxuICAgIFwiTUlOVVRFU1wiOiBcInt7dmFsdWV9fSBtaW51dGVzIGFnb1wiLFxyXG4gICAgXCJTRUNPTkRcIjogXCJ7e3ZhbHVlfX0gc2Vjb25kIGFnb1wiLFxyXG4gICAgXCJTRUNPTkRTXCI6IFwie3t2YWx1ZX19IHNlY29uZHMgYWdvXCIsXHJcbiAgICBcIkpVU1RfTk9XXCI6IFwiSnVzdCBub3dcIlxyXG4gIH0sXHJcbiAgXCJURVJNX0NPTExFQ1RJT05TXCI6IHtcclxuICAgIFwiVElUTEVcIjogXCJHbG9zc2FyaWVzXCIsXHJcbiAgICBcIkRFRkFVTFRcIjogXCJEZWZhdWx0XCIsXHJcbiAgICBcIkRFU0NSSVBUSU9OXCI6IFwiQWNoaWV2ZSBwcmVjaXNlIGFuZCByZWxpYWJsZSB0cmFuc2xhdGlvbnMgYnkgY2hvb3NpbmcgdGhlIG1vc3Qgc3VpdGFibGUgZ2xvc3NhcnkgZnJvbSB0aGUgbGlzdC5cIixcclxuICAgIFwiR0xPU1NBUllcIjogXCJHbG9zc2FyeTogXCIsXHJcbiAgICBcIlNFTEVDVEVEX05PTkVcIjogXCJOb25lXCIsXHJcbiAgICBcIkVESVRcIjogXCJFZGl0XCIsXHJcbiAgICBcIkNSRUFURVwiOiBcIk5ldyBnbG9zc2FyeVwiLFxyXG4gICAgXCJERVNDUklQVElPTl9FTVBUWVwiOiBcIkNyZWF0ZSB5b3VyIGZpcnN0IGdsb3NzYXJ5IGZvciB7e3NyY0xhbmd9fS17e3RyZ0xhbmd9fVwiLFxyXG4gICAgXCJERVNDUklQVElPTl9FTVBUWV9BRFZJQ0VcIjogXCJGb3IgYmVzdCByZXN1bHRzIGluY2x1ZGUgdGVjaG5pY2FsIHRlcm1zLCBicmFuZCBuYW1lcywgYWNyb255bXMgYW5kIHN1cm5hbWVzLlwiLFxyXG4gICAgXCJMQVNUX1VQREFURURcIjogXCJMYXN0IHVwZGF0ZWQ6IHt7ZGF0ZX19XCIsXHJcbiAgICBcIkRFRkFVTFRfQ09MTEVDVElPTl9OQU1FXCI6IFwiTXkgdGVybSBjb2xsZWN0aW9uXCIsXHJcbiAgICBcIlNZTkNcIjogXCJTeW5jXCIsXHJcbiAgICBcIlNZTkNfRVJST1JcIjogXCJSZXRyeVwiLFxyXG4gICAgXCJURVJNU19JTl9VU0VcIjogXCJUZXJtcyBpbiB1c2U6IHt7dGVybUNvdW50fX1cIixcclxuICAgIFwiREVGQVVMVF9HTE9TU0FSWV9NQU5BR0VNRU5UXCI6IFwiRGVmYXVsdCBnbG9zc2FyeSBtYW5hZ2VtZW50XCIsXHJcbiAgICBcIkFSSUFfTEFCRUxTXCI6IHtcclxuICAgICAgXCJSQURJT19HUk9VUFwiOiBcIlNlbGVjdCBhIHRlcm0gY29sbGVjdGlvblwiLFxyXG4gICAgICBcIk9USEVSX0NPTExFQ1RJT05TXCI6IFwiT3BlbiB0aGUgY29sbGVjdGlvbiBtZW51XCJcclxuICAgIH0sXHJcbiAgICBcIkNSRUFURV9ESUFMT0dcIjoge1xyXG4gICAgICBcIkNBTkNFTFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgICBcIkNPTExFQ1RJT05fTkFNRV9MQUJFTFwiOiBcIkdsb3NzYXJ5IG5hbWVcIixcclxuICAgICAgXCJDUkVBVEVcIjogXCJDcmVhdGVcIixcclxuICAgICAgXCJERVNDUklQVElPTl8xXCI6IFwiQWZ0ZXIgY2xpY2tpbmcg4oCcQ3JlYXRl4oCdIHlvdSB3aWxsIGJlIHJlZGlyZWN0ZWQgdG8gVGlsZGUgVGVybSB0byBhZGQgeW91ciB0ZXJtcy5cIixcclxuICAgICAgXCJERVNDUklQVElPTl8yXCI6IFwiPGk+KkFJIGlzIG5vdCBwZXJmZWN0IGFuZCBjYW4gbWFrZSBvY2Nhc2lvbmFsIG1pc3Rha2VzLiBZb3VyIHVuaXF1ZSB0ZXJtcyB3aWxsIGJlIHVzZWQgY29ycmVjdGx5IHdpdGggOTUlIGFjY3VyYWN5LjwvaT5cIixcclxuICAgICAgXCJUSVRMRVwiOiBcIkNyZWF0ZSBuZXcgZ2xvc3NhcnlcIixcclxuICAgICAgXCJDT0xMRUNUSU9OX05BTUVfRVJST1JcIjogXCJUaXRsZSBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW5MZW5ndGh9fSBzeW1ib2xzIGxvbmcgYW5kIG5vdCBsb25nZXIgdGhhbiB7e21heExlbmd0aH19IHN5bWJvbHNcIlxyXG4gICAgfSxcclxuICAgIFwiVE9PTFRJUFNcIjoge1xyXG4gICAgICBcIkVESVRcIjogXCJFZGl0IGdsb3NzYXJ5IGluIHRlcm1pbm9sb2d5IHBvcnRhbFwiLFxyXG4gICAgICBcIklNUE9SVElOR1wiOiBcIkltcG9ydGluZyBnbG9zc2FyeVwiLFxyXG4gICAgICBcIk5PX0VOVFJJRVNcIjogXCJUZXJtIGNvbGxlY3Rpb24gY2Fubm90IGJlIHVzZWQ6IG5vIHRlcm1zIGluIHNvdXJjZSBsYW5ndWFnZVwiLFxyXG4gICAgICBcIkRFRkFVTFRfQ09MTEVDVElPTlwiOiBcIlRoZXNlIHRlcm1zIGFyZSBub3cgaW4gdXNlLiBZb3UgY2FuIG1hbmFnZSB0aGVtIHRocm91Z2ggRGVmYXVsdCBnbG9zc2FyeSBtYW5hZ2VtZW50LiBcIixcclxuICAgICAgXCJTWU5DXCI6IFwiVXBkYXRlIHRoZSB0ZXJtIGNvbGxlY3Rpb25cIixcclxuICAgICAgXCJTWU5DSU5HXCI6IFwiVGVybSBjb2xsZWN0aW9uIGlzIHN5bmNlZCwgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBjb2xsZWN0aW9uIHdpbGwgYmUgdXNlZFwiLFxyXG4gICAgICBcIkFUVEFDSF9UT19TWVNURU1fRVJST1JcIjogXCJBbiBlcnJvciBoYXMgb2NjdXJlZCB3aGlsZSBpbXBvcnRpbmcgdGhlIHRlcm0gY29sbGVjdGlvblwiXHJcbiAgICB9LFxyXG4gICAgXCJSRUFERVJcIjoge1xyXG4gICAgICBcIlRJVExFXCI6IFwiR2xvc3Nhcmllc1wiLFxyXG4gICAgICBcIkRFU0NSSVBUSU9OXCI6IFwiTm8gZ2xvc3NhcmllcyBjcmVhdGVkXCIsXHJcbiAgICAgIFwiSElOVFwiOiBcIllvdSBtdXN0IGJlIGEgVGVybWlub2xvZ3kgTWFuYWdlciB0byBjcmVhdGUgZ2xvc3Nhcmllc1wiXHJcbiAgICB9LFxyXG4gICAgXCJFUlJPUlNcIjoge1xyXG4gICAgICBcIkVSUk9SSU1QT1JUSU5HXCI6IFwiSW1wb3J0aW5nIGVycm9yXCJcclxuICAgIH1cclxuICB9LFxyXG4gIFwiRE9NQUlOU1wiOiB7XHJcbiAgICBcIk9QRU5fTElTVF9BUklBX0xBQkVMXCI6IFwiT3BlbiBkb21haW4gbGlzdFwiLFxyXG4gICAgXCJUSVRMRVwiOiBcIkRvbWFpbjpcIixcclxuICAgIFwiTEFXXCI6IFwiTGF3XCIsXHJcbiAgICBcIkRZTkFNSUNfTEVBUk5JTkdcIjogXCJEeW5hbWljIGxlYXJuaW5nXCIsXHJcbiAgICBcIkJVU0lORVNTXCI6IFwiQnVzaW5lc3NcIixcclxuICAgIFwiR0VORVJBTFwiOiBcIkdlbmVyYWxcIixcclxuICAgIFwiQVVUT1wiOiBcIkF1dG9kZXRlY3RcIixcclxuICAgIFwiU1BEXCI6IFwiRVUgRm9ybWFsIExhbmd1YWdlXCIsXHJcbiAgICBcIkdFTlwiOiBcIkdlbmVyYWwgVGV4dFwiLFxyXG4gICAgXCJFQ0JcIjogXCJGaW5hbmNlXCIsXHJcbiAgICBcIkVDSlwiOiBcIkV1cm9wZWFuIENvdXJ0IG9mIEp1c3RpY2VcIixcclxuICAgIFwiUFVCSEVBTFRIXCI6IFwiUHVibGljIEhlYWx0aFwiLFxyXG4gICAgXCJCVUJBXCI6IFwiRGV1dHNjaGUgQnVuZGVzYmFua1wiLFxyXG4gICAgXCJCRVJDWVwiOiBcIk1pbmlzdMOocmUgZGVzIEZpbmFuY2VzXCIsXHJcbiAgICBcIkVVUk9QRUFOQVwiOiBcIkV1cm9wZWFuYVwiLFxyXG4gICAgXCJJUE9cIjogXCJJUCBDYXNlIExhd1wiLFxyXG4gICAgXCJUUklTXCI6IFwiRW5naW5lcyBidWlsdCB1c2luZyBkYXRhIGZyb20gdGhlIHRlY2huaWNhbCByZWd1bGF0aW9uIGluZm9ybWF0aW9uIHN5c3RlbVwiLFxyXG4gICAgXCJWS1wiOiBcIlZhbHRpb25ldXZvc3RvbiBLYW5zbGlhXCIsXHJcbiAgICBcIkJVQkFfTk1UVEVTVFwiOiBcIkRldXRzY2hlIEJ1bmRlc2JhbmsgVGVzdFwiXHJcbiAgfSxcclxuICBcIkdSQU1NQVJfQ0hFQ0tfTUVOVVwiOiB7XHJcbiAgICBcIlRJVExFXCI6IFwiQ29uc2lkZXIgY2hhbmdpbmcgdG86XCJcclxuICB9LFxyXG4gIFwiQVVESU9cIjoge1xyXG4gICAgXCJDQU5DRUxcIjogXCJDYW5jZWxcIixcclxuICAgIFwiREVTQ1JJQkVfU1RBVEVfUkVDT1JESU5HXCI6IFwiUGxlYXNlIHNwZWFrIHRvIHJlY29yZC4uLlwiLFxyXG4gICAgXCJERVNDUklCRV9TVEFURV9QUk9DRVNTSU5HXCI6IFwiUHJvY2Vzc2luZy4uLlwiLFxyXG4gICAgXCJNSUNfTk9UX0ZPVU5EXCI6IFwiTWljcm9waG9uZSBub3QgZm91bmRcIixcclxuICAgIFwiU1RPUFwiOiBcIlN0b3AgcmVjb3JkaW5nXCIsXHJcbiAgICBcIlNUQVJUXCI6IFwiVHJhbnNsYXRlIHNwZWVjaFwiLFxyXG4gICAgXCJQVU5DVFVBVElPTl9NRVNTQUdFX1RJVExFXCI6IFwiQWRkIHB1bmN0dWF0aW9uXCIsXHJcbiAgICBcIlBVTkNUVUFUSU9OX01FU1NBR0VcIjogXCJQbGVhc2UgYWRkIHB1bmN0dWF0aW9uIHRvIHRoZSByZWNvZ25pemVkIHRleHQuIExvbmcgdGV4dCB3aXRob3V0IHB1bmN0dWF0aW9uIG1heSBoYXZlIGxvd2VyIHRyYW5zbGF0aW9uIHF1YWxpdHkgb3Igbm90IGJlIHRyYW5zbGF0ZWQuXCIsXHJcbiAgfSxcclxuICBcIkVYVEVOU0lPTl9QT1BVUFwiOiB7XHJcbiAgICBcIk9QRU5cIjogXCJzZWUgYWxsIHN1cHBvcnRlZCBmb3JtYXRzXCIsXHJcbiAgICBcIlRJVExFXCI6IFwiU3VwcG9ydGVkIGZpbGUgZm9ybWF0c1wiLFxyXG4gICAgXCJERVNDUklQVElPTlwiOiBcIlVURi04IG9yIFVURi0xNiBjb2RpbmcgcmVxdWlyZWQgdG8gZW5zdXJlIGNvcnJlY3QgZmlsZSB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJPRkZJQ0VcIjogXCJPZmZpY2VcIixcclxuICAgIFwiU0NBTk5FRFwiOiBcIkltYWdlIGZpbGVzXCIsXHJcbiAgICBcIklOVEVSQ0hBTkdFXCI6IFwiSW50ZXJjaGFuZ2UgZm9ybWF0c1wiLFxyXG4gICAgXCJXRUJcIjogXCJXZWJcIixcclxuICAgIFwiT1RIRVJcIjogXCJPdGhlclwiLFxyXG4gIH0sXHJcbiAgXCJGSUxFX1VQTE9BRFwiOiB7XHJcbiAgICBcIlVQTE9BRFwiOiBcIlVwbG9hZFwiLFxyXG4gICAgXCJEUkFHX0FORF9EUk9QXCI6IFwib3IgZHJhZyBhbmQgZHJvcCBcIixcclxuICAgIFwiRklMRVwiOiBcImEgZmlsZVwiLFxyXG4gICAgXCJGSUxFU1wiOiBcImZpbGVzXCIsXHJcbiAgICBcIkxJTUlUU1wiOiBcIiAoIHt7dmlzaWJsZUV4dGVuc2lvbnN9fS4gTWF4IHt7bWF4U2l6ZU1CfX0mbmJzcDspXCIsXHJcbiAgICBcIkNMRUFSXCI6IFwiQ2xlYXIgZmlsZVwiXHJcbiAgfSxcclxuICBcIlNZU1RFTV9QSUNLRVJcIjoge1xyXG4gICAgXCJTT1VSQ0VcIjogXCJUcmFuc2xhdGUgZnJvbVwiLFxyXG4gICAgXCJUQVJHRVRcIjogXCJUcmFuc2xhdGUgdG9cIixcclxuICAgIFwiU0VBUkNIX1BMQUNFSE9MREVSXCI6IFwiU2VhcmNoIGxhbmd1YWdlc1wiLFxyXG4gICAgXCJSRUNFTlRfU1lTVEVNX1RJVExFXCI6IFwiUmVjZW50bHkgdXNlZFwiLFxyXG4gICAgXCJTRUxFQ1RfRE9NQUlOXCI6IFwiU2VsZWN0IGRvbWFpblwiLFxyXG4gICAgXCJGSUxURVJfTk9fUkVTVUxUU1wiOiBcIk5vIHJlc3VsdHNcIixcclxuICAgIFwiQUxMX0xBTkdVQUdFU1wiOiBcIkFsbCBsYW5ndWFnZXNcIixcclxuICAgIFwiQ0xFQVJfU0VBUkNIXCI6IFwiQ2xlYXIgc2VhcmNoIHRleHRcIixcclxuICAgIFwiT1BFTl9TT1VSQ0VfQVJJQV9MQUJFTFwiOiBcIlNlbGVjdCBzb3VyY2UgbGFuZ3VhZ2VcIixcclxuICAgIFwiT1BFTl9UQVJHRVRfQVJJQV9MQUJFTFwiOiBcIlNlbGVjdCB0YXJnZXQgbGFuZ3VhZ2UgYW5kIGRvbWFpblwiLFxyXG4gICAgXCJERVRFQ1RFRFwiOiBcIkRldGVjdGVkXCJcclxuICB9LFxyXG4gIFwiVEVYVF9UUkFOU0xBVElPTl9QUk9HUkVTU19JTkRJQ0FUT1JcIjoge1xyXG4gICAgXCJUSVRMRVwiOiBcIlRyYW5zbGF0aW9uIHByb3ZpZGVkIGJ5IHt7cHJvdmlkZXJ9fVwiLFxyXG4gICAgXCJUUkFOU0xBVElOR1wiOiBcIlRyYW5zbGF0aW5nLi4uXCIsXHJcbiAgICBcIkNMT1NFX0JVVFRPTl9UT09MVElQXCI6IFwiUmVtb3ZlIHByb2dyZXNzIGJhclwiLFxyXG4gICAgXCJDTE9TRV9CVVRUT05fQVJJQV9MQUJFTFwiOiBcIlJlbW92ZSBwcm9ncmVzcyBiYXJcIlxyXG4gIH0sXHJcbiAgXCJWRU5ET1JfTUVTU0FHRVwiOiB7XHJcbiAgICBcIlRFWFRcIjogXCJUcmFuc2xhdGlvbiBwcm92aWRlZCBieSB7e3ZlbmRvcn19XCIsXHJcbiAgICBcIklDT05fVE9PTFRJUFwiOiBcIlN5c3RlbXMgb2ZmZXJlZCBieSB7e3ZlbmRvcn19IGFyZSB1c2VkIGJ5IGEgaHVnZSBudW1iZXIgb2YgdXNlcnMuIFRoZXkgbWF5IGJlIHNsb3cgYXQgdGltZSBkdWUgdG8gdGhlIGhlYXZ5IHdvcmsgbG9hZC5cIlxyXG4gIH0sXHJcbiAgXCJWRU5ET1JTXCI6IHtcclxuICAgIFwiRVRSQU5TTEFUSU9OXCI6IFwiZVRyYW5zbGF0aW9uXCJcclxuICB9LFxyXG4gIFwiVEVYVF9UT19TUEVFQ0hcIjoge1xyXG4gICAgXCJQTEFZXCI6IFwiTGlzdGVuXCIsXHJcbiAgICBcIlBBVVNFXCI6IFwiUGF1c2VcIlxyXG4gIH1cclxufVxyXG4iXX0=
459
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvaTE4bi9lbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsa0JBQWtCLEVBQUUsWUFBWTtJQUNoQyxVQUFVLEVBQUUsVUFBVTtJQUN0QixlQUFlLEVBQUU7UUFDZixVQUFVLEVBQUUsc0dBQXNHO1FBQ2xILGVBQWUsRUFBRSxZQUFZO1FBQzdCLG9CQUFvQixFQUFFLFFBQVE7UUFDOUIscUJBQXFCLEVBQUUsVUFBVTtRQUNqQyxxQkFBcUIsRUFBRSxVQUFVO1FBQ2pDLG9CQUFvQixFQUFFLFNBQVM7UUFDL0Isc0JBQXNCLEVBQUUsK0JBQStCO1FBQ3ZELDJCQUEyQixFQUFFLGdLQUFnSztRQUM3TCw0QkFBNEIsRUFBRSxpQ0FBaUM7UUFDL0QsaUNBQWlDLEVBQUUsa0tBQWtLO1FBQ3JNLHNDQUFzQyxFQUFFLHFDQUFxQztRQUM3RSxvQ0FBb0MsRUFBRSxvQ0FBb0M7UUFDMUUsaUNBQWlDLEVBQUUsd0JBQXdCO1FBQzNELHFDQUFxQyxFQUFFLGdCQUFnQjtRQUN2RCxnQ0FBZ0MsRUFBRSx1QkFBdUI7UUFDekQsbUNBQW1DLEVBQUUsRUFBRTtRQUN2QywrQkFBK0IsRUFBRSxFQUFFO1FBQ25DLGlDQUFpQyxFQUFFLDRCQUE0QjtRQUMvRCxtQ0FBbUMsRUFBRSxjQUFjO1FBQ25ELGtDQUFrQyxFQUFFLFVBQVU7UUFDOUMsNkJBQTZCLEVBQUUsa0dBQWtHO1FBQ2pJLE1BQU0sRUFBRSxPQUFPO1FBQ2YscUJBQXFCLEVBQUUsbUJBQW1CO1FBQzFDLHVCQUF1QixFQUFFLDhCQUE4QjtRQUN2RCx1QkFBdUIsRUFBRSx5QkFBeUI7UUFDbEQsOEJBQThCLEVBQUUsMEZBQTBGO1FBQzFILG9CQUFvQixFQUFFLDZMQUE2TDtRQUNuTixnQkFBZ0IsRUFBRSxxRkFBcUY7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QU0sRUFBRSxRQUFRO1FBQ2hCLE9BQU8sRUFBRSxPQUFPO0tBQ2pCO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBpMThuX2VuID0ge1xyXG4gIFwiVEVSTV9QT1JUQUxfTkFNRVwiOiBcIlRpbGRlIHRlcm1cIixcclxuICBcIkFQUF9OQU1FXCI6IFwiVGlsZGUgTVRcIixcclxuICBcIlRMRF9UUkFOU0xBVEVcIjoge1xyXG4gICAgXCJCRVNUX05NVFwiOiBcIlByb3VkIHdpbm5lciBvZiB0aGUgYmVzdCBtYWNoaW5lIHRyYW5zbGF0aW9uIHRlY2hub2xvZ3kgYXQgV01UIENvbXBldGl0aW9uIGZvciB0aHJlZSB5ZWFycyBpbiBhIHJvdy5cIixcclxuICAgIFwiQkVTVF9OTVRfTU9SRVwiOiBcIkxlYXJuIG1vcmVcIixcclxuICAgIFwiQ0FOQ0VMX1RSQU5TTEFUSU9OXCI6IFwiQ2FuY2VsXCIsXHJcbiAgICBcIkRJQ1RJT05BUllfRVhBTVBMRVNcIjogXCJleGFtcGxlc1wiLFxyXG4gICAgXCJET1dOTE9BRF9UUkFOU0xBVEVEXCI6IFwiRG93bmxvYWRcIixcclxuICAgIFwiRE9NQUlOU19BUklBX0xBQkVMXCI6IFwiRG9tYWluc1wiLFxyXG4gICAgXCJGSUxFX0RPV05MT0FEX1NPVVJDRVwiOiBcIkRvd25sb2FkIGNvbnZlcnRlZCBzb3VyY2UgUERGXCIsXHJcbiAgICBcIkZJTEVfRE9XTkxPQURfU09VUkNFX0hFTFBcIjogXCJQREYgY29udmVyc2lvbiBtYXkgY2F1c2UgZm9ybWF0dGluZyBlcnJvcnMgb3IgdGV4dCBkaXN0b3J0aW9uLiBQbGVhc2UgY2hlY2sgdGhlIGNvbnZlcnRlZCBmaWxlIGFuZCBmaXggdGhlIGVycm9ycyBiZWZvcmUgcmUtdXBsb2FkaW5nIHRoZSBmaWxlIGZvciB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJGSUxFX0RPV05MT0FEX1NPVVJDRV9JTUFHRVwiOiBcIkRvd25sb2FkIGNvbnZlcnRlZCBzb3VyY2UgaW1hZ2VcIixcclxuICAgIFwiRklMRV9ET1dOTE9BRF9TT1VSQ0VfSU1BR0VfSEVMUFwiOiBcIkltYWdlIGNvbnZlcnNpb24gbWF5IGNhdXNlIGZvcm1hdHRpbmcgZXJyb3JzIG9yIHRleHQgZGlzdG9ydGlvbi4gUGxlYXNlIGNoZWNrIHRoZSBjb252ZXJ0ZWQgZmlsZSBhbmQgZml4IHRoZSBlcnJvcnMgYmVmb3JlIHJlLXVwbG9hZGluZyB0aGUgZmlsZSBmb3IgdHJhbnNsYXRpb25cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfSU5JVElBTElaSU5HXCI6IFwiSW5pdGlhbGl6aW5nIHRyYW5zbGF0aW9uIHByb2Nlc3MuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfRVhUUkFDVElOR1wiOiBcIkV4dHJhY3RpbmcgdHJhbnNsYXRhYmxlIGNvbnRlbnQuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfV0FJVElOR1wiOiBcIlN0YXJ0aW5nIHRyYW5zbGF0b3IuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfVFJBTlNMQVRJTkdcIjogXCJUcmFuc2xhdGluZy4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19TQVZJTkdcIjogXCJTYXZpbmcgdHJhbnNsYXRpb24uLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfQ09NUExFVEVEXCI6IFwiXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX0VSUk9SXCI6IFwiXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX1FVRVVJTkdcIjogXCJUcmFuc2xhdGlvbiBpcyBzdGFydGluZy4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19VUExPQURJTkdcIjogXCJVcGxvYWRpbmcuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfVVBMT0FERURcIjogXCJVcGxvYWRlZFwiLFxyXG4gICAgXCJGSUxFX1RBUkdFVF9QUkVWSUVXX01FU1NBR0VcIjogXCJUaGlzIGlzIGEgcHJldmlldyBvZiB0aGUgdHJhbnNsYXRlZCBkb2N1bWVudCwgcGxlYXNlIGRvd25sb2FkIHRvIHJlY2VpdmUgYSBjb21wbGV0ZSB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiRlJPTVwiOiBcIkZyb206XCIsXHJcbiAgICBcIlBERl9ESVNDTEFJTUVSX0xJTktcIjogXCJTZWUgaG93IHRvIGZpeCBpdFwiLFxyXG4gICAgXCJJTUFHRV9ESVNDTEFJTUVSX0xJTktcIjogXCJSZWFkIGFib3V0IGltYWdlIGNvbnZlcnNpb24uXCIsXHJcbiAgICBcIlBSRVBBUklOR19UUkFOU0xBVElPTlwiOiBcIlRyYW5zbGF0aW9uIGlzIHN0YXJ0aW5nXCIsXHJcbiAgICBcIlJFR0lTVEVSRURfRk9STUFUU19MT0dHRURfSU5cIjogXCJSZWdpc3RlcmVkIHVzZXJzIGhhdmUgYWNjZXNzIHRvIHRoZSBmb2xsb3dpbmcgZG9jdW1lbnQgZm9ybWF0cyB0cmFuc2xhdGlvbjoge3tmb3JtYXRzfX0uXCIsXHJcbiAgICBcIlJFR0lTVEVSRURfRk9STUFUU1wiOiBcIlJlZ2lzdGVyZWQgdXNlcnMgaGF2ZSBhY2Nlc3MgdG8gdGhlIGZvbGxvd2luZyBkb2N1bWVudCBmb3JtYXRzIHRyYW5zbGF0aW9uOiB7e2Zvcm1hdHN9fS4gUmVxdWVzdCB5b3VyIGFjY2VzcyA8YSBjbGFzcz1cXFwiYWNjZW50LWNvbG9yXFxcIiB0YXJnZXQ9XFxcImJsYW5rXFxcIiBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319XFxcIj5oZXJlPC9hPi5cIixcclxuICAgIFwiU09VUkNFX0ZPUk1BVFNcIjogXCJTZWN1cmUgcHVibGljIHRyYW5zbGF0aW9uIHNlcnZpY2Ugc3VwcG9ydHMgZm9sbG93aW5nIGRvY3VtZW50IGZvcm1hdHM6IHt7Zm9ybWF0c319O1wiLFxyXG4gICAgXCJTT1VSQ0VfV09SRF9MSU1JVFwiOiBcIiB0cmFuc2xhdGlvbiBhbW91bnQgaXMgbGltaXRlZCB1cCB0byB7e2xpbWl0fX0gd29yZHMuXCIsXHJcbiAgICBcIlNPVVJDRV9UT09MVElQXCI6IFwiVHlwZSB0ZXh0IG9yIGluc2VydCBsaW5rIHRvIHRyYW5zbGF0ZS5cIixcclxuICAgIFwiU09VUkNFX1RPT0xUSVBfT05MWV9URVhUXCI6IFwiVHlwZSB0ZXh0IHRvIHRyYW5zbGF0ZS5cIixcclxuICAgIFwiU09VUkNFX1RPT0xUSVBfU0VOU0lUSVZFX0lORk9cIjogXCJEbyBub3QgdXNlIHt7YXBwTmFtZX19IHRvIHRyYW5zbGF0ZSBjb25maWRlbnRpYWwgb3IgY2xhc3NpZmllZCBpbmZvcm1hdGlvbiBvciB0ZXh0cyB0aGF0IGNvbnRhaW4gc3BlY2lhbCBjYXRlZ29yaWVzIG9mIHBlcnNvbmFsIGRhdGEsIHN1Y2ggYXMgbWVkaWNhbCBkYXRhXCIsXHJcbiAgICBcIlRBUkdFVF9ERVNDUklQVElPTlwiOiBcIk1hY2hpbmUgdHJhbnNsYXRpb24gYWxsb3dzIHRvIHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgYSBzb3VyY2UgdGV4dCwgYnV0IGNhbm5vdCBzdWJzdGl0dXRlIGEgaHVtYW4gdHJhbnNsYXRpb24uXCIsXHJcbiAgICBcIlRPXCI6IFwiVG86XCIsXHJcbiAgICBcIlRFWFRfQ09QSUVEXCI6IFwiVHJhbnNsYXRpb24gY29waWVkXCIsXHJcbiAgICBcIlNVR0dFU1RfQlVUVE9OXCI6IFwiU3VnZ2VzdCB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJTVUdHRVNUX09SSUdJTkFMX0xBQkVMXCI6IFwiT3JpZ2luYWwgc2VudGVuY2VcIixcclxuICAgIFwiU1VHR0VTVF9TVUJNSVRfQlVUVE9OXCI6IFwiQ29udHJpYnV0ZVwiLFxyXG4gICAgXCJTVUdHRVNUX1RSQU5TTEFUSU9OX0xBQkVMXCI6IFwiVHJhbnNsYXRpb25cIixcclxuICAgIFwiU1VHR0VTVF9VU0FHRV9JTkZPXCI6IFwiWW91ciBhbm9ueW1pemVkIHRyYW5zbGF0aW9uIHN1Z2dlc3Rpb24gd2lsbCBiZSB1c2VkIHRvIGltcHJvdmUgdGhlIHF1YWxpdHkgb2YgbWFjaGluZSB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiVE9PTFRJUF9BQ1RJT05cIjogXCJUcmFuc2xhdGVcIixcclxuICAgIFwiVkVORE9SU19BUklBX0xBQkVMXCI6IFwiUHJvdmlkZXJzXCIsXHJcbiAgICBcIldPUkRfVFlQRV9BREpFQ1RJVkVcIjogXCJhZGplY3RpdmVcIixcclxuICAgIFwiV09SRF9UWVBFX05PVU5cIjogXCJub3VuXCIsXHJcbiAgICBcIldPUkRfVFlQRV9WRVJCXCI6IFwidmVyYlwiLFxyXG4gICAgXCJXT1JEX1RZUEVfQURWRVJCXCI6IFwiYWR2ZXJiXCIsXHJcbiAgICBcIldPUkRfVFlQRV9DT05KVU5DVElPTlwiOiBcImNvbmp1bmN0aW9uXCIsXHJcbiAgICBcIldPUkRfVFlQRV9JTlRFUkpFQ1RJT05cIjogXCJpbnRlcmplY3Rpb25cIixcclxuICAgIFwiV09SRF9UWVBFX1BST05PVU5cIjogXCJwcm9ub3VuXCIsXHJcbiAgICBcIkRPQ19XT1JEX0NOVF9MSU1JVF9NU0dfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBsaW1pdFwiLFxyXG4gICAgXCJET0NfV09SRF9DTlRfTElNSVRfTVNHXCI6IFwiT25seSB0aGUgZmlyc3Qge3t3b3JkQ291bnR9fSB3b3JkcyB3aWxsIGJlIHRyYW5zbGF0ZWQuXCIsXHJcbiAgICBcIkRPQ19XT1JEX0NOVF9MSU1JVF9NU0dfU1VCU0NSSVBUSU9OXCI6IFwiIFlvdSBuZWVkIGEgVGlsZGUgTVQgc3Vic2NyaXB0aW9uIHRvIHRyYW5zbGF0ZSBmdWxsIGZpbGVzLiA8YSBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319P3t7cXVlcnlTdHJpbmd9fVxcXCI+c3RhcnQgd2l0aCBhIGZyZWUgdHJpYWw8L2E+XCIsXHJcbiAgICBcIkVSUk9SX05PX1NZU1RFTVNfTE9BREVEX1RJVExFXCI6IFwiTm8gdHJhbnNsYXRpb24gZW5naW5lcyB3ZXJlIGxvYWRlZFwiLFxyXG4gICAgXCJFUlJPUl9OT19TWVNURU1TX0xPQURFRFwiOiBcIkZhaWxlZCB0byBsb2FkIHRoZSBtYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZXMuXCIsXHJcbiAgICBcIkVSUk9SX05PX1NZU1RFTVNfTE9BREVEX1NVUFBPUlRcIjogXCIgUGxlYXNlIHJlbG9hZCB0aGUgcGFnZSBvciBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+IHN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJQREZfUEFHRV9MSU1JVF9NU0dfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBsaW1pdFwiLFxyXG4gICAgXCJQREZfUEFHRV9MSU1JVF9NU0dcIjogXCJPbmx5IHRoZSBmaXJzdCBwYWdlIHdpbGwgYmUgdHJhbnNsYXRlZC5cIixcclxuICAgIFwiUERGX1BBR0VfTElNSVRfTVNHX1NVQlNDUklQVElPTlwiOiBcIiBZb3UgbmVlZCBhIFRpbGRlIE1UIHN1YnNjcmlwdGlvbiB0byB0cmFuc2xhdGUgZnVsbCBQREYgZmlsZXMuIDxhIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX0/e3txdWVyeVN0cmluZ319XFxcIj5zdGFydCB3aXRoIGEgZnJlZSB0cmlhbDwvYT5cIixcclxuICAgIFwiQ0xFQVJfU09VUkNFX1RPT0xUSVBcIjogXCJDbGVhciB0ZXh0XCJcclxuICB9LFxyXG4gIFwiTVVMVElQTEVfRklMRVNcIjoge1xyXG4gICAgXCJBUFBFTkRcIjogXCJBZGQgZmlsZXNcIixcclxuICAgIFwiQ0xFQVJfQUxMXCI6IFwiQ2FuY2VsXCIsXHJcbiAgICBcIkRPV05MT0FEXCI6IFwiRG93bmxvYWRcIixcclxuICAgIFwiU1RBVFVTU19JTklUSUFMSVpJTkdcIjogXCJJbml0aWFsaXppbmdcIixcclxuICAgIFwiU1RBVFVTU19FWFRSQUNUSU5HXCI6IFwiRXh0cmFjdGluZ1wiLFxyXG4gICAgXCJTVEFUVVNTX1dBSVRJTkdcIjogXCJTdGFydGluZyB0cmFuc2xhdG9yXCIsXHJcbiAgICBcIlNUQVRVU1NfVFJBTlNMQVRJTkdcIjogXCJUcmFuc2xhdGluZyB7e3BlcmNlbnR9fSVcIixcclxuICAgIFwiU1RBVFVTU19TQVZJTkdcIjogXCJTYXZpbmdcIixcclxuICAgIFwiU1RBVFVTU19DT01QTEVURURcIjogXCJDb21wbGV0ZWRcIixcclxuICAgIFwiU1RBVFVTU19FUlJPUlwiOiBcIkVycm9yXCIsXHJcbiAgICBcIlNUQVRVU1NfUVVFVUlOR1wiOiBcIlF1ZXVpbmdcIixcclxuICAgIFwiU1RBVFVTU19OT1RfU1RBUlRFRFwiOiBcIlVwbG9hZGVkXCIsXHJcbiAgICBcIlNUQVRVU1NfVVBMT0FESU5HXCI6IFwiVXBsb2FkaW5nLi4uXCIsXHJcbiAgICBcIlNUQVRVU1NfVVBMT0FERURcIjogXCJVcGxvYWRlZFwiLFxyXG4gICAgXCJUSVRMRV9GSUxFX05BTUVcIjogXCJGaWxlXCIsXHJcbiAgICBcIlRJVExFX1NUQVRVU1NcIjogXCJTdGF0dXNcIixcclxuICAgIFwiVFJBTlNMQVRJT05fU1RBVFVTU19MQUJFTFwiOiBcIlN0YXR1c1wiLFxyXG4gICAgXCJQREZfRElTQ0xBSU1FUlwiOiBcIlBERiBkb2N1bWVudHMgbWF5IGhhdmUgZm9ybWF0dGluZyBvciB0cmFuc2xhdGlvbiBlcnJvcnMuXCIsXHJcbiAgICBcIlBERl9ESVNDTEFJTUVSX0xJTktcIjogXCJSZWFkIGFib3V0IHBkZiBjb252ZXJzaW9uLlwiLFxyXG4gICAgXCJJTUFHRV9ESVNDTEFJTUVSXCI6IFwiSW1hZ2UgY29udmVyc2lvbiBtYXkgY2F1c2UgZm9ybWF0dGluZyBlcnJvcnMgb3IgdGV4dCBkaXN0b3J0aW9uLlwiLFxyXG4gICAgXCJJTUFHRV9ESVNDTEFJTUVSX0xJTktcIjogXCJSZWFkIGFib3V0IGltYWdlIGNvbnZlcnNpb24uXCIsXHJcbiAgICBcIlNDUkVFTl9SRUFERVJfQU5OT1VOQ0VNRU5UXCI6IFwie3t0cmFuc2xhdGVkfX0gb3V0IG9mIHt7dG90YWx9fSBmaWxlcyBhcmUgdHJhbnNsYXRlZC5cIixcclxuICAgIFwiUkVNT1ZFX0ZJTEVfVE9PTFRJUFwiOiBcIkNsZWFyIGZpbGVcIlxyXG4gIH0sXHJcbiAgXCJFUlJPUlNcIjoge1xyXG4gICAgXCJFUlJPUl9ERUZBVUxUX1RJVExFXCI6IFwiVW5leHBlY3RlZCBlcnJvclwiLFxyXG4gICAgXCJFUlJPUl9ERUZBVUxUXCI6IFwiQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZC4gUGxlYXNlIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiRVJST1JfREVGQVVMVF9TVVBQT1JUXCI6IFwiIElmIHRoZSBwcm9ibGVtIGNvbnRpbnVlcywgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJNQVhfQ0hBUl9MRU5HVEhfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBsaW1pdFwiLFxyXG4gICAgXCJNQVhfQ0hBUl9MRU5HVEhcIjogXCJPbmx5IHt7bWF4Q2hhckxlbmd0aH19L3t7dG90YWxTeW1ib2xzfX0gY2hhcmFjdGVycyB3aWxsIGJlIHRyYW5zbGF0ZWQuXCIsXHJcbiAgICBcIk1BWF9DSEFSX0xFTkdUSF9TVUJTQ1JJUFRJT05cIjogXCIgWW91IG5lZWQgYSBUaWxkZSBNVCBzdWJzY3JpcHRpb24gZm9yIHVubGltaXRlZCB0ZXh0IHRyYW5zbGF0aW9uLiA8YSBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319P3t7cXVlcnlTdHJpbmd9fVxcXCI+c3RhcnQgd2l0aCBhIGZyZWUgdHJpYWw8L2E+XCIsXHJcbiAgICBcIk1BWF9OVU1CRVJfT0ZfRklMRVNfVElUTEVcIjogXCJVcGxvYWQgbGltaXRcIixcclxuICAgIFwiTUFYX05VTUJFUl9PRl9GSUxFU1wiOiBcIk9ubHkge3tsaW1pdH19IGZpbGVzIGNhbiBiZSB0cmFuc2xhdGVkIGF0IG9uY2UuXCIsXHJcbiAgICBcIklOQ1JFQVNFX01BWF9OVU1CRVJfT0ZfRklMRVNfVElUTEVcIjogXCJVcGxvYWQgbGltaXRcIixcclxuICAgIFwiSU5DUkVBU0VfTUFYX05VTUJFUl9PRl9GSUxFU1wiOiBcIk9ubHkgMSBmaWxlIGNhbiBiZSB0cmFuc2xhdGVkIGF0IG9uY2UuIFlvdSBuZWVkIGEgVGlsZGUgTVQgc3Vic2NyaXB0aW9uIHRvIGluY3JlYXNlIGxpbWl0LiA8YSBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319P3t7cXVlcnlTdHJpbmd9fVxcXCI+c3RhcnQgd2l0aCBhIGZyZWUgdHJpYWw8L2E+XCIsXHJcbiAgICBcIkZJTEVfQUxSRUFEWV9BRERFRF9USVRMRVwiOiBcIkZpbGUgaGFzIGFscmVhZHkgYmVlbiBhZGRlZFwiLFxyXG4gICAgXCJGSUxFX0FMUkVBRFlfQURERURcIjogXCJGaWxlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGhhcyBhbHJlYWR5IGJlZW4gYWRkZWQuXCIsXHJcbiAgICBcIlVBTlVUSE9SSVpFRF80MDFfVElUTEVcIjogXCJVbmF1dGhvcml6ZWRcIixcclxuICAgIFwiVUFOVVRIT1JJWkVEXzQwMVwiOiBcIllvdSBkb24ndCBoYXZlIHBlcm1pc3Npb24gdG8gdXNlIG1hY2hpbmUgdHJhbnNsYXRpb24uXCIsXHJcbiAgICBcIlVBTlVUSE9SSVpFRF80MDFfU1VQUE9SVFwiOiBcIiBQbGVhc2UgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPiBzdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRV9VTktOT1dOX0ZJTEVfVFlQRVwiOiBcIlVua25vd24gZmlsZSB0eXBlLlwiLFxyXG4gICAgXCJFX0NBTk5PVF9SRUFEX0ZJTEVfVElUTEVcIjogXCJVbmFibGUgdG8gcmVhZCBmaWxlXCIsXHJcbiAgICBcIkVfQ0FOTk9UX1JFQURfRklMRVwiOiBcIlRoZSBmaWxlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGlzIGNvcnJ1cHRlZCBhbmQgY291bGRuJ3QgYmUgdHJhbnNsYXRlZC4gQ2hlY2sgdGhlIGZpbGUgYW5kIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiRV9GQUlMRURfSU5fVFJBTlNMQVRJT05fVElUTEVcIjogXCJUcmFuc2xhdGlvbiBmYWlsZWRcIixcclxuICAgIFwiRV9GQUlMRURfSU5fVFJBTlNMQVRJT05cIjogXCJFcnJvciBvY2N1cnJlZCB3aGlsZSB0cmFuc2xhdGluZy4gUGxlYXNlIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiRV9GQUlMRURfSU5fVFJBTlNMQVRJT05fU1VQUE9SVFwiOiBcIiBJZiB0aGUgcHJvYmxlbSBjb250aW51ZXMsIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz4gc3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfRk9STUFUX1RSQUNLX0NIQU5HRVNfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBmYWlsZWQsIGJlY2F1c2Ug4oCYdHJhY2sgY2hhbmdlc+KAmSBpcyB0dXJuZWQgb25cIixcclxuICAgIFwiRV9GT1JNQVRfVFJBQ0tfQ0hBTkdFU1wiOiBcIkNoYW5nZXMgbXVzdCBmaXJzdCBiZSBhY2NlcHRlZCBvciDigJh0cmFjayBjaGFuZ2Vz4oCZIHR1cm5lZCBvZmYgYmVmb3JlIHRyYW5zbGF0aW5nIE9mZmljZSBmaWxlcy5cIixcclxuICAgIFwiRV9VTktOT1dOX0VSUk9SX1RJVExFXCI6IFwiVW5rbm93biBlcnJvclwiLFxyXG4gICAgXCJFX1VOS05PV05fRVJST1JcIjogXCJBbiB1bmtub3duIGVycm9yIG9jY3VycmVkLlwiLFxyXG4gICAgXCJFX1VOQVVUSE9SSVpFRF9USVRMRVwiOiBcIlVuYXV0aG9yaXplZFwiLFxyXG4gICAgXCJFX1VOQVVUSE9SSVpFRFwiOiBcIkRvY3VtZW50IHRyYW5zbGF0aW9uIHdhcyBkZW5pZWQuXCIsXHJcbiAgICBcIkNPTExFQ1RJT05fQ1JFQVRFX1RJVExFXCI6IFwiRmFpbGVkIHRvIGNyZWF0ZSBhIGdsb3NzYXJ5XCIsXHJcbiAgICBcIkNPTExFQ1RJT05fQ1JFQVRFXCI6IFwiRmFpbGVkIHRvIGNyZWF0ZSBhIG5ldyBnbG9zc2FyeS4gUGxlYXNlIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiQ09MTEVDVElPTl9DUkVBVEVfU1VQUE9SVFwiOiBcIiBJZiB0aGUgcHJvYmxlbSBjb250aW51ZXMsIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiQ09MTEVDVElPTl9JTVBPUlRfVElUTEVcIjogXCJGYWlsZWQgdG8gYXR0YWNoIHRoZSBnbG9zc2FyeVwiLFxyXG4gICAgXCJDT0xMRUNUSU9OX0lNUE9SVFwiOiBcIkZhaWxlZCB0byBhdHRhY2ggdGhlIHRlcm0gY29sbGVjdGlvbiB3aXRoIElEOiB7e3Rlcm1JZH19IHRvIHRoZSBtYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZS4gUGxlYXNlIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiRV8xMVwiOiBcIkRhaWx5IHRyYW5zbGF0aW9uIGxpbWl0IGhhcyBiZWVuIHJlYWNoZWQuXCIsXHJcbiAgICBcIkVfMTFfU1VQUE9SVFwiOiBcIiBUbyBpbmNyZWFzZSB0aGUgZGFpbHkgbGltaXQsIHBsZWFzZSBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfMTJfVElUTEVcIjogXCJUZXh0IHNpemUgbGltaXRcIixcclxuICAgIFwiRV8xMlwiOiBcIlRleHQgc2l6ZSBsaW1pdCByZWFjaGVkLiBTZW5kIGxlc3MgdGV4dCBpbiB0aGUgcmVxdWVzdC5cIixcclxuICAgIFwiRV8xMl9TVVBQT1JUXCI6IFwiIFRvIGluY3JlYXNlIHRoZSB0ZXh0IHNpemUgbGltaXQsIHBsZWFzZSBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfMjFcIjogXCJUaGUgdHJhbnNsYXRpb24gZW5naW5lIGlzIHN0YXJ0aW5nIHVwLCB0aGlzIG1heSB0YWtlIGEgbW9tZW50IVwiLFxyXG4gICAgXCJFXzIyX1RJVExFXCI6IFwiTWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmUgbm90IGZvdW5kXCIsXHJcbiAgICBcIkVfMjJcIjogXCJNYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZSBub3QgZm91bmQuXCIsXHJcbiAgICBcIkVfMjJfU1VQUE9SVFwiOiBcIiBQbGVhc2UgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJFXzIzXCI6IFwiTWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmUgaXMgbm90IHN0YXJ0ZWQuXCIsXHJcbiAgICBcIkVfMjNfU1VQUE9SVFwiOiBcIiBDb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfNDFcIjogXCJVbmtub3duIHRlcm0gY29ycHVzIElEIHByb3ZpZGVkLiBUZXJtIGNvcnB1cyBtdXN0IGJlIGxpbmtlZCB0byB0aGUgbWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmVcIixcclxuICAgIFwiRV81MDRcIjogXCJUcmFuc2xhdGlvbiBoYXMgdGltZWQgb3V0LiBUcnkgYWdhaW4gbGF0ZXIuXCIsXHJcbiAgICBcIkVfNTA0X1RJVExFXCI6IFwiVHJhbnNsYXRpb24gdGltZW91dFwiLFxyXG4gICAgXCJFXzQwNDIwMVwiOiBcIkVuZ2luZSB0ZXJtIGNvbGxlY3Rpb24gbm90IGZvdW5kXCIsXHJcbiAgICBcIlRSQU5TTEFUSU9OX0ZBSUxFRF9USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGZhaWxlZFwiLFxyXG4gICAgXCJUUkFOU0xBVElPTl9GQUlMRURcIjogXCJBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkLlwiLFxyXG4gICAgXCJUUkFOU0xBVElPTl9GQUlMRURfU1VQUE9SVFwiOiBcIiBJZiB0aGUgcHJvYmxlbSBjb250aW51ZXMsIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRklMRV9UUkFOU0xBVElPTl9TVUJTVEFUVVNcIjoge1xyXG4gICAgICBcIkJBRF9GSUxFX0VSUk9SX1RJVExFXCI6IFwiRmFpbGVkIHRvIHRyYW5zbGF0ZSB0aGUgZmlsZVwiLFxyXG4gICAgICBcIkJBRF9GSUxFX0VSUk9SXCI6IFwiVGhlIGZpbGUgaXMgY29ycnVwdGVkIGFuZCBjb3VsZG4ndCBiZSB0cmFuc2xhdGVkLiBDaGVjayB0aGUgZmlsZSBhbmQgdHJ5IGFnYWluLlwiLFxyXG4gICAgICBcIk5PX1RFWFRfRVhUUkFDVEVEX0VSUk9SX1RJVExFXCI6IFwiRmFpbGVkIHRvIGV4dHJhY3QgYW55IHRleHRcIixcclxuICAgICAgXCJOT19URVhUX0VYVFJBQ1RFRF9FUlJPUlwiOiBcIlRoZSBmaWxlIG1heSBiZSBlbXB0eS4gQ2hlY2sgdGhlIGZpbGUgYW5kIHRyeSBhZ2Fpbi5cIixcclxuICAgICAgXCJUUkFDS19DSEFOR0VTX0VOQUJMRURfRVJST1JfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBmYWlsZWQsIGJlY2F1c2Ug4oCYdHJhY2sgY2hhbmdlc+KAmSBpcyB0dXJuZWQgb25cIixcclxuICAgICAgXCJUUkFDS19DSEFOR0VTX0VOQUJMRURfRVJST1JcIjogXCJDaGFuZ2VzIG11c3QgZmlyc3QgYmUgYWNjZXB0ZWQgb3Ig4oCYdHJhY2sgY2hhbmdlc+KAmSB0dXJuZWQgb2ZmIGJlZm9yZSB0cmFuc2xhdGluZyBPZmZpY2UgZmlsZXMuXCIsXHJcbiAgICAgIFwiVU5LTk9XTl9GSUxFX1RZUEVfRVJST1JfVElUTEVcIjogXCJVbmtub3duIGZpbGUgdHlwZVwiLFxyXG4gICAgICBcIlVOS05PV05fRklMRV9UWVBFX0VSUk9SXCI6IFwiRmlsZSB0eXBlIG5vdCByZWNvZ25pemVkLiBUaGUgZmlsZSBleHRlbnNpb24gbWF5IGJlIGluY29ycmVjdCwgb3IgdGhlIGZpbGUgbWF5IGJlIGNvcnJ1cHRlZC5cIlxyXG4gICAgfSxcclxuICAgIFwiRklMRV9VUExPQURcIjoge1xyXG4gICAgICBcIkZJTEVfVVBMT0FEX0VNUFRZX1RJVExFXCI6IFwiVGhlIGZpbGUgaXMgZW1wdHlcIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9FTVBUWVwiOiBcIlRoZSB1cGxvYWRlZCBmaWxlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGlzIGVtcHR5LiBTZWxlY3QgYSBmaWxlIHdpdGggY29udGVudC5cIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9NQVhfU0laRV9USVRMRVwiOiBcIkZpbGUgc2l6ZSBsaW1pdFwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX01BWF9TSVpFXCI6IFwiVGhlIHVwbG9hZGVkIGZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgaXMgdG9vIGJpZy4gTWF4aW11bSBzaXplIHt7bWF4U2l6ZU1CfX1NQlwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX1VOU1VQUE9SVEVEX0ZPUk1BVF9USVRMRVwiOiBcIlVuc3VwcG9ydGVkIGZpbGUgZm9ybWF0XCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfVU5TVVBQT1JURURfRk9STUFUXCI6IFwiVGhlIHVwbG9hZGVkIGZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgZm9ybWF0IGlzIG5vdCBzdXBwb3J0ZWQuIFRyYW5zbGF0aW9uIGlzIHN1cHBvcnRlZCBmb3IgdGhlc2UgZG9jdW1lbnQgZm9ybWF0czoge3tmb3JtYXRzfX0uXCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfVU5TVVBQT1JURURfRk9STUFUX1JFR0lTVEVSX1RJVExFXCI6IFwiVW5zdXBwb3J0ZWQgZmlsZSBmb3JtYXRcIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9VTlNVUFBPUlRFRF9GT1JNQVRfUkVHSVNURVJcIjogXCJZb3UgbmVlZCBUaWxkZSBNVCBzdWJzY3JpcHRpb24gdG8gdHJhbnNsYXRlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGZpbGUuIDxhIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX0/e3txdWVyeVN0cmluZ319XFxcIj5zdGFydCB3aXRoIGEgZnJlZSB0cmlhbDwvYT5cIixcclxuICAgICAgXCJFXzQwNF9USVRMRVwiOiBcIkZpbGUgbm90IGZvdW5kXCIsXHJcbiAgICAgIFwiRV80MDRcIjogXCJUaGUgcmVxdWVzdGVkIGZpbGUgZG9lc24ndCBleGlzdFwiLFxyXG4gICAgICBcIkVfNDA0X1JFTU9WRV9USVRMRVwiOiBcIkZhaWxlZCB0byBkZWxldGUgdGhlIGZpbGVcIixcclxuICAgICAgXCJFXzQwNF9SRU1PVkVcIjogXCJGaWxlIGhhcyBhbHJlYWR5IGJlZW4gZGVsZXRlZFwiXHJcbiAgICB9LFxyXG4gICAgXCJBVURJT1wiOiB7XHJcbiAgICAgIFwiTk9fU1BFRUNIX1RJVExFXCI6IFwiTm8gc3BlZWNoXCIsXHJcbiAgICAgIFwiTk9fU1BFRUNIXCI6IFwiWW91ciByZWNvcmRpbmcgd2FzIHN0b3BwZWQuIFdlIGNvdWxkbid0IGhlYXIgeW91LlwiLFxyXG4gICAgICBcIk1BWF9USU1FX0VYQ0VFREVEX1RJVExFXCI6IFwiU3BlZWNoIGxpbWl0XCIsXHJcbiAgICAgIFwiTUFYX1RJTUVfRVhDRUVERURcIjogXCJZb3VyIHJlY29yZGluZyB3YXMgc3RvcHBlZC4gU3BlZWNoIGlucHV0IGlzIGxpbWl0ZWQgdG8ge3t0aW1lU3RyaW5nfX0uXCIsXHJcbiAgICAgIFwiTUlDX05PVF9BTExPV0VEX1RJVExFXCI6IFwiTWljcm9waG9uZSBhY2Nlc3MgZGVuaWVkXCIsXHJcbiAgICAgIFwiTUlDX05PVF9BTExPV0VEXCI6IFwiWW91IGhhdmUgZGVuaWVkIGFjY2VzcyB0byB0aGUgbWljcm9waG9uZS4gQ2hhbmdlIHBlcm1pc3Npb25zIGluIGJyb3dzZXIncyBzZXR0aW5ncy5cIixcclxuICAgICAgXCJNQVhfU0laRV9FWENFRURFRF9USVRMRVwiOiBcIlNwZWVjaCBsaW1pdFwiLFxyXG4gICAgICBcIk1BWF9TSVpFX0VYQ0VFREVEXCI6IFwiWW91ciByZWNvcmRpbmcgd2FzIHN0b3BwZWQgYW5kIHNlbnQgdG8gcHJvY2Vzc2luZy4gU3BlZWNoIGlucHV0IGlzIGxpbWl0ZWQgdG8gKHt7bWF4U2l6ZU1ifX1NQikgc2l6ZS5cIixcclxuICAgICAgXCJDQU5UX1NUQVJUX1JFQ09SRElOR19USVRMRVwiOiBcIkZhaWxlZCB0byBzdGFydCByZWNvcmRpbmdcIixcclxuICAgICAgXCJDQU5UX1NUQVJUX1JFQ09SRElOR1wiOiBcIlVuYWJsZSB0byBzdGFydCByZWNvcmRpbmcuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXHJcbiAgICAgIFwiTk9fVEVYVF9SRUNPR05JWkVEX1RpdGxlXCI6IFwiTm8gc3BlZWNoIHJlY29nbml6ZWRcIixcclxuICAgICAgXCJOT19URVhUX1JFQ09HTklaRURcIjogXCJObyBzcGVlY2ggY291bGQgYmUgcmVjb2duaXplZC4gQ2hlY2sgeW91ciBtaWNyb3Bob25lIGFuZCB0cnkgYWdhaW4uXCJcclxuICAgIH1cclxuICB9LFxyXG4gIFwiUkFUSU5HXCI6IHt9LFxyXG4gIFwiTEFOR1VBR0VTXCI6IHtcclxuICAgIFwiQVVUT1wiOiBcIkRldGVjdCBsYW5ndWFnZVwiLFxyXG4gICAgXCJBUlwiOiBcIkFyYWJpY1wiLFxyXG4gICAgXCJMVlwiOiBcIkxhdHZpYW5cIixcclxuICAgIFwiRVRcIjogXCJFc3RvbmlhblwiLFxyXG4gICAgXCJEQVwiOiBcIkRhbmlzaFwiLFxyXG4gICAgXCJGSVwiOiBcIkZpbm5pc2hcIixcclxuICAgIFwiSVNcIjogXCJJY2VsYW5kaWNcIixcclxuICAgIFwiTFRcIjogXCJMaXRodWFuaWFuXCIsXHJcbiAgICBcIlNWXCI6IFwiU3dlZGlzaFwiLFxyXG4gICAgXCJCRVwiOiBcIkJlbG9ydXNzaWFuXCIsXHJcbiAgICBcIkJHXCI6IFwiQnVsZ2FyaWFuXCIsXHJcbiAgICBcIkNTXCI6IFwiQ3plY2hcIixcclxuICAgIFwiSFVcIjogXCJIdW5nYXJpYW5cIixcclxuICAgIFwiUlVcIjogXCJSdXNzaWFuXCIsXHJcbiAgICBcIk1PXCI6IFwiTW9sZGF2aWFuXCIsXHJcbiAgICBcIlBMXCI6IFwiUG9saXNoXCIsXHJcbiAgICBcIlNLXCI6IFwiU2xvdmFrXCIsXHJcbiAgICBcIlVLXCI6IFwiVWtyYWluaWFuXCIsXHJcbiAgICBcIk5MXCI6IFwiRHV0Y2hcIixcclxuICAgIFwiRU5cIjogXCJFbmdsaXNoXCIsXHJcbiAgICBcIkZSXCI6IFwiRnJlbmNoXCIsXHJcbiAgICBcIkRFXCI6IFwiR2VybWFuXCIsXHJcbiAgICBcIkdBXCI6IFwiSXJpc2hcIixcclxuICAgIFwiRUxcIjogXCJHcmVla1wiLFxyXG4gICAgXCJJVFwiOiBcIkl0YWxpYW5cIixcclxuICAgIFwiTVRcIjogXCJNYWx0ZXNlXCIsXHJcbiAgICBcIlBUXCI6IFwiUG9ydHVndWVzZVwiLFxyXG4gICAgXCJTUlwiOiBcIlNlcmJpYW5cIixcclxuICAgIFwiU0xcIjogXCJTbG92ZW5pYW5cIixcclxuICAgIFwiRVNcIjogXCJTcGFuaXNoXCIsXHJcbiAgICBcIlpIXCI6IFwiQ2hpbmVzZVwiLFxyXG4gICAgXCJKQVwiOiBcIkphcGFuZXNlXCIsXHJcbiAgICBcIktPXCI6IFwiS29yZWFuXCIsXHJcbiAgICBcIlRSXCI6IFwiVHVya2lzaFwiLFxyXG4gICAgXCJIUlwiOiBcIkNyb2F0aWFuXCIsXHJcbiAgICBcIlJPXCI6IFwiUm9tYW5pYW5cIixcclxuICAgIFwiVVpcIjogXCJVemJla1wiLFxyXG4gICAgXCJJRFwiOiBcIkluZG9uZXNpYW5cIlxyXG4gIH0sXHJcbiAgXCJBUklBX0xBQkVMU1wiOiB7XHJcbiAgICBcIkNMT1NFX0JVVFRPTlwiOiBcIkNsZWFyXCIsXHJcbiAgICBcIkNMRUFSX05PVElGSUNBVElPTlwiOiBcIkNsb3NlIGFsZXJ0XCIsXHJcbiAgICBcIkNMRUFSX1NPVVJDRVwiOiBcIkNsZWFyIGVudGVyZWQgdGV4dFwiLFxyXG4gICAgXCJDTE9TRV9ESUFMT0dcIjogXCJDbG9zZSBkaWFsb2dcIixcclxuICAgIFwiQ0xFQVJfRklMRVNcIjogXCJDbGVhciB1cGxvYWRlZCBmaWxlc1wiLFxyXG4gICAgXCJTSE9XX0VYVEVOU0lPTlNcIjogXCJTaG93IG90aGVyIGRvd25sb2FkIG9wdGlvbnNcIixcclxuICAgIFwiQ09QWVwiOiBcIkNvcHkgdG8gY2xpcGJvYXJkXCIsXHJcbiAgICBcIlJFRlJFU0hcIjogXCJSZWZyZXNoIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIk9QRU5fSU5fTkVXXCI6IFwiT3BlbiBpbiBuZXcgdGFiXCIsXHJcbiAgICBcIlNXQVBfTEFOR1VBR0VTXCI6IFwiU3dhcCBsYW5ndWFnZXNcIixcclxuICAgIFwiT1RIRVJfTEFOR1VBR0VTX1RSSUdHRVJcIjogXCJTaG93IG90aGVyIGxhbmd1YWdlc1wiXHJcbiAgfSxcclxuICBcIlRPT0xUSVBTXCI6IHtcclxuICAgIFwiQ09QWVwiOiBcIkNvcHkgdG8gY2xpcGJvYXJkXCIsXHJcbiAgICBcIlJFRlJFU0hcIjogXCJSZWZyZXNoIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIlNXQVBfTEFOR1VBR0VTXCI6IFwiU3dhcCBsYW5ndWFnZXNcIlxyXG4gIH0sXHJcbiAgXCJQREZfQ09OVkVSU0lPTlwiOiB7XHJcbiAgICBcIlRJVExFXzFcIjogXCJQREYgdHJhbnNsYXRpb25cIixcclxuICAgIFwiUEFSQUdSQVBIXzFfMVwiOiBcIldoZW4gYSAucGRmIGZpbGUgaXMgdXBsb2FkZWQgZm9yIHRyYW5zbGF0aW9uIGl0IGlzIGNvbnZlcnRlZCBpbnRvIGEgdHJhbnNsYXRhYmxlIGZvcm1hdC4gQm90aCBzY2FubmVkIGFuZCBuYXRpdmUgLnBkZnMgYXJlIHN1cHBvcnRlZC4gVHJhbnNsYXRpb25zIGNhbiBiZSBkb3dubG9hZGVkIGluIC5kb2N4LCAudG14IG9yIC5wZGYgZm9ybWF0cyBhbmQgd2lsbCByZXRhaW4gdGhlIGJhc2ljIGZvcm1hdHRpbmcuIEZvcm1hdHRpbmcgaW4gdGhlIHRyYW5zbGF0ZWQgLmRvY3ggYW5kIC5wZGYgZmlsZXMgbWF5IHNsaWdodGx5IGRpZmZlci4gXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8xXzJcIjogXCJBcyBjb252ZXJzaW9uIHRha2VzIHRpbWUsIHRvIHNwZWVkIHRoaW5ncyB1cCBzcGxpdCB5b3VyIC5wZGZzIGFuZCBkZWxldGUgdGhlIHBhZ2VzIHdpdGggbm8gdHJhbnNsYXRhYmxlIGluZm9ybWF0aW9uLiBGYWN0b3JzIGxpa2UgdGhlIG51bWJlciBvZiBwYWdlcywgcXVhbGl0eSBhbmQgdGV4dCBkZW5zaXR5IGFmZmVjdCB0aGUgcHJvY2Vzc2luZyB0aW1lLlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMV8zXCI6IFwiVG8gaW1wcm92ZSB0cmFuc2xhdGlvbiBwZXJmb3JtYW5jZSwgd2UgcmVjb21tZW5kIHRvIGRvd25sb2FkIHRoZSBjb252ZXJ0ZWQgZG9jdW1lbnQgaW4gdGhlIG9yaWdpbmFsIGxhbmd1YWdlIGFuZCBmaXggaXQgbWFudWFsbHkgYmVmb3JlIHJlLXVwbG9hZGluZyBmb3IgdHJhbnNsYXRpb24uXCIsXHJcbiAgICBcIklNQUdFX0FMVF8xXCI6IFwiU291cmNlIFBERiBkb3dubG9hZCBleGFtcGxlXCIsXHJcblxyXG4gICAgXCJUSVRMRV8yXCI6IFwiUERGIGNvbnZlcnNpb25cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfMVwiOiBcIlRoZSBkb2N1bWVudCBpcyBhbmFseXNlZCBhbmQgaXRzIGNvbnRlbnQgaXMgc3BsaXQgaW4gdGV4dCwgdGFibGUgYW5kIGltYWdlL2JhY2tncm91bmQgaW1hZ2UgYXJlYXMuIFRoZXkgYXJlIGFuYWx5c2VkIGZ1cnRoZXIgdG8gZGV0ZXJtaW5lIHdoaWNoIGNvbnRlbnQgc2hvdWxkIGJlIHJlY29nbml6ZWQgYXMgdGV4dC5cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfMlwiOiBcIlRleHR1YWwgZGF0YSBhcmUgYWNxdWlyZWQgYnkgbWVhbnMgb2YgT0NSIG9yIG9wdGljYWwgY2hhcmFjdGVyIHJlY29nbml0aW9uLiBFdmVyeSBjaGFyYWN0ZXIgaXMgcmVjb2duaXplZCBkZXBlbmRpbmcgb24gaXRzIHZpc3VhbCBjaGFyYWN0ZXJpc3RpY3MsIHRoZW4gYXNzZW1ibGVkIGludG8gd29yZHMgYW5kIHNlbnRlbmNlcy5cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfM1wiOiBcIlJlY29nbml0aW9uIGlzIGFmZmVjdGVkIGJ5IG1hbnkgZmFjdG9ycywgaW5jbHVkaW5nOlwiLFxyXG4gICAgXCJMSV8xXzFcIjogXCJRdWFsaXR5IG9mIHRoZSBzY2FubmVkIGRvY3VtZW50IChibHVycmVkIG9yIGRlZm9ybWVkIHRleHQsIGltYWdlIG5vaXNlLCBpbWFnZSByZXNvbHV0aW9uLCBjb250cmFzdCBldGMuKS4gRm9yIHRoZSBiZXN0IHJlc3VsdCwgLnBkZnMgc2hvdWxkIGJlIGF0IGxlYXN0IDMwMCBkcGksIHVuc2tld2VkIGFuZCBub2lzZSBmcmVlLlwiLFxyXG4gICAgXCJMSV8xXzJcIjogXCJGb250IHNpemUuIFNpemVzIHNtYWxsZXIgdGhhbiA5IHBvaW50cyBtaWdodCBiZSBwb29ybHkgcmVjb2duaXplZC4gXCIsXHJcbiAgICBcIkxJXzFfM1wiOiBcIlJhcmUgYW5kIG9yaWdpbmFsIGZvbnRzLiBMZXNzIGNvbW1vbiBmb250cyBtYXkgYmUgdW5yZWNvZ25pemFibGUgb3IgcGVyZm9ybSB3b3JzZS5cIixcclxuICAgIFwiTElfMV80XCI6IFwiQ29tcGxleGl0eSBvZiB0aGUgZG9jdW1lbnQgc3RydWN0dXJlIGFuZCBmb3JtYXR0aW5nLlwiLFxyXG5cclxuICAgIFwiVElUTEVfM1wiOiBcIkltcHJvdmluZyB0cmFuc2xhdGlvbiBwZXJmb3JtYW5jZVwiLFxyXG4gICAgXCJQQVJBR1JBUEhfM18xXCI6IFwiVGhlIGNvbnZlcnNpb24gcHJvY2VzcyBpcyB2ZXJ5IGNvbXBsZXggYW5kIG1heSBiZSBhZmZlY3RlZCBieSB2YXJpb3VzIGVycm9ycyByZXN1bHRpbmcgZnJvbSB0aGUgaW5wdXQgZG9jdW1lbnQuIFwiLFxyXG4gICAgXCJQQVJBR1JBUEhfM18yXCI6IFwiSXNzdWVzIHRvIGxvb2sgZm9yOlwiLFxyXG4gICAgXCJMSV8yXzFcIjogXCJJbmNvcnJlY3RseSByZWNvZ25pemVkIHdvcmRzLlwiLFxyXG4gICAgXCJMSV8yXzJcIjogXCJJbmNvcnJlY3Qgd29yZCBib3VuZGFyaWVzLlwiLFxyXG4gICAgXCJMSV8yXzNcIjogXCJTZW50ZW5jZXMgc3Bhbm5pbmcgbXVsdGlwbGUgY29sdW1ucywgbGluZXMgb3IgcGFnZXMgc3BsaXQgaW50byBkaWZmZXJlbnQgdGV4dHVhbCBvYmplY3RzLlwiLFxyXG4gICAgXCJMSV8yXzRcIjogXCJNaXNwbGFjZWQgcGFnZSBmb290ZXJzIGFuZCBoZWFkZXJzLlwiLFxyXG4gICAgXCJMSV8yXzVcIjogXCJJbmNvcnJlY3QgbnVtYmVyaW5nLlwiLFxyXG4gICAgXCJMSV8yXzZcIjogXCJUYWJsZXMgcmVjb2duaXplZCBhcyBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoIHRleHR1YWwgY29udGVudCBwbGFjZWQgaW50byBkaWZmZXJlbnQgdGV4dHVhbCBvYmplY3RzLlwiLFxyXG4gICAgXCJMSV8yXzdcIjogXCJTb21lIGRpYWdyYW1zIHJlY29nbml6ZWQgYXMgaW1hZ2VzIHdpdGhvdXQgYW55IHRleHR1YWwgY29udGVudC5cIixcclxuICAgIFwiTElfMl84XCI6IFwiU2VwYXJhdG9ycywgYm9yZGVycyBvciBvdGhlciBob3Jpem9udGFsIGxpbmVzIHJlY29nbml6ZWQgYXMgc3RyaWtldGhyb3VnaCBvciB1bmRlcmxpbmVkIHRleHQuXCIsXHJcbiAgICBcIkxJXzJfOVwiOiBcIkZvcm1hdHRpbmcgb2YgdGhlIHRhYmxlIG9mIGNvbnRlbnRzIG9yIHNpbWlsYXIgbGlzdHMgY29sbGFwc2VkIG9yIHJlY29nbml6ZWQgYXMgc3RyaWtldGhyb3VnaCBvciB1bmRlcmxpbmVkIHRleHQuXCIsXHJcblxyXG4gICAgXCJQQVJBR1JBUEhfNF8xXCI6IFwiPGI+Tm90ZSB0aGF0IHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgd2lsbCBub3QgcmV0YWluIGFsbCBkZXRhaWxzIG9mIHRoZSBvcmlnaW5hbCBmb3JtYXR0aW5nLjwvYj4gU29tZSBpbWFnZXMsIHRhYmxlcyBvciBkaWFncmFtcyBtYXkgYmVjb21lIGRpc3RvcnRlZCBvciBzaW1wbGlmaWVkLiBGb250cyBpbiB0aGUgdHJhbnNsYXRlZCBkb2N1bWVudCB3aWxsIG5vdCBiZSB0aGUgc2FtZSBhcyBpbiB0aGUgb3JpZ2luYWwsIGJ1dCBtYXkgYmUgc2ltaWxhci4gSW5jb3JyZWN0IGZvbnQgc2l6ZSBtYXkgYmUgcmVjb2duaXplZC4gU3BlY2lmaWMgV29yZCBmb3JtYXR0aW5nIGxpa2UgaGVhZGluZ3MsIHRhYmxlcyBvZiBjb250ZW50LCBoZWFkZXJzIGFuZCBmb290ZXJzLCBsYWJlbHMsIGZvcm1zIGV0Yy4gd2lsbCBiZSBzdHlsZWQgdG8gbG9vayBsaWtlIHRoZSBvcmlnaW5hbCwgYnV0IHdpbGwgbm90IG1hdGNoIHRoZSBvcmlnaW5hbCBjb21wbGV0ZWx5IChlLmcuIHRpdGxlcyB3aWxsIGJlIGJvbGQgYW5kIGluIGxhcmdlciBmb250LCBidXQgd2lsbCBub3QgYmUgc2V0IHRvIHRoZSBoZWFkaW5nIHN0eWxlKS5cIixcclxuXHJcbiAgICBcIkNMT1NFXCI6IFwiQ2xvc2UgZGlhbG9nXCJcclxuICB9LFxyXG4gIFwiSU1BR0VfQ09OVkVSU0lPTlwiOiB7XHJcbiAgICBcIlRJVExFXzFcIjogXCJJbWFnZSB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMV8xXCI6IFwiV2hlbiBhbiBpbWFnZSBmaWxlIGlzIHVwbG9hZGVkIGZvciB0cmFuc2xhdGlvbiBpdCBpcyBjb252ZXJ0ZWQgaW50byBhIHRyYW5zbGF0YWJsZSBmb3JtYXQuIFRyYW5zbGF0aW9ucyBjYW4gYmUgZG93bmxvYWRlZCBpbiAuZG9jeCBvciAudG14IGZvcm1hdHMgYW5kIHdpbGwgcmV0YWluIHRoZSBiYXNpYyBmb3JtYXR0aW5nLlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMV8yXCI6IFwiPGI+U3VwcG9ydGVkIGltYWdlIGZvcm1hdHM6PC9iPiAuanBnLCAuanBlZywgLnBuZyBhbmQgLmJtcC5cIixcclxuICAgIFwiUEFSQUdSQVBIXzFfM1wiOiBcIlRvIGltcHJvdmUgdHJhbnNsYXRpb24gcGVyZm9ybWFuY2UsIHdlIHJlY29tbWVuZCB0byBkb3dubG9hZCB0aGUgY29udmVydGVkIGRvY3VtZW50IGluIHRoZSBvcmlnaW5hbCBsYW5ndWFnZSBhbmQgZml4IGl0IG1hbnVhbGx5IGJlZm9yZSByZS11cGxvYWRpbmcgZm9yIHRyYW5zbGF0aW9uLlwiLFxyXG4gICAgXCJJTUFHRV9BTFRfMVwiOiBcIlNvdXJjZSBpbWFnZSBkb3dubG9hZCBleGFtcGxlXCIsXHJcblxyXG4gICAgXCJUSVRMRV8yXCI6IFwiSW1hZ2UgY29udmVyc2lvblwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMl8xXCI6IFwiVGhlIGltYWdlIGlzIGFuYWx5c2VkIGFuZCBpdHMgY29udGVudCBpcyBzcGxpdCBpbiB0ZXh0LCB0YWJsZSBhbmQgaW1hZ2UvYmFja2dyb3VuZCBpbWFnZSBhcmVhcy4gVGhleSBhcmUgYW5hbHlzZWQgZnVydGhlciB0byBkZXRlcm1pbmUgd2hpY2ggY29udGVudCBzaG91bGQgYmUgcmVjb2duaXplZCBhcyB0ZXh0LlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMl8yXCI6IFwiVGV4dHVhbCBkYXRhIGFyZSBhY3F1aXJlZCBieSBtZWFucyBvZiBPQ1Igb3Igb3B0aWNhbCBjaGFyYWN0ZXIgcmVjb2duaXRpb24uIEV2ZXJ5IGNoYXJhY3RlciBpcyByZWNvZ25pemVkIGRlcGVuZGluZyBvbiBpdHMgdmlzdWFsIGNoYXJhY3RlcmlzdGljcywgdGhlbiBhc3NlbWJsZWQgaW50byB3b3JkcyBhbmQgc2VudGVuY2VzLlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMl8zXCI6IFwiUmVjb2duaXRpb24gaXMgYWZmZWN0ZWQgYnkgbWFueSBmYWN0b3JzLCBpbmNsdWRpbmc6XCIsXHJcbiAgICBcIkxJXzFfMVwiOiBcIlF1YWxpdHkgb2YgdGhlIHNjYW5uZWQgaW1hZ2UgKGJsdXJyZWQgb3IgZGVmb3JtZWQgdGV4dCwgaW1hZ2Ugbm9pc2UsIGltYWdlIHJlc29sdXRpb24sIGNvbnRyYXN0IGV0Yy4pLiBGb3IgdGhlIGJlc3QgcmVzdWx0LCBpbWFnZXMgc2hvdWxkIGJlIGF0IGxlYXN0IDMwMCBkcGksIHVuc2tld2VkIGFuZCBub2lzZSBmcmVlLlwiLFxyXG4gICAgXCJMSV8xXzJcIjogXCJGb250IHNpemUuIFNpemVzIHNtYWxsZXIgdGhhbiA5IHBvaW50cyBtaWdodCBiZSBwb29ybHkgcmVjb2duaXplZC4gXCIsXHJcbiAgICBcIkxJXzFfM1wiOiBcIlJhcmUgYW5kIG9yaWdpbmFsIGZvbnRzLiBMZXNzIGNvbW1vbiBmb250cyBtYXkgYmUgdW5yZWNvZ25pemFibGUgb3IgcGVyZm9ybSB3b3JzZS5cIixcclxuICAgIFwiTElfMV80XCI6IFwiQ29tcGxleGl0eSBvZiB0aGUgZG9jdW1lbnQgc3RydWN0dXJlIGFuZCBmb3JtYXR0aW5nLlwiLFxyXG5cclxuICAgIFwiVElUTEVfM1wiOiBcIkltcHJvdmluZyB0cmFuc2xhdGlvbiBwZXJmb3JtYW5jZVwiLFxyXG4gICAgXCJQQVJBR1JBUEhfM18xXCI6IFwiVGhlIGNvbnZlcnNpb24gcHJvY2VzcyBpcyB2ZXJ5IGNvbXBsZXggYW5kIG1heSBiZSBhZmZlY3RlZCBieSB2YXJpb3VzIGVycm9ycyByZXN1bHRpbmcgZnJvbSB0aGUgaW5wdXQgZG9jdW1lbnQuIFwiLFxyXG4gICAgXCJQQVJBR1JBUEhfM18yXCI6IFwiSXNzdWVzIHRvIGxvb2sgZm9yOlwiLFxyXG4gICAgXCJMSV8yXzFcIjogXCJJbmNvcnJlY3RseSByZWNvZ25pemVkIHdvcmRzLlwiLFxyXG4gICAgXCJMSV8yXzJcIjogXCJJbmNvcnJlY3Qgd29yZCBib3VuZGFyaWVzLlwiLFxyXG4gICAgXCJMSV8yXzNcIjogXCJTZW50ZW5jZXMgc3Bhbm5pbmcgbXVsdGlwbGUgY29sdW1ucywgbGluZXMgb3IgcGFnZXMgc3BsaXQgaW50byBkaWZmZXJlbnQgdGV4dHVhbCBvYmplY3RzLlwiLFxyXG4gICAgXCJMSV8yXzRcIjogXCJNaXNwbGFjZWQgcGFnZSBmb290ZXJzIGFuZCBoZWFkZXJzLlwiLFxyXG4gICAgXCJMSV8yXzVcIjogXCJJbmNvcnJlY3QgbnVtYmVyaW5nLlwiLFxyXG4gICAgXCJMSV8yXzZcIjogXCJUYWJsZXMgcmVjb2duaXplZCBhcyBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoIHRleHR1YWwgY29udGVudCBwbGFjZWQgaW50byBkaWZmZXJlbnQgdGV4dHVhbCBvYmplY3RzLlwiLFxyXG4gICAgXCJMSV8yXzdcIjogXCJTb21lIGRpYWdyYW1zIHJlY29nbml6ZWQgYXMgaW1hZ2VzIHdpdGhvdXQgYW55IHRleHR1YWwgY29udGVudC5cIixcclxuICAgIFwiTElfMl84XCI6IFwiU2VwYXJhdG9ycywgYm9yZGVycyBvciBvdGhlciBob3Jpem9udGFsIGxpbmVzIHJlY29nbml6ZWQgYXMgc3RyaWtldGhyb3VnaCBvciB1bmRlcmxpbmVkIHRleHQuXCIsXHJcblxyXG4gICAgXCJQQVJBR1JBUEhfNF8xXCI6IFwiPGI+Tm90ZSB0aGF0IHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgd2lsbCBub3QgcmV0YWluIGFsbCBkZXRhaWxzIG9mIHRoZSBvcmlnaW5hbCBmb3JtYXR0aW5nLjwvYj4gU29tZSBpbWFnZXMsIHRhYmxlcyBvciBkaWFncmFtcyBtYXkgYmVjb21lIGRpc3RvcnRlZCBvciBzaW1wbGlmaWVkLiBGb250cyBpbiB0aGUgdHJhbnNsYXRlZCBkb2N1bWVudCB3aWxsIG5vdCBiZSB0aGUgc2FtZSBhcyBpbiB0aGUgb3JpZ2luYWwsIGJ1dCBtYXkgYmUgc2ltaWxhci4gSW5jb3JyZWN0IGZvbnQgc2l6ZSBtYXkgYmUgcmVjb2duaXplZC5cIixcclxuXHJcbiAgICBcIkNMT1NFXCI6IFwiQ2xvc2UgZGlhbG9nXCJcclxuICB9LFxyXG4gIFwiV0VCVFJBTlNMQVRFXCI6IHtcclxuICAgIFwiQkFDS1wiOiBcIkJhY2sgdG8gVHJhbnNsYXRvclwiLFxyXG4gICAgXCJMT0FEX1BBR0VcIjogXCJMb2FkIHBhZ2VcIixcclxuICAgIFwiUkVTVE9SRVwiOiBcIlJlc3RvcmVcIixcclxuICAgIFwiQ0FOQ0VMXCI6IFwiQ2FuY2VsXCIsXHJcbiAgICBcIlNFQVJDSFwiOiBcIlNlYXJjaCB3ZWJzaXRlXCIsXHJcbiAgICBcIk5PX1JFQ09SRFNcIjoge1xyXG4gICAgICBcIlRJVExFXCI6IFwiU2VhcmNoIGZvciBhIHdlYnNpdGUgdG8gdHJhbnNsYXRlXCIsXHJcbiAgICAgIFwiREVTQ1JJUFRJT05cIjogXCJTZWUgPGEgaHJlZj0ne3toZWxwVXJsfX0nIHRhcmdldD0nX2JsYW5rJyBjbGFzcz0ndW5kZXJsaW5lJz5ob3cgaXQgd29ya3M8L2E+XCJcclxuICAgIH0sXHJcbiAgfSxcclxuICBcIkRBVEVfQUdPXCI6IHtcclxuICAgIFwiWUVBUlwiOiBcInt7dmFsdWV9fSB5ZWFyIGFnb1wiLFxyXG4gICAgXCJZRUFSU1wiOiBcInt7dmFsdWV9fSB5ZWFycyBhZ29cIixcclxuICAgIFwiTU9OVEhcIjogXCJ7e3ZhbHVlfX0gbW9udGggYWdvXCIsXHJcbiAgICBcIk1PTlRIU1wiOiBcInt7dmFsdWV9fSBtb250aHMgYWdvXCIsXHJcbiAgICBcIldFRUtcIjogXCJ7e3ZhbHVlfX0gd2VlayBhZ29cIixcclxuICAgIFwiV0VFS1NcIjogXCJ7e3ZhbHVlfX0gd2Vla3MgYWdvXCIsXHJcbiAgICBcIkRBWVwiOiBcInt7dmFsdWV9fSBkYXkgYWdvXCIsXHJcbiAgICBcIkRBWVNcIjogXCJ7e3ZhbHVlfX0gZGF5cyBhZ29cIixcclxuICAgIFwiSE9VUlwiOiBcInt7dmFsdWV9fSBob3VyIGFnb1wiLFxyXG4gICAgXCJIT1VSU1wiOiBcInt7dmFsdWV9fSBob3VycyBhZ29cIixcclxuICAgIFwiTUlOVVRFXCI6IFwie3t2YWx1ZX19IG1pbnV0ZSBhZ29cIixcclxuICAgIFwiTUlOVVRFU1wiOiBcInt7dmFsdWV9fSBtaW51dGVzIGFnb1wiLFxyXG4gICAgXCJTRUNPTkRcIjogXCJ7e3ZhbHVlfX0gc2Vjb25kIGFnb1wiLFxyXG4gICAgXCJTRUNPTkRTXCI6IFwie3t2YWx1ZX19IHNlY29uZHMgYWdvXCIsXHJcbiAgICBcIkpVU1RfTk9XXCI6IFwiSnVzdCBub3dcIlxyXG4gIH0sXHJcbiAgXCJURVJNX0NPTExFQ1RJT05TXCI6IHtcclxuICAgIFwiVElUTEVcIjogXCJHbG9zc2FyaWVzXCIsXHJcbiAgICBcIkRFRkFVTFRcIjogXCJEZWZhdWx0XCIsXHJcbiAgICBcIkRFU0NSSVBUSU9OXCI6IFwiQWNoaWV2ZSBwcmVjaXNlIGFuZCByZWxpYWJsZSB0cmFuc2xhdGlvbnMgYnkgY2hvb3NpbmcgdGhlIG1vc3Qgc3VpdGFibGUgZ2xvc3NhcnkgZnJvbSB0aGUgbGlzdC5cIixcclxuICAgIFwiR0xPU1NBUllcIjogXCJHbG9zc2FyeTogXCIsXHJcbiAgICBcIlNFTEVDVEVEX05PTkVcIjogXCJOb25lXCIsXHJcbiAgICBcIkVESVRcIjogXCJFZGl0XCIsXHJcbiAgICBcIkNSRUFURVwiOiBcIk5ldyBnbG9zc2FyeVwiLFxyXG4gICAgXCJERVNDUklQVElPTl9FTVBUWVwiOiBcIkNyZWF0ZSBuZXcgZ2xvc3NhcnkgZm9yIDxzcGFuPnt7c3JjTGFuZ319LXt7dHJnTGFuZ319IHRyYW5zbGF0aW9uIGVuZ2luZTwvc3Bhbj4gb3Igb3BlbiA8c3Bhbj5kZWZhdWx0IGdsb3NzYXJpZXM8L3NwYW4+IGFuZCBjcmVhdGUgZ2xvc3NhcnkgdGhlcmUgdG8gdXNlIGl0IGluIHRyYW5zbGF0aW9uIGFjcm9zcyB0aGUgcGxhdGZvcm0uXCIsXHJcbiAgICBcIkRFU0NSSVBUSU9OX0VNUFRZX0FEVklDRVwiOiBcIkZvciBiZXN0IHJlc3VsdHMgaW5jbHVkZSB0ZWNobmljYWwgdGVybXMsIGJyYW5kIG5hbWVzLCBhY3JvbnltcyBhbmQgc3VybmFtZXMuXCIsXHJcbiAgICBcIlVOQVZBSUxBQkxFX0dMT1NTQVJJRVNcIjogXCJObyBnbG9zc2FyeSBhdmFpbGFibGUhXCIsXHJcbiAgICBcIkxBU1RfVVBEQVRFRFwiOiBcIkxhc3QgdXBkYXRlZDoge3tkYXRlfX1cIixcclxuICAgIFwiREVGQVVMVF9DT0xMRUNUSU9OX05BTUVcIjogXCJNeSB0ZXJtIGNvbGxlY3Rpb25cIixcclxuICAgIFwiU1lOQ1wiOiBcIlN5bmNcIixcclxuICAgIFwiU1lOQ19FUlJPUlwiOiBcIlJldHJ5XCIsXHJcbiAgICBcIlRFUk1TX0lOX1VTRVwiOiBcIlRlcm1zIGluIHVzZToge3t0ZXJtQ291bnR9fVwiLFxyXG4gICAgXCJERUZBVUxUX0dMT1NTQVJZX01BTkFHRU1FTlRcIjogXCJNYW5hZ2UgZGVmYXVsdCBnbG9zc2FyaWVzXCIsXHJcbiAgICBcIkFSSUFfTEFCRUxTXCI6IHtcclxuICAgICAgXCJSQURJT19HUk9VUFwiOiBcIlNlbGVjdCBhIHRlcm0gY29sbGVjdGlvblwiLFxyXG4gICAgICBcIk9USEVSX0NPTExFQ1RJT05TXCI6IFwiT3BlbiB0aGUgY29sbGVjdGlvbiBtZW51XCJcclxuICAgIH0sXHJcbiAgICBcIkNSRUFURV9ESUFMT0dcIjoge1xyXG4gICAgICBcIkNBTkNFTFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgICBcIkNPTExFQ1RJT05fTkFNRV9MQUJFTFwiOiBcIkdsb3NzYXJ5IG5hbWVcIixcclxuICAgICAgXCJDUkVBVEVcIjogXCJDcmVhdGVcIixcclxuICAgICAgXCJERVNDUklQVElPTl8xXCI6IFwiQWZ0ZXIgY2xpY2tpbmcg4oCcQ3JlYXRl4oCdIHlvdSB3aWxsIGJlIHJlZGlyZWN0ZWQgdG8gVGlsZGUgVGVybSB0byBhZGQgeW91ciB0ZXJtcy5cIixcclxuICAgICAgXCJERVNDUklQVElPTl8yXCI6IFwiPGk+KkFJIGlzIG5vdCBwZXJmZWN0IGFuZCBjYW4gbWFrZSBvY2Nhc2lvbmFsIG1pc3Rha2VzLiBZb3VyIHVuaXF1ZSB0ZXJtcyB3aWxsIGJlIHVzZWQgY29ycmVjdGx5IHdpdGggOTUlIGFjY3VyYWN5LjwvaT5cIixcclxuICAgICAgXCJUSVRMRVwiOiBcIkNyZWF0ZSBuZXcgZ2xvc3NhcnlcIixcclxuICAgICAgXCJDT0xMRUNUSU9OX05BTUVfRVJST1JcIjogXCJUaXRsZSBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW5MZW5ndGh9fSBzeW1ib2xzIGxvbmcgYW5kIG5vdCBsb25nZXIgdGhhbiB7e21heExlbmd0aH19IHN5bWJvbHNcIlxyXG4gICAgfSxcclxuICAgIFwiVE9PTFRJUFNcIjoge1xyXG4gICAgICBcIkVESVRcIjogXCJFZGl0IGdsb3NzYXJ5IGluIHRlcm1pbm9sb2d5IHBvcnRhbFwiLFxyXG4gICAgICBcIklNUE9SVElOR1wiOiBcIkltcG9ydGluZyBnbG9zc2FyeVwiLFxyXG4gICAgICBcIk5PX0VOVFJJRVNcIjogXCJUZXJtIGNvbGxlY3Rpb24gY2Fubm90IGJlIHVzZWQ6IG5vIHRlcm1zIGluIHNvdXJjZSBsYW5ndWFnZVwiLFxyXG4gICAgICBcIkRFRkFVTFRfQ09MTEVDVElPTlwiOiBcIlRoZXNlIHRlcm1zIGFyZSBub3cgaW4gdXNlLiBZb3UgY2FuIG1hbmFnZSB0aGVtIHRocm91Z2ggRGVmYXVsdCBnbG9zc2FyeSBtYW5hZ2VtZW50LiBcIixcclxuICAgICAgXCJTWU5DXCI6IFwiVXBkYXRlIHRoZSB0ZXJtIGNvbGxlY3Rpb25cIixcclxuICAgICAgXCJTWU5DSU5HXCI6IFwiVGVybSBjb2xsZWN0aW9uIGlzIHN5bmNlZCwgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBjb2xsZWN0aW9uIHdpbGwgYmUgdXNlZFwiLFxyXG4gICAgICBcIkFUVEFDSF9UT19TWVNURU1fRVJST1JcIjogXCJBbiBlcnJvciBoYXMgb2NjdXJlZCB3aGlsZSBpbXBvcnRpbmcgdGhlIHRlcm0gY29sbGVjdGlvblwiXHJcbiAgICB9LFxyXG4gICAgXCJSRUFERVJcIjoge1xyXG4gICAgICBcIlRJVExFXCI6IFwiR2xvc3Nhcmllc1wiLFxyXG4gICAgICBcIlVOQVZBSUxBQkxFXCI6IFwiR2xvc3NhcmllcyBub3QgYXZhaWxhYmxlIVwiLFxyXG4gICAgICBcIlRFWFRcIjogXCJHbG9zc2FyaWVzIGFyZSBvbmx5IGF2YWlsYWJsZSBmb3IgYXV0aG9yaXplZCB1c2Vycy4gPC9icj4gPGEgaHJlZj0nJz5TaWduIGluPC9hPiBvciA8YSBocmVmPScnPnN0YXJ0IHlvdXIgZnJlZSB0cmlhbDwvYT4gdG8gdW5sb2NrIG91ciBnbG9zc2FyeS5cIixcclxuICAgICAgXCJXSEFUX0lTX0dMT1NTQVJZX1RJVExFXCI6IFwiV2hhdCBpcyBhIEdsb3NzYXJ5P1wiLFxyXG4gICAgICBcIldIQVRfSVNfR0xPU1NBUllfREVTQ1wiOiBcIkEgZ2xvc3NhcnkgaW4gbWFjaGluZSB0cmFuc2xhdGlvbiBpcyBhIGN1c3RvbSBkaWN0aW9uYXJ5IG9mIHNwZWNpZmljIHRlcm1zIGFuZCB0cmFuc2xhdGlvbnMuXCIsXHJcbiAgICAgIFwiQkVORUZJVFNfVElUTEVcIjogXCJHbG9zc2FyeSBCZW5lZml0c1wiLFxyXG4gICAgICBcIkJFTkVGSVRTX0RFU0NcIjogXCJJdCBlbnN1cmVzIGNvbnNpc3RlbmN5IGFuZCBhY2N1cmFjeSwgZW5oYW5jaW5nIHRyYW5zbGF0aW9uIHF1YWxpdHkgZm9yIHNwZWNpYWxpemVkIGNvbnRlbnQuXCJcclxuICAgIH0sXHJcbiAgICBcIkVSUk9SU1wiOiB7XHJcbiAgICAgIFwiRVJST1JJTVBPUlRJTkdcIjogXCJJbXBvcnRpbmcgZXJyb3JcIlxyXG4gICAgfVxyXG4gIH0sXHJcbiAgXCJET01BSU5TXCI6IHtcclxuICAgIFwiT1BFTl9MSVNUX0FSSUFfTEFCRUxcIjogXCJPcGVuIGRvbWFpbiBsaXN0XCIsXHJcbiAgICBcIlRJVExFXCI6IFwiRG9tYWluOlwiLFxyXG4gICAgXCJMQVdcIjogXCJMYXdcIixcclxuICAgIFwiRFlOQU1JQ19MRUFSTklOR1wiOiBcIkR5bmFtaWMgbGVhcm5pbmdcIixcclxuICAgIFwiQlVTSU5FU1NcIjogXCJCdXNpbmVzc1wiLFxyXG4gICAgXCJHRU5FUkFMXCI6IFwiR2VuZXJhbFwiLFxyXG4gICAgXCJBVVRPXCI6IFwiQXV0b2RldGVjdFwiLFxyXG4gICAgXCJTUERcIjogXCJFVSBGb3JtYWwgTGFuZ3VhZ2VcIixcclxuICAgIFwiR0VOXCI6IFwiR2VuZXJhbCBUZXh0XCIsXHJcbiAgICBcIkVDQlwiOiBcIkZpbmFuY2VcIixcclxuICAgIFwiRUNKXCI6IFwiRXVyb3BlYW4gQ291cnQgb2YgSnVzdGljZVwiLFxyXG4gICAgXCJQVUJIRUFMVEhcIjogXCJQdWJsaWMgSGVhbHRoXCIsXHJcbiAgICBcIkJVQkFcIjogXCJEZXV0c2NoZSBCdW5kZXNiYW5rXCIsXHJcbiAgICBcIkJFUkNZXCI6IFwiTWluaXN0w6hyZSBkZXMgRmluYW5jZXNcIixcclxuICAgIFwiRVVST1BFQU5BXCI6IFwiRXVyb3BlYW5hXCIsXHJcbiAgICBcIklQT1wiOiBcIklQIENhc2UgTGF3XCIsXHJcbiAgICBcIlRSSVNcIjogXCJFbmdpbmVzIGJ1aWx0IHVzaW5nIGRhdGEgZnJvbSB0aGUgdGVjaG5pY2FsIHJlZ3VsYXRpb24gaW5mb3JtYXRpb24gc3lzdGVtXCIsXHJcbiAgICBcIlZLXCI6IFwiVmFsdGlvbmV1dm9zdG9uIEthbnNsaWFcIixcclxuICAgIFwiQlVCQV9OTVRURVNUXCI6IFwiRGV1dHNjaGUgQnVuZGVzYmFuayBUZXN0XCJcclxuICB9LFxyXG4gIFwiR1JBTU1BUl9DSEVDS19NRU5VXCI6IHtcclxuICAgIFwiVElUTEVcIjogXCJDb25zaWRlciBjaGFuZ2luZyB0bzpcIlxyXG4gIH0sXHJcbiAgXCJBVURJT1wiOiB7XHJcbiAgICBcIkNBTkNFTFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgXCJERVNDUklCRV9TVEFURV9SRUNPUkRJTkdcIjogXCJQbGVhc2Ugc3BlYWsgdG8gcmVjb3JkLi4uXCIsXHJcbiAgICBcIkRFU0NSSUJFX1NUQVRFX1BST0NFU1NJTkdcIjogXCJQcm9jZXNzaW5nLi4uXCIsXHJcbiAgICBcIk1JQ19OT1RfRk9VTkRcIjogXCJNaWNyb3Bob25lIG5vdCBmb3VuZFwiLFxyXG4gICAgXCJTVE9QXCI6IFwiU3RvcCByZWNvcmRpbmdcIixcclxuICAgIFwiU1RBUlRcIjogXCJUcmFuc2xhdGUgc3BlZWNoXCIsXHJcbiAgICBcIlBVTkNUVUFUSU9OX01FU1NBR0VfVElUTEVcIjogXCJBZGQgcHVuY3R1YXRpb25cIixcclxuICAgIFwiUFVOQ1RVQVRJT05fTUVTU0FHRVwiOiBcIlBsZWFzZSBhZGQgcHVuY3R1YXRpb24gdG8gdGhlIHJlY29nbml6ZWQgdGV4dC4gTG9uZyB0ZXh0IHdpdGhvdXQgcHVuY3R1YXRpb24gbWF5IGhhdmUgbG93ZXIgdHJhbnNsYXRpb24gcXVhbGl0eSBvciBub3QgYmUgdHJhbnNsYXRlZC5cIixcclxuICB9LFxyXG4gIFwiRVhURU5TSU9OX1BPUFVQXCI6IHtcclxuICAgIFwiT1BFTlwiOiBcInNlZSBhbGwgc3VwcG9ydGVkIGZvcm1hdHNcIixcclxuICAgIFwiVElUTEVcIjogXCJTdXBwb3J0ZWQgZmlsZSBmb3JtYXRzXCIsXHJcbiAgICBcIkRFU0NSSVBUSU9OXCI6IFwiVVRGLTggb3IgVVRGLTE2IGNvZGluZyByZXF1aXJlZCB0byBlbnN1cmUgY29ycmVjdCBmaWxlIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIk9GRklDRVwiOiBcIk9mZmljZVwiLFxyXG4gICAgXCJTQ0FOTkVEXCI6IFwiSW1hZ2UgZmlsZXNcIixcclxuICAgIFwiSU5URVJDSEFOR0VcIjogXCJJbnRlcmNoYW5nZSBmb3JtYXRzXCIsXHJcbiAgICBcIldFQlwiOiBcIldlYlwiLFxyXG4gICAgXCJPVEhFUlwiOiBcIk90aGVyXCIsXHJcbiAgfSxcclxuICBcIkZJTEVfVVBMT0FEXCI6IHtcclxuICAgIFwiVVBMT0FEXCI6IFwiVXBsb2FkXCIsXHJcbiAgICBcIkRSQUdfQU5EX0RST1BcIjogXCJvciBkcmFnIGFuZCBkcm9wIFwiLFxyXG4gICAgXCJGSUxFXCI6IFwiYSBmaWxlXCIsXHJcbiAgICBcIkZJTEVTXCI6IFwiZmlsZXNcIixcclxuICAgIFwiTElNSVRTXCI6IFwiICgge3t2aXNpYmxlRXh0ZW5zaW9uc319LiBNYXgge3ttYXhTaXplTUJ9fSZuYnNwOylcIixcclxuICAgIFwiQ0xFQVJcIjogXCJDbGVhciBmaWxlXCJcclxuICB9LFxyXG4gIFwiU1lTVEVNX1BJQ0tFUlwiOiB7XHJcbiAgICBcIlNPVVJDRVwiOiBcIlRyYW5zbGF0ZSBmcm9tXCIsXHJcbiAgICBcIlRBUkdFVFwiOiBcIlRyYW5zbGF0ZSB0b1wiLFxyXG4gICAgXCJTRUFSQ0hfUExBQ0VIT0xERVJcIjogXCJTZWFyY2ggbGFuZ3VhZ2VzXCIsXHJcbiAgICBcIlJFQ0VOVF9TWVNURU1fVElUTEVcIjogXCJSZWNlbnRseSB1c2VkXCIsXHJcbiAgICBcIlNFTEVDVF9ET01BSU5cIjogXCJTZWxlY3QgZG9tYWluXCIsXHJcbiAgICBcIkZJTFRFUl9OT19SRVNVTFRTXCI6IFwiTm8gcmVzdWx0c1wiLFxyXG4gICAgXCJBTExfTEFOR1VBR0VTXCI6IFwiQWxsIGxhbmd1YWdlc1wiLFxyXG4gICAgXCJDTEVBUl9TRUFSQ0hcIjogXCJDbGVhciBzZWFyY2ggdGV4dFwiLFxyXG4gICAgXCJPUEVOX1NPVVJDRV9BUklBX0xBQkVMXCI6IFwiU2VsZWN0IHNvdXJjZSBsYW5ndWFnZVwiLFxyXG4gICAgXCJPUEVOX1RBUkdFVF9BUklBX0xBQkVMXCI6IFwiU2VsZWN0IHRhcmdldCBsYW5ndWFnZSBhbmQgZG9tYWluXCIsXHJcbiAgICBcIkRFVEVDVEVEXCI6IFwiRGV0ZWN0ZWRcIlxyXG4gIH0sXHJcbiAgXCJURVhUX1RSQU5TTEFUSU9OX1BST0dSRVNTX0lORElDQVRPUlwiOiB7XHJcbiAgICBcIlRJVExFXCI6IFwiVHJhbnNsYXRpb24gcHJvdmlkZWQgYnkge3twcm92aWRlcn19XCIsXHJcbiAgICBcIlRSQU5TTEFUSU5HXCI6IFwiVHJhbnNsYXRpbmcuLi5cIixcclxuICAgIFwiQ0xPU0VfQlVUVE9OX1RPT0xUSVBcIjogXCJSZW1vdmUgcHJvZ3Jlc3MgYmFyXCIsXHJcbiAgICBcIkNMT1NFX0JVVFRPTl9BUklBX0xBQkVMXCI6IFwiUmVtb3ZlIHByb2dyZXNzIGJhclwiXHJcbiAgfSxcclxuICBcIlZFTkRPUl9NRVNTQUdFXCI6IHtcclxuICAgIFwiVEVYVFwiOiBcIlRyYW5zbGF0aW9uIHByb3ZpZGVkIGJ5IHt7dmVuZG9yfX1cIixcclxuICAgIFwiSUNPTl9UT09MVElQXCI6IFwiU3lzdGVtcyBvZmZlcmVkIGJ5IHt7dmVuZG9yfX0gYXJlIHVzZWQgYnkgYSBodWdlIG51bWJlciBvZiB1c2Vycy4gVGhleSBtYXkgYmUgc2xvdyBhdCB0aW1lIGR1ZSB0byB0aGUgaGVhdnkgd29yayBsb2FkLlwiXHJcbiAgfSxcclxuICBcIlZFTkRPUlNcIjoge1xyXG4gICAgXCJFVFJBTlNMQVRJT05cIjogXCJlVHJhbnNsYXRpb25cIlxyXG4gIH0sXHJcbiAgXCJURVhUX1RPX1NQRUVDSFwiOiB7XHJcbiAgICBcIlBMQVlcIjogXCJMaXN0ZW5cIixcclxuICAgIFwiUEFVU0VcIjogXCJQYXVzZVwiXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -194,7 +194,7 @@ export class TldTranslateSystemManagementService {
194
194
  }
195
195
  else {
196
196
  selectedSystem = this.createSystem('', languageId, languageId, this.sourceLanguage, this.targetLanguage, '', null, false);
197
- this.targetLangList = this.createLangList(this.systems);
197
+ this.targetLangList = this.createLangList(this.systems, this.sourceLanguage);
198
198
  this.targetLanguage = this.targetLanguage;
199
199
  this.sourceLanguage = this.sourceLanguage;
200
200
  this.activeSystem = selectedSystem;
@@ -225,6 +225,10 @@ export class TldTranslateSystemManagementService {
225
225
  return system.includesTerminology;
226
226
  }
227
227
  changeSourceLanguage(sourceLanguageCode) {
228
+ if (sourceLanguageCode === AUTO_LANGUAGE_DETECTION_KEY) {
229
+ this.enableLanguageDetection();
230
+ return;
231
+ }
228
232
  if (sourceLanguageCode === this.activeSystem.targetLanguage) {
229
233
  this.changeLanguage(sourceLanguageCode, this.activeSystem.sourceLanguage);
230
234
  }
@@ -294,7 +298,7 @@ export class TldTranslateSystemManagementService {
294
298
  createLangList(systems, srcLangCode) {
295
299
  const langListItemArray = [];
296
300
  systems.forEach((system) => {
297
- if (!srcLangCode || srcLangCode === system.sourceLanguage) {
301
+ if (!srcLangCode || srcLangCode === system.sourceLanguage || srcLangCode === AUTO_LANGUAGE_DETECTION_KEY) {
298
302
  langListItemArray.push({
299
303
  domain: system.domain,
300
304
  lang: srcLangCode ? system.targetLanguage : system.sourceLanguage,
@@ -372,4 +376,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
372
376
  providedIn: 'root'
373
377
  }]
374
378
  }], ctorParameters: function () { return [{ type: i1.AlertService }, { type: i2.TldTranslateConfigService }, { type: i1.SystemService }]; } });
375
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS1zeXN0ZW0tbWFuYWdlbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLWNvbW1vbi9zZXJ2aWNlcy90bGQtdHJhbnNsYXRlLXN5c3RlbS1tYW5hZ2VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWtELFVBQVUsRUFBaUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNsSSxPQUFPLEVBQUUsZUFBZSxFQUFjLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7Ozs7QUFNMUYsTUFBTSxPQUFPLG1DQUFtQztJQStDM0I7SUFDQTtJQUNBO0lBaERuQixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLE9BQU8sR0FBYSxFQUFFLENBQUM7SUFDdkIsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQzFCLE9BQU8sR0FBRyxJQUFJLGFBQWEsQ0FBVyxDQUFDLENBQUMsQ0FBQztJQUN6QyxZQUFZLENBQVU7SUFDdEIsZ0JBQWdCLENBQVc7SUFFM0IsMEJBQTBCLEdBQUcsdUNBQXVDLENBQUM7SUFFN0Qsb0JBQW9CLEdBQUcsSUFBSSxPQUFPLEVBQVksQ0FBQztJQUV2RCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENB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QUFDLFlBQVksQ0FBQyxnQkFBZ0IsS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJO1NBQ3pILENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxZQUFZLENBQUMsTUFBYyxFQUFFLEVBQVUsRUFBRSxVQUFrQixFQUFFLGNBQXNCLEVBQUUsY0FBc0IsRUFBRSxNQUFjLEVBQUUsZ0JBQXdCLEVBQUUsbUJBQTRCO1FBQ3pMLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxDQUFBO0lBQ2xILENBQUM7d0dBdGFVLG1DQUFtQzs0R0FBbkMsbUNBQW1DLGNBRmxDLE1BQU07OzRGQUVQLG1DQUFtQztrQkFIL0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2ZURhdGEsIEFsZXJ0U2VydmljZSwgRG9tYWluLCBMYW5nTGlzdEl0ZW0sIFNvcnRIZWxwZXIsIFN5c3RlbSwgU3lzdGVtU2VydmljZSwgVmVuZG9yIH0gZnJvbSAnQHRpbGRlLW5scC9uZ3gtY29tbW9uJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWSB9IGZyb20gJy4uL21vZGVscy9hdXRvLWxhbmd1YWdlLWRldGVjdGlvbi1rZXkuY29uc3QnO1xyXG5pbXBvcnQgeyBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi90bGQtdHJhbnNsYXRlLWNvbmZpZy5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZFRyYW5zbGF0ZVN5c3RlbU1hbmFnZW1lbnRTZXJ2aWNlIHtcclxuICBub1N5c3RlbXNFcnJvciA9IGZhbHNlO1xyXG4gIHN5c3RlbXM6IFN5c3RlbVtdID0gW107XHJcbiAgd2lkZ2V0SW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxuICBzeXNMaXN0ID0gbmV3IFJlcGxheVN1YmplY3Q8U3lzdGVtW10+KDEpO1xyXG4gIGFjdGl2ZURvbWFpbiE6IERvbWFpbjtcclxuICBjYW5Td2FwTGFuZ3VhZ2VzITogYm9vbGVhbjtcclxuXHJcbiAgZGVmYXVsdEVycm9yVHJhbnNsYXRpb25LZXkgPSAnVExEX1RSQU5TTEFURS5FUlJPUl9OT19TWVNURU1TX0xPQURFRCc7XHJcblxyXG4gIHByaXZhdGUgbG9hZGVkU3lzdGVtc1N1YmplY3QgPSBuZXcgU3ViamVjdDxTeXN0ZW1bXT4oKTtcclxuXHJcbiAgZ2V0IGFjdGl2ZVZlbmRvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmFjdGl2ZVN5c3RlbS52ZW5kb3IgfHwgdGhpcy5kZWZhdWx0VmVuZG9yO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRlZmF1bHRWZW5kb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5kZWZhdWx0VmVuZG9yO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRlZmF1bHREb21haW5zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmNvcmVDb25maWcuZGVmYXVsdERvbWFpbnMgYXMgc3RyaW5nW107XHJcbiAgfVxyXG5cclxuICBnZXQgZGVmYXVsdFRhcmdldExhbmd1YWdlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmNvcmVDb25maWcuZGVmYXVsdFRhcmdldExhbmd1YWdlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhY3RpdmVTeXN0ZW0hOiBTeXN0ZW07XHJcbiAgcHJpdmF0ZSBkb21haW5zOiBEb21haW5bXSA9IFtdO1xyXG4gIHByaXZhdGUgdmVuZG9yczogVmVuZG9yW10gPSBbXTtcclxuICBwcml2YXRlIHNvdXJjZUxhbmd1YWdlITogc3RyaW5nO1xyXG4gIHByaXZhdGUgdGFyZ2V0TGFuZ3VhZ2UhOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBzb3VyY2VMYW5nTGlzdDogTGFuZ0xpc3RJdGVtW10gPSBbXTtcclxuICBwcml2YXRlIHRhcmdldExhbmdMaXN0OiBMYW5nTGlzdEl0ZW1bXSA9IFtdO1xyXG5cclxuICAvLyNyZWdpb24gUmVjZW50IHN5c3RlbSB2YXJpYWJsZXNcclxuICAvLyBQb3NzaWJseSBmcm9tIGNvbmZpZ1xyXG4gIGdldCByZWNlbnRTeXN0ZW1zTWF4Q291bnQoKSB7IHJldHVybiB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLm1heFJlY2VudFN5c3RlbUNvdW50IGFzIG51bWJlcjsgfVxyXG4gIHByaXZhdGUgcmVjZW50U3lzdGVtczogU3lzdGVtW10gPSBbXTtcclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSByZWNlbnRTeXN0ZW1LZXkgPSBcInJlY2VudFN5c3RlbXNcIjtcclxuICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2ZTogQmVoYXZpb3JTdWJqZWN0PEFjdGl2ZURhdGE+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBY3RpdmVEYXRhPig8YW55Pm51bGwpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbGFzdFVzZWRTeXN0ZW1LZXk6IHN0cmluZyA9IFwibGFzdFVzZWRTeXN0ZW1cIjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0OiBBbGVydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3lzdGVtU2VydmljZTogU3lzdGVtU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICogVGhpcyBtZXRob2QgaXMgYmVpbmcgY2FsbGVkIHdoZW4gYXV0byBsYW5ndWFnZSBkZXRlY3Rpb24gd2FzIGNob3Nlbi5cclxuICAqL1xyXG4gIGVuYWJsZUxhbmd1YWdlRGV0ZWN0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zb3VyY2VMYW5ndWFnZSA9IEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWTtcclxuICAgIHRoaXMuY2hhbmdlTGFuZ3VhZ2UodGhpcy5zb3VyY2VMYW5ndWFnZSwgdGhpcy50YXJnZXRMYW5ndWFnZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIFRoaXMgbWV0aG9kIGlzIGJlaW5nIHVzZWQgdG8gc2V0IGRldGVjdGVkIGxhbmd1YWdlIHdoZW4gYXBpIHJlc3BvbnNlIGhhcyBpdC5cclxuICAqIEFsc28sIHdoZW4gbGFuZ3VhZ2Ugd2FzIGRldGVjdGVkIGFuZCB3ZSB3YW50IHRvIGNsZWFyIHNvdXJjZSB0ZXh0LCB0aGlzIG1ldGhvZCBhbHNvIGlzIGJlaW5nIGNhbGxlZC5cclxuICAqL1xyXG4gIHNldERldGVjdGVkTGFuZ3VhZ2UobGFuZ0NvZGU6IHN0cmluZywgZG9tYWluPzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBpc1NvdXJjZUxhbmdDb2RlU2FtZUFmdGVyRGV0ZWN0aW9uID0gdGhpcy5hY3RpdmVTeXN0ZW0/LmRldGVjdGVkTGFuZ3VhZ2UgPT09IHRoaXMuc291cmNlTGFuZ3VhZ2U7XHJcbiAgICAvLyBIZXJlIHdlIG5lZWQgdG8gY2xlYXIgb3V0IGRldGVjdGVkIGxhbmd1YWdlLCBidXQga2VlcCB0aGUgZGV0ZWN0aW9uIGVuYWJsZWQuXHJcbiAgICBpZiAoIWxhbmdDb2RlICYmIGlzU291cmNlTGFuZ0NvZGVTYW1lQWZ0ZXJEZXRlY3Rpb24pIHtcclxuICAgICAgdGhpcy5zb3VyY2VMYW5ndWFnZSA9IEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWTtcclxuICAgICAgdGhpcy5hY3RpdmVTeXN0ZW0uZGV0ZWN0ZWRMYW5ndWFnZSA9IG51bGw7XHJcbiAgICAgIHRoaXMuY2hhbmdlTGFuZ3VhZ2UodGhpcy5zb3VyY2VMYW5ndWFnZSwgdGhpcy50YXJnZXRMYW5ndWFnZSwgZmFsc2UpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGhpcyBpcyBiZWluZyBjYWxsZWQsIHdoZW4gbGFuZ3VhZ2UgaXMgZGV0ZWN0ZWQuXHJcbiAgICB0aGlzLnNvdXJjZUxhbmd1YWdlID0gbGFuZ0NvZGU7XHJcbiAgICB0aGlzLmFjdGl2ZVN5c3RlbS5zb3VyY2VMYW5ndWFnZSA9IGxhbmdDb2RlO1xyXG4gICAgdGhpcy5hY3RpdmVTeXN0ZW0uZGV0ZWN0ZWRMYW5ndWFnZSA9IGxhbmdDb2RlO1xyXG4gICAgdGhpcy5jaGFuZ2VMYW5ndWFnZShsYW5nQ29kZSwgdGhpcy50YXJnZXRMYW5ndWFnZSwgZmFsc2UsIGRvbWFpbik7XHJcbiAgfVxyXG5cclxuICBnZXRTeXN0ZW1zKCk6IFN5c3RlbVtdIHtcclxuICAgIHJldHVybiB0aGlzLnN5c3RlbXM7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VMYW5ndWFnZShzb3VyY2U6IHN0cmluZywgdGFyZ2V0OiBzdHJpbmcsIHJldHJhbnNsYXRlPzogYm9vbGVhbiwgZG9tYWluPzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBzeXN0ZW1JZCA9IHRoaXMuZmluZENvcnJlY3RTeXN0ZW0oc291cmNlLCB0YXJnZXQsIGRvbWFpbik7XHJcbiAgICB0aGlzLmNoYW5nZVN5c3RlbShzeXN0ZW1JZCwgcmV0cmFuc2xhdGUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWN0aXZlRGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFjdGl2ZS5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGdldEFjdGl2ZVN5c3RlbU9iaigpOiBTeXN0ZW0ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlU3lzdGVtO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWN0aXZlVmVuZG9yc0FuZERvbWFpbnMoKSB7XHJcbiAgICBpZiAoIXRoaXMuc291cmNlTGFuZ3VhZ2UgfHwgIXRoaXMudGFyZ2V0TGFuZ3VhZ2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdmVuZG9yczogVmVuZG9yW10gPSBbXTtcclxuICAgIGNvbnN0IGRvbWFpbnM6IERvbWFpbltdID0gW107XHJcblxyXG4gICAgZm9yIChjb25zdCBzeXN0ZW0gb2YgdGhpcy5zeXN0ZW1zKSB7XHJcbiAgICAgIGlmICghKHN5c3RlbS5zb3VyY2VMYW5ndWFnZSA9PT0gdGhpcy5zb3VyY2VMYW5ndWFnZSAmJiBzeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UgPT09IHRoaXMudGFyZ2V0TGFuZ3VhZ2UpKSB7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgZG9tYWluOiBEb21haW4gPSB7XHJcbiAgICAgICAgbGFuZ3VhZ2VJZDogc3lzdGVtLmxhbmd1YWdlSWQsXHJcbiAgICAgICAgdGl0bGU6IHN5c3RlbS5kb21haW4gYXMgc3RyaW5nXHJcbiAgICAgIH07XHJcbiAgICAgIGRvbWFpbnMucHVzaChkb21haW4pO1xyXG4gICAgICBjb25zdCB2ZW5kb3I6IFZlbmRvciA9IHtcclxuICAgICAgICBsYW5ndWFnZUlkOiBzeXN0ZW0ubGFuZ3VhZ2VJZCxcclxuICAgICAgICB0aXRsZTogc3lzdGVtLnZlbmRvclxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoIXZlbmRvcnMuaW5jbHVkZXModmVuZG9yKSkge1xyXG4gICAgICAgIHZlbmRvcnMucHVzaCh2ZW5kb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoZG9tYWluLmxhbmd1YWdlSWQgPT09IHRoaXMuYWN0aXZlU3lzdGVtLmxhbmd1YWdlSWQpIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZURvbWFpbiA9IGRvbWFpbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZG9tYWlucyA9IGRvbWFpbnM7XHJcbiAgICB0aGlzLnZlbmRvcnMgPSB2ZW5kb3JzO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldExhc3RVc2VkU3lzdGVtKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5sYXN0VXNlZFN5c3RlbUtleSkgYXMgc3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgZ2V0VW5pcXVlTGFuZ3VhZ2VzKGxpc3Q6IExhbmdMaXN0SXRlbVtdKTogc3RyaW5nW10ge1xyXG4gICAgaWYgKCFsaXN0KSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICAgIGNvbnN0IHRpdGxlczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICBsaXN0LmZvckVhY2goKGxhbmcpID0+IHtcclxuICAgICAgY29uc3QgbGFuZ1RpdGxlID0gbGFuZy5sYW5nO1xyXG4gICAgICBjb25zdCBpeCA9IHRpdGxlcy5pbmRleE9mKGxhbmdUaXRsZSBhcyBzdHJpbmcpO1xyXG4gICAgICBpZiAoaXggPT0gLTEpIHtcclxuICAgICAgICB0aXRsZXMucHVzaChsYW5nVGl0bGUgYXMgc3RyaW5nKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHRpdGxlcztcclxuICB9XHJcblxyXG4gIGluaXQoZGVmYXVsdFN5c3RlbUxhbmd1YWdlSWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldFN5c3RlbUxpc3QoKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBTeXN0ZW1bXSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc3lzdGVtcyA9IHJlcztcclxuICAgICAgICBpZiAocmVzLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICB0aGlzLmxvYWRlZFN5c3RlbXNTdWJqZWN0Lm5leHQocmVzKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5zeXN0ZW1FeGlzdHMoZGVmYXVsdFN5c3RlbUxhbmd1YWdlSWQsIHRoaXMuc3lzdGVtcykgJiYgZGVmYXVsdFN5c3RlbUxhbmd1YWdlSWQgIT09IEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWSkge1xyXG4gICAgICAgICAgZGVmYXVsdFN5c3RlbUxhbmd1YWdlSWQgPSB0aGlzLnN5c3RlbXNbMF0/Lmxhbmd1YWdlSWQ7XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IHN5c3RlbSBvZiB0aGlzLnN5c3RlbXMpIHtcclxuICAgICAgICAgICAgY29uc3QgdmVuZG9yID0gc3lzdGVtLnZlbmRvcjtcclxuICAgICAgICAgICAgaWYgKHZlbmRvciA9PT0gdGhpcy5kZWZhdWx0VmVuZG9yKSB7XHJcbiAgICAgICAgICAgICAgZGVmYXVsdFN5c3RlbUxhbmd1YWdlSWQgPSBzeXN0ZW0ubGFuZ3VhZ2VJZDtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGRlZmF1bHRTeXN0ZW1MYW5ndWFnZUlkID09PSBBVVRPX0xBTkdVQUdFX0RFVEVDVElPTl9LRVkpIHtcclxuICAgICAgICAgIHRoaXMudGFyZ2V0TGFuZ3VhZ2UgPSB0aGlzLmRlZmF1bHRUYXJnZXRMYW5ndWFnZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY3JlYXRlUmVjZW50U3lzdGVtQXJyYXkoKTtcclxuICAgICAgICB0aGlzLnNvdXJjZUxhbmdMaXN0ID0gdGhpcy5jcmVhdGVMYW5nTGlzdCh0aGlzLnN5c3RlbXMpO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlU3lzdGVtKGRlZmF1bHRTeXN0ZW1MYW5ndWFnZUlkKTtcclxuICAgICAgICB0aGlzLndpZGdldEluaXRpYWxpemVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnN5c0xpc3QubmV4dCh0aGlzLnN5c3RlbXMpO1xyXG4gICAgICAgIHRoaXMubm9TeXN0ZW1zRXJyb3IgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgaWYgKGRlZmF1bHRTeXN0ZW1MYW5ndWFnZUlkID09PSBBVVRPX0xBTkdVQUdFX0RFVEVDVElPTl9LRVkpIHtcclxuICAgICAgICAgIHRoaXMuZW5hYmxlTGFuZ3VhZ2VEZXRlY3Rpb24oKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLm5vU3lzdGVtc0Vycm9yID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmFsZXJ0LmVycm9yKHRoaXMuZGVmYXVsdEVycm9yVHJhbnNsYXRpb25LZXksIGVycm9yKTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0TG9hZGVkU3lzdGVtcygpOiBPYnNlcnZhYmxlPFN5c3RlbVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5sb2FkZWRTeXN0ZW1zU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIHNldExhc3RVc2VkU3lzdGVtKHN5c3RlbUlkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmxhc3RVc2VkU3lzdGVtS2V5LCBzeXN0ZW1JZCk7XHJcbiAgfVxyXG5cclxuICBzd2FwU3lzdGVtTGFuZ3VhZ2VzKCkge1xyXG4gICAgdGhpcy5jaGFuZ2VMYW5ndWFnZSh0aGlzLnRhcmdldExhbmd1YWdlLCB0aGlzLnNvdXJjZUxhbmd1YWdlKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVN5c3RlbShsYW5ndWFnZUlkOiBzdHJpbmcsIHJldHJhbnNsYXRlID0gdHJ1ZSkge1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlU3lzdGVtPy5sYW5ndWFnZUlkID09PSBsYW5ndWFnZUlkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc2VsZWN0ZWRTeXN0ZW0hOiBTeXN0ZW07XHJcblxyXG4gICAgaWYgKCFsYW5ndWFnZUlkPy5pbmNsdWRlcyhBVVRPX0xBTkdVQUdFX0RFVEVDVElPTl9LRVkpKSB7XHJcbiAgICAgIGZvciAoY29uc3Qgc3lzdGVtIG9mIHRoaXMuc3lzdGVtcykge1xyXG4gICAgICAgIGlmIChzeXN0ZW0ubGFuZ3VhZ2VJZCA9PT0gbGFuZ3VhZ2VJZCkge1xyXG4gICAgICAgICAgc2VsZWN0ZWRTeXN0ZW0gPSBzeXN0ZW07XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNlbGVjdGVkU3lzdGVtID0gdGhpcy5jcmVhdGVTeXN0ZW0oJycsIGxhbmd1YWdlSWQsIGxhbmd1YWdlSWQsIHRoaXMuc291cmNlTGFuZ3VhZ2UsIHRoaXMudGFyZ2V0TGFuZ3VhZ2UsICcnLCBudWxsLCBmYWxzZSk7XHJcblxyXG4gICAgICB0aGlzLnRhcmdldExhbmdMaXN0ID0gdGhpcy5jcmVhdGVMYW5nTGlzdCh0aGlzLnN5c3RlbXMpO1xyXG4gICAgICB0aGlzLnRhcmdldExhbmd1YWdlID0gdGhpcy50YXJnZXRMYW5ndWFnZTtcclxuICAgICAgdGhpcy5zb3VyY2VMYW5ndWFnZSA9IHRoaXMuc291cmNlTGFuZ3VhZ2U7XHJcbiAgICAgIHRoaXMuYWN0aXZlU3lzdGVtID0gc2VsZWN0ZWRTeXN0ZW07XHJcbiAgICAgIHRoaXMuZG9tYWlucyA9IFtdO1xyXG4gICAgICB0aGlzLnZlbmRvcnMgPSBbXTtcclxuXHJcbiAgICAgIHRoaXMub25BY3RpdmVTeXN0ZW1DaGFuZ2UocmV0cmFuc2xhdGUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0ZWRTeXN0ZW0uZGV0ZWN0ZWRMYW5ndWFnZSA9IHRoaXMuYWN0aXZlU3lzdGVtPy5kZXRlY3RlZExhbmd1YWdlO1xyXG5cclxuICAgIHRoaXMudGFyZ2V0TGFuZ0xpc3QgPSB0aGlzLmNyZWF0ZUxhbmdMaXN0KHRoaXMuc3lzdGVtcywgc2VsZWN0ZWRTeXN0ZW0uc291cmNlTGFuZ3VhZ2UpO1xyXG4gICAgdGhpcy50YXJnZXRMYW5ndWFnZSA9IHNlbGVjdGVkU3lzdGVtLnRhcmdldExhbmd1YWdlO1xyXG4gICAgdGhpcy5zb3VyY2VMYW5ndWFnZSA9IHNlbGVjdGVkU3lzdGVtLnNvdXJjZUxhbmd1YWdlO1xyXG4gICAgdGhpcy5hY3RpdmVTeXN0ZW0gPSBzZWxlY3RlZFN5c3RlbTtcclxuICAgIHRoaXMuZ2V0QWN0aXZlVmVuZG9yc0FuZERvbWFpbnMoKTtcclxuXHJcbiAgICB0aGlzLm9uQWN0aXZlU3lzdGVtQ2hhbmdlKHJldHJhbnNsYXRlKTtcclxuXHJcbiAgICB0aGlzLnNldExhc3RVc2VkU3lzdGVtKHNlbGVjdGVkU3lzdGVtLmxhbmd1YWdlSWQpO1xyXG4gIH1cclxuXHJcbiAgc3lzdGVtRXhpc3RzKGxhbmd1YWdlSWQ6IHN0cmluZywgc3lzdGVtTGlzdDogU3lzdGVtW10pOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHN5c3RlbXMgPSBzeXN0ZW1MaXN0ID8/IHRoaXMuc3lzdGVtcztcclxuICAgIGZvciAoY29uc3Qgc3lzdGVtIG9mIHN5c3RlbXMpIHtcclxuICAgICAgaWYgKHN5c3RlbS5sYW5ndWFnZUlkID09PSBsYW5ndWFnZUlkKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBpc1Rlcm1pbm9sb2d5U3VwcG9ydGVkKHN5c3RlbTogU3lzdGVtKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gc3lzdGVtLmluY2x1ZGVzVGVybWlub2xvZ3kgYXMgYm9vbGVhbjtcclxuICB9XHJcblxyXG4gIGNoYW5nZVNvdXJjZUxhbmd1YWdlKHNvdXJjZUxhbmd1YWdlQ29kZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoc291cmNlTGFuZ3VhZ2VDb2RlID09PSB0aGlzLmFjdGl2ZVN5c3RlbS50YXJnZXRMYW5ndWFnZSkge1xyXG4gICAgICB0aGlzLmNoYW5nZUxhbmd1YWdlKHNvdXJjZUxhbmd1YWdlQ29kZSwgdGhpcy5hY3RpdmVTeXN0ZW0uc291cmNlTGFuZ3VhZ2UpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlTGFuZ3VhZ2Uoc291cmNlTGFuZ3VhZ2VDb2RlLCB0aGlzLmFjdGl2ZVN5c3RlbS50YXJnZXRMYW5ndWFnZSk7XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGNoYW5nZVRhcmdldExhbmd1YWdlKHRhcmdldExhbmd1YWdlQ29kZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodGFyZ2V0TGFuZ3VhZ2VDb2RlID09PSB0aGlzLmFjdGl2ZVN5c3RlbS5zb3VyY2VMYW5ndWFnZSkge1xyXG4gICAgICB0aGlzLmNoYW5nZUxhbmd1YWdlKHRoaXMuYWN0aXZlU3lzdGVtLnRhcmdldExhbmd1YWdlLCB0YXJnZXRMYW5ndWFnZUNvZGUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlTGFuZ3VhZ2UodGhpcy5hY3RpdmVTeXN0ZW0uc291cmNlTGFuZ3VhZ2UsIHRhcmdldExhbmd1YWdlQ29kZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVJlY2VudFN5c3RlbUFycmF5KCkge1xyXG4gICAgbGV0IHN5c3RlbUlkQXJyYXk6IHN0cmluZ1tdO1xyXG4gICAgY29uc3QgcmVjZW50U3lzdGVtQXJyYXk6IFN5c3RlbVtdID0gW107XHJcbiAgICB0cnkge1xyXG4gICAgICBzeXN0ZW1JZEFycmF5ID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnJlY2VudFN5c3RlbUtleSkgPz8gXCJbXVwiKTtcclxuICAgIH1cclxuICAgIGNhdGNoIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgc3lzdGVtSWRBcnJheS5mb3JFYWNoKChsYW5ndWFnZUlkKSA9PiB7XHJcbiAgICAgIGNvbnN0IGV4aXN0aW5nU3lzdGVtID0gdGhpcy5zeXN0ZW1zLmZpbmQoc3lzdGVtID0+IHN5c3RlbS5sYW5ndWFnZUlkID09PSBsYW5ndWFnZUlkKTtcclxuICAgICAgaWYgKGV4aXN0aW5nU3lzdGVtICYmICF0aGlzLnJlY2VudFN5c3RlbXMuaW5jbHVkZXMoZXhpc3RpbmdTeXN0ZW0pKSB7XHJcbiAgICAgICAgcmVjZW50U3lzdGVtQXJyYXkucHVzaChleGlzdGluZ1N5c3RlbSk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICB0aGlzLnJlY2VudFN5c3RlbXMgPSByZWNlbnRTeXN0ZW1BcnJheTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkVG9SZWNlbnRTeXN0ZW1BcnJheShzeXN0ZW06IFN5c3RlbSkge1xyXG4gICAgaWYgKHN5c3RlbS5pZCA9PT0gQVVUT19MQU5HVUFHRV9ERVRFQ1RJT05fS0VZKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBleGlzdGluZ1N5c3RlbSA9IHRoaXMucmVjZW50U3lzdGVtcy5maW5kKGV4aXN0aW5nID0+IGV4aXN0aW5nLmxhbmd1YWdlSWQgPT09IHN5c3RlbS5sYW5ndWFnZUlkKTtcclxuICAgIC8vIGlmIHN5c3RlbSBhbHJlYWR5IGluIGxpc3QsIHB1dCBpdCB0byBmaXJzdCBwb3NpdGlvbi4gSWYgaXggMCwgbm8gYWN0aW9uIHJlcXVpcmVkIHNpbmNlIGxhdGVzdCBzeXN0ZW0gaXMgYWxyZWFkeSBmaXJzdC5cclxuICAgIGlmIChleGlzdGluZ1N5c3RlbSkge1xyXG4gICAgICBjb25zdCBzeXN0ZW1JeEluUmVjZW50TGlzdCA9IHRoaXMucmVjZW50U3lzdGVtcy5pbmRleE9mKGV4aXN0aW5nU3lzdGVtKTtcclxuICAgICAgaWYgKHN5c3RlbUl4SW5SZWNlbnRMaXN0ID4gMCkge1xyXG4gICAgICAgIHRoaXMucmVjZW50U3lzdGVtcy5zcGxpY2Uoc3lzdGVtSXhJblJlY2VudExpc3QsIDEpO1xyXG4gICAgICAgIHRoaXMucmVjZW50U3lzdGVtcy5zcGxpY2UoMCwgMCwgc3lzdGVtKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIC8vIGlmIGxpc3QgdG9vIGxvbmcsIHJlbW92ZSBsYXN0IChvbGRlc3QgZWxlbWVudClcclxuICAgICAgd2hpbGUgKHRoaXMucmVjZW50U3lzdGVtcy5sZW5ndGggPj0gdGhpcy5yZWNlbnRTeXN0ZW1zTWF4Q291bnQpIHtcclxuICAgICAgICB0aGlzLnJlY2VudFN5c3RlbXMucG9wKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMucmVjZW50U3lzdGVtcy5zcGxpY2UoMCwgMCwgc3lzdGVtKTtcclxuICAgIH1cclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMucmVjZW50U3lzdGVtS2V5LCBKU09OLnN0cmluZ2lmeSh0aGlzLnJlY2VudFN5c3RlbXMubWFwKHN5c3RlbSA9PiBzeXN0ZW0ubGFuZ3VhZ2VJZCkpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2FuU3dhcFN5c3RlbUxhbmd1YWdlcygpOiBib29sZWFuIHtcclxuICAgIGxldCBsYW5nU3dhcEFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHRoaXMuc3lzdGVtcykge1xyXG4gICAgICBjb25zdCBzeXN0ZW0gPSBlbGVtZW50O1xyXG4gICAgICBpZiAoc3lzdGVtLnNvdXJjZUxhbmd1YWdlID09IHRoaXMudGFyZ2V0TGFuZ3VhZ2UgJiYgc3lzdGVtLnRhcmdldExhbmd1YWdlID09IHRoaXMuc291cmNlTGFuZ3VhZ2UpIHtcclxuICAgICAgICBsYW5nU3dhcEFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuY2FuU3dhcExhbmd1YWdlcyA9IGxhbmdTd2FwQWN0aXZlO1xyXG4gICAgcmV0dXJuIGxhbmdTd2FwQWN0aXZlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVMYW5nTGlzdChzeXN0ZW1zOiBTeXN0ZW1bXSwgc3JjTGFuZ0NvZGU/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGxhbmdMaXN0SXRlbUFycmF5OiBMYW5nTGlzdEl0ZW1bXSA9IFtdO1xyXG4gICAgc3lzdGVtcy5mb3JFYWNoKChzeXN0ZW0pID0+IHtcclxuICAgICAgaWYgKCFzcmNMYW5nQ29kZSB8fCBzcmNMYW5nQ29kZSA9PT0gc3lzdGVtLnNvdXJjZUxhbmd1YWdlKSB7XHJcbiAgICAgICAgbGFuZ0xpc3RJdGVtQXJyYXkucHVzaChcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgZG9tYWluOiBzeXN0ZW0uZG9tYWluIGFzIHN0cmluZyxcclxuICAgICAgICAgICAgbGFuZzogc3JjTGFuZ0NvZGUgPyBzeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UgOiBzeXN0ZW0uc291cmNlTGFuZ3VhZ2UsXHJcbiAgICAgICAgICAgIGxhbmd1YWdlSWQ6IHN5c3RlbS5sYW5ndWFnZUlkLFxyXG4gICAgICAgICAgICB2ZW5kb3I6IHN5c3RlbS52ZW5kb3JcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIGxhbmdMaXN0SXRlbUFycmF5O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kQ29ycmVjdFN5c3RlbShzb3VyY2VMYW5ndWFnZTogc3RyaW5nLCB0YXJnZXRMYW5ndWFnZTogc3RyaW5nLCBkb21haW4/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKHNvdXJjZUxhbmd1YWdlID09PSBBVVRPX0xBTkdVQUdFX0RFVEVDVElPTl9LRVkpIHtcclxuICAgICAgdGhpcy50YXJnZXRMYW5ndWFnZSA9IHRhcmdldExhbmd1YWdlO1xyXG4gICAgICB0aGlzLmFjdGl2ZVN5c3RlbS50YXJnZXRMYW5ndWFnZSA9IHRhcmdldExhbmd1YWdlO1xyXG4gICAgICByZXR1cm4gYCR7QVVUT19MQU5HVUFHRV9ERVRFQ1RJT05fS0VZfS0ke3RhcmdldExhbmd1YWdlfWBcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBzeXN0ZW1zID0gdGhpcy5zeXN0ZW1zO1xyXG5cclxuICAgIGNvbnN0IHN5c3RlbXNGb3JMYW5ndWFnZVBhaXIgPSBzeXN0ZW1zLmZpbHRlcihzeXN0ZW0gPT4gc3lzdGVtLnNvdXJjZUxhbmd1YWdlID09PSBzb3VyY2VMYW5ndWFnZSAmJiB0YXJnZXRMYW5ndWFnZSA9PT0gc3lzdGVtLnRhcmdldExhbmd1YWdlKTtcclxuICAgIC8vIElkZWFsbHkgdGhpcyBjYXNlIHNob3VsZCBub3QgaGFwcGVuLCBidXQgaXQgaXMgcG9zc2libGUuXHJcbiAgICBpZiAoc3lzdGVtc0Zvckxhbmd1YWdlUGFpci5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc3lzdGVtcy5maW5kKHN5c3RlbSA9PiBzeXN0ZW0uc291cmNlTGFuZ3VhZ2UgPT09IHNvdXJjZUxhbmd1YWdlKT8ubGFuZ3VhZ2VJZCBhcyBzdHJpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHN5c3RlbXNXaXRoRGVmYXVsdFZlbmRvciA9IHN5c3RlbXNGb3JMYW5ndWFnZVBhaXIuZmlsdGVyKHN5c3RlbSA9PiAoc3lzdGVtLnZlbmRvciB8fCB0aGlzLmRlZmF1bHRWZW5kb3IpID09PSB0aGlzLmRlZmF1bHRWZW5kb3IpO1xyXG4gICAgaWYgKHN5c3RlbXNXaXRoRGVmYXVsdFZlbmRvci5sZW5ndGggPT09IDApIHtcclxuICAgICAgc3lzdGVtc1dpdGhEZWZhdWx0VmVuZG9yID0gc3lzdGVtc0Zvckxhbmd1YWdlUGFpcjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc3lzdGVtc1dpdGhEZWZhdWx0RG9tYWluID0gc3lzdGVtc1dpdGhEZWZhdWx0VmVuZG9yLmZpbHRlcihzeXN0ZW0gPT4gZG9tYWluID8gc3lzdGVtLmRvbWFpbiA9PT0gZG9tYWluIDogdGhpcy5kZWZhdWx0RG9tYWlucy5pbmNsdWRlcyhzeXN0ZW0uZG9tYWluIGFzIHN0cmluZykpO1xyXG4gICAgaWYgKHN5c3RlbXNXaXRoRGVmYXVsdERvbWFpbi5sZW5ndGggPT09IDApIHtcclxuICAgICAgc3lzdGVtc1dpdGhEZWZhdWx0RG9tYWluID0gc3lzdGVtc1dpdGhEZWZhdWx0VmVuZG9yO1xyXG4gICAgfVxyXG4gICAgU29ydEhlbHBlci5zb3J0QnlBcnJheShzeXN0ZW1zV2l0aERlZmF1bHREb21haW4sIHRoaXMuZGVmYXVsdERvbWFpbnMsIFwiZG9tYWluXCIpO1xyXG5cclxuICAgIHJldHVybiBzeXN0ZW1zV2l0aERlZmF1bHREb21haW5bMF0ubGFuZ3VhZ2VJZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25BY3RpdmVTeXN0ZW1DaGFuZ2UocmV0cmFuc2xhdGUgPSB0cnVlKSB7XHJcbiAgICBjb25zdCBzeXN0ZW06IFN5c3RlbSA9IHRoaXMuYWN0aXZlU3lzdGVtO1xyXG4gICAgY29uc3QgdmVuZG9yID0gdGhpcy5hY3RpdmVTeXN0ZW0udmVuZG9yO1xyXG5cclxuICAgIGlmICh0aGlzLnNvdXJjZUxhbmd1YWdlICE9PSBBVVRPX0xBTkdVQUdFX0RFVEVDVElPTl9LRVkpIHtcclxuICAgICAgdGhpcy5hZGRUb1JlY2VudFN5c3RlbUFycmF5KHN5c3RlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hY3RpdmUubmV4dCh7XHJcbiAgICAgIHNvdXJjZUxhbmc6IHtcclxuICAgICAgICBsYW5nOiB0aGlzLnNvdXJjZUxhbmd1YWdlLFxyXG4gICAgICAgIGRvbWFpbjogc3lzdGVtLmRvbWFpbiBhcyBzdHJpbmcsXHJcbiAgICAgICAgdmVuZG9yOiB2ZW5kb3IsXHJcbiAgICAgICAgbGFuZ3VhZ2VJZDogc3lzdGVtLmxhbmd1YWdlSWQsXHJcbiAgICAgIH0sXHJcbiAgICAgIHNvdXJjZUxhbmdMaXN0OiB0aGlzLnNvdXJjZUxhbmdMaXN0LFxyXG4gICAgICBzeXN0ZW1JZDogc3lzdGVtLmlkLFxyXG4gICAgICBsYW5ndWFnZUlkOiBzeXN0ZW0ubGFuZ3VhZ2VJZCxcclxuICAgICAgdGFyZ2V0TGFuZzoge1xyXG4gICAgICAgIGRvbWFpbjogc3lzdGVtLmRvbWFpbiBhcyBzdHJpbmcsXHJcbiAgICAgICAgdmVuZG9yOiB2ZW5kb3IsXHJcbiAgICAgICAgbGFuZ3VhZ2VJZDogc3lzdGVtLmxhbmd1YWdlSWQsXHJcbiAgICAgICAgbGFuZzogdGhpcy50YXJnZXRMYW5ndWFnZVxyXG4gICAgICB9LFxyXG4gICAgICB0YXJnZXRMYW5nTGlzdDogdGhpcy50YXJnZXRMYW5nTGlzdCxcclxuICAgICAgdmVuZG9yczogdGhpcy52ZW5kb3JzLFxyXG4gICAgICBkb21haW5zOiB7IGFjdGl2ZTogdGhpcy5hY3RpdmVEb21haW4sIGRvbWFpbnM6IHRoaXMuZG9tYWlucyB9LFxyXG4gICAgICBzd2FwTGFuZ0FjdGl2ZTogdGhpcy5jYW5Td2FwU3lzdGVtTGFuZ3VhZ2VzKCksXHJcbiAgICAgIHN5c3RlbTogc3lzdGVtLFxyXG4gICAgICByZXRyYW5zbGF0ZTogcmV0cmFuc2xhdGUsXHJcbiAgICAgIHJlY2VudFN5c3RlbXM6IHRoaXMucmVjZW50U3lzdGVtcyxcclxuICAgICAgZGV0ZWN0ZWRMYW5ndWFnZTogdGhpcy5hY3RpdmVTeXN0ZW0uZGV0ZWN0ZWRMYW5ndWFnZSA9PT0gdGhpcy5zb3VyY2VMYW5ndWFnZSA/IHRoaXMuYWN0aXZlU3lzdGVtLmRldGVjdGVkTGFuZ3VhZ2UgOiBudWxsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlU3lzdGVtKGRvbWFpbjogc3RyaW5nLCBpZDogc3RyaW5nLCBsYW5ndWFnZUlkOiBzdHJpbmcsIHNvdXJjZUxhbmd1YWdlOiBzdHJpbmcsIHRhcmdldExhbmd1YWdlOiBzdHJpbmcsIHZlbmRvcjogc3RyaW5nLCBkZXRlY3RlZExhbmd1YWdlOiBzdHJpbmcsIGluY2x1ZGVzVGVybWlub2xvZ3k6IGJvb2xlYW4pOiBTeXN0ZW0ge1xyXG4gICAgcmV0dXJuIHsgZG9tYWluLCBpZCwgbGFuZ3VhZ2VJZCwgc291cmNlTGFuZ3VhZ2UsIHRhcmdldExhbmd1YWdlLCB2ZW5kb3IsIGRldGVjdGVkTGFuZ3VhZ2UsIGluY2x1ZGVzVGVybWlub2xvZ3kgfVxyXG4gIH1cclxufVxyXG4iXX0=
379
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS1zeXN0ZW0tbWFuYWdlbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLWNvbW1vbi9zZXJ2aWNlcy90bGQtdHJhbnNsYXRlLXN5c3RlbS1tYW5hZ2VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWtELFVBQVUsRUFBaUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNsSSxPQUFPLEVBQUUsZUFBZSxFQUFjLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7Ozs7QUFNMUYsTUFBTSxPQUFPLG1DQUFtQztJQStDM0I7SUFDQTtJQUNBO0lBaERuQixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLE9BQU8sR0FBYSxFQUFFLENBQUM7SUFDdkIsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQzFCLE9BQU8sR0FBRyxJQUFJLGFBQWEsQ0FBVyxDQUFDLENBQUMsQ0FBQztJQUN6QyxZQUFZLENBQVU7SUFDdEIsZ0JBQWdCLENBQVc7SUFFM0IsMEJBQTBCLEdBQUcsdUNBQXVDLENBQUM7SUFFN0Qsb0JBQW9CLEdBQUcsSUFBSSxPQUFPLEVBQVksQ0FBQztJQUV2RCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENB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YyxFQUFFLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUM3QyxNQUFNLEVBQUUsTUFBTTtZQUNkLFdBQVcsRUFBRSxXQUFXO1lBQ3hCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUk7U0FDekgsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUFjLEVBQUUsRUFBVSxFQUFFLFVBQWtCLEVBQUUsY0FBc0IsRUFBRSxjQUFzQixFQUFFLE1BQWMsRUFBRSxnQkFBd0IsRUFBRSxtQkFBNEI7UUFDekwsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLENBQUE7SUFDbEgsQ0FBQzt3R0EzYVUsbUNBQW1DOzRHQUFuQyxtQ0FBbUMsY0FGbEMsTUFBTTs7NEZBRVAsbUNBQW1DO2tCQUgvQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZlRGF0YSwgQWxlcnRTZXJ2aWNlLCBEb21haW4sIExhbmdMaXN0SXRlbSwgU29ydEhlbHBlciwgU3lzdGVtLCBTeXN0ZW1TZXJ2aWNlLCBWZW5kb3IgfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQVVUT19MQU5HVUFHRV9ERVRFQ1RJT05fS0VZIH0gZnJvbSAnLi4vbW9kZWxzL2F1dG8tbGFuZ3VhZ2UtZGV0ZWN0aW9uLWtleS5jb25zdCc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL3RsZC10cmFuc2xhdGUtY29uZmlnLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkVHJhbnNsYXRlU3lzdGVtTWFuYWdlbWVudFNlcnZpY2Uge1xyXG4gIG5vU3lzdGVtc0Vycm9yID0gZmFsc2U7XHJcbiAgc3lzdGVtczogU3lzdGVtW10gPSBbXTtcclxuICB3aWRnZXRJbml0aWFsaXplZCA9IGZhbHNlO1xyXG4gIHN5c0xpc3QgPSBuZXcgUmVwbGF5U3ViamVjdDxTeXN0ZW1bXT4oMSk7XHJcbiAgYWN0aXZlRG9tYWluITogRG9tYWluO1xyXG4gIGNhblN3YXBMYW5ndWFnZXMhOiBib29sZWFuO1xyXG5cclxuICBkZWZhdWx0RXJyb3JUcmFuc2xhdGlvbktleSA9ICdUTERfVFJBTlNMQVRFLkVSUk9SX05PX1NZU1RFTVNfTE9BREVEJztcclxuXHJcbiAgcHJpdmF0ZSBsb2FkZWRTeXN0ZW1zU3ViamVjdCA9IG5ldyBTdWJqZWN0PFN5c3RlbVtdPigpO1xyXG5cclxuICBnZXQgYWN0aXZlVmVuZG9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlU3lzdGVtLnZlbmRvciB8fCB0aGlzLmRlZmF1bHRWZW5kb3I7XHJcbiAgfVxyXG5cclxuICBnZXQgZGVmYXVsdFZlbmRvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLmRlZmF1bHRWZW5kb3I7XHJcbiAgfVxyXG5cclxuICBnZXQgZGVmYXVsdERvbWFpbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5kZWZhdWx0RG9tYWlucyBhcyBzdHJpbmdbXTtcclxuICB9XHJcblxyXG4gIGdldCBkZWZhdWx0VGFyZ2V0TGFuZ3VhZ2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5kZWZhdWx0VGFyZ2V0TGFuZ3VhZ2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFjdGl2ZVN5c3RlbSE6IFN5c3RlbTtcclxuICBwcml2YXRlIGRvbWFpbnM6IERvbWFpbltdID0gW107XHJcbiAgcHJpdmF0ZSB2ZW5kb3JzOiBWZW5kb3JbXSA9IFtdO1xyXG4gIHByaXZhdGUgc291cmNlTGFuZ3VhZ2UhOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSB0YXJnZXRMYW5ndWFnZSE6IHN0cmluZztcclxuICBwcml2YXRlIHNvdXJjZUxhbmdMaXN0OiBMYW5nTGlzdEl0ZW1bXSA9IFtdO1xyXG4gIHByaXZhdGUgdGFyZ2V0TGFuZ0xpc3Q6IExhbmdMaXN0SXRlbVtdID0gW107XHJcblxyXG4gIC8vI3JlZ2lvbiBSZWNlbnQgc3lzdGVtIHZhcmlhYmxlc1xyXG4gIC8vIFBvc3NpYmx5IGZyb20gY29uZmlnXHJcbiAgZ2V0IHJlY2VudFN5c3RlbXNNYXhDb3VudCgpIHsgcmV0dXJuIHRoaXMuY29uZmlnLmNvcmVDb25maWcubWF4UmVjZW50U3lzdGVtQ291bnQgYXMgbnVtYmVyOyB9XHJcbiAgcHJpdmF0ZSByZWNlbnRTeXN0ZW1zOiBTeXN0ZW1bXSA9IFtdO1xyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IHJlY2VudFN5c3RlbUtleSA9IFwicmVjZW50U3lzdGVtc1wiO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZlOiBCZWhhdmlvclN1YmplY3Q8QWN0aXZlRGF0YT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFjdGl2ZURhdGE+KDxhbnk+bnVsbCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBsYXN0VXNlZFN5c3RlbUtleTogc3RyaW5nID0gXCJsYXN0VXNlZFN5c3RlbVwiO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnQ6IEFsZXJ0U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgKiBUaGlzIG1ldGhvZCBpcyBiZWluZyBjYWxsZWQgd2hlbiBhdXRvIGxhbmd1YWdlIGRldGVjdGlvbiB3YXMgY2hvc2VuLlxyXG4gICovXHJcbiAgZW5hYmxlTGFuZ3VhZ2VEZXRlY3Rpb24oKTogdm9pZCB7XHJcbiAgICB0aGlzLnNvdXJjZUxhbmd1YWdlID0gQVVUT19MQU5HVUFHRV9ERVRFQ1RJT05fS0VZO1xyXG4gICAgdGhpcy5jaGFuZ2VMYW5ndWFnZSh0aGlzLnNvdXJjZUxhbmd1YWdlLCB0aGlzLnRhcmdldExhbmd1YWdlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogVGhpcyBtZXRob2QgaXMgYmVpbmcgdXNlZCB0byBzZXQgZGV0ZWN0ZWQgbGFuZ3VhZ2Ugd2hlbiBhcGkgcmVzcG9uc2UgaGFzIGl0LlxyXG4gICogQWxzbywgd2hlbiBsYW5ndWFnZSB3YXMgZGV0ZWN0ZWQgYW5kIHdlIHdhbnQgdG8gY2xlYXIgc291cmNlIHRleHQsIHRoaXMgbWV0aG9kIGFsc28gaXMgYmVpbmcgY2FsbGVkLlxyXG4gICovXHJcbiAgc2V0RGV0ZWN0ZWRMYW5ndWFnZShsYW5nQ29kZTogc3RyaW5nLCBkb21haW4/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGlzU291cmNlTGFuZ0NvZGVTYW1lQWZ0ZXJEZXRlY3Rpb24gPSB0aGlzLmFjdGl2ZVN5c3RlbT8uZGV0ZWN0ZWRMYW5ndWFnZSA9PT0gdGhpcy5zb3VyY2VMYW5ndWFnZTtcclxuICAgIC8vIEhlcmUgd2UgbmVlZCB0byBjbGVhciBvdXQgZGV0ZWN0ZWQgbGFuZ3VhZ2UsIGJ1dCBrZWVwIHRoZSBkZXRlY3Rpb24gZW5hYmxlZC5cclxuICAgIGlmICghbGFuZ0NvZGUgJiYgaXNTb3VyY2VMYW5nQ29kZVNhbWVBZnRlckRldGVjdGlvbikge1xyXG4gICAgICB0aGlzLnNvdXJjZUxhbmd1YWdlID0gQVVUT19MQU5HVUFHRV9ERVRFQ1RJT05fS0VZO1xyXG4gICAgICB0aGlzLmFjdGl2ZVN5c3RlbS5kZXRlY3RlZExhbmd1YWdlID0gbnVsbDtcclxuICAgICAgdGhpcy5jaGFuZ2VMYW5ndWFnZSh0aGlzLnNvdXJjZUxhbmd1YWdlLCB0aGlzLnRhcmdldExhbmd1YWdlLCBmYWxzZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBUaGlzIGlzIGJlaW5nIGNhbGxlZCwgd2hlbiBsYW5ndWFnZSBpcyBkZXRlY3RlZC5cclxuICAgIHRoaXMuc291cmNlTGFuZ3VhZ2UgPSBsYW5nQ29kZTtcclxuICAgIHRoaXMuYWN0aXZlU3lzdGVtLnNvdXJjZUxhbmd1YWdlID0gbGFuZ0NvZGU7XHJcbiAgICB0aGlzLmFjdGl2ZVN5c3RlbS5kZXRlY3RlZExhbmd1YWdlID0gbGFuZ0NvZGU7XHJcbiAgICB0aGlzLmNoYW5nZUxhbmd1YWdlKGxhbmdDb2RlLCB0aGlzLnRhcmdldExhbmd1YWdlLCBmYWxzZSwgZG9tYWluKTtcclxuICB9XHJcblxyXG4gIGdldFN5c3RlbXMoKTogU3lzdGVtW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3lzdGVtcztcclxuICB9XHJcblxyXG4gIGNoYW5nZUxhbmd1YWdlKHNvdXJjZTogc3RyaW5nLCB0YXJnZXQ6IHN0cmluZywgcmV0cmFuc2xhdGU/OiBib29sZWFuLCBkb21haW4/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHN5c3RlbUlkID0gdGhpcy5maW5kQ29ycmVjdFN5c3RlbShzb3VyY2UsIHRhcmdldCwgZG9tYWluKTtcclxuICAgIHRoaXMuY2hhbmdlU3lzdGVtKHN5c3RlbUlkLCByZXRyYW5zbGF0ZSk7XHJcbiAgfVxyXG5cclxuICBnZXRBY3RpdmVEYXRhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWN0aXZlU3lzdGVtT2JqKCk6IFN5c3RlbSB7XHJcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVTeXN0ZW07XHJcbiAgfVxyXG5cclxuICBnZXRBY3RpdmVWZW5kb3JzQW5kRG9tYWlucygpIHtcclxuICAgIGlmICghdGhpcy5zb3VyY2VMYW5ndWFnZSB8fCAhdGhpcy50YXJnZXRMYW5ndWFnZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCB2ZW5kb3JzOiBWZW5kb3JbXSA9IFtdO1xyXG4gICAgY29uc3QgZG9tYWluczogRG9tYWluW10gPSBbXTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IHN5c3RlbSBvZiB0aGlzLnN5c3RlbXMpIHtcclxuICAgICAgaWYgKCEoc3lzdGVtLnNvdXJjZUxhbmd1YWdlID09PSB0aGlzLnNvdXJjZUxhbmd1YWdlICYmIHN5c3RlbS50YXJnZXRMYW5ndWFnZSA9PT0gdGhpcy50YXJnZXRMYW5ndWFnZSkpIHtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBkb21haW46IERvbWFpbiA9IHtcclxuICAgICAgICBsYW5ndWFnZUlkOiBzeXN0ZW0ubGFuZ3VhZ2VJZCxcclxuICAgICAgICB0aXRsZTogc3lzdGVtLmRvbWFpbiBhcyBzdHJpbmdcclxuICAgICAgfTtcclxuICAgICAgZG9tYWlucy5wdXNoKGRvbWFpbik7XHJcbiAgICAgIGNvbnN0IHZlbmRvcjogVmVuZG9yID0ge1xyXG4gICAgICAgIGxhbmd1YWdlSWQ6IHN5c3RlbS5sYW5ndWFnZUlkLFxyXG4gICAgICAgIHRpdGxlOiBzeXN0ZW0udmVuZG9yXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghdmVuZG9ycy5pbmNsdWRlcyh2ZW5kb3IpKSB7XHJcbiAgICAgICAgdmVuZG9ycy5wdXNoKHZlbmRvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChkb21haW4ubGFuZ3VhZ2VJZCA9PT0gdGhpcy5hY3RpdmVTeXN0ZW0ubGFuZ3VhZ2VJZCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlRG9tYWluID0gZG9tYWluO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kb21haW5zID0gZG9tYWlucztcclxuICAgIHRoaXMudmVuZG9ycyA9IHZlbmRvcnM7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0TGFzdFVzZWRTeXN0ZW0oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmxhc3RVc2VkU3lzdGVtS2V5KSBhcyBzdHJpbmc7XHJcbiAgfVxyXG5cclxuICBnZXRVbmlxdWVMYW5ndWFnZXMobGlzdDogTGFuZ0xpc3RJdGVtW10pOiBzdHJpbmdbXSB7XHJcbiAgICBpZiAoIWxpc3QpIHtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGl0bGVzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIGxpc3QuZm9yRWFjaCgobGFuZykgPT4ge1xyXG4gICAgICBjb25zdCBsYW5nVGl0bGUgPSBsYW5nLmxhbmc7XHJcbiAgICAgIGNvbnN0IGl4ID0gdGl0bGVzLmluZGV4T2YobGFuZ1RpdGxlIGFzIHN0cmluZyk7XHJcbiAgICAgIGlmIChpeCA9PSAtMSkge1xyXG4gICAgICAgIHRpdGxlcy5wdXNoKGxhbmdUaXRsZSBhcyBzdHJpbmcpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdGl0bGVzO1xyXG4gIH1cclxuXHJcbiAgaW5pdChkZWZhdWx0U3lzdGVtTGFuZ3VhZ2VJZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0U3lzdGVtTGlzdCgpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IFN5c3RlbVtdKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zeXN0ZW1zID0gcmVzO1xyXG4gICAgICAgIGlmIChyZXMubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgIHRoaXMubG9hZGVkU3lzdGVtc1N1YmplY3QubmV4dChyZXMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLnN5c3RlbUV4aXN0cyhkZWZhdWx0U3lzdGVtTGFuZ3VhZ2VJZCwgdGhpcy5zeXN0ZW1zKSAmJiBkZWZhdWx0U3lzdGVtTGFuZ3VhZ2VJZCAhPT0gQVVUT19MQU5HVUFHRV9ERVRFQ1RJT05fS0VZKSB7XHJcbiAgICAgICAgICBkZWZhdWx0U3lzdGVtTGFuZ3VhZ2VJZCA9IHRoaXMuc3lzdGVtc1swXT8ubGFuZ3VhZ2VJZDtcclxuICAgICAgICAgIGZvciAoY29uc3Qgc3lzdGVtIG9mIHRoaXMuc3lzdGVtcykge1xyXG4gICAgICAgICAgICBjb25zdCB2ZW5kb3IgPSBzeXN0ZW0udmVuZG9yO1xyXG4gICAgICAgICAgICBpZiAodmVuZG9yID09PSB0aGlzLmRlZmF1bHRWZW5kb3IpIHtcclxuICAgICAgICAgICAgICBkZWZhdWx0U3lzdGVtTGFuZ3VhZ2VJZCA9IHN5c3RlbS5sYW5ndWFnZUlkO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZGVmYXVsdFN5c3RlbUxhbmd1YWdlSWQgPT09IEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWSkge1xyXG4gICAgICAgICAgdGhpcy50YXJnZXRMYW5ndWFnZSA9IHRoaXMuZGVmYXVsdFRhcmdldExhbmd1YWdlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5jcmVhdGVSZWNlbnRTeXN0ZW1BcnJheSgpO1xyXG4gICAgICAgIHRoaXMuc291cmNlTGFuZ0xpc3QgPSB0aGlzLmNyZWF0ZUxhbmdMaXN0KHRoaXMuc3lzdGVtcyk7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VTeXN0ZW0oZGVmYXVsdFN5c3RlbUxhbmd1YWdlSWQpO1xyXG4gICAgICAgIHRoaXMud2lkZ2V0SW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc3lzTGlzdC5uZXh0KHRoaXMuc3lzdGVtcyk7XHJcbiAgICAgICAgdGhpcy5ub1N5c3RlbXNFcnJvciA9IGZhbHNlO1xyXG5cclxuICAgICAgICBpZiAoZGVmYXVsdFN5c3RlbUxhbmd1YWdlSWQgPT09IEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWSkge1xyXG4gICAgICAgICAgdGhpcy5lbmFibGVMYW5ndWFnZURldGVjdGlvbigpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xyXG4gICAgICAgIHRoaXMubm9TeXN0ZW1zRXJyb3IgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuYWxlcnQuZXJyb3IodGhpcy5kZWZhdWx0RXJyb3JUcmFuc2xhdGlvbktleSwgZXJyb3IpO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRMb2FkZWRTeXN0ZW1zKCk6IE9ic2VydmFibGU8U3lzdGVtW10+IHtcclxuICAgIHJldHVybiB0aGlzLmxvYWRlZFN5c3RlbXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0TGFzdFVzZWRTeXN0ZW0oc3lzdGVtSWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMubGFzdFVzZWRTeXN0ZW1LZXksIHN5c3RlbUlkKTtcclxuICB9XHJcblxyXG4gIHN3YXBTeXN0ZW1MYW5ndWFnZXMoKSB7XHJcbiAgICB0aGlzLmNoYW5nZUxhbmd1YWdlKHRoaXMudGFyZ2V0TGFuZ3VhZ2UsIHRoaXMuc291cmNlTGFuZ3VhZ2UpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlU3lzdGVtKGxhbmd1YWdlSWQ6IHN0cmluZywgcmV0cmFuc2xhdGUgPSB0cnVlKSB7XHJcbiAgICBpZiAodGhpcy5hY3RpdmVTeXN0ZW0/Lmxhbmd1YWdlSWQgPT09IGxhbmd1YWdlSWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBzZWxlY3RlZFN5c3RlbSE6IFN5c3RlbTtcclxuXHJcbiAgICBpZiAoIWxhbmd1YWdlSWQ/LmluY2x1ZGVzKEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWSkpIHtcclxuICAgICAgZm9yIChjb25zdCBzeXN0ZW0gb2YgdGhpcy5zeXN0ZW1zKSB7XHJcbiAgICAgICAgaWYgKHN5c3RlbS5sYW5ndWFnZUlkID09PSBsYW5ndWFnZUlkKSB7XHJcbiAgICAgICAgICBzZWxlY3RlZFN5c3RlbSA9IHN5c3RlbTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc2VsZWN0ZWRTeXN0ZW0gPSB0aGlzLmNyZWF0ZVN5c3RlbSgnJywgbGFuZ3VhZ2VJZCwgbGFuZ3VhZ2VJZCwgdGhpcy5zb3VyY2VMYW5ndWFnZSwgdGhpcy50YXJnZXRMYW5ndWFnZSwgJycsIG51bGwsIGZhbHNlKTtcclxuXHJcbiAgICAgIHRoaXMudGFyZ2V0TGFuZ0xpc3QgPSB0aGlzLmNyZWF0ZUxhbmdMaXN0KHRoaXMuc3lzdGVtcywgdGhpcy5zb3VyY2VMYW5ndWFnZSk7XHJcbiAgICAgIHRoaXMudGFyZ2V0TGFuZ3VhZ2UgPSB0aGlzLnRhcmdldExhbmd1YWdlO1xyXG4gICAgICB0aGlzLnNvdXJjZUxhbmd1YWdlID0gdGhpcy5zb3VyY2VMYW5ndWFnZTtcclxuICAgICAgdGhpcy5hY3RpdmVTeXN0ZW0gPSBzZWxlY3RlZFN5c3RlbTtcclxuICAgICAgdGhpcy5kb21haW5zID0gW107XHJcbiAgICAgIHRoaXMudmVuZG9ycyA9IFtdO1xyXG5cclxuICAgICAgdGhpcy5vbkFjdGl2ZVN5c3RlbUNoYW5nZShyZXRyYW5zbGF0ZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RlZFN5c3RlbS5kZXRlY3RlZExhbmd1YWdlID0gdGhpcy5hY3RpdmVTeXN0ZW0/LmRldGVjdGVkTGFuZ3VhZ2U7XHJcblxyXG4gICAgdGhpcy50YXJnZXRMYW5nTGlzdCA9IHRoaXMuY3JlYXRlTGFuZ0xpc3QodGhpcy5zeXN0ZW1zLCBzZWxlY3RlZFN5c3RlbS5zb3VyY2VMYW5ndWFnZSk7XHJcbiAgICB0aGlzLnRhcmdldExhbmd1YWdlID0gc2VsZWN0ZWRTeXN0ZW0udGFyZ2V0TGFuZ3VhZ2U7XHJcbiAgICB0aGlzLnNvdXJjZUxhbmd1YWdlID0gc2VsZWN0ZWRTeXN0ZW0uc291cmNlTGFuZ3VhZ2U7XHJcbiAgICB0aGlzLmFjdGl2ZVN5c3RlbSA9IHNlbGVjdGVkU3lzdGVtO1xyXG4gICAgdGhpcy5nZXRBY3RpdmVWZW5kb3JzQW5kRG9tYWlucygpO1xyXG5cclxuICAgIHRoaXMub25BY3RpdmVTeXN0ZW1DaGFuZ2UocmV0cmFuc2xhdGUpO1xyXG5cclxuICAgIHRoaXMuc2V0TGFzdFVzZWRTeXN0ZW0oc2VsZWN0ZWRTeXN0ZW0ubGFuZ3VhZ2VJZCk7XHJcbiAgfVxyXG5cclxuICBzeXN0ZW1FeGlzdHMobGFuZ3VhZ2VJZDogc3RyaW5nLCBzeXN0ZW1MaXN0OiBTeXN0ZW1bXSk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgc3lzdGVtcyA9IHN5c3RlbUxpc3QgPz8gdGhpcy5zeXN0ZW1zO1xyXG4gICAgZm9yIChjb25zdCBzeXN0ZW0gb2Ygc3lzdGVtcykge1xyXG4gICAgICBpZiAoc3lzdGVtLmxhbmd1YWdlSWQgPT09IGxhbmd1YWdlSWQpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGlzVGVybWlub2xvZ3lTdXBwb3J0ZWQoc3lzdGVtOiBTeXN0ZW0pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBzeXN0ZW0uaW5jbHVkZXNUZXJtaW5vbG9neSBhcyBib29sZWFuO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlU291cmNlTGFuZ3VhZ2Uoc291cmNlTGFuZ3VhZ2VDb2RlOiBzdHJpbmcpIHtcclxuICAgIGlmIChzb3VyY2VMYW5ndWFnZUNvZGUgPT09IEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWSkge1xyXG4gICAgICB0aGlzLmVuYWJsZUxhbmd1YWdlRGV0ZWN0aW9uKCk7XHJcbiAgICAgIHJldHVybjsgICAgXHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmIChzb3VyY2VMYW5ndWFnZUNvZGUgPT09IHRoaXMuYWN0aXZlU3lzdGVtLnRhcmdldExhbmd1YWdlKSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlTGFuZ3VhZ2Uoc291cmNlTGFuZ3VhZ2VDb2RlLCB0aGlzLmFjdGl2ZVN5c3RlbS5zb3VyY2VMYW5ndWFnZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5jaGFuZ2VMYW5ndWFnZShzb3VyY2VMYW5ndWFnZUNvZGUsIHRoaXMuYWN0aXZlU3lzdGVtLnRhcmdldExhbmd1YWdlKTtcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgY2hhbmdlVGFyZ2V0TGFuZ3VhZ2UodGFyZ2V0TGFuZ3VhZ2VDb2RlOiBzdHJpbmcpIHtcclxuICAgIGlmICh0YXJnZXRMYW5ndWFnZUNvZGUgPT09IHRoaXMuYWN0aXZlU3lzdGVtLnNvdXJjZUxhbmd1YWdlKSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlTGFuZ3VhZ2UodGhpcy5hY3RpdmVTeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UsIHRhcmdldExhbmd1YWdlQ29kZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5jaGFuZ2VMYW5ndWFnZSh0aGlzLmFjdGl2ZVN5c3RlbS5zb3VyY2VMYW5ndWFnZSwgdGFyZ2V0TGFuZ3VhZ2VDb2RlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlUmVjZW50U3lzdGVtQXJyYXkoKSB7XHJcbiAgICBsZXQgc3lzdGVtSWRBcnJheTogc3RyaW5nW107XHJcbiAgICBjb25zdCByZWNlbnRTeXN0ZW1BcnJheTogU3lzdGVtW10gPSBbXTtcclxuICAgIHRyeSB7XHJcbiAgICAgIHN5c3RlbUlkQXJyYXkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMucmVjZW50U3lzdGVtS2V5KSA/PyBcIltdXCIpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2gge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBzeXN0ZW1JZEFycmF5LmZvckVhY2goKGxhbmd1YWdlSWQpID0+IHtcclxuICAgICAgY29uc3QgZXhpc3RpbmdTeXN0ZW0gPSB0aGlzLnN5c3RlbXMuZmluZChzeXN0ZW0gPT4gc3lzdGVtLmxhbmd1YWdlSWQgPT09IGxhbmd1YWdlSWQpO1xyXG4gICAgICBpZiAoZXhpc3RpbmdTeXN0ZW0gJiYgIXRoaXMucmVjZW50U3lzdGVtcy5pbmNsdWRlcyhleGlzdGluZ1N5c3RlbSkpIHtcclxuICAgICAgICByZWNlbnRTeXN0ZW1BcnJheS5wdXNoKGV4aXN0aW5nU3lzdGVtKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHRoaXMucmVjZW50U3lzdGVtcyA9IHJlY2VudFN5c3RlbUFycmF5O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRUb1JlY2VudFN5c3RlbUFycmF5KHN5c3RlbTogU3lzdGVtKSB7XHJcbiAgICBpZiAoc3lzdGVtLmlkID09PSBBVVRPX0xBTkdVQUdFX0RFVEVDVElPTl9LRVkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGV4aXN0aW5nU3lzdGVtID0gdGhpcy5yZWNlbnRTeXN0ZW1zLmZpbmQoZXhpc3RpbmcgPT4gZXhpc3RpbmcubGFuZ3VhZ2VJZCA9PT0gc3lzdGVtLmxhbmd1YWdlSWQpO1xyXG4gICAgLy8gaWYgc3lzdGVtIGFscmVhZHkgaW4gbGlzdCwgcHV0IGl0IHRvIGZpcnN0IHBvc2l0aW9uLiBJZiBpeCAwLCBubyBhY3Rpb24gcmVxdWlyZWQgc2luY2UgbGF0ZXN0IHN5c3RlbSBpcyBhbHJlYWR5IGZpcnN0LlxyXG4gICAgaWYgKGV4aXN0aW5nU3lzdGVtKSB7XHJcbiAgICAgIGNvbnN0IHN5c3RlbUl4SW5SZWNlbnRMaXN0ID0gdGhpcy5yZWNlbnRTeXN0ZW1zLmluZGV4T2YoZXhpc3RpbmdTeXN0ZW0pO1xyXG4gICAgICBpZiAoc3lzdGVtSXhJblJlY2VudExpc3QgPiAwKSB7XHJcbiAgICAgICAgdGhpcy5yZWNlbnRTeXN0ZW1zLnNwbGljZShzeXN0ZW1JeEluUmVjZW50TGlzdCwgMSk7XHJcbiAgICAgICAgdGhpcy5yZWNlbnRTeXN0ZW1zLnNwbGljZSgwLCAwLCBzeXN0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgLy8gaWYgbGlzdCB0b28gbG9uZywgcmVtb3ZlIGxhc3QgKG9sZGVzdCBlbGVtZW50KVxyXG4gICAgICB3aGlsZSAodGhpcy5yZWNlbnRTeXN0ZW1zLmxlbmd0aCA+PSB0aGlzLnJlY2VudFN5c3RlbXNNYXhDb3VudCkge1xyXG4gICAgICAgIHRoaXMucmVjZW50U3lzdGVtcy5wb3AoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5yZWNlbnRTeXN0ZW1zLnNwbGljZSgwLCAwLCBzeXN0ZW0pO1xyXG4gICAgfVxyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5yZWNlbnRTeXN0ZW1LZXksIEpTT04uc3RyaW5naWZ5KHRoaXMucmVjZW50U3lzdGVtcy5tYXAoc3lzdGVtID0+IHN5c3RlbS5sYW5ndWFnZUlkKSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjYW5Td2FwU3lzdGVtTGFuZ3VhZ2VzKCk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGxhbmdTd2FwQWN0aXZlID0gZmFsc2U7XHJcbiAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgdGhpcy5zeXN0ZW1zKSB7XHJcbiAgICAgIGNvbnN0IHN5c3RlbSA9IGVsZW1lbnQ7XHJcbiAgICAgIGlmIChzeXN0ZW0uc291cmNlTGFuZ3VhZ2UgPT0gdGhpcy50YXJnZXRMYW5ndWFnZSAmJiBzeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UgPT0gdGhpcy5zb3VyY2VMYW5ndWFnZSkge1xyXG4gICAgICAgIGxhbmdTd2FwQWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5jYW5Td2FwTGFuZ3VhZ2VzID0gbGFuZ1N3YXBBY3RpdmU7XHJcbiAgICByZXR1cm4gbGFuZ1N3YXBBY3RpdmU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUxhbmdMaXN0KHN5c3RlbXM6IFN5c3RlbVtdLCBzcmNMYW5nQ29kZT86IHN0cmluZykge1xyXG4gICAgY29uc3QgbGFuZ0xpc3RJdGVtQXJyYXk6IExhbmdMaXN0SXRlbVtdID0gW107XHJcbiAgICBzeXN0ZW1zLmZvckVhY2goKHN5c3RlbSkgPT4ge1xyXG4gICAgICBpZiAoIXNyY0xhbmdDb2RlIHx8IHNyY0xhbmdDb2RlID09PSBzeXN0ZW0uc291cmNlTGFuZ3VhZ2UgfHwgc3JjTGFuZ0NvZGUgPT09IEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWSkge1xyXG4gICAgICAgIGxhbmdMaXN0SXRlbUFycmF5LnB1c2goXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGRvbWFpbjogc3lzdGVtLmRvbWFpbiBhcyBzdHJpbmcsXHJcbiAgICAgICAgICAgIGxhbmc6IHNyY0xhbmdDb2RlID8gc3lzdGVtLnRhcmdldExhbmd1YWdlIDogc3lzdGVtLnNvdXJjZUxhbmd1YWdlLFxyXG4gICAgICAgICAgICBsYW5ndWFnZUlkOiBzeXN0ZW0ubGFuZ3VhZ2VJZCxcclxuICAgICAgICAgICAgdmVuZG9yOiBzeXN0ZW0udmVuZG9yXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBsYW5nTGlzdEl0ZW1BcnJheTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZENvcnJlY3RTeXN0ZW0oc291cmNlTGFuZ3VhZ2U6IHN0cmluZywgdGFyZ2V0TGFuZ3VhZ2U6IHN0cmluZywgZG9tYWluPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChzb3VyY2VMYW5ndWFnZSA9PT0gQVVUT19MQU5HVUFHRV9ERVRFQ1RJT05fS0VZKSB7XHJcbiAgICAgIHRoaXMudGFyZ2V0TGFuZ3VhZ2UgPSB0YXJnZXRMYW5ndWFnZTtcclxuICAgICAgdGhpcy5hY3RpdmVTeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UgPSB0YXJnZXRMYW5ndWFnZTtcclxuICAgICAgcmV0dXJuIGAke0FVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWX0tJHt0YXJnZXRMYW5ndWFnZX1gXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc3lzdGVtcyA9IHRoaXMuc3lzdGVtcztcclxuXHJcbiAgICBjb25zdCBzeXN0ZW1zRm9yTGFuZ3VhZ2VQYWlyID0gc3lzdGVtcy5maWx0ZXIoc3lzdGVtID0+IHN5c3RlbS5zb3VyY2VMYW5ndWFnZSA9PT0gc291cmNlTGFuZ3VhZ2UgJiYgdGFyZ2V0TGFuZ3VhZ2UgPT09IHN5c3RlbS50YXJnZXRMYW5ndWFnZSk7XHJcbiAgICAvLyBJZGVhbGx5IHRoaXMgY2FzZSBzaG91bGQgbm90IGhhcHBlbiwgYnV0IGl0IGlzIHBvc3NpYmxlLlxyXG4gICAgaWYgKHN5c3RlbXNGb3JMYW5ndWFnZVBhaXIubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnN5c3RlbXMuZmluZChzeXN0ZW0gPT4gc3lzdGVtLnNvdXJjZUxhbmd1YWdlID09PSBzb3VyY2VMYW5ndWFnZSk/Lmxhbmd1YWdlSWQgYXMgc3RyaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBzeXN0ZW1zV2l0aERlZmF1bHRWZW5kb3IgPSBzeXN0ZW1zRm9yTGFuZ3VhZ2VQYWlyLmZpbHRlcihzeXN0ZW0gPT4gKHN5c3RlbS52ZW5kb3IgfHwgdGhpcy5kZWZhdWx0VmVuZG9yKSA9PT0gdGhpcy5kZWZhdWx0VmVuZG9yKTtcclxuICAgIGlmIChzeXN0ZW1zV2l0aERlZmF1bHRWZW5kb3IubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHN5c3RlbXNXaXRoRGVmYXVsdFZlbmRvciA9IHN5c3RlbXNGb3JMYW5ndWFnZVBhaXI7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHN5c3RlbXNXaXRoRGVmYXVsdERvbWFpbiA9IHN5c3RlbXNXaXRoRGVmYXVsdFZlbmRvci5maWx0ZXIoc3lzdGVtID0+IGRvbWFpbiA/IHN5c3RlbS5kb21haW4gPT09IGRvbWFpbiA6IHRoaXMuZGVmYXVsdERvbWFpbnMuaW5jbHVkZXMoc3lzdGVtLmRvbWFpbiBhcyBzdHJpbmcpKTtcclxuICAgIGlmIChzeXN0ZW1zV2l0aERlZmF1bHREb21haW4ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHN5c3RlbXNXaXRoRGVmYXVsdERvbWFpbiA9IHN5c3RlbXNXaXRoRGVmYXVsdFZlbmRvcjtcclxuICAgIH1cclxuICAgIFNvcnRIZWxwZXIuc29ydEJ5QXJyYXkoc3lzdGVtc1dpdGhEZWZhdWx0RG9tYWluLCB0aGlzLmRlZmF1bHREb21haW5zLCBcImRvbWFpblwiKTtcclxuXHJcbiAgICByZXR1cm4gc3lzdGVtc1dpdGhEZWZhdWx0RG9tYWluWzBdLmxhbmd1YWdlSWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQWN0aXZlU3lzdGVtQ2hhbmdlKHJldHJhbnNsYXRlID0gdHJ1ZSkge1xyXG4gICAgY29uc3Qgc3lzdGVtOiBTeXN0ZW0gPSB0aGlzLmFjdGl2ZVN5c3RlbTtcclxuICAgIGNvbnN0IHZlbmRvciA9IHRoaXMuYWN0aXZlU3lzdGVtLnZlbmRvcjtcclxuXHJcbiAgICBpZiAodGhpcy5zb3VyY2VMYW5ndWFnZSAhPT0gQVVUT19MQU5HVUFHRV9ERVRFQ1RJT05fS0VZKSB7XHJcbiAgICAgIHRoaXMuYWRkVG9SZWNlbnRTeXN0ZW1BcnJheShzeXN0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYWN0aXZlLm5leHQoe1xyXG4gICAgICBzb3VyY2VMYW5nOiB7XHJcbiAgICAgICAgbGFuZzogdGhpcy5zb3VyY2VMYW5ndWFnZSxcclxuICAgICAgICBkb21haW46IHN5c3RlbS5kb21haW4gYXMgc3RyaW5nLFxyXG4gICAgICAgIHZlbmRvcjogdmVuZG9yLFxyXG4gICAgICAgIGxhbmd1YWdlSWQ6IHN5c3RlbS5sYW5ndWFnZUlkLFxyXG4gICAgICB9LFxyXG4gICAgICBzb3VyY2VMYW5nTGlzdDogdGhpcy5zb3VyY2VMYW5nTGlzdCxcclxuICAgICAgc3lzdGVtSWQ6IHN5c3RlbS5pZCxcclxuICAgICAgbGFuZ3VhZ2VJZDogc3lzdGVtLmxhbmd1YWdlSWQsXHJcbiAgICAgIHRhcmdldExhbmc6IHtcclxuICAgICAgICBkb21haW46IHN5c3RlbS5kb21haW4gYXMgc3RyaW5nLFxyXG4gICAgICAgIHZlbmRvcjogdmVuZG9yLFxyXG4gICAgICAgIGxhbmd1YWdlSWQ6IHN5c3RlbS5sYW5ndWFnZUlkLFxyXG4gICAgICAgIGxhbmc6IHRoaXMudGFyZ2V0TGFuZ3VhZ2VcclxuICAgICAgfSxcclxuICAgICAgdGFyZ2V0TGFuZ0xpc3Q6IHRoaXMudGFyZ2V0TGFuZ0xpc3QsXHJcbiAgICAgIHZlbmRvcnM6IHRoaXMudmVuZG9ycyxcclxuICAgICAgZG9tYWluczogeyBhY3RpdmU6IHRoaXMuYWN0aXZlRG9tYWluLCBkb21haW5zOiB0aGlzLmRvbWFpbnMgfSxcclxuICAgICAgc3dhcExhbmdBY3RpdmU6IHRoaXMuY2FuU3dhcFN5c3RlbUxhbmd1YWdlcygpLFxyXG4gICAgICBzeXN0ZW06IHN5c3RlbSxcclxuICAgICAgcmV0cmFuc2xhdGU6IHJldHJhbnNsYXRlLFxyXG4gICAgICByZWNlbnRTeXN0ZW1zOiB0aGlzLnJlY2VudFN5c3RlbXMsXHJcbiAgICAgIGRldGVjdGVkTGFuZ3VhZ2U6IHRoaXMuYWN0aXZlU3lzdGVtLmRldGVjdGVkTGFuZ3VhZ2UgPT09IHRoaXMuc291cmNlTGFuZ3VhZ2UgPyB0aGlzLmFjdGl2ZVN5c3RlbS5kZXRlY3RlZExhbmd1YWdlIDogbnVsbFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVN5c3RlbShkb21haW46IHN0cmluZywgaWQ6IHN0cmluZywgbGFuZ3VhZ2VJZDogc3RyaW5nLCBzb3VyY2VMYW5ndWFnZTogc3RyaW5nLCB0YXJnZXRMYW5ndWFnZTogc3RyaW5nLCB2ZW5kb3I6IHN0cmluZywgZGV0ZWN0ZWRMYW5ndWFnZTogc3RyaW5nLCBpbmNsdWRlc1Rlcm1pbm9sb2d5OiBib29sZWFuKTogU3lzdGVtIHtcclxuICAgIHJldHVybiB7IGRvbWFpbiwgaWQsIGxhbmd1YWdlSWQsIHNvdXJjZUxhbmd1YWdlLCB0YXJnZXRMYW5ndWFnZSwgdmVuZG9yLCBkZXRlY3RlZExhbmd1YWdlLCBpbmNsdWRlc1Rlcm1pbm9sb2d5IH1cclxuICB9XHJcbn1cclxuIl19