@nlabs/metropolisjs 0.3.3 → 0.3.5

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.
Files changed (117) hide show
  1. package/.github/copilot-instructions.md +55 -167
  2. package/AGENTS.md +52 -10
  3. package/README.md +52 -2
  4. package/docs/ACTIONS.md +84 -22
  5. package/docs/assets/metropolisjs-logo.png +0 -0
  6. package/examples/factory-pattern-usage.ts +15 -10
  7. package/lex.config.mjs +38 -9
  8. package/lib/actions/appActions/appActions.d.ts.map +1 -1
  9. package/lib/actions/appActions/appActions.js +77 -6
  10. package/lib/actions/crmActions/crmActions.d.ts +87 -0
  11. package/lib/actions/crmActions/crmActions.d.ts.map +1 -0
  12. package/lib/actions/crmActions/crmActions.js +338 -0
  13. package/lib/actions/index.d.ts +2 -0
  14. package/lib/actions/index.d.ts.map +1 -1
  15. package/lib/actions/index.js +3 -1
  16. package/lib/actions/restActions/restActions.d.ts +19 -0
  17. package/lib/actions/restActions/restActions.d.ts.map +1 -0
  18. package/lib/actions/restActions/restActions.js +40 -0
  19. package/lib/actions/userActions/userActions.d.ts +12 -0
  20. package/lib/actions/userActions/userActions.d.ts.map +1 -1
  21. package/lib/actions/userActions/userActions.js +20 -4
  22. package/lib/adapters/appAdapter/appAdapter.d.ts +2 -2
  23. package/lib/adapters/appAdapter/appAdapter.d.ts.map +1 -1
  24. package/lib/adapters/arangoAdapter/arangoAdapter.d.ts +2 -2
  25. package/lib/adapters/arangoAdapter/arangoAdapter.d.ts.map +1 -1
  26. package/lib/adapters/contentAdapter/contentAdapter.d.ts +2 -2
  27. package/lib/adapters/contentAdapter/contentAdapter.d.ts.map +1 -1
  28. package/lib/adapters/conversationAdapter/conversationAdapter.d.ts +2 -2
  29. package/lib/adapters/conversationAdapter/conversationAdapter.d.ts.map +1 -1
  30. package/lib/adapters/eventAdapter/eventAdapter.d.ts +2 -2
  31. package/lib/adapters/eventAdapter/eventAdapter.d.ts.map +1 -1
  32. package/lib/adapters/fileAdapter/fileAdapter.d.ts +2 -2
  33. package/lib/adapters/fileAdapter/fileAdapter.d.ts.map +1 -1
  34. package/lib/adapters/groupAdapter/groupAdapter.d.ts +2 -2
  35. package/lib/adapters/groupAdapter/groupAdapter.d.ts.map +1 -1
  36. package/lib/adapters/imageAdapter/imageAdapter.d.ts +2 -2
  37. package/lib/adapters/imageAdapter/imageAdapter.d.ts.map +1 -1
  38. package/lib/adapters/locationAdapter/locationAdapter.d.ts +2 -2
  39. package/lib/adapters/locationAdapter/locationAdapter.d.ts.map +1 -1
  40. package/lib/adapters/messageAdapter/messageAdapter.d.ts +2 -2
  41. package/lib/adapters/messageAdapter/messageAdapter.d.ts.map +1 -1
  42. package/lib/adapters/permissionAdapter/permissionAdapter.d.ts +2 -2
  43. package/lib/adapters/permissionAdapter/permissionAdapter.d.ts.map +1 -1
  44. package/lib/adapters/personaAdapter/personaAdapter.d.ts +2 -2
  45. package/lib/adapters/personaAdapter/personaAdapter.d.ts.map +1 -1
  46. package/lib/adapters/postAdapter/postAdapter.d.ts +2 -2
  47. package/lib/adapters/postAdapter/postAdapter.d.ts.map +1 -1
  48. package/lib/adapters/reactionAdapter/reactionAdapter.d.ts +2 -2
  49. package/lib/adapters/reactionAdapter/reactionAdapter.d.ts.map +1 -1
  50. package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts +2 -2
  51. package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts.map +1 -1
  52. package/lib/adapters/sessionAdapter/sessionAdapter.d.ts +2 -2
  53. package/lib/adapters/sessionAdapter/sessionAdapter.d.ts.map +1 -1
  54. package/lib/adapters/tagAdapter/tagAdapter.d.ts +2 -2
  55. package/lib/adapters/tagAdapter/tagAdapter.d.ts.map +1 -1
  56. package/lib/adapters/translationAdapter/translationAdapter.d.ts +2 -2
  57. package/lib/adapters/translationAdapter/translationAdapter.d.ts.map +1 -1
  58. package/lib/adapters/userAdapter/userAdapter.d.ts +2 -2
  59. package/lib/adapters/userAdapter/userAdapter.d.ts.map +1 -1
  60. package/lib/adapters/videoAdapter/videoAdapter.d.ts +2 -2
  61. package/lib/adapters/videoAdapter/videoAdapter.d.ts.map +1 -1
  62. package/lib/config/index.d.ts +1 -0
  63. package/lib/config/index.d.ts.map +1 -1
  64. package/lib/config/index.js +1 -1
  65. package/lib/constants/Collections.d.ts +16 -0
  66. package/lib/constants/Collections.d.ts.map +1 -1
  67. package/lib/constants/Collections.js +17 -1
  68. package/lib/index.d.ts +4 -2
  69. package/lib/index.d.ts.map +1 -1
  70. package/lib/index.js +5 -3
  71. package/lib/stores/appStore.d.ts +10 -0
  72. package/lib/stores/appStore.d.ts.map +1 -1
  73. package/lib/stores/appStore.js +12 -2
  74. package/lib/tests/actionTestScenarios.d.ts +20 -0
  75. package/lib/tests/actionTestScenarios.d.ts.map +1 -0
  76. package/lib/tests/actionTestScenarios.js +851 -0
  77. package/lib/tests/testGraphQLServer.d.ts.map +1 -0
  78. package/lib/tests/testGraphQLServer.js +197 -0
  79. package/lib/tests/testGraphQLServerSimple.d.ts.map +1 -0
  80. package/lib/tests/testGraphQLServerSimple.js +52 -0
  81. package/lib/types/crm.types.d.ts +100 -0
  82. package/lib/types/crm.types.d.ts.map +1 -0
  83. package/lib/types/crm.types.js +6 -0
  84. package/lib/types/index.d.ts +1 -0
  85. package/lib/types/index.d.ts.map +1 -1
  86. package/lib/types/index.js +2 -1
  87. package/lib/utils/actionFactory.d.ts +6 -4
  88. package/lib/utils/actionFactory.d.ts.map +1 -1
  89. package/lib/utils/actionFactory.js +9 -1
  90. package/lib/utils/api.d.ts +14 -2
  91. package/lib/utils/api.d.ts.map +1 -1
  92. package/lib/utils/api.js +114 -32
  93. package/lib/utils/baseActionFactory.d.ts +2 -2
  94. package/lib/utils/dateUtils.d.ts +1 -1
  95. package/lib/utils/dateUtils.d.ts.map +1 -1
  96. package/lib/utils/index.d.ts +2 -2
  97. package/lib/utils/index.d.ts.map +1 -1
  98. package/lib/utils/index.js +3 -3
  99. package/lib/utils/location.d.ts +1 -1
  100. package/lib/utils/location.d.ts.map +1 -1
  101. package/lib/utils/requestCache.d.ts +1 -1
  102. package/lib/utils/requestCache.d.ts.map +1 -1
  103. package/lib/utils/useMetropolis.d.ts +2 -0
  104. package/lib/utils/useMetropolis.d.ts.map +1 -1
  105. package/lib/utils/useMetropolis.js +19 -1
  106. package/lib/utils/validatorFactory.d.ts +1 -1
  107. package/lib/utils/validatorFactory.d.ts.map +1 -1
  108. package/package.json +18 -12
  109. package/tsconfig.lint.json +2 -2
  110. package/tsconfig.test.json +3 -2
  111. package/jest.config.mjs +0 -28
  112. package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts.map +0 -1
  113. package/lib/__tests__/e2e/helpers/testGraphQLServer.js +0 -197
  114. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts.map +0 -1
  115. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.js +0 -52
  116. /package/lib/{__tests__/e2e/helpers → tests}/testGraphQLServer.d.ts +0 -0
  117. /package/lib/{__tests__/e2e/helpers → tests}/testGraphQLServerSimple.d.ts +0 -0
package/lib/index.js CHANGED
@@ -118,7 +118,7 @@ export const onInit = async (flux)=>{
118
118
  }
119
119
  };
120
120
  export * from './stores/index.js';
121
- export { appMutation, appQuery, publicMutation, publicQuery, refreshSession, uploadImage } from './utils/api.js';
121
+ export { appMutation, appQuery, publicMutation, publicQuery, refreshSession, resolveRestEndpoint, restRequest, uploadImage } from './utils/api.js';
122
122
  export { resolveEnvironmentConfig } from './config/index.js';
123
123
  export { getConfigFromFlux } from './utils/configUtils.js';
124
124
  export const Metropolis = ({ adapters, children, config = {}, translations = {} })=>{
@@ -235,14 +235,16 @@ export { createBaseActions } from './utils/baseActionFactory.js';
235
235
  export * from './utils/dateUtils.js';
236
236
  export * from './utils/file.js';
237
237
  export * from './utils/location.js';
238
- export { useContentActions, useEventActions, useGroupActions, useImageActions, useLocationActions, useMessageActions, useMetropolis, useMetropolisConfig, useMetropolisFlux, usePostActions, usePersonaActions, useReactionActions, useTagActions, useTranslationActions, useUserActions, useWebsocketActions } from './utils/useMetropolis.js';
238
+ export { useContentActions, useCrmActions, useEventActions, useGroupActions, useImageActions, useLocationActions, useMessageActions, useMetropolis, useMetropolisConfig, useMetropolisFlux, usePostActions, usePersonaActions, useReactionActions, useRestActions, useTagActions, useTranslationActions, useUserActions, useWebsocketActions } from './utils/useMetropolis.js';
239
239
  export { useConversationTyping } from './utils/useConversationTyping.js';
240
240
  export { createValidatorFactory, createValidatorManager } from './utils/validatorFactory.js';
241
241
  export * from './actions/appActions/appActions.js';
242
242
  export * from './actions/connectionActions/connectionActions.js';
243
243
  export * from './actions/conversationActions/conversationActions.js';
244
+ export * from './actions/crmActions/crmActions.js';
245
+ export * from './actions/restActions/restActions.js';
244
246
  export * from './actions/videoActions/videoActions.js';
245
247
  export * from './constants/Collections.js';
246
248
  export * from './types/index.js';
247
249
 
248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge3VzZUZsdXgsIHVzZUZsdXhTdGF0ZX0gZnJvbSAnQG5sYWJzL2Fya2hhbWpzLXV0aWxzLXJlYWN0JztcbmltcG9ydCBpMThuIGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IHtEYXRlVGltZX0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHt1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtJMThuZXh0UHJvdmlkZXJ9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5pbXBvcnQge2NyZWF0ZVdlYnNvY2tldEFjdGlvbnN9IGZyb20gJy4vYWN0aW9ucy93ZWJzb2NrZXRBY3Rpb25zL3dlYnNvY2tldEFjdGlvbnMuanMnO1xuaW1wb3J0IHtzeW5jUGVyc29uYVRhZ3NUb1Nlc3Npb24sIHN5bmNQZXJzb25hVG9TZXNzaW9ufSBmcm9tICcuL2FjdGlvbnMvcGVyc29uYUFjdGlvbnMvcGVyc29uYUFjdGlvbnMuanMnO1xuaW1wb3J0IHtyZXNvbHZlRW52aXJvbm1lbnRDb25maWd9IGZyb20gJy4vY29uZmlnL2luZGV4LmpzJztcbmltcG9ydCB7XG4gIGFwcCxcbiAgZXZlbnRzLFxuICBpbWFnZXMsXG4gIGxvY2F0aW9ucyxcbiAgbWVzc2FnZXMsXG4gIG5vdGlmaWNhdGlvbnMsXG4gIE5PVElGSUNBVElPTl9DT05TVEFOVFMsXG4gIHBlcm1pc3Npb25zLFxuICBQRVJTT05BX0NPTlNUQU5UUyxcbiAgcG9zdHMsXG4gIHN1YnNjcmlwdGlvbnMsXG4gIFRBR19DT05TVEFOVFMsXG4gIHRhZ3MsXG4gIFVTRVJfQ09OU1RBTlRTLFxuICB1c2VycyxcbiAgdmlkZW8sXG4gIHdlYnNvY2tldFxufSBmcm9tICcuL3N0b3Jlcy9pbmRleC5qcyc7XG5pbXBvcnQge3JlZnJlc2hTZXNzaW9ufSBmcm9tICcuL3V0aWxzL2FwaS5qcyc7XG5pbXBvcnQge2dldENvbmZpZ0Zyb21GbHV4fSBmcm9tICcuL3V0aWxzL2NvbmZpZ1V0aWxzLmpzJztcbmltcG9ydCB7aW5pdEkxOG59IGZyb20gJy4vdXRpbHMvaTE4bi5qcyc7XG5pbXBvcnQge01ldHJvcG9saXNDb250ZXh0fSBmcm9tICcuL3V0aWxzL01ldHJvcG9saXNQcm92aWRlci5qcyc7XG5pbXBvcnQge2dldFJlZnJlc2hXaW5kb3dNaW51dGVzLCBoeWRyYXRlU2Vzc2lvbkZyb21TdG9yYWdlLCBwYXJzZUp3dEV4cGlyeU1zfSBmcm9tICcuL3V0aWxzL3Nlc3Npb24uanMnO1xuaW1wb3J0IHtjcmVhdGVBY3Rpb259IGZyb20gJy4vdXRpbHMvYWN0aW9uRmFjdG9yeS5qcyc7XG5cbmltcG9ydCB0eXBlIHtGbHV4RnJhbWV3b3JrfSBmcm9tICdAbmxhYnMvYXJraGFtanMnO1xuaW1wb3J0IHR5cGUge01ldHJvcG9saXNDb25maWd1cmF0aW9uLCBNZXRyb3BvbGlzRW52aXJvbm1lbnRDb25maWd1cmF0aW9ufSBmcm9tICcuL2NvbmZpZy9pbmRleC5qcyc7XG5pbXBvcnQgdHlwZSB7TWV0cm9wb2xpc0FkYXB0ZXJzfSBmcm9tICcuL3V0aWxzL01ldHJvcG9saXNQcm92aWRlci5qcyc7XG5cbmV4cG9ydCB7TWV0cm9wb2xpc0NvbnRleHQsIE1ldHJvcG9saXNQcm92aWRlcn0gZnJvbSAnLi91dGlscy9NZXRyb3BvbGlzUHJvdmlkZXIuanMnO1xuXG5leHBvcnQgdHlwZSB7TWV0cm9wb2xpc0NvbmZpZ3VyYXRpb259IGZyb20gJy4vY29uZmlnL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHtNZXRyb3BvbGlzQWRhcHRlcnN9IGZyb20gJy4vdXRpbHMvTWV0cm9wb2xpc1Byb3ZpZGVyLmpzJztcblxuZXhwb3J0IGNvbnN0IG9uSW5pdCA9IGFzeW5jIChmbHV4OiBGbHV4RnJhbWV3b3JrKSA9PiB7XG4gIGlmKCFmbHV4LmdldFN0YXRlKCdhcHAubWV0cm9wb2xpc0luaXRpYWxpemVkJykpIHtcbiAgICBmbHV4LmFkZFN0b3JlcyhbXG4gICAgICBhcHAsXG4gICAgICBldmVudHMsXG4gICAgICBpbWFnZXMsXG4gICAgICBsb2NhdGlvbnMsXG4gICAgICBtZXNzYWdlcyxcbiAgICAgIG5vdGlmaWNhdGlvbnMsXG4gICAgICBwZXJtaXNzaW9ucyxcbiAgICAgIHBvc3RzLFxuICAgICAgc3Vic2NyaXB0aW9ucyxcbiAgICAgIHRhZ3MsXG4gICAgICB1c2VycyxcbiAgICAgIHZpZGVvLFxuICAgICAgd2Vic29ja2V0XG4gICAgXSk7XG4gICAgZmx1eC5vbihVU0VSX0NPTlNUQU5UUy5TSUdOX09VVF9TVUNDRVNTLCAoKSA9PiB7XG4gICAgICBmbHV4LmRpc3BhdGNoKHt0eXBlOiBOT1RJRklDQVRJT05fQ09OU1RBTlRTLkNMRUFSX0lURU1TfSk7XG4gICAgfSk7XG4gICAgZmx1eC5vbihQRVJTT05BX0NPTlNUQU5UUy5BRERfSVRFTV9TVUNDRVNTLCBhc3luYyAoe3BlcnNvbmEgPSB7fX06IHtwZXJzb25hPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj59KSA9PiB7XG4gICAgICBzeW5jUGVyc29uYVRvU2Vzc2lvbihmbHV4LCBwZXJzb25hKTtcblxuICAgICAgaWYocGVyc29uYT8ucGVyc29uYUlkICYmICFBcnJheS5pc0FycmF5KHBlcnNvbmE/LnRhZ3MpKSB7XG4gICAgICAgIGF3YWl0IHN5bmNQZXJzb25hVGFnc1RvU2Vzc2lvbihmbHV4LCBTdHJpbmcocGVyc29uYS5wZXJzb25hSWQpKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGZsdXgub24oUEVSU09OQV9DT05TVEFOVFMuVVBEQVRFX0lURU1fU1VDQ0VTUywgYXN5bmMgKHtwZXJzb25hID0ge319OiB7cGVyc29uYT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+fSkgPT4ge1xuICAgICAgc3luY1BlcnNvbmFUb1Nlc3Npb24oZmx1eCwgcGVyc29uYSk7XG5cbiAgICAgIGlmKHBlcnNvbmE/LnBlcnNvbmFJZCAmJiAhQXJyYXkuaXNBcnJheShwZXJzb25hPy50YWdzKSkge1xuICAgICAgICBhd2FpdCBzeW5jUGVyc29uYVRhZ3NUb1Nlc3Npb24oZmx1eCwgU3RyaW5nKHBlcnNvbmEucGVyc29uYUlkKSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBmbHV4Lm9uKFRBR19DT05TVEFOVFMuQUREX1BFUlNPTkFfU1VDQ0VTUywgKHt0YWd9OiB7dGFnPzoge25hbWU/OiBzdHJpbmc7IHRhZ0lkPzogc3RyaW5nfX0pID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRTZXNzaW9uID0gKGZsdXguZ2V0U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIHt9KSB8fCB7fSkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gJiB7XG4gICAgICAgIHRhZ3M/OiBBcnJheTx7bmFtZT86IHN0cmluZzsgdGFnSWQ/OiBzdHJpbmd9PjtcbiAgICAgIH07XG4gICAgICBjb25zdCBjdXJyZW50VGFncyA9IEFycmF5LmlzQXJyYXkoY3VycmVudFNlc3Npb24udGFncykgPyBjdXJyZW50U2Vzc2lvbi50YWdzIDogW107XG4gICAgICBjb25zdCBuZXh0VGFnSWQgPSBTdHJpbmcodGFnPy50YWdJZCB8fCAnJykudHJpbSgpO1xuXG4gICAgICBpZighbmV4dFRhZ0lkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbWVyZ2VkVGFncyA9IFsuLi5jdXJyZW50VGFncy5maWx0ZXIoKGl0ZW0pID0+IFN0cmluZyhpdGVtPy50YWdJZCB8fCAnJykudHJpbSgpICE9PSBuZXh0VGFnSWQpLCB0YWcgYXMge25hbWU/OiBzdHJpbmc7IHRhZ0lkPzogc3RyaW5nfV1cbiAgICAgICAgLnNvcnQoKGxlZnQsIHJpZ2h0KSA9PiBTdHJpbmcobGVmdD8ubmFtZSB8fCAnJykubG9jYWxlQ29tcGFyZShTdHJpbmcocmlnaHQ/Lm5hbWUgfHwgJycpKSk7XG4gICAgICBjb25zdCBuZXh0U2Vzc2lvbiA9IHsuLi5jdXJyZW50U2Vzc2lvbiwgdGFnczogbWVyZ2VkVGFnc307XG5cbiAgICAgIHZvaWQgZmx1eC5zZXRTdGF0ZSgndXNlci5zZXNzaW9uJywgbmV4dFNlc3Npb24pO1xuICAgICAgZmx1eC5kaXNwYXRjaCh7dHlwZTogVVNFUl9DT05TVEFOVFMuVVBEQVRFX1NFU1NJT05fU1VDQ0VTUywgdXNlcjoge3RhZ3M6IG1lcmdlZFRhZ3N9fSk7XG4gICAgfSk7XG5cbiAgICBmbHV4Lm9uKFRBR19DT05TVEFOVFMuUkVNT1ZFX1BFUlNPTkFfU1VDQ0VTUywgKHt0YWd9OiB7dGFnPzoge3RhZ0lkPzogc3RyaW5nfX0pID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRTZXNzaW9uID0gKGZsdXguZ2V0U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIHt9KSB8fCB7fSkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gJiB7XG4gICAgICAgIHRhZ3M/OiBBcnJheTx7bmFtZT86IHN0cmluZzsgdGFnSWQ/OiBzdHJpbmd9PjtcbiAgICAgIH07XG4gICAgICBjb25zdCBjdXJyZW50VGFncyA9IEFycmF5LmlzQXJyYXkoY3VycmVudFNlc3Npb24udGFncykgPyBjdXJyZW50U2Vzc2lvbi50YWdzIDogW107XG4gICAgICBjb25zdCBuZXh0VGFnSWQgPSBTdHJpbmcodGFnPy50YWdJZCB8fCAnJykudHJpbSgpO1xuXG4gICAgICBpZighbmV4dFRhZ0lkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmV4dFRhZ3MgPSBjdXJyZW50VGFncy5maWx0ZXIoKGl0ZW0pID0+IFN0cmluZyhpdGVtPy50YWdJZCB8fCAnJykudHJpbSgpICE9PSBuZXh0VGFnSWQpO1xuICAgICAgY29uc3QgbmV4dFNlc3Npb24gPSB7Li4uY3VycmVudFNlc3Npb24sIHRhZ3M6IG5leHRUYWdzfTtcblxuICAgICAgdm9pZCBmbHV4LnNldFN0YXRlKCd1c2VyLnNlc3Npb24nLCBuZXh0U2Vzc2lvbik7XG4gICAgICBmbHV4LmRpc3BhdGNoKHt0eXBlOiBVU0VSX0NPTlNUQU5UUy5VUERBVEVfU0VTU0lPTl9TVUNDRVNTLCB1c2VyOiB7dGFnczogbmV4dFRhZ3N9fSk7XG4gICAgfSk7XG4gICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGZsdXguc2V0U3RhdGUoJ2FwcC5tZXRyb3BvbGlzSW5pdGlhbGl6ZWQnLCB0cnVlKSk7XG4gIH1cblxuICBjb25zdCB0b2tlbiA9IFN0cmluZyhmbHV4LmdldFN0YXRlKCd1c2VyLnNlc3Npb24udG9rZW4nKSB8fCAnJyk7XG5cbiAgaWYodG9rZW4pIHtcbiAgICBjb25zdCBzZXNzaW9uID0gKGZsdXguZ2V0U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIHt9KSB8fCB7fSkgYXMge2V4cGlyZXM/OiBudW1iZXI7IGlzc3VlZD86IG51bWJlcjsgdG9rZW4/OiBzdHJpbmd9O1xuICAgIGNvbnN0IGNvbmZpZyA9IGdldENvbmZpZ0Zyb21GbHV4KGZsdXgpO1xuICAgIGNvbnN0IHRva2VuRXhwaXJlc0F0ID0gcGFyc2VKd3RFeHBpcnlNcyh0b2tlbik7XG4gICAgY29uc3Qgc2Vzc2lvbkxpZmV0aW1lTWludXRlcyA9IE1hdGgucm91bmQoKE51bWJlcihzZXNzaW9uLmV4cGlyZXMgfHwgMCkgLSBOdW1iZXIoc2Vzc2lvbi5pc3N1ZWQgfHwgMCkpIC8gKDEwMDAgKiA2MCkpO1xuICAgIGNvbnN0IHJlZnJlc2hXaW5kb3dNaW51dGVzID0gZ2V0UmVmcmVzaFdpbmRvd01pbnV0ZXMoXG4gICAgICBzZXNzaW9uTGlmZXRpbWVNaW51dGVzIHx8IDE1LFxuICAgICAgY29uZmlnLmFwcD8uc2Vzc2lvbiB8fCB7fVxuICAgICk7XG4gICAgY29uc3QgcmVmcmVzaEV4cGlyZXNNaW51dGVzID0gTWF0aC5tYXgoMSwgTnVtYmVyKGNvbmZpZy5hcHA/LnNlc3Npb24/Lm1heE1pbnV0ZXMgfHwgc2Vzc2lvbkxpZmV0aW1lTWludXRlcyB8fCAxNSkpO1xuICAgIGNvbnN0IGV4cGlyZXNBdCA9IE51bWJlcihzZXNzaW9uLmV4cGlyZXMgfHwgMCk7XG5cbiAgICBpZih0b2tlbkV4cGlyZXNBdCA+IDAgJiYgRGF0ZS5ub3coKSA+PSB0b2tlbkV4cGlyZXNBdCkge1xuICAgICAgYXdhaXQgcmVmcmVzaFNlc3Npb24oZmx1eCwgdG9rZW4sIHJlZnJlc2hFeHBpcmVzTWludXRlcyk7XG4gICAgfSBlbHNlIGlmKCFleHBpcmVzQXQpIHtcbiAgICAgIGF3YWl0IHJlZnJlc2hTZXNzaW9uKGZsdXgsIHRva2VuLCByZWZyZXNoRXhwaXJlc01pbnV0ZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtaW51dGVzVW50aWxFeHBpcnkgPSBNYXRoLnJvdW5kKERhdGVUaW1lLmZyb21NaWxsaXMoZXhwaXJlc0F0KS5kaWZmKERhdGVUaW1lLmxvY2FsKCksICdtaW51dGVzJykudG9PYmplY3QoKS5taW51dGVzIHx8IDApO1xuXG4gICAgICBpZihtaW51dGVzVW50aWxFeHBpcnkgPD0gMCB8fCBtaW51dGVzVW50aWxFeHBpcnkgPD0gcmVmcmVzaFdpbmRvd01pbnV0ZXMpIHtcbiAgICAgICAgYXdhaXQgcmVmcmVzaFNlc3Npb24oZmx1eCwgdG9rZW4gYXMgc3RyaW5nLCByZWZyZXNoRXhwaXJlc01pbnV0ZXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0ICogZnJvbSAnLi9zdG9yZXMvaW5kZXguanMnO1xuXG5leHBvcnQge1xuICBhcHBNdXRhdGlvbixcbiAgYXBwUXVlcnksXG4gIHB1YmxpY011dGF0aW9uLFxuICBwdWJsaWNRdWVyeSxcbiAgcmVmcmVzaFNlc3Npb24sXG4gIHVwbG9hZEltYWdlLFxuICB0eXBlIEFwaVJlc3VsdHNUeXBlLFxuICB0eXBlIFJlYWt0b3JEYkNvbGxlY3Rpb25cbn0gZnJvbSAnLi91dGlscy9hcGkuanMnO1xuXG5leHBvcnQge3Jlc29sdmVFbnZpcm9ubWVudENvbmZpZ30gZnJvbSAnLi9jb25maWcvaW5kZXguanMnO1xuZXhwb3J0IHtnZXRDb25maWdGcm9tRmx1eH0gZnJvbSAnLi91dGlscy9jb25maWdVdGlscy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0cm9wb2xpc1Byb3BzIHtcbiAgcmVhZG9ubHkgYWRhcHRlcnM/OiBNZXRyb3BvbGlzQWRhcHRlcnM7XG4gIHJlYWRvbmx5IGNoaWxkcmVuPzogUmVhY3QuUmVhY3RFbGVtZW50IHwgUmVhY3QuUmVhY3RFbGVtZW50W107XG4gIHJlYWRvbmx5IGNvbmZpZz86IE1ldHJvcG9saXNDb25maWd1cmF0aW9uO1xuICByZWFkb25seSB0cmFuc2xhdGlvbnM/OiBTaW1wbGVUcmFuc2xhdGlvbnMgfCBDb21wbGV4VHJhbnNsYXRpb25zO1xufVxuXG5leHBvcnQgdHlwZSBTaW1wbGVUcmFuc2xhdGlvbnMgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBsZXhUcmFuc2xhdGlvbiB7XG4gIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxvY2FsZTogc3RyaW5nO1xuICByZWFkb25seSBuYW1lc3BhY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIENvbXBsZXhUcmFuc2xhdGlvbnMgPSBSZWNvcmQ8c3RyaW5nLCBDb21wbGV4VHJhbnNsYXRpb24+O1xuXG5leHBvcnQgY29uc3QgTWV0cm9wb2xpcyA9ICh7YWRhcHRlcnMsIGNoaWxkcmVuLCBjb25maWcgPSB7fSwgdHJhbnNsYXRpb25zID0ge319OiBNZXRyb3BvbGlzUHJvcHMpID0+IHtcbiAgY29uc3QgZmx1eCA9IHVzZUZsdXgoKTtcbiAgY29uc3QgcmVzb2x2ZWRDb25maWcgPSB1c2VNZW1vPE1ldHJvcG9saXNFbnZpcm9ubWVudENvbmZpZ3VyYXRpb24+KCgpID0+IHJlc29sdmVFbnZpcm9ubWVudENvbmZpZyhjb25maWcpLCBbY29uZmlnXSk7XG4gIGNvbnN0IG1lcmdlZEFkYXB0ZXJzID0gdXNlTWVtbygoKSA9PiAoey4uLnJlc29sdmVkQ29uZmlnLmFkYXB0ZXJzLCAuLi5hZGFwdGVyc30pLCBbcmVzb2x2ZWRDb25maWcuYWRhcHRlcnMsIGFkYXB0ZXJzXSk7XG4gIGNvbnN0IHNlc3Npb25QZXJzb25hSWQgPSBTdHJpbmcodXNlRmx1eFN0YXRlKCd1c2VyLnNlc3Npb24ucGVyc29uYUlkJywgJycpIHx8ICcnKTtcbiAgY29uc3Qgc2Vzc2lvblRva2VuID0gU3RyaW5nKHVzZUZsdXhTdGF0ZSgndXNlci5zZXNzaW9uLnRva2VuJywgJycpIHx8ICcnKTtcbiAgY29uc3Qgc2Vzc2lvbkh5ZHJhdGVkID0gQm9vbGVhbih1c2VGbHV4U3RhdGUoJ2FwcC5zZXNzaW9uSHlkcmF0ZWQnLCBmYWxzZSkpO1xuICBjb25zdCBzZXNzaW9uID0gdXNlRmx1eFN0YXRlKCd1c2VyLnNlc3Npb24nLCB7fSkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGNvbnN0IG5vdGlmaWNhdGlvbkxpc3QgPSB1c2VGbHV4U3RhdGUoJ25vdGlmaWNhdGlvbi5saXN0JywgW10pIGFzIEFycmF5PFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcbiAgY29uc3QgY29udmVyc2F0aW9uTWFwID0gdXNlRmx1eFN0YXRlKCdtZXNzYWdlLmNvbnZlcnNhdGlvbnMnLCB7fSkgYXMgUmVjb3JkPHN0cmluZywgQXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+PjtcbiAgY29uc3QgbWVzc2FnZXMgPSB1c2VNZW1vKCgpID0+IE9iamVjdC52YWx1ZXMoY29udmVyc2F0aW9uTWFwKS5mbGF0KCksIFtjb252ZXJzYXRpb25NYXBdKTtcblxuICBjb25zdCB3ZWJzb2NrZXRzUmVmID0gdXNlUmVmPFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZVdlYnNvY2tldEFjdGlvbnM+IHwgbnVsbD4obnVsbCk7XG4gIGlmKCF3ZWJzb2NrZXRzUmVmLmN1cnJlbnQpIHtcbiAgICB3ZWJzb2NrZXRzUmVmLmN1cnJlbnQgPSBjcmVhdGVBY3Rpb24oJ3dlYnNvY2tldCcsIGZsdXgpIGFzIFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZVdlYnNvY2tldEFjdGlvbnM+O1xuICB9XG4gIGNvbnN0IHdlYnNvY2tldHMgPSB3ZWJzb2NrZXRzUmVmLmN1cnJlbnQ7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0STE4bih0cmFuc2xhdGlvbnMpO1xuICB9LCBbdHJhbnNsYXRpb25zXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgaXNBY3RpdmUgPSB0cnVlO1xuXG4gICAgdm9pZCAoYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGZsdXguc2V0U3RhdGUoJ2FwcC5jb25maWcnLCByZXNvbHZlZENvbmZpZykpO1xuICAgICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGZsdXguc2V0U3RhdGUoJ2FwcC5zZXNzaW9uSHlkcmF0ZWQnLCBmYWxzZSkpO1xuICAgICAgYXdhaXQgaHlkcmF0ZVNlc3Npb25Gcm9tU3RvcmFnZShmbHV4KTtcblxuICAgICAgaWYoIWlzQWN0aXZlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgb25Jbml0KGZsdXgpO1xuXG4gICAgICBpZighaXNBY3RpdmUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBhd2FpdCBQcm9taXNlLnJlc29sdmUoZmx1eC5zZXRTdGF0ZSgnYXBwLnNlc3Npb25IeWRyYXRlZCcsIHRydWUpKTtcbiAgICB9KSgpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlzQWN0aXZlID0gZmFsc2U7XG4gICAgfTtcbiAgfSwgW2ZsdXgsIHJlc29sdmVkQ29uZmlnXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZighc2Vzc2lvbkh5ZHJhdGVkKSB7XG4gICAgICB3ZWJzb2NrZXRzLndzQ2xvc2UoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZihzZXNzaW9uVG9rZW4pIHtcbiAgICAgIHdlYnNvY2tldHMud3NJbml0KHNlc3Npb25Ub2tlbiwgc2Vzc2lvblBlcnNvbmFJZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdlYnNvY2tldHMud3NDbG9zZSgpO1xuICAgIH1cbiAgfSwgW3Nlc3Npb25IeWRyYXRlZCwgc2Vzc2lvblBlcnNvbmFJZCwgc2Vzc2lvblRva2VuLCB3ZWJzb2NrZXRzXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2Vic29ja2V0cy53c0Nsb3NlKCk7XG4gICAgfTtcbiAgfSwgW3dlYnNvY2tldHNdKTtcblxuICBjb25zdCBpc0F1dGggPSB1c2VNZW1vKCgpID0+IHJlc29sdmVkQ29uZmlnLmlzQXV0aCB8fCAoKCkgPT4ge1xuICAgIGNvbnN0IHNlc3Npb25TdGF0ZSA9IGZsdXguZ2V0U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIHt9KTtcbiAgICByZXR1cm4gISFzZXNzaW9uU3RhdGUudXNlckFjdGl2ZTtcbiAgfSksIFtyZXNvbHZlZENvbmZpZy5pc0F1dGgsIGZsdXhdKTtcblxuICByZXR1cm4gKFxuICAgIDxNZXRyb3BvbGlzQ29udGV4dC5Qcm92aWRlclxuICAgICAgdmFsdWU9e3tcbiAgICAgICAgYWRhcHRlcnM6IG1lcmdlZEFkYXB0ZXJzLFxuICAgICAgICBjb25maWc6IHJlc29sdmVkQ29uZmlnLFxuICAgICAgICBmbHV4LFxuICAgICAgICBpc0F1dGgsXG4gICAgICAgIG1lc3NhZ2VzLFxuICAgICAgICBub3RpZmljYXRpb25zOiBub3RpZmljYXRpb25MaXN0LFxuICAgICAgICBzZXNzaW9uLFxuICAgICAgICB1cGRhdGVNZXNzYWdlOiAoKSA9PiB7IH0sXG4gICAgICAgIHVwZGF0ZU5vdGlmaWNhdGlvbjogd2Vic29ja2V0cy5zZW5kTm90aWZpY2F0aW9uXG4gICAgICB9fT5cbiAgICAgIDxJMThuZXh0UHJvdmlkZXIgaTE4bj17aTE4bn0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvSTE4bmV4dFByb3ZpZGVyPlxuICAgIDwvTWV0cm9wb2xpc0NvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBNZXRyb3BvbGlzO1xuXG5leHBvcnQge3VzZVRyYW5zbGF0aW9ufSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vYWRhcHRlcnMvaW5kZXguanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMvTWV0cm9wb2xpc0NvbnN0YW50cy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2dyYXBocWwvbWVzc2FnZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2dyYXBocWwvbm90aWZpY2F0aW9uLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmVzL2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIGNyZWF0ZUFjdGlvbixcbiAgY3JlYXRlQWN0aW9ucyxcbiAgY3JlYXRlQWxsQWN0aW9uc1xufSBmcm9tICcuL3V0aWxzL2FjdGlvbkZhY3RvcnkuanMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9hcHAuanMnO1xuZXhwb3J0IHtjcmVhdGVCYXNlQWN0aW9uc30gZnJvbSAnLi91dGlscy9iYXNlQWN0aW9uRmFjdG9yeS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2RhdGVVdGlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2ZpbGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9sb2NhdGlvbi5qcyc7XG5leHBvcnQge1xuICB1c2VDb250ZW50QWN0aW9ucyxcbiAgdXNlRXZlbnRBY3Rpb25zLFxuICB1c2VHcm91cEFjdGlvbnMsXG4gIHVzZUltYWdlQWN0aW9ucyxcbiAgdXNlTG9jYXRpb25BY3Rpb25zLFxuICB1c2VNZXNzYWdlQWN0aW9ucywgdXNlTWV0cm9wb2xpcyxcbiAgdXNlTWV0cm9wb2xpc0NvbmZpZyxcbiAgdXNlTWV0cm9wb2xpc0ZsdXgsIHVzZVBvc3RBY3Rpb25zLFxuICB1c2VQZXJzb25hQWN0aW9ucyxcbiAgdXNlUmVhY3Rpb25BY3Rpb25zLFxuICB1c2VUYWdBY3Rpb25zLFxuICB1c2VUcmFuc2xhdGlvbkFjdGlvbnMsXG4gIHVzZVVzZXJBY3Rpb25zLFxuICB1c2VXZWJzb2NrZXRBY3Rpb25zXG59IGZyb20gJy4vdXRpbHMvdXNlTWV0cm9wb2xpcy5qcyc7XG5leHBvcnQge3VzZUNvbnZlcnNhdGlvblR5cGluZ30gZnJvbSAnLi91dGlscy91c2VDb252ZXJzYXRpb25UeXBpbmcuanMnO1xuZXhwb3J0IHR5cGUge1xuICBDb252ZXJzYXRpb25UeXBpbmdPcHRpb25zLFxuICBVc2VDb252ZXJzYXRpb25UeXBpbmdPcHRpb25zXG59IGZyb20gJy4vdXRpbHMvdXNlQ29udmVyc2F0aW9uVHlwaW5nLmpzJztcbmV4cG9ydCB7XG4gIGNyZWF0ZVZhbGlkYXRvckZhY3RvcnksXG4gIGNyZWF0ZVZhbGlkYXRvck1hbmFnZXJcbn0gZnJvbSAnLi91dGlscy92YWxpZGF0b3JGYWN0b3J5LmpzJztcblxuZXhwb3J0IHR5cGUge1xuICBBY3Rpb25PcHRpb25zLFxuICBBY3Rpb25SZXR1cm5UeXBlLFxuICBBY3Rpb25UeXBlLFxuICBBY3Rpb25UeXBlc1xufSBmcm9tICcuL3V0aWxzL2FjdGlvbkZhY3RvcnkuanMnO1xuZXhwb3J0IHR5cGUge0Jhc2VBY3Rpb25PcHRpb25zfSBmcm9tICcuL3V0aWxzL2Jhc2VBY3Rpb25GYWN0b3J5LmpzJztcbmV4cG9ydCB0eXBlIHtCYXNlQWRhcHRlck9wdGlvbnN9IGZyb20gJy4vdXRpbHMvdmFsaWRhdG9yRmFjdG9yeS5qcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9ucy9hcHBBY3Rpb25zL2FwcEFjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zL2Nvbm5lY3Rpb25BY3Rpb25zL2Nvbm5lY3Rpb25BY3Rpb25zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9ucy9jb252ZXJzYXRpb25BY3Rpb25zL2NvbnZlcnNhdGlvbkFjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zL3ZpZGVvQWN0aW9ucy92aWRlb0FjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMvQ29sbGVjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9pbmRleC5qcyc7XG4iXSwibmFtZXMiOlsidXNlRmx1eCIsInVzZUZsdXhTdGF0ZSIsImkxOG4iLCJEYXRlVGltZSIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJJMThuZXh0UHJvdmlkZXIiLCJzeW5jUGVyc29uYVRhZ3NUb1Nlc3Npb24iLCJzeW5jUGVyc29uYVRvU2Vzc2lvbiIsInJlc29sdmVFbnZpcm9ubWVudENvbmZpZyIsImFwcCIsImV2ZW50cyIsImltYWdlcyIsImxvY2F0aW9ucyIsIm1lc3NhZ2VzIiwibm90aWZpY2F0aW9ucyIsIk5PVElGSUNBVElPTl9DT05TVEFOVFMiLCJwZXJtaXNzaW9ucyIsIlBFUlNPTkFfQ09OU1RBTlRTIiwicG9zdHMiLCJzdWJzY3JpcHRpb25zIiwiVEFHX0NPTlNUQU5UUyIsInRhZ3MiLCJVU0VSX0NPTlNUQU5UUyIsInVzZXJzIiwidmlkZW8iLCJ3ZWJzb2NrZXQiLCJyZWZyZXNoU2Vzc2lvbiIsImdldENvbmZpZ0Zyb21GbHV4IiwiaW5pdEkxOG4iLCJNZXRyb3BvbGlzQ29udGV4dCIsImdldFJlZnJlc2hXaW5kb3dNaW51dGVzIiwiaHlkcmF0ZVNlc3Npb25Gcm9tU3RvcmFnZSIsInBhcnNlSnd0RXhwaXJ5TXMiLCJjcmVhdGVBY3Rpb24iLCJNZXRyb3BvbGlzUHJvdmlkZXIiLCJvbkluaXQiLCJmbHV4IiwiZ2V0U3RhdGUiLCJhZGRTdG9yZXMiLCJvbiIsIlNJR05fT1VUX1NVQ0NFU1MiLCJkaXNwYXRjaCIsInR5cGUiLCJDTEVBUl9JVEVNUyIsIkFERF9JVEVNX1NVQ0NFU1MiLCJwZXJzb25hIiwicGVyc29uYUlkIiwiQXJyYXkiLCJpc0FycmF5IiwiU3RyaW5nIiwiVVBEQVRFX0lURU1fU1VDQ0VTUyIsIkFERF9QRVJTT05BX1NVQ0NFU1MiLCJ0YWciLCJjdXJyZW50U2Vzc2lvbiIsImN1cnJlbnRUYWdzIiwibmV4dFRhZ0lkIiwidGFnSWQiLCJ0cmltIiwibWVyZ2VkVGFncyIsImZpbHRlciIsIml0ZW0iLCJzb3J0IiwibGVmdCIsInJpZ2h0IiwibmFtZSIsImxvY2FsZUNvbXBhcmUiLCJuZXh0U2Vzc2lvbiIsInNldFN0YXRlIiwiVVBEQVRFX1NFU1NJT05fU1VDQ0VTUyIsInVzZXIiLCJSRU1PVkVfUEVSU09OQV9TVUNDRVNTIiwibmV4dFRhZ3MiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRva2VuIiwic2Vzc2lvbiIsImNvbmZpZyIsInRva2VuRXhwaXJlc0F0Iiwic2Vzc2lvbkxpZmV0aW1lTWludXRlcyIsIk1hdGgiLCJyb3VuZCIsIk51bWJlciIsImV4cGlyZXMiLCJpc3N1ZWQiLCJyZWZyZXNoV2luZG93TWludXRlcyIsInJlZnJlc2hFeHBpcmVzTWludXRlcyIsIm1heCIsIm1heE1pbnV0ZXMiLCJleHBpcmVzQXQiLCJEYXRlIiwibm93IiwibWludXRlc1VudGlsRXhwaXJ5IiwiZnJvbU1pbGxpcyIsImRpZmYiLCJsb2NhbCIsInRvT2JqZWN0IiwibWludXRlcyIsImFwcE11dGF0aW9uIiwiYXBwUXVlcnkiLCJwdWJsaWNNdXRhdGlvbiIsInB1YmxpY1F1ZXJ5IiwidXBsb2FkSW1hZ2UiLCJNZXRyb3BvbGlzIiwiYWRhcHRlcnMiLCJjaGlsZHJlbiIsInRyYW5zbGF0aW9ucyIsInJlc29sdmVkQ29uZmlnIiwibWVyZ2VkQWRhcHRlcnMiLCJzZXNzaW9uUGVyc29uYUlkIiwic2Vzc2lvblRva2VuIiwic2Vzc2lvbkh5ZHJhdGVkIiwiQm9vbGVhbiIsIm5vdGlmaWNhdGlvbkxpc3QiLCJjb252ZXJzYXRpb25NYXAiLCJPYmplY3QiLCJ2YWx1ZXMiLCJmbGF0Iiwid2Vic29ja2V0c1JlZiIsImN1cnJlbnQiLCJ3ZWJzb2NrZXRzIiwiaXNBY3RpdmUiLCJ3c0Nsb3NlIiwid3NJbml0IiwiaXNBdXRoIiwic2Vzc2lvblN0YXRlIiwidXNlckFjdGl2ZSIsIlByb3ZpZGVyIiwidmFsdWUiLCJ1cGRhdGVNZXNzYWdlIiwidXBkYXRlTm90aWZpY2F0aW9uIiwic2VuZE5vdGlmaWNhdGlvbiIsInVzZVRyYW5zbGF0aW9uIiwiY3JlYXRlQWN0aW9ucyIsImNyZWF0ZUFsbEFjdGlvbnMiLCJjcmVhdGVCYXNlQWN0aW9ucyIsInVzZUNvbnRlbnRBY3Rpb25zIiwidXNlRXZlbnRBY3Rpb25zIiwidXNlR3JvdXBBY3Rpb25zIiwidXNlSW1hZ2VBY3Rpb25zIiwidXNlTG9jYXRpb25BY3Rpb25zIiwidXNlTWVzc2FnZUFjdGlvbnMiLCJ1c2VNZXRyb3BvbGlzIiwidXNlTWV0cm9wb2xpc0NvbmZpZyIsInVzZU1ldHJvcG9saXNGbHV4IiwidXNlUG9zdEFjdGlvbnMiLCJ1c2VQZXJzb25hQWN0aW9ucyIsInVzZVJlYWN0aW9uQWN0aW9ucyIsInVzZVRhZ0FjdGlvbnMiLCJ1c2VUcmFuc2xhdGlvbkFjdGlvbnMiLCJ1c2VVc2VyQWN0aW9ucyIsInVzZVdlYnNvY2tldEFjdGlvbnMiLCJ1c2VDb252ZXJzYXRpb25UeXBpbmciLCJjcmVhdGVWYWxpZGF0b3JGYWN0b3J5IiwiY3JlYXRlVmFsaWRhdG9yTWFuYWdlciJdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLE9BQU8sRUFBRUMsWUFBWSxRQUFPLDhCQUE4QjtBQUNsRSxPQUFPQyxVQUFVLFVBQVU7QUFDM0IsU0FBUUMsUUFBUSxRQUFPLFFBQVE7QUFDL0IsU0FBUUMsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sUUFBTyxRQUFRO0FBQ2pELFNBQVFDLGVBQWUsUUFBTyxnQkFBZ0I7QUFHOUMsU0FBUUMsd0JBQXdCLEVBQUVDLG9CQUFvQixRQUFPLDZDQUE2QztBQUMxRyxTQUFRQyx3QkFBd0IsUUFBTyxvQkFBb0I7QUFDM0QsU0FDRUMsR0FBRyxFQUNIQyxNQUFNLEVB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
250
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge3VzZUZsdXgsIHVzZUZsdXhTdGF0ZX0gZnJvbSAnQG5sYWJzL2Fya2hhbWpzLXV0aWxzLXJlYWN0JztcbmltcG9ydCBpMThuIGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IHtEYXRlVGltZX0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHt1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtJMThuZXh0UHJvdmlkZXJ9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5pbXBvcnQge2NyZWF0ZVdlYnNvY2tldEFjdGlvbnN9IGZyb20gJy4vYWN0aW9ucy93ZWJzb2NrZXRBY3Rpb25zL3dlYnNvY2tldEFjdGlvbnMuanMnO1xuaW1wb3J0IHtzeW5jUGVyc29uYVRhZ3NUb1Nlc3Npb24sIHN5bmNQZXJzb25hVG9TZXNzaW9ufSBmcm9tICcuL2FjdGlvbnMvcGVyc29uYUFjdGlvbnMvcGVyc29uYUFjdGlvbnMuanMnO1xuaW1wb3J0IHtyZXNvbHZlRW52aXJvbm1lbnRDb25maWd9IGZyb20gJy4vY29uZmlnL2luZGV4LmpzJztcbmltcG9ydCB7XG4gIGFwcCxcbiAgZXZlbnRzLFxuICBpbWFnZXMsXG4gIGxvY2F0aW9ucyxcbiAgbWVzc2FnZXMsXG4gIG5vdGlmaWNhdGlvbnMsXG4gIE5PVElGSUNBVElPTl9DT05TVEFOVFMsXG4gIHBlcm1pc3Npb25zLFxuICBQRVJTT05BX0NPTlNUQU5UUyxcbiAgcG9zdHMsXG4gIHN1YnNjcmlwdGlvbnMsXG4gIFRBR19DT05TVEFOVFMsXG4gIHRhZ3MsXG4gIFVTRVJfQ09OU1RBTlRTLFxuICB1c2VycyxcbiAgdmlkZW8sXG4gIHdlYnNvY2tldFxufSBmcm9tICcuL3N0b3Jlcy9pbmRleC5qcyc7XG5pbXBvcnQge3JlZnJlc2hTZXNzaW9ufSBmcm9tICcuL3V0aWxzL2FwaS5qcyc7XG5pbXBvcnQge2dldENvbmZpZ0Zyb21GbHV4fSBmcm9tICcuL3V0aWxzL2NvbmZpZ1V0aWxzLmpzJztcbmltcG9ydCB7aW5pdEkxOG59IGZyb20gJy4vdXRpbHMvaTE4bi5qcyc7XG5pbXBvcnQge01ldHJvcG9saXNDb250ZXh0fSBmcm9tICcuL3V0aWxzL01ldHJvcG9saXNQcm92aWRlci5qcyc7XG5pbXBvcnQge2dldFJlZnJlc2hXaW5kb3dNaW51dGVzLCBoeWRyYXRlU2Vzc2lvbkZyb21TdG9yYWdlLCBwYXJzZUp3dEV4cGlyeU1zfSBmcm9tICcuL3V0aWxzL3Nlc3Npb24uanMnO1xuaW1wb3J0IHtjcmVhdGVBY3Rpb259IGZyb20gJy4vdXRpbHMvYWN0aW9uRmFjdG9yeS5qcyc7XG5cbmltcG9ydCB0eXBlIHtGbHV4RnJhbWV3b3JrfSBmcm9tICdAbmxhYnMvYXJraGFtanMnO1xuaW1wb3J0IHR5cGUge01ldHJvcG9saXNDb25maWd1cmF0aW9uLCBNZXRyb3BvbGlzRW52aXJvbm1lbnRDb25maWd1cmF0aW9ufSBmcm9tICcuL2NvbmZpZy9pbmRleC5qcyc7XG5pbXBvcnQgdHlwZSB7TWV0cm9wb2xpc0FkYXB0ZXJzfSBmcm9tICcuL3V0aWxzL01ldHJvcG9saXNQcm92aWRlci5qcyc7XG5cbmV4cG9ydCB7TWV0cm9wb2xpc0NvbnRleHQsIE1ldHJvcG9saXNQcm92aWRlcn0gZnJvbSAnLi91dGlscy9NZXRyb3BvbGlzUHJvdmlkZXIuanMnO1xuXG5leHBvcnQgdHlwZSB7TWV0cm9wb2xpc0NvbmZpZ3VyYXRpb259IGZyb20gJy4vY29uZmlnL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHtNZXRyb3BvbGlzQWRhcHRlcnN9IGZyb20gJy4vdXRpbHMvTWV0cm9wb2xpc1Byb3ZpZGVyLmpzJztcblxuZXhwb3J0IGNvbnN0IG9uSW5pdCA9IGFzeW5jIChmbHV4OiBGbHV4RnJhbWV3b3JrKSA9PiB7XG4gIGlmKCFmbHV4LmdldFN0YXRlKCdhcHAubWV0cm9wb2xpc0luaXRpYWxpemVkJykpIHtcbiAgICBmbHV4LmFkZFN0b3JlcyhbXG4gICAgICBhcHAsXG4gICAgICBldmVudHMsXG4gICAgICBpbWFnZXMsXG4gICAgICBsb2NhdGlvbnMsXG4gICAgICBtZXNzYWdlcyxcbiAgICAgIG5vdGlmaWNhdGlvbnMsXG4gICAgICBwZXJtaXNzaW9ucyxcbiAgICAgIHBvc3RzLFxuICAgICAgc3Vic2NyaXB0aW9ucyxcbiAgICAgIHRhZ3MsXG4gICAgICB1c2VycyxcbiAgICAgIHZpZGVvLFxuICAgICAgd2Vic29ja2V0XG4gICAgXSk7XG4gICAgZmx1eC5vbihVU0VSX0NPTlNUQU5UUy5TSUdOX09VVF9TVUNDRVNTLCAoKSA9PiB7XG4gICAgICBmbHV4LmRpc3BhdGNoKHt0eXBlOiBOT1RJRklDQVRJT05fQ09OU1RBTlRTLkNMRUFSX0lURU1TfSk7XG4gICAgfSk7XG4gICAgZmx1eC5vbihQRVJTT05BX0NPTlNUQU5UUy5BRERfSVRFTV9TVUNDRVNTLCBhc3luYyAoe3BlcnNvbmEgPSB7fX06IHtwZXJzb25hPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj59KSA9PiB7XG4gICAgICBzeW5jUGVyc29uYVRvU2Vzc2lvbihmbHV4LCBwZXJzb25hKTtcblxuICAgICAgaWYocGVyc29uYT8ucGVyc29uYUlkICYmICFBcnJheS5pc0FycmF5KHBlcnNvbmE/LnRhZ3MpKSB7XG4gICAgICAgIGF3YWl0IHN5bmNQZXJzb25hVGFnc1RvU2Vzc2lvbihmbHV4LCBTdHJpbmcocGVyc29uYS5wZXJzb25hSWQpKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGZsdXgub24oUEVSU09OQV9DT05TVEFOVFMuVVBEQVRFX0lURU1fU1VDQ0VTUywgYXN5bmMgKHtwZXJzb25hID0ge319OiB7cGVyc29uYT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+fSkgPT4ge1xuICAgICAgc3luY1BlcnNvbmFUb1Nlc3Npb24oZmx1eCwgcGVyc29uYSk7XG5cbiAgICAgIGlmKHBlcnNvbmE/LnBlcnNvbmFJZCAmJiAhQXJyYXkuaXNBcnJheShwZXJzb25hPy50YWdzKSkge1xuICAgICAgICBhd2FpdCBzeW5jUGVyc29uYVRhZ3NUb1Nlc3Npb24oZmx1eCwgU3RyaW5nKHBlcnNvbmEucGVyc29uYUlkKSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBmbHV4Lm9uKFRBR19DT05TVEFOVFMuQUREX1BFUlNPTkFfU1VDQ0VTUywgKHt0YWd9OiB7dGFnPzoge25hbWU/OiBzdHJpbmc7IHRhZ0lkPzogc3RyaW5nfX0pID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRTZXNzaW9uID0gKGZsdXguZ2V0U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIHt9KSB8fCB7fSkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gJiB7XG4gICAgICAgIHRhZ3M/OiBBcnJheTx7bmFtZT86IHN0cmluZzsgdGFnSWQ/OiBzdHJpbmd9PjtcbiAgICAgIH07XG4gICAgICBjb25zdCBjdXJyZW50VGFncyA9IEFycmF5LmlzQXJyYXkoY3VycmVudFNlc3Npb24udGFncykgPyBjdXJyZW50U2Vzc2lvbi50YWdzIDogW107XG4gICAgICBjb25zdCBuZXh0VGFnSWQgPSBTdHJpbmcodGFnPy50YWdJZCB8fCAnJykudHJpbSgpO1xuXG4gICAgICBpZighbmV4dFRhZ0lkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbWVyZ2VkVGFncyA9IFsuLi5jdXJyZW50VGFncy5maWx0ZXIoKGl0ZW0pID0+IFN0cmluZyhpdGVtPy50YWdJZCB8fCAnJykudHJpbSgpICE9PSBuZXh0VGFnSWQpLCB0YWcgYXMge25hbWU/OiBzdHJpbmc7IHRhZ0lkPzogc3RyaW5nfV1cbiAgICAgICAgLnNvcnQoKGxlZnQsIHJpZ2h0KSA9PiBTdHJpbmcobGVmdD8ubmFtZSB8fCAnJykubG9jYWxlQ29tcGFyZShTdHJpbmcocmlnaHQ/Lm5hbWUgfHwgJycpKSk7XG4gICAgICBjb25zdCBuZXh0U2Vzc2lvbiA9IHsuLi5jdXJyZW50U2Vzc2lvbiwgdGFnczogbWVyZ2VkVGFnc307XG5cbiAgICAgIHZvaWQgZmx1eC5zZXRTdGF0ZSgndXNlci5zZXNzaW9uJywgbmV4dFNlc3Npb24pO1xuICAgICAgZmx1eC5kaXNwYXRjaCh7dHlwZTogVVNFUl9DT05TVEFOVFMuVVBEQVRFX1NFU1NJT05fU1VDQ0VTUywgdXNlcjoge3RhZ3M6IG1lcmdlZFRhZ3N9fSk7XG4gICAgfSk7XG5cbiAgICBmbHV4Lm9uKFRBR19DT05TVEFOVFMuUkVNT1ZFX1BFUlNPTkFfU1VDQ0VTUywgKHt0YWd9OiB7dGFnPzoge3RhZ0lkPzogc3RyaW5nfX0pID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRTZXNzaW9uID0gKGZsdXguZ2V0U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIHt9KSB8fCB7fSkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gJiB7XG4gICAgICAgIHRhZ3M/OiBBcnJheTx7bmFtZT86IHN0cmluZzsgdGFnSWQ/OiBzdHJpbmd9PjtcbiAgICAgIH07XG4gICAgICBjb25zdCBjdXJyZW50VGFncyA9IEFycmF5LmlzQXJyYXkoY3VycmVudFNlc3Npb24udGFncykgPyBjdXJyZW50U2Vzc2lvbi50YWdzIDogW107XG4gICAgICBjb25zdCBuZXh0VGFnSWQgPSBTdHJpbmcodGFnPy50YWdJZCB8fCAnJykudHJpbSgpO1xuXG4gICAgICBpZighbmV4dFRhZ0lkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmV4dFRhZ3MgPSBjdXJyZW50VGFncy5maWx0ZXIoKGl0ZW0pID0+IFN0cmluZyhpdGVtPy50YWdJZCB8fCAnJykudHJpbSgpICE9PSBuZXh0VGFnSWQpO1xuICAgICAgY29uc3QgbmV4dFNlc3Npb24gPSB7Li4uY3VycmVudFNlc3Npb24sIHRhZ3M6IG5leHRUYWdzfTtcblxuICAgICAgdm9pZCBmbHV4LnNldFN0YXRlKCd1c2VyLnNlc3Npb24nLCBuZXh0U2Vzc2lvbik7XG4gICAgICBmbHV4LmRpc3BhdGNoKHt0eXBlOiBVU0VSX0NPTlNUQU5UUy5VUERBVEVfU0VTU0lPTl9TVUNDRVNTLCB1c2VyOiB7dGFnczogbmV4dFRhZ3N9fSk7XG4gICAgfSk7XG4gICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGZsdXguc2V0U3RhdGUoJ2FwcC5tZXRyb3BvbGlzSW5pdGlhbGl6ZWQnLCB0cnVlKSk7XG4gIH1cblxuICBjb25zdCB0b2tlbiA9IFN0cmluZyhmbHV4LmdldFN0YXRlKCd1c2VyLnNlc3Npb24udG9rZW4nKSB8fCAnJyk7XG5cbiAgaWYodG9rZW4pIHtcbiAgICBjb25zdCBzZXNzaW9uID0gKGZsdXguZ2V0U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIHt9KSB8fCB7fSkgYXMge2V4cGlyZXM/OiBudW1iZXI7IGlzc3VlZD86IG51bWJlcjsgdG9rZW4/OiBzdHJpbmd9O1xuICAgIGNvbnN0IGNvbmZpZyA9IGdldENvbmZpZ0Zyb21GbHV4KGZsdXgpO1xuICAgIGNvbnN0IHRva2VuRXhwaXJlc0F0ID0gcGFyc2VKd3RFeHBpcnlNcyh0b2tlbik7XG4gICAgY29uc3Qgc2Vzc2lvbkxpZmV0aW1lTWludXRlcyA9IE1hdGgucm91bmQoKE51bWJlcihzZXNzaW9uLmV4cGlyZXMgfHwgMCkgLSBOdW1iZXIoc2Vzc2lvbi5pc3N1ZWQgfHwgMCkpIC8gKDEwMDAgKiA2MCkpO1xuICAgIGNvbnN0IHJlZnJlc2hXaW5kb3dNaW51dGVzID0gZ2V0UmVmcmVzaFdpbmRvd01pbnV0ZXMoXG4gICAgICBzZXNzaW9uTGlmZXRpbWVNaW51dGVzIHx8IDE1LFxuICAgICAgY29uZmlnLmFwcD8uc2Vzc2lvbiB8fCB7fVxuICAgICk7XG4gICAgY29uc3QgcmVmcmVzaEV4cGlyZXNNaW51dGVzID0gTWF0aC5tYXgoMSwgTnVtYmVyKGNvbmZpZy5hcHA/LnNlc3Npb24/Lm1heE1pbnV0ZXMgfHwgc2Vzc2lvbkxpZmV0aW1lTWludXRlcyB8fCAxNSkpO1xuICAgIGNvbnN0IGV4cGlyZXNBdCA9IE51bWJlcihzZXNzaW9uLmV4cGlyZXMgfHwgMCk7XG5cbiAgICBpZih0b2tlbkV4cGlyZXNBdCA+IDAgJiYgRGF0ZS5ub3coKSA+PSB0b2tlbkV4cGlyZXNBdCkge1xuICAgICAgYXdhaXQgcmVmcmVzaFNlc3Npb24oZmx1eCwgdG9rZW4sIHJlZnJlc2hFeHBpcmVzTWludXRlcyk7XG4gICAgfSBlbHNlIGlmKCFleHBpcmVzQXQpIHtcbiAgICAgIGF3YWl0IHJlZnJlc2hTZXNzaW9uKGZsdXgsIHRva2VuLCByZWZyZXNoRXhwaXJlc01pbnV0ZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtaW51dGVzVW50aWxFeHBpcnkgPSBNYXRoLnJvdW5kKERhdGVUaW1lLmZyb21NaWxsaXMoZXhwaXJlc0F0KS5kaWZmKERhdGVUaW1lLmxvY2FsKCksICdtaW51dGVzJykudG9PYmplY3QoKS5taW51dGVzIHx8IDApO1xuXG4gICAgICBpZihtaW51dGVzVW50aWxFeHBpcnkgPD0gMCB8fCBtaW51dGVzVW50aWxFeHBpcnkgPD0gcmVmcmVzaFdpbmRvd01pbnV0ZXMpIHtcbiAgICAgICAgYXdhaXQgcmVmcmVzaFNlc3Npb24oZmx1eCwgdG9rZW4gYXMgc3RyaW5nLCByZWZyZXNoRXhwaXJlc01pbnV0ZXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0ICogZnJvbSAnLi9zdG9yZXMvaW5kZXguanMnO1xuXG5leHBvcnQge1xuICBhcHBNdXRhdGlvbixcbiAgYXBwUXVlcnksXG4gIHB1YmxpY011dGF0aW9uLFxuICBwdWJsaWNRdWVyeSxcbiAgcmVmcmVzaFNlc3Npb24sXG4gIHJlc29sdmVSZXN0RW5kcG9pbnQsXG4gIHJlc3RSZXF1ZXN0LFxuICB1cGxvYWRJbWFnZSxcbiAgdHlwZSBBcGlSZXN1bHRzVHlwZSxcbiAgdHlwZSBSZWFrdG9yRGJDb2xsZWN0aW9uLFxuICB0eXBlIFJlc3RBcGlPcHRpb25zLFxuICB0eXBlIFJlc3RNZXRob2Rcbn0gZnJvbSAnLi91dGlscy9hcGkuanMnO1xuXG5leHBvcnQge3Jlc29sdmVFbnZpcm9ubWVudENvbmZpZ30gZnJvbSAnLi9jb25maWcvaW5kZXguanMnO1xuZXhwb3J0IHtnZXRDb25maWdGcm9tRmx1eH0gZnJvbSAnLi91dGlscy9jb25maWdVdGlscy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0cm9wb2xpc1Byb3BzIHtcbiAgcmVhZG9ubHkgYWRhcHRlcnM/OiBNZXRyb3BvbGlzQWRhcHRlcnM7XG4gIHJlYWRvbmx5IGNoaWxkcmVuPzogUmVhY3QuUmVhY3RFbGVtZW50IHwgUmVhY3QuUmVhY3RFbGVtZW50W107XG4gIHJlYWRvbmx5IGNvbmZpZz86IE1ldHJvcG9saXNDb25maWd1cmF0aW9uO1xuICByZWFkb25seSB0cmFuc2xhdGlvbnM/OiBTaW1wbGVUcmFuc2xhdGlvbnMgfCBDb21wbGV4VHJhbnNsYXRpb25zO1xufVxuXG5leHBvcnQgdHlwZSBTaW1wbGVUcmFuc2xhdGlvbnMgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBsZXhUcmFuc2xhdGlvbiB7XG4gIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxvY2FsZTogc3RyaW5nO1xuICByZWFkb25seSBuYW1lc3BhY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIENvbXBsZXhUcmFuc2xhdGlvbnMgPSBSZWNvcmQ8c3RyaW5nLCBDb21wbGV4VHJhbnNsYXRpb24+O1xuXG5leHBvcnQgY29uc3QgTWV0cm9wb2xpcyA9ICh7YWRhcHRlcnMsIGNoaWxkcmVuLCBjb25maWcgPSB7fSwgdHJhbnNsYXRpb25zID0ge319OiBNZXRyb3BvbGlzUHJvcHMpID0+IHtcbiAgY29uc3QgZmx1eCA9IHVzZUZsdXgoKTtcbiAgY29uc3QgcmVzb2x2ZWRDb25maWcgPSB1c2VNZW1vPE1ldHJvcG9saXNFbnZpcm9ubWVudENvbmZpZ3VyYXRpb24+KCgpID0+IHJlc29sdmVFbnZpcm9ubWVudENvbmZpZyhjb25maWcpLCBbY29uZmlnXSk7XG4gIGNvbnN0IG1lcmdlZEFkYXB0ZXJzID0gdXNlTWVtbygoKSA9PiAoey4uLnJlc29sdmVkQ29uZmlnLmFkYXB0ZXJzLCAuLi5hZGFwdGVyc30pLCBbcmVzb2x2ZWRDb25maWcuYWRhcHRlcnMsIGFkYXB0ZXJzXSk7XG4gIGNvbnN0IHNlc3Npb25QZXJzb25hSWQgPSBTdHJpbmcodXNlRmx1eFN0YXRlKCd1c2VyLnNlc3Npb24ucGVyc29uYUlkJywgJycpIHx8ICcnKTtcbiAgY29uc3Qgc2Vzc2lvblRva2VuID0gU3RyaW5nKHVzZUZsdXhTdGF0ZSgndXNlci5zZXNzaW9uLnRva2VuJywgJycpIHx8ICcnKTtcbiAgY29uc3Qgc2Vzc2lvbkh5ZHJhdGVkID0gQm9vbGVhbih1c2VGbHV4U3RhdGUoJ2FwcC5zZXNzaW9uSHlkcmF0ZWQnLCBmYWxzZSkpO1xuICBjb25zdCBzZXNzaW9uID0gdXNlRmx1eFN0YXRlKCd1c2VyLnNlc3Npb24nLCB7fSkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGNvbnN0IG5vdGlmaWNhdGlvbkxpc3QgPSB1c2VGbHV4U3RhdGUoJ25vdGlmaWNhdGlvbi5saXN0JywgW10pIGFzIEFycmF5PFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcbiAgY29uc3QgY29udmVyc2F0aW9uTWFwID0gdXNlRmx1eFN0YXRlKCdtZXNzYWdlLmNvbnZlcnNhdGlvbnMnLCB7fSkgYXMgUmVjb3JkPHN0cmluZywgQXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+PjtcbiAgY29uc3QgbWVzc2FnZXMgPSB1c2VNZW1vKCgpID0+IE9iamVjdC52YWx1ZXMoY29udmVyc2F0aW9uTWFwKS5mbGF0KCksIFtjb252ZXJzYXRpb25NYXBdKTtcblxuICBjb25zdCB3ZWJzb2NrZXRzUmVmID0gdXNlUmVmPFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZVdlYnNvY2tldEFjdGlvbnM+IHwgbnVsbD4obnVsbCk7XG4gIGlmKCF3ZWJzb2NrZXRzUmVmLmN1cnJlbnQpIHtcbiAgICB3ZWJzb2NrZXRzUmVmLmN1cnJlbnQgPSBjcmVhdGVBY3Rpb24oJ3dlYnNvY2tldCcsIGZsdXgpIGFzIFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZVdlYnNvY2tldEFjdGlvbnM+O1xuICB9XG4gIGNvbnN0IHdlYnNvY2tldHMgPSB3ZWJzb2NrZXRzUmVmLmN1cnJlbnQ7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0STE4bih0cmFuc2xhdGlvbnMpO1xuICB9LCBbdHJhbnNsYXRpb25zXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgaXNBY3RpdmUgPSB0cnVlO1xuXG4gICAgdm9pZCAoYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGZsdXguc2V0U3RhdGUoJ2FwcC5jb25maWcnLCByZXNvbHZlZENvbmZpZykpO1xuICAgICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGZsdXguc2V0U3RhdGUoJ2FwcC5zZXNzaW9uSHlkcmF0ZWQnLCBmYWxzZSkpO1xuICAgICAgYXdhaXQgaHlkcmF0ZVNlc3Npb25Gcm9tU3RvcmFnZShmbHV4KTtcblxuICAgICAgaWYoIWlzQWN0aXZlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgb25Jbml0KGZsdXgpO1xuXG4gICAgICBpZighaXNBY3RpdmUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBhd2FpdCBQcm9taXNlLnJlc29sdmUoZmx1eC5zZXRTdGF0ZSgnYXBwLnNlc3Npb25IeWRyYXRlZCcsIHRydWUpKTtcbiAgICB9KSgpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlzQWN0aXZlID0gZmFsc2U7XG4gICAgfTtcbiAgfSwgW2ZsdXgsIHJlc29sdmVkQ29uZmlnXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZighc2Vzc2lvbkh5ZHJhdGVkKSB7XG4gICAgICB3ZWJzb2NrZXRzLndzQ2xvc2UoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZihzZXNzaW9uVG9rZW4pIHtcbiAgICAgIHdlYnNvY2tldHMud3NJbml0KHNlc3Npb25Ub2tlbiwgc2Vzc2lvblBlcnNvbmFJZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdlYnNvY2tldHMud3NDbG9zZSgpO1xuICAgIH1cbiAgfSwgW3Nlc3Npb25IeWRyYXRlZCwgc2Vzc2lvblBlcnNvbmFJZCwgc2Vzc2lvblRva2VuLCB3ZWJzb2NrZXRzXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2Vic29ja2V0cy53c0Nsb3NlKCk7XG4gICAgfTtcbiAgfSwgW3dlYnNvY2tldHNdKTtcblxuICBjb25zdCBpc0F1dGggPSB1c2VNZW1vKCgpID0+IHJlc29sdmVkQ29uZmlnLmlzQXV0aCB8fCAoKCkgPT4ge1xuICAgIGNvbnN0IHNlc3Npb25TdGF0ZSA9IGZsdXguZ2V0U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIHt9KTtcbiAgICByZXR1cm4gISFzZXNzaW9uU3RhdGUudXNlckFjdGl2ZTtcbiAgfSksIFtyZXNvbHZlZENvbmZpZy5pc0F1dGgsIGZsdXhdKTtcblxuICByZXR1cm4gKFxuICAgIDxNZXRyb3BvbGlzQ29udGV4dC5Qcm92aWRlclxuICAgICAgdmFsdWU9e3tcbiAgICAgICAgYWRhcHRlcnM6IG1lcmdlZEFkYXB0ZXJzLFxuICAgICAgICBjb25maWc6IHJlc29sdmVkQ29uZmlnLFxuICAgICAgICBmbHV4LFxuICAgICAgICBpc0F1dGgsXG4gICAgICAgIG1lc3NhZ2VzLFxuICAgICAgICBub3RpZmljYXRpb25zOiBub3RpZmljYXRpb25MaXN0LFxuICAgICAgICBzZXNzaW9uLFxuICAgICAgICB1cGRhdGVNZXNzYWdlOiAoKSA9PiB7IH0sXG4gICAgICAgIHVwZGF0ZU5vdGlmaWNhdGlvbjogd2Vic29ja2V0cy5zZW5kTm90aWZpY2F0aW9uXG4gICAgICB9fT5cbiAgICAgIDxJMThuZXh0UHJvdmlkZXIgaTE4bj17aTE4bn0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvSTE4bmV4dFByb3ZpZGVyPlxuICAgIDwvTWV0cm9wb2xpc0NvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBNZXRyb3BvbGlzO1xuXG5leHBvcnQge3VzZVRyYW5zbGF0aW9ufSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vYWRhcHRlcnMvaW5kZXguanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMvTWV0cm9wb2xpc0NvbnN0YW50cy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2dyYXBocWwvbWVzc2FnZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2dyYXBocWwvbm90aWZpY2F0aW9uLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmVzL2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIGNyZWF0ZUFjdGlvbixcbiAgY3JlYXRlQWN0aW9ucyxcbiAgY3JlYXRlQWxsQWN0aW9uc1xufSBmcm9tICcuL3V0aWxzL2FjdGlvbkZhY3RvcnkuanMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9hcHAuanMnO1xuZXhwb3J0IHtjcmVhdGVCYXNlQWN0aW9uc30gZnJvbSAnLi91dGlscy9iYXNlQWN0aW9uRmFjdG9yeS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2RhdGVVdGlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2ZpbGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9sb2NhdGlvbi5qcyc7XG5leHBvcnQge1xuICB1c2VDb250ZW50QWN0aW9ucyxcbiAgdXNlQ3JtQWN0aW9ucyxcbiAgdXNlRXZlbnRBY3Rpb25zLFxuICB1c2VHcm91cEFjdGlvbnMsXG4gIHVzZUltYWdlQWN0aW9ucyxcbiAgdXNlTG9jYXRpb25BY3Rpb25zLFxuICB1c2VNZXNzYWdlQWN0aW9ucywgdXNlTWV0cm9wb2xpcyxcbiAgdXNlTWV0cm9wb2xpc0NvbmZpZyxcbiAgdXNlTWV0cm9wb2xpc0ZsdXgsIHVzZVBvc3RBY3Rpb25zLFxuICB1c2VQZXJzb25hQWN0aW9ucyxcbiAgdXNlUmVhY3Rpb25BY3Rpb25zLFxuICB1c2VSZXN0QWN0aW9ucyxcbiAgdXNlVGFnQWN0aW9ucyxcbiAgdXNlVHJhbnNsYXRpb25BY3Rpb25zLFxuICB1c2VVc2VyQWN0aW9ucyxcbiAgdXNlV2Vic29ja2V0QWN0aW9uc1xufSBmcm9tICcuL3V0aWxzL3VzZU1ldHJvcG9saXMuanMnO1xuZXhwb3J0IHt1c2VDb252ZXJzYXRpb25UeXBpbmd9IGZyb20gJy4vdXRpbHMvdXNlQ29udmVyc2F0aW9uVHlwaW5nLmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgQ29udmVyc2F0aW9uVHlwaW5nT3B0aW9ucyxcbiAgVXNlQ29udmVyc2F0aW9uVHlwaW5nT3B0aW9uc1xufSBmcm9tICcuL3V0aWxzL3VzZUNvbnZlcnNhdGlvblR5cGluZy5qcyc7XG5leHBvcnQge1xuICBjcmVhdGVWYWxpZGF0b3JGYWN0b3J5LFxuICBjcmVhdGVWYWxpZGF0b3JNYW5hZ2VyXG59IGZyb20gJy4vdXRpbHMvdmFsaWRhdG9yRmFjdG9yeS5qcyc7XG5cbmV4cG9ydCB0eXBlIHtcbiAgQWN0aW9uT3B0aW9ucyxcbiAgQWN0aW9uUmV0dXJuVHlwZSxcbiAgQWN0aW9uVHlwZSxcbiAgQWN0aW9uVHlwZXNcbn0gZnJvbSAnLi91dGlscy9hY3Rpb25GYWN0b3J5LmpzJztcbmV4cG9ydCB0eXBlIHtCYXNlQWN0aW9uT3B0aW9uc30gZnJvbSAnLi91dGlscy9iYXNlQWN0aW9uRmFjdG9yeS5qcyc7XG5leHBvcnQgdHlwZSB7QmFzZUFkYXB0ZXJPcHRpb25zfSBmcm9tICcuL3V0aWxzL3ZhbGlkYXRvckZhY3RvcnkuanMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbnMvYXBwQWN0aW9ucy9hcHBBY3Rpb25zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9ucy9jb25uZWN0aW9uQWN0aW9ucy9jb25uZWN0aW9uQWN0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbnMvY29udmVyc2F0aW9uQWN0aW9ucy9jb252ZXJzYXRpb25BY3Rpb25zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9ucy9jcm1BY3Rpb25zL2NybUFjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zL3Jlc3RBY3Rpb25zL3Jlc3RBY3Rpb25zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9ucy92aWRlb0FjdGlvbnMvdmlkZW9BY3Rpb25zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RhbnRzL0NvbGxlY3Rpb25zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvaW5kZXguanMnO1xuIl0sIm5hbWVzIjpbInVzZUZsdXgiLCJ1c2VGbHV4U3RhdGUiLCJpMThuIiwiRGF0ZVRpbWUiLCJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwiSTE4bmV4dFByb3ZpZGVyIiwic3luY1BlcnNvbmFUYWdzVG9TZXNzaW9uIiwic3luY1BlcnNvbmFUb1Nlc3Npb24iLCJyZXNvbHZlRW52aXJvbm1lbnRDb25maWciLCJhcHAiLCJldmVudHMiLCJpbWFnZXMiLCJsb2NhdGlvbnMiLCJtZXNzYWdlcyIsIm5vdGlmaWNhdGlvbnMiLCJOT1RJRklDQVRJT05fQ09OU1RBTlRTIiwicGVybWlzc2lvbnMiLCJQRVJTT05BX0NPTlNUQU5UUyIsInBvc3RzIiwic3Vic2NyaXB0aW9ucyIsIlRBR19DT05TVEFOVFMiLCJ0YWdzIiwiVVNFUl9DT05TVEFOVFMiLCJ1c2VycyIsInZpZGVvIiwid2Vic29ja2V0IiwicmVmcmVzaFNlc3Npb24iLCJnZXRDb25maWdGcm9tRmx1eCIsImluaXRJMThuIiwiTWV0cm9wb2xpc0NvbnRleHQiLCJnZXRSZWZyZXNoV2luZG93TWludXRlcyIsImh5ZHJhdGVTZXNzaW9uRnJvbVN0b3JhZ2UiLCJwYXJzZUp3dEV4cGlyeU1zIiwiY3JlYXRlQWN0aW9uIiwiTWV0cm9wb2xpc1Byb3ZpZGVyIiwib25Jbml0IiwiZmx1eCIsImdldFN0YXRlIiwiYWRkU3RvcmVzIiwib24iLCJTSUdOX09VVF9TVUNDRVNTIiwiZGlzcGF0Y2giLCJ0eXBlIiwiQ0xFQVJfSVRFTVMiLCJBRERfSVRFTV9TVUNDRVNTIiwicGVyc29uYSIsInBlcnNvbmFJZCIsIkFycmF5IiwiaXNBcnJheSIsIlN0cmluZyIsIlVQREFURV9JVEVNX1NVQ0NFU1MiLCJBRERfUEVSU09OQV9TVUNDRVNTIiwidGFnIiwiY3VycmVudFNlc3Npb24iLCJjdXJyZW50VGFncyIsIm5leHRUYWdJZCIsInRhZ0lkIiwidHJpbSIsIm1lcmdlZFRhZ3MiLCJmaWx0ZXIiLCJpdGVtIiwic29ydCIsImxlZnQiLCJyaWdodCIsIm5hbWUiLCJsb2NhbGVDb21wYXJlIiwibmV4dFNlc3Npb24iLCJzZXRTdGF0ZSIsIlVQREFURV9TRVNTSU9OX1NVQ0NFU1MiLCJ1c2VyIiwiUkVNT1ZFX1BFUlNPTkFfU1VDQ0VTUyIsIm5leHRUYWdzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0b2tlbiIsInNlc3Npb24iLCJjb25maWciLCJ0b2tlbkV4cGlyZXNBdCIsInNlc3Npb25MaWZldGltZU1pbnV0ZXMiLCJNYXRoIiwicm91bmQiLCJOdW1iZXIiLCJleHBpcmVzIiwiaXNzdWVkIiwicmVmcmVzaFdpbmRvd01pbnV0ZXMiLCJyZWZyZXNoRXhwaXJlc01pbnV0ZXMiLCJtYXgiLCJtYXhNaW51dGVzIiwiZXhwaXJlc0F0IiwiRGF0ZSIsIm5vdyIsIm1pbnV0ZXNVbnRpbEV4cGlyeSIsImZyb21NaWxsaXMiLCJkaWZmIiwibG9jYWwiLCJ0b09iamVjdCIsIm1pbnV0ZXMiLCJhcHBNdXRhdGlvbiIsImFwcFF1ZXJ5IiwicHVibGljTXV0YXRpb24iLCJwdWJsaWNRdWVyeSIsInJlc29sdmVSZXN0RW5kcG9pbnQiLCJyZXN0UmVxdWVzdCIsInVwbG9hZEltYWdlIiwiTWV0cm9wb2xpcyIsImFkYXB0ZXJzIiwiY2hpbGRyZW4iLCJ0cmFuc2xhdGlvbnMiLCJyZXNvbHZlZENvbmZpZyIsIm1lcmdlZEFkYXB0ZXJzIiwic2Vzc2lvblBlcnNvbmFJZCIsInNlc3Npb25Ub2tlbiIsInNlc3Npb25IeWRyYXRlZCIsIkJvb2xlYW4iLCJub3RpZmljYXRpb25MaXN0IiwiY29udmVyc2F0aW9uTWFwIiwiT2JqZWN0IiwidmFsdWVzIiwiZmxhdCIsIndlYnNvY2tldHNSZWYiLCJjdXJyZW50Iiwid2Vic29ja2V0cyIsImlzQWN0aXZlIiwid3NDbG9zZSIsIndzSW5pdCIsImlzQXV0aCIsInNlc3Npb25TdGF0ZSIsInVzZXJBY3RpdmUiLCJQcm92aWRlciIsInZhbHVlIiwidXBkYXRlTWVzc2FnZSIsInVwZGF0ZU5vdGlmaWNhdGlvbiIsInNlbmROb3RpZmljYXRpb24iLCJ1c2VUcmFuc2xhdGlvbiIsImNyZWF0ZUFjdGlvbnMiLCJjcmVhdGVBbGxBY3Rpb25zIiwiY3JlYXRlQmFzZUFjdGlvbnMiLCJ1c2VDb250ZW50QWN0aW9ucyIsInVzZUNybUFjdGlvbnMiLCJ1c2VFdmVudEFjdGlvbnMiLCJ1c2VHcm91cEFjdGlvbnMiLCJ1c2VJbWFnZUFjdGlvbnMiLCJ1c2VMb2NhdGlvbkFjdGlvbnMiLCJ1c2VNZXNzYWdlQWN0aW9ucyIsInVzZU1ldHJvcG9saXMiLCJ1c2VNZXRyb3BvbGlzQ29uZmlnIiwidXNlTWV0cm9wb2xpc0ZsdXgiLCJ1c2VQb3N0QWN0aW9ucyIsInVzZVBlcnNvbmFBY3Rpb25zIiwidXNlUmVhY3Rpb25BY3Rpb25zIiwidXNlUmVzdEFjdGlvbnMiLCJ1c2VUYWdBY3Rpb25zIiwidXNlVHJhbnNsYXRpb25BY3Rpb25zIiwidXNlVXNlckFjdGlvbnMiLCJ1c2VXZWJzb2NrZXRBY3Rpb25zIiwidXNlQ29udmVyc2F0aW9uVHlwaW5nIiwiY3JlYXRlVmFsaWRhdG9yRmFjdG9yeSIsImNyZWF0ZVZhbGlkYXRvck1hbmFnZXIi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
@@ -3,8 +3,18 @@
3
3
  * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
4
  */
5
5
  export declare const APP_CONSTANTS: {
6
+ readonly ADD_ITEM_ERROR: "APP_ADD_ITEM_ERROR";
7
+ readonly ADD_ITEM_SUCCESS: "APP_ADD_ITEM_SUCCESS";
6
8
  readonly API_NETWORK_ERROR: "APP_API_NETWORK_ERROR";
7
9
  readonly API_NETWORK_SUCCESS: "APP_API_NETWORK_SUCCESS";
10
+ readonly GET_ITEM_ERROR: "APP_GET_ITEM_ERROR";
11
+ readonly GET_ITEM_SUCCESS: "APP_GET_ITEM_SUCCESS";
12
+ readonly GET_LIST_ERROR: "APP_GET_LIST_ERROR";
13
+ readonly GET_LIST_SUCCESS: "APP_GET_LIST_SUCCESS";
14
+ readonly REMOVE_ITEM_ERROR: "APP_REMOVE_ITEM_ERROR";
15
+ readonly REMOVE_ITEM_SUCCESS: "APP_REMOVE_ITEM_SUCCESS";
16
+ readonly UPDATE_ITEM_ERROR: "APP_UPDATE_ITEM_ERROR";
17
+ readonly UPDATE_ITEM_SUCCESS: "APP_UPDATE_ITEM_SUCCESS";
8
18
  };
9
19
  interface AppState {
10
20
  network?: {
@@ -1 +1 @@
1
- {"version":3,"file":"appStore.d.ts","sourceRoot":"","sources":["../../src/stores/appStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAEX,UAAU,QAAQ;IAChB,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACH;AAED,eAAO,MAAM,aAAa,EAAE,QAAa,CAAC;AAE1C,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,EAAE,gBAAqB,KAAG,QAMvF,CAAC;AAEF,eAAO,MAAM,GAAG;mBARe,MAAM,QAAQ,OAAO,CAAC,QAAQ,CAAC,uBAA0B,QAAQ;;;CAY/F,CAAC"}
1
+ {"version":3,"file":"appStore.d.ts","sourceRoot":"","sources":["../../src/stores/appStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;CAahB,CAAC;AAEX,UAAU,QAAQ;IAChB,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACH;AAED,eAAO,MAAM,aAAa,EAAE,QAAa,CAAC;AAE1C,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,EAAE,gBAAqB,KAAG,QAMvF,CAAC;AAEF,eAAO,MAAM,GAAG;mBARe,MAAM,QAAQ,OAAO,CAAC,QAAQ,CAAC,uBAA0B,QAAQ;;;CAY/F,CAAC"}
@@ -2,8 +2,18 @@
2
2
  * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
3
  * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
4
  */ export const APP_CONSTANTS = {
5
+ ADD_ITEM_ERROR: 'APP_ADD_ITEM_ERROR',
6
+ ADD_ITEM_SUCCESS: 'APP_ADD_ITEM_SUCCESS',
5
7
  API_NETWORK_ERROR: 'APP_API_NETWORK_ERROR',
6
- API_NETWORK_SUCCESS: 'APP_API_NETWORK_SUCCESS'
8
+ API_NETWORK_SUCCESS: 'APP_API_NETWORK_SUCCESS',
9
+ GET_ITEM_ERROR: 'APP_GET_ITEM_ERROR',
10
+ GET_ITEM_SUCCESS: 'APP_GET_ITEM_SUCCESS',
11
+ GET_LIST_ERROR: 'APP_GET_LIST_ERROR',
12
+ GET_LIST_SUCCESS: 'APP_GET_LIST_SUCCESS',
13
+ REMOVE_ITEM_ERROR: 'APP_REMOVE_ITEM_ERROR',
14
+ REMOVE_ITEM_SUCCESS: 'APP_REMOVE_ITEM_SUCCESS',
15
+ UPDATE_ITEM_ERROR: 'APP_UPDATE_ITEM_ERROR',
16
+ UPDATE_ITEM_SUCCESS: 'APP_UPDATE_ITEM_SUCCESS'
7
17
  };
8
18
  export const defaultValues = {};
9
19
  export const appStore = (type, data, state = defaultValues)=>{
@@ -20,4 +30,4 @@ export const app = {
20
30
  name: 'app'
21
31
  };
22
32
 
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL2FwcFN0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5cbmV4cG9ydCBjb25zdCBBUFBfQ09OU1RBTlRTID0ge1xuICBBUElfTkVUV09SS19FUlJPUjogJ0FQUF9BUElfTkVUV09SS19FUlJPUicsXG4gIEFQSV9ORVRXT1JLX1NVQ0NFU1M6ICdBUFBfQVBJX05FVFdPUktfU1VDQ0VTUydcbn0gYXMgY29uc3Q7XG5cbmludGVyZmFjZSBBcHBTdGF0ZSB7XG4gIG5ldHdvcms/OiB7XG4gICAgZXJyb3I/OiBFcnJvcjtcbiAgICBzdGF0dXM/OiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdFZhbHVlczogQXBwU3RhdGUgPSB7fTtcblxuZXhwb3J0IGNvbnN0IGFwcFN0b3JlID0gKHR5cGU6IHN0cmluZywgZGF0YTogUGFydGlhbDxBcHBTdGF0ZT4sIHN0YXRlID0gZGVmYXVsdFZhbHVlcyk6IEFwcFN0YXRlID0+IHtcbiAgc3dpdGNoKHR5cGUpIHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgYXBwID0ge1xuICBhY3Rpb246IGFwcFN0b3JlLFxuICBpbml0aWFsU3RhdGU6IGRlZmF1bHRWYWx1ZXMsXG4gIG5hbWU6ICdhcHAnXG59O1xuIl0sIm5hbWVzIjpbIkFQUF9DT05TVEFOVFMiLCJBUElfTkVUV09SS19FUlJPUiIsIkFQSV9ORVRXT1JLX1NVQ0NFU1MiLCJkZWZhdWx0VmFsdWVzIiwiYXBwU3RvcmUiLCJ0eXBlIiwiZGF0YSIsInN0YXRlIiwiYXBwIiwiYWN0aW9uIiwiaW5pdGlhbFN0YXRlIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBRUQsT0FBTyxNQUFNQSxnQkFBZ0I7SUFDM0JDLG1CQUFtQjtJQUNuQkMscUJBQXFCO0FBQ3ZCLEVBQVc7QUFTWCxPQUFPLE1BQU1DLGdCQUEwQixDQUFDLEVBQUU7QUFFMUMsT0FBTyxNQUFNQyxXQUFXLENBQUNDLE1BQWNDLE1BQXlCQyxRQUFRSixhQUFhO0lBQ25GLE9BQU9FO1FBQ0w7WUFBUztnQkFDUCxPQUFPRTtZQUNUO0lBQ0Y7QUFDRixFQUFFO0FBRUYsT0FBTyxNQUFNQyxNQUFNO0lBQ2pCQyxRQUFRTDtJQUNSTSxjQUFjUDtJQUNkUSxNQUFNO0FBQ1IsRUFBRSJ9
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL2FwcFN0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5cbmV4cG9ydCBjb25zdCBBUFBfQ09OU1RBTlRTID0ge1xuICBBRERfSVRFTV9FUlJPUjogJ0FQUF9BRERfSVRFTV9FUlJPUicsXG4gIEFERF9JVEVNX1NVQ0NFU1M6ICdBUFBfQUREX0lURU1fU1VDQ0VTUycsXG4gIEFQSV9ORVRXT1JLX0VSUk9SOiAnQVBQX0FQSV9ORVRXT1JLX0VSUk9SJyxcbiAgQVBJX05FVFdPUktfU1VDQ0VTUzogJ0FQUF9BUElfTkVUV09SS19TVUNDRVNTJyxcbiAgR0VUX0lURU1fRVJST1I6ICdBUFBfR0VUX0lURU1fRVJST1InLFxuICBHRVRfSVRFTV9TVUNDRVNTOiAnQVBQX0dFVF9JVEVNX1NVQ0NFU1MnLFxuICBHRVRfTElTVF9FUlJPUjogJ0FQUF9HRVRfTElTVF9FUlJPUicsXG4gIEdFVF9MSVNUX1NVQ0NFU1M6ICdBUFBfR0VUX0xJU1RfU1VDQ0VTUycsXG4gIFJFTU9WRV9JVEVNX0VSUk9SOiAnQVBQX1JFTU9WRV9JVEVNX0VSUk9SJyxcbiAgUkVNT1ZFX0lURU1fU1VDQ0VTUzogJ0FQUF9SRU1PVkVfSVRFTV9TVUNDRVNTJyxcbiAgVVBEQVRFX0lURU1fRVJST1I6ICdBUFBfVVBEQVRFX0lURU1fRVJST1InLFxuICBVUERBVEVfSVRFTV9TVUNDRVNTOiAnQVBQX1VQREFURV9JVEVNX1NVQ0NFU1MnXG59IGFzIGNvbnN0O1xuXG5pbnRlcmZhY2UgQXBwU3RhdGUge1xuICBuZXR3b3JrPzoge1xuICAgIGVycm9yPzogRXJyb3I7XG4gICAgc3RhdHVzPzogYm9vbGVhbjtcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRWYWx1ZXM6IEFwcFN0YXRlID0ge307XG5cbmV4cG9ydCBjb25zdCBhcHBTdG9yZSA9ICh0eXBlOiBzdHJpbmcsIGRhdGE6IFBhcnRpYWw8QXBwU3RhdGU+LCBzdGF0ZSA9IGRlZmF1bHRWYWx1ZXMpOiBBcHBTdGF0ZSA9PiB7XG4gIHN3aXRjaCh0eXBlKSB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGFwcCA9IHtcbiAgYWN0aW9uOiBhcHBTdG9yZSxcbiAgaW5pdGlhbFN0YXRlOiBkZWZhdWx0VmFsdWVzLFxuICBuYW1lOiAnYXBwJ1xufTtcbiJdLCJuYW1lcyI6WyJBUFBfQ09OU1RBTlRTIiwiQUREX0lURU1fRVJST1IiLCJBRERfSVRFTV9TVUNDRVNTIiwiQVBJX05FVFdPUktfRVJST1IiLCJBUElfTkVUV09SS19TVUNDRVNTIiwiR0VUX0lURU1fRVJST1IiLCJHRVRfSVRFTV9TVUNDRVNTIiwiR0VUX0xJU1RfRVJST1IiLCJHRVRfTElTVF9TVUNDRVNTIiwiUkVNT1ZFX0lURU1fRVJST1IiLCJSRU1PVkVfSVRFTV9TVUNDRVNTIiwiVVBEQVRFX0lURU1fRVJST1IiLCJVUERBVEVfSVRFTV9TVUNDRVNTIiwiZGVmYXVsdFZhbHVlcyIsImFwcFN0b3JlIiwidHlwZSIsImRhdGEiLCJzdGF0ZSIsImFwcCIsImFjdGlvbiIsImluaXRpYWxTdGF0ZSIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUVELE9BQU8sTUFBTUEsZ0JBQWdCO0lBQzNCQyxnQkFBZ0I7SUFDaEJDLGtCQUFrQjtJQUNsQkMsbUJBQW1CO0lBQ25CQyxxQkFBcUI7SUFDckJDLGdCQUFnQjtJQUNoQkMsa0JBQWtCO0lBQ2xCQyxnQkFBZ0I7SUFDaEJDLGtCQUFrQjtJQUNsQkMsbUJBQW1CO0lBQ25CQyxxQkFBcUI7SUFDckJDLG1CQUFtQjtJQUNuQkMscUJBQXFCO0FBQ3ZCLEVBQVc7QUFTWCxPQUFPLE1BQU1DLGdCQUEwQixDQUFDLEVBQUU7QUFFMUMsT0FBTyxNQUFNQyxXQUFXLENBQUNDLE1BQWNDLE1BQXlCQyxRQUFRSixhQUFhO0lBQ25GLE9BQU9FO1FBQ0w7WUFBUztnQkFDUCxPQUFPRTtZQUNUO0lBQ0Y7QUFDRixFQUFFO0FBRUYsT0FBTyxNQUFNQyxNQUFNO0lBQ2pCQyxRQUFRTDtJQUNSTSxjQUFjUDtJQUNkUSxNQUFNO0FBQ1IsRUFBRSJ9
@@ -0,0 +1,20 @@
1
+ export declare const resetActionScenarioMocks: () => void;
2
+ export declare const runAppActionsScenario: () => Promise<void>;
3
+ export declare const runConnectionActionsScenario: () => Promise<void>;
4
+ export declare const runPostActionsScenario: () => Promise<void>;
5
+ export declare const runReactionActionsScenario: () => Promise<void>;
6
+ export declare const runVideoActionsScenario: () => Promise<void>;
7
+ export declare const runGroupActionsScenario: () => Promise<void>;
8
+ export declare const runConversationActionsScenario: () => Promise<void>;
9
+ export declare const runEventActionsScenario: () => Promise<void>;
10
+ export declare const runLocationActionsScenario: () => Promise<void>;
11
+ export declare const runPermissionActionsScenario: () => Promise<void>;
12
+ export declare const runSubscriptionActionsScenario: () => Promise<void>;
13
+ export declare const runTagActionsScenario: () => Promise<void>;
14
+ export declare const runImageActionsScenario: () => Promise<void>;
15
+ export declare const runMessageActionsScenario: () => Promise<void>;
16
+ export declare const runContentActionsScenario: () => Promise<void>;
17
+ export declare const runTranslationActionsScenario: () => Promise<void>;
18
+ export declare const runPersonaActionsScenario: () => Promise<void>;
19
+ export declare const runUserActionsScenario: () => Promise<void>;
20
+ //# sourceMappingURL=actionTestScenarios.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionTestScenarios.d.ts","sourceRoot":"","sources":["../../src/tests/actionTestScenarios.ts"],"names":[],"mappings":"AAwNA,eAAO,MAAM,wBAAwB,YAEpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,qBA+BjC,CAAC;AAEF,eAAO,MAAM,4BAA4B,qBAsBxC,CAAC;AAEF,eAAO,MAAM,sBAAsB,qBA4BlC,CAAC;AAEF,eAAO,MAAM,0BAA0B,qBAetC,CAAC;AAEF,eAAO,MAAM,uBAAuB,qBAgCnC,CAAC;AAEF,eAAO,MAAM,uBAAuB,qBAenC,CAAC;AAEF,eAAO,MAAM,8BAA8B,qBAe1C,CAAC;AAEF,eAAO,MAAM,uBAAuB,qBAiBnC,CAAC;AAEF,eAAO,MAAM,0BAA0B,qBAiBtC,CAAC;AAEF,eAAO,MAAM,4BAA4B,qBAcxC,CAAC;AAEF,eAAO,MAAM,8BAA8B,qBAe1C,CAAC;AAEF,eAAO,MAAM,qBAAqB,qBAoBjC,CAAC;AAEF,eAAO,MAAM,uBAAuB,qBAgBnC,CAAC;AAEF,eAAO,MAAM,yBAAyB,qBAWrC,CAAC;AAEF,eAAO,MAAM,yBAAyB,qBAiBrC,CAAC;AAEF,eAAO,MAAM,6BAA6B,qBAezC,CAAC;AAEF,eAAO,MAAM,yBAAyB,qBAqBrC,CAAC;AAEF,eAAO,MAAM,sBAAsB,qBAmClC,CAAC"}