@projectcor/maia-components 2.11.42 → 2.11.44-0
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.
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +18 -11
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +82 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +31 -0
- package/lib/components/atoms/FrequentlyUsedActions/index.js +2 -0
- package/lib/components/atoms/IconButton.js +12 -5
- package/lib/components/atoms/MAIAInput/MAIAInput.js +51 -5
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +81 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.styles.js +25 -0
- package/lib/components/atoms/SlashCommandDropdown/index.js +2 -0
- package/lib/components/index.js +2 -1
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +1 -1
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +20 -3
- package/lib/components/molecules/ChatAIHome/styles.js +2 -2
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +1 -1
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +34 -16
- package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +19 -16
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +18 -5
- package/lib/components/molecules/ChatFooter/ChatFooter.js +3 -3
- package/lib/components/molecules/TaskAgentSelector/TaskAgentSelector.js +94 -0
- package/lib/components/molecules/TaskAgentSelector/TaskAgentSelector.styles.js +38 -0
- package/lib/components/molecules/TaskAgentSelector/index.js +2 -0
- package/lib/components/organisms/ChatAI/ChatAI.js +3 -1
- package/lib/context/global-context.js +1 -1
- package/lib/dev/DevChatAI.js +134 -17
- package/lib/dev/DevContextMentionInput.js +3 -1
- package/lib/hooks/useChatManager/useChatManager.interface.js +1 -1
- package/lib/hooks/useChatManager/useChatManager.js +115 -21
- package/lib/hooks/useFrequentlyUsedActions.js +80 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +12 -4
- package/lib/hooks/useProjectSummaryConfig.js +24 -6
- package/lib/hooks/useSlashCommands.js +80 -0
- package/lib/lang/br/index.js +5 -1
- package/lib/lang/en/index.js +5 -1
- package/lib/lang/es/index.js +5 -1
- package/lib/lang/fr/index.js +5 -1
- package/lib/services/maia/Actions/getFrequentlyUsedActions.js +38 -0
- package/lib/services/maia/Actions/getSlashCommands.js +38 -0
- package/lib/services/maia/Actions/index.js +7 -0
- package/lib/services/maia/Agents/getAgents.js +4 -2
- package/lib/services/maia/Chats/getChatsByUserId.js +1 -1
- package/lib/services/maia/Orchestrator/orchestrator.js +14 -4
- package/lib/services/maia/index.js +3 -1
- package/lib/store/chatsStore.types.js +1 -1
- package/lib/types/Action.js +2 -0
- package/lib/types/Task.js +2 -0
- package/lib/types/contextMention.js +2 -2
- package/lib/types/global.d.js +1 -1
- package/package.json +1 -1
|
@@ -391,7 +391,9 @@ export var useGetAgents = function useGetAgents(_ref) {
|
|
|
391
391
|
}
|
|
392
392
|
} else if ((_agentParsed = agentParsed) !== null && _agentParsed !== void 0 && _agentParsed[0] && (!agent || !agentParsed.find(function (a) {
|
|
393
393
|
return a.id === agent.id;
|
|
394
|
-
}))) {
|
|
394
|
+
})) && section !== 'task') {
|
|
395
|
+
// En section 'task' el agente lo elige el usuario vía TaskAgentSelector — no
|
|
396
|
+
// auto-seleccionamos para no pisar la elección hecha antes de abrir el modal.
|
|
395
397
|
availableAgents = window.MAIA_CHAT_AI_FEATURE_ACCESS && !userRolesDisabled.includes(user.role_id) ? agentParsed : agentParsed.filter(function (agentItem) {
|
|
396
398
|
return agentItem.type !== 'clone';
|
|
397
399
|
});
|
|
@@ -561,4 +563,4 @@ export var useGetAgents = function useGetAgents(_ref) {
|
|
|
561
563
|
sortAgentsList: sortAgentsList
|
|
562
564
|
};
|
|
563
565
|
};
|
|
564
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlUmVmIiwidXNlVHJhbnNsYXRpb24iLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJmZXRjaE1haWEiLCJ1c2VVc2VyIiwiQ09SVXNlclJvbGUiLCJtYXBDT1JMYW5nIiwic29ydEFnZW50cyIsImFnZW50cyIsImNsb25lQWdlbnRzIiwiZmlsdGVyIiwiYWciLCJ0eXBlIiwib3RoZXJBZ2VudHMiLCJmYXZvcml0ZXMiLCJpc19mYXZvcml0ZSIsInNvcnQiLCJhIiwiYiIsIm5hbWUiLCJsb2NhbGVDb21wYXJlIiwibm9uRmF2b3JpdGVzIiwibGVuZ3RoIiwiY29uY2F0IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwidXNlR2V0QWdlbnRzIiwiX3JlZiIsInNlbGVjdEFnZW50Iiwic2VjdGlvbiIsImFnZW50IiwiaGFuZGxlR29Ib21lIiwidXNlciIsIl91c2VTdGF0ZSIsImRhdGEiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzZXRBZ2VudHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJsb2FkaW5nTW9yZSIsInNldExvYWRpbmdNb3JlIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJlcnJvciIsInNldEVycm9yIiwiX3VzZVNuYWNrQmFyTWFuYWdlciIsImhhbmRsZVNuYWNrYmFyRXJyb3IiLCJfdXNlVHJhbnNsYXRpb24iLCJ0IiwiaTE4biIsImxhc3RTZWxlY3RlZEFnZW50UmVmIiwiaXNSZWZyZXNoaW5nUmVmIiwibGFzdFJlcXVlc3RSZWYiLCJ1c2VyUm9sZXNEaXNhYmxlZCIsIkNPTExBQk9SQVRPUiIsIkZSRUVMQU5DRVIiLCJDTElFTlQiLCJhZGRBZ2VudCIsIm5ld0FnZW50Iiwib3B0aW9ucyIsInByZXYiLCJhZ2VudEV4aXN0cyIsInNvbWUiLCJleGlzdGluZ0FnZW50IiwiaWQiLCJuZXdEYXRhIiwic29ydGVkRGF0YSIsIl9vYmplY3RTcHJlYWQiLCJuYXZpZ2F0ZUhvbWUiLCJyZW1vdmVBZ2VudCIsImFnZW50SWQiLCJ0b1N0cmluZyIsInVwZGF0ZUFnZW50IiwidXBkYXRlZEFnZW50IiwidXBkYXRlZERhdGEiLCJtYXAiLCJ1cGRhdGVBZ2VudEZhdm9yaXRlIiwic2hvdWxkU29ydCIsImFyZ3VtZW50cyIsInVuZGVmaW5lZCIsIl9yZWYyIiwibWVzc2FnZSIsImFnZW50RmllbGRzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwibWVyZ2VkQWdlbnQiLCJmaW5hbERhdGEiLCJmaW5kIiwiX3JlZjMiLCJfZXhjbHVkZWQyIiwiX3JlZjQiLCJfZXhjbHVkZWQzIiwic29ydEFnZW50c0xpc3QiLCJzZWxlY3RGaXJzdEFnZW50IiwiZmlyc3RBZ2VudCIsImZpbmRJbmRleCIsImFnZW50RGF0YSIsImN1cnJlbnQiLCJoYW5kbGVHZXRBZ2VudHMiLCJfcmVmNSIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiYWdlbnRUb1NlbGVjdCIsIl9hZ2VudFRvU2VsZWN0JGlkIiwicmVxdWVzdEtleSIsImlzTXVsdGlBZ2VudHMiLCJhZ2VudFBhcnNlZCIsImhhc01vcmUiLCJuZXh0T2Zmc2V0IiwiX21haWFEYXRhJGRhdGEiLCJvcmRlclBhcmFtIiwibWFpYVJlc3BvbnNlIiwibWFpYURhdGEiLCJfbWFpYUVycm9yJHJlc3BvbnNlIiwiX21haWFFcnJvciRtZXNzYWdlIiwiX21haWFFcnJvciRtZXNzYWdlMiIsImlzNDAzRXJyb3IiLCJjdXN0b21BZ2VudHMiLCJjdXN0b21IYXNNb3JlIiwiY3VzdG9tTmV4dE9mZnNldCIsImN1c3RvbVJlc3BvbnNlIiwiY3VzdG9tRGF0YSIsIl9jdXN0b21FcnJvciRyZXNwb25zZSIsIl9jdXN0b21FcnJvciRtZXNzYWdlIiwiX2N1c3RvbUVycm9yJG1lc3NhZ2UyIiwiX2lzNDAzRXJyb3IiLCJxdWVyeVBhcmFtcyIsInF1ZXJ5U3RyaW5nIiwicGF0aCIsInJlc3BvbnNlIiwiX3Jlc3BvbnNlRXJyb3IkcmVzcG9uIiwiX3Jlc3BvbnNlRXJyb3IkbWVzc2FnIiwiX3Jlc3BvbnNlRXJyb3IkbWVzc2FnMiIsIl9pczQwM0Vycm9yMiIsIl9hZ2VudFBhcnNlZCIsIl9hZ2VudFBhcnNlZDIiLCJfbGFzdFNlbGVjdGVkQWdlbnRSZWYiLCJfbGFzdFNlbGVjdGVkQWdlbnRSZWYyIiwiYXZhaWxhYmxlQWdlbnRzIiwiX2F2YWlsYWJsZUFnZW50cyIsIl9sYXN0U2VsZWN0ZWRBZ2VudFJlZjMiLCJfYXZhaWxhYmxlQWdlbnRzMiIsIl9hdmFpbGFibGVBZ2VudHMzIiwiZmlyc3RBdmFpbGFibGVBZ2VudCIsIl90IiwiX3QyIiwiX3QzIiwiX3Q0Iiwid3JhcCIsIl9jb250ZXh0IiwibmV4dCIsImFicnVwdCIsIndpbmRvdyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJpbmNsdWRlcyIsInJvbGVfaWQiLCJsYW5ndWFnZSIsIm1ldGhvZCIsInNlbnQiLCJqc29uIiwic3RhdHVzIiwiaGFzX21vcmUiLCJuZXh0X29mZnNldCIsIlVSTFNlYXJjaFBhcmFtcyIsImFwcGVuZCIsImFnZW50VG9SZXF1ZXN0IiwiYWdlbnRJdGVtIiwiRXJyb3IiLCJzZXRUaW1lb3V0IiwiZmluaXNoIiwic3RvcCIsIl94IiwiYXBwbHkiLCJsb2FkTW9yZUFnZW50cyIsIl9jYWxsZWUyIiwiY2FuTG9hZE1vcmUiLCJfdDUiLCJfY29udGV4dDIiLCJleGlzdGluZ0Nsb25lQWdlbnRzIiwiZXhpc3RpbmdJZHMiLCJTZXQiLCJuZXdBZ2VudHMiLCJoYXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9BZ2VudHMvZ2V0QWdlbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyB1c2VTbmFja0Jhck1hbmFnZXIgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VTbmFja0Jhck1hbmFnZXIvdXNlU25hY2tCYXJNYW5hZ2VyJ1xuaW1wb3J0IHsgZmV0Y2hNYWlhIH0gZnJvbSAnLi4vY2xpZW50J1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IHVzZVVzZXIsIENPUlVzZXJSb2xlIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IG1hcENPUkxhbmcgfSBmcm9tICcuLi8uLi8uLi9sYW5nL3V0aWxzJ1xuXG4vKipcbiAqIE9yZGVuYSBsb3MgYWdlbnRlczogYWdlbnRlcyBjbG9uZSBwcmltZXJvIChzaSBleGlzdGVuKSwgbHVlZ28gZmF2b3JpdG9zIGFsZmFiw6l0aWNhbWVudGUsIGx1ZWdvIG5vIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlXG4gKi9cbmNvbnN0IHNvcnRBZ2VudHMgPSAoYWdlbnRzOiBBZ2VudFtdKTogQWdlbnRbXSA9PiB7XG4gIC8vIFNlcGFyYXIgYWdlbnRlcyBjbG9uZSBkZWwgcmVzdG9cbiAgY29uc3QgY2xvbmVBZ2VudHMgPSBhZ2VudHMuZmlsdGVyKGFnID0+IGFnLnR5cGUgPT09ICdjbG9uZScpXG4gIGNvbnN0IG90aGVyQWdlbnRzID0gYWdlbnRzLmZpbHRlcihhZyA9PiBhZy50eXBlICE9PSAnY2xvbmUnKVxuXG4gIC8vIFNlcGFyYXIgZmF2b3JpdG9zIHkgbm8gZmF2b3JpdG9zXG4gIGNvbnN0IGZhdm9yaXRlcyA9IG90aGVyQWdlbnRzLmZpbHRlcihhZyA9PiBhZy5pc19mYXZvcml0ZSkuc29ydCgoYSwgYikgPT4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKSlcbiAgY29uc3Qgbm9uRmF2b3JpdGVzID0gb3RoZXJBZ2VudHMuZmlsdGVyKGFnID0+ICFhZy5pc19mYXZvcml0ZSkuc29ydCgoYSwgYikgPT4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKSlcblxuICAvLyBDb21iaW5hcjogY2xvbmVzIHByaW1lcm8sIGx1ZWdvIGZhdm9yaXRvcywgbHVlZ28gbm8gZmF2b3JpdG9zXG4gIHJldHVybiBjbG9uZUFnZW50cy5sZW5ndGggPyBbLi4uY2xvbmVBZ2VudHMsIC4uLmZhdm9yaXRlcywgLi4ubm9uRmF2b3JpdGVzXSA6IFsuLi5mYXZvcml0ZXMsIC4uLm5vbkZhdm9yaXRlc11cbn1cblxudHlwZSBVc2VHZXRBZ2VudHNQcm9wcyA9IHtcbiAgc2VsZWN0QWdlbnQ6IChhZ2VudDogQWdlbnQpID0+IHZvaWRcbiAgc2VjdGlvbjogJ3Byb2plY3QnIHwgJ2hlYWRlcicgfCAnY2xpZW50J1xuICBhZ2VudDogQWdlbnQgfCBudWxsXG4gIGhhbmRsZUdvSG9tZTogKCkgPT4gdm9pZFxufVxuXG5leHBvcnQgdHlwZSBBZGRBZ2VudE9wdGlvbnMgPSB7XG4gIC8qKiBQb3IgZGVmZWN0byBgdHJ1ZWAgKGNvbXBvcnRhbWllbnRvIEFCTSkuIFBhc2FyIGBmYWxzZWAgYWwgaW5zZXJ0YXIgYWdlbnRlIGNyZWFkbyBwb3IgY2hhdCBzaW4gY2FtYmlhciBkZSB2aXN0YS4gKi9cbiAgbmF2aWdhdGVIb21lPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgdXNlR2V0QWdlbnRzID0gKHsgc2VsZWN0QWdlbnQsIHNlY3Rpb24sIGFnZW50LCBoYW5kbGVHb0hvbWUgfTogVXNlR2V0QWdlbnRzUHJvcHMpID0+IHtcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCBbYWdlbnRzLCBzZXRBZ2VudHNdID0gdXNlU3RhdGU8eyBkYXRhOiBBZ2VudFtdOyBoYXNfbW9yZT86IGJvb2xlYW47IG5leHRfb2Zmc2V0PzogbnVtYmVyIHwgbnVsbCB9Pih7IGRhdGE6IFtdIH0pXG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbbG9hZGluZ01vcmUsIHNldExvYWRpbmdNb3JlXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IHsgaGFuZGxlU25hY2tiYXJFcnJvciB9ID0gdXNlU25hY2tCYXJNYW5hZ2VyKClcbiAgY29uc3QgeyB0LCBpMThuIH0gPSB1c2VUcmFuc2xhdGlvbignY2hhdF9haV9zZWN0aW9uJylcbiAgY29uc3QgbGFzdFNlbGVjdGVkQWdlbnRSZWYgPSB1c2VSZWY8QWdlbnQgfCBudWxsPihudWxsKVxuICBjb25zdCBpc1JlZnJlc2hpbmdSZWYgPSB1c2VSZWYoZmFsc2UpXG4gIGNvbnN0IGxhc3RSZXF1ZXN0UmVmID0gdXNlUmVmPHN0cmluZyB8IG51bGw+KG51bGwpXG5cbiAgY29uc3QgdXNlclJvbGVzRGlzYWJsZWQgPSBbQ09SVXNlclJvbGUuQ09MTEFCT1JBVE9SLCBDT1JVc2VyUm9sZS5GUkVFTEFOQ0VSLCBDT1JVc2VyUm9sZS5DTElFTlRdXG5cbiAgY29uc3QgYWRkQWdlbnQgPSB1c2VDYWxsYmFjayhcbiAgICAobmV3QWdlbnQ6IEFnZW50LCBvcHRpb25zPzogQWRkQWdlbnRPcHRpb25zKSA9PiB7XG4gICAgICBzZXRBZ2VudHMocHJldiA9PiB7XG4gICAgICAgIC8vIFZlcmlmaWNhciBzaSBlbCBhZ2VudGUgeWEgZXhpc3RlIHBhcmEgZXZpdGFyIGR1cGxpY2Fkb3NcbiAgICAgICAgY29uc3QgYWdlbnRFeGlzdHMgPSBwcmV2LmRhdGEuc29tZShleGlzdGluZ0FnZW50ID0+IGV4aXN0aW5nQWdlbnQuaWQgPT09IG5ld0FnZW50LmlkKVxuICAgICAgICBpZiAoYWdlbnRFeGlzdHMpIHtcbiAgICAgICAgICByZXR1cm4gcHJldlxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld0RhdGEgPSBbLi4ucHJldi5kYXRhLCBuZXdBZ2VudF1cbiAgICAgICAgY29uc3Qgc29ydGVkRGF0YSA9IHNvcnRBZ2VudHMobmV3RGF0YSlcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgIGRhdGE6IHNvcnRlZERhdGEsXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICBpZiAob3B0aW9ucz8ubmF2aWdhdGVIb21lICE9PSBmYWxzZSkge1xuICAgICAgICBoYW5kbGVHb0hvbWUoKVxuICAgICAgfVxuICAgIH0sXG4gICAgW2hhbmRsZUdvSG9tZV1cbiAgKVxuXG4gIGNvbnN0IHJlbW92ZUFnZW50ID0gdXNlQ2FsbGJhY2soKGFnZW50SWQ6IG51bWJlciB8IHN0cmluZykgPT4ge1xuICAgIHNldEFnZW50cyhwcmV2ID0+ICh7XG4gICAgICAuLi5wcmV2LFxuICAgICAgZGF0YTogcHJldi5kYXRhLmZpbHRlcihhID0+IGEuaWQgIT09IGFnZW50SWQudG9TdHJpbmcoKSksXG4gICAgfSkpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHVwZGF0ZUFnZW50ID0gdXNlQ2FsbGJhY2soKHVwZGF0ZWRBZ2VudDogQWdlbnQpID0+IHtcbiAgICBzZXRBZ2VudHMocHJldiA9PiB7XG4gICAgICBjb25zdCB1cGRhdGVkRGF0YSA9IHByZXYuZGF0YS5tYXAoZXhpc3RpbmdBZ2VudCA9PlxuICAgICAgICBleGlzdGluZ0FnZW50LmlkID09PSB1cGRhdGVkQWdlbnQuaWQgPyB1cGRhdGVkQWdlbnQgOiBleGlzdGluZ0FnZW50XG4gICAgICApXG4gICAgICBjb25zdCBzb3J0ZWREYXRhID0gc29ydEFnZW50cyh1cGRhdGVkRGF0YSlcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnByZXYsXG4gICAgICAgIGRhdGE6IHNvcnRlZERhdGEsXG4gICAgICB9XG4gICAgfSlcbiAgfSwgW10pXG5cbiAgY29uc3QgdXBkYXRlQWdlbnRGYXZvcml0ZSA9IHVzZUNhbGxiYWNrKFxuICAgICh1cGRhdGVkQWdlbnQ6IEFnZW50LCBzaG91bGRTb3J0OiBib29sZWFuID0gZmFsc2UpID0+IHtcbiAgICAgIHNldEFnZW50cyhwcmV2ID0+IHtcbiAgICAgICAgY29uc3QgdXBkYXRlZERhdGEgPSBwcmV2LmRhdGEubWFwKGV4aXN0aW5nQWdlbnQgPT4ge1xuICAgICAgICAgIGlmIChleGlzdGluZ0FnZW50LmlkID09PSB1cGRhdGVkQWdlbnQuaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgbWVzc2FnZSwgLi4uYWdlbnRGaWVsZHMgfSA9IHVwZGF0ZWRBZ2VudCBhcyBhbnlcbiAgICAgICAgICAgIGNvbnN0IG1lcmdlZEFnZW50ID0geyAuLi5leGlzdGluZ0FnZW50LCAuLi5hZ2VudEZpZWxkcyB9XG4gICAgICAgICAgICByZXR1cm4gbWVyZ2VkQWdlbnRcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGV4aXN0aW5nQWdlbnRcbiAgICAgICAgfSlcblxuICAgICAgICAvLyBTb2xvIG9yZGVuYXIgc2kgc2hvdWxkU29ydCBlcyB0cnVlXG4gICAgICAgIGNvbnN0IGZpbmFsRGF0YSA9IHNob3VsZFNvcnQgPyBzb3J0QWdlbnRzKHVwZGF0ZWREYXRhKSA6IHVwZGF0ZWREYXRhXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgIGRhdGE6IGZpbmFsRGF0YSxcbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgLy8gQWN0dWFsaXphciBlbCBhZ2VudGUgc2VsZWNjaW9uYWRvIHNpIGVzIGVsIHF1ZSBzZSBlc3TDoSBhY3R1YWxpemFuZG9cbiAgICAgIGlmIChhZ2VudD8uaWQgPT09IHVwZGF0ZWRBZ2VudC5pZCkge1xuICAgICAgICBjb25zdCBleGlzdGluZ0FnZW50ID0gYWdlbnRzLmRhdGEuZmluZChhID0+IGEuaWQgPT09IHVwZGF0ZWRBZ2VudC5pZClcbiAgICAgICAgaWYgKGV4aXN0aW5nQWdlbnQpIHtcbiAgICAgICAgICBjb25zdCB7IG1lc3NhZ2UsIC4uLmFnZW50RmllbGRzIH0gPSB1cGRhdGVkQWdlbnQgYXMgYW55XG4gICAgICAgICAgY29uc3QgbWVyZ2VkQWdlbnQgPSB7IC4uLmV4aXN0aW5nQWdlbnQsIC4uLmFnZW50RmllbGRzIH1cbiAgICAgICAgICBzZWxlY3RBZ2VudChtZXJnZWRBZ2VudClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCB7IG1lc3NhZ2UsIC4uLmFnZW50RmllbGRzIH0gPSB1cGRhdGVkQWdlbnQgYXMgYW55XG4gICAgICAgICAgc2VsZWN0QWdlbnQoYWdlbnRGaWVsZHMgYXMgQWdlbnQpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFthZ2VudCwgc2VsZWN0QWdlbnQsIGFnZW50cy5kYXRhXVxuICApXG5cbiAgY29uc3Qgc29ydEFnZW50c0xpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0QWdlbnRzKHByZXYgPT4ge1xuICAgICAgY29uc3Qgc29ydGVkRGF0YSA9IHNvcnRBZ2VudHMocHJldi5kYXRhKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucHJldixcbiAgICAgICAgZGF0YTogc29ydGVkRGF0YSxcbiAgICAgIH1cbiAgICB9KVxuICB9LCBbXSlcblxuICBjb25zdCBzZWxlY3RGaXJzdEFnZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgKGFnZW50SWQ/OiBzdHJpbmcpID0+IHtcbiAgICAgIGlmIChhZ2VudHMuZGF0YS5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgZmlyc3RBZ2VudCA9IGFnZW50cy5kYXRhLmZpbmRJbmRleChhZ2VudERhdGEgPT4gYWdlbnREYXRhLmlkID09PSBhZ2VudElkKVxuICAgICAgICBsYXN0U2VsZWN0ZWRBZ2VudFJlZi5jdXJyZW50ID0gYWdlbnRzLmRhdGFbZmlyc3RBZ2VudCA9PT0gMCA/IDEgOiAwXVxuICAgICAgICBzZWxlY3RBZ2VudChhZ2VudHMuZGF0YVtmaXJzdEFnZW50ID09PSAwID8gMSA6IDBdKVxuICAgICAgfVxuICAgIH0sXG4gICAgW2FnZW50cy5kYXRhLCBzZWxlY3RBZ2VudF1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUdldEFnZW50cyA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChhZ2VudFRvU2VsZWN0PzogQWdlbnQpID0+IHtcbiAgICAgIGlmIChpc1JlZnJlc2hpbmdSZWYuY3VycmVudCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVxdWVzdEtleSA9IGFnZW50VG9TZWxlY3Q/LmlkPy50b1N0cmluZygpIHx8ICdkZWZhdWx0J1xuICAgICAgaWYgKGxhc3RSZXF1ZXN0UmVmLmN1cnJlbnQgPT09IHJlcXVlc3RLZXkgJiYgIWxvYWRpbmcpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlzUmVmcmVzaGluZ1JlZi5jdXJyZW50ID0gdHJ1ZVxuICAgICAgbGFzdFJlcXVlc3RSZWYuY3VycmVudCA9IHJlcXVlc3RLZXlcbiAgICAgIHNldExvYWRpbmcodHJ1ZSlcbiAgICAgIHNldEVycm9yKG51bGwpXG5cbiAgICAgIGNvbnN0IGlzTXVsdGlBZ2VudHMgPSAhIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MgJiYgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuXG4gICAgICB0cnkge1xuICAgICAgICBsZXQgYWdlbnRQYXJzZWQ6IEFnZW50W10gPSBbXVxuICAgICAgICBsZXQgaGFzTW9yZSA9IGZhbHNlXG4gICAgICAgIGxldCBuZXh0T2Zmc2V0OiBudW1iZXIgfCBudWxsID0gbnVsbFxuXG4gICAgICAgIC8vIFNpIHRpZW5lIGZlYXR1cmUgYWNjZXNzIG11bHRpIGFnZW50cywgaGFjZXIgZG9zIHF1ZXJpZXMgKE1haWEgKyBjdXN0b20pIGVuIGN1YWxxdWllciBzZWNjacOzblxuICAgICAgICBpZiAoaXNNdWx0aUFnZW50cykge1xuICAgICAgICAgIC8vIFF1ZXJ5IDE6IEFnZW50ZXMgY2xvbmUgKE1haWEpIC0gU29sbyBwYXJhIHJvbGVzIHBlcm1pdGlkb3MuIFB1ZWRlbiB2ZW5pciBtw7psdGlwbGVzIGFnZW50ZXMgdGlwbyBjbG9uZVxuICAgICAgICAgIGxldCBjbG9uZUFnZW50czogQWdlbnRbXSA9IFtdXG4gICAgICAgICAgaWYgKCF1c2VyUm9sZXNEaXNhYmxlZC5pbmNsdWRlcyh1c2VyLnJvbGVfaWQpKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBjb25zdCBvcmRlclBhcmFtID1cbiAgICAgICAgICAgICAgICBzZWN0aW9uID09PSAnY2xpZW50J1xuICAgICAgICAgICAgICAgICAgPyAnJm9yZGVyPWNsaWVudCxwcm9qZWN0J1xuICAgICAgICAgICAgICAgICAgOiBzZWN0aW9uID09PSAncHJvamVjdCcgfHwgc2VjdGlvbiA9PT0gJ2hlYWRlcidcbiAgICAgICAgICAgICAgICAgICAgPyAnJm9yZGVyPXByb2plY3QsY2xpZW50J1xuICAgICAgICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgICAgIGNvbnN0IG1haWFSZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICAgICAgICAgICAgcGF0aDogYGFnZW50cz9hZ2VudF90eXBlPWNsb25lJmxhbmc9JHttYXBDT1JMYW5nKGkxOG4ubGFuZ3VhZ2UpfSR7b3JkZXJQYXJhbX1gLFxuICAgICAgICAgICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIGNvbnN0IG1haWFEYXRhID0gYXdhaXQgbWFpYVJlc3BvbnNlLmpzb24oKVxuICAgICAgICAgICAgICBjbG9uZUFnZW50cyA9IG1haWFEYXRhLmRhdGE/LmZpbHRlcigoYWc6IEFnZW50KSA9PiBhZy50eXBlID09PSAnY2xvbmUnKSB8fCBbXVxuICAgICAgICAgICAgfSBjYXRjaCAobWFpYUVycm9yOiBhbnkpIHtcbiAgICAgICAgICAgICAgLy8gVmVyaWZpY2FyIHNpIGVsIGVycm9yIGVzIDQwM1xuICAgICAgICAgICAgICAvLyBmZXRjaENPUiBwdWVkZSBsYW56YXIgZGlmZXJlbnRlcyB0aXBvcyBkZSBlcnJvcmVzOlxuICAgICAgICAgICAgICAvLyAxLiBFcnJvciBjb24gZXJyb3JEYXRhLmRldGFpbCBzaSBpbmNsdXllICdBY2Nlc3MgZGVuaWVkJ1xuICAgICAgICAgICAgICAvLyAyLiBFcnJvciBnZW7DqXJpY28gJ0ZhaWxlZCBmZXRjaGluZyBkYXRhJyBzaSBlcyA0MDMgcGVybyBubyBpbmNsdXllICdBY2Nlc3MgZGVuaWVkJ1xuICAgICAgICAgICAgICAvLyAzLiBOZWNlc2l0YW1vcyB2ZXJpZmljYXIgZWwgc3RhdHVzIGNvZGUgc2kgZXN0w6EgZGlzcG9uaWJsZVxuICAgICAgICAgICAgICBjb25zdCBpczQwM0Vycm9yID1cbiAgICAgICAgICAgICAgICBtYWlhRXJyb3I/LnJlc3BvbnNlPy5zdGF0dXMgPT09IDQwMyB8fFxuICAgICAgICAgICAgICAgIG1haWFFcnJvcj8uc3RhdHVzID09PSA0MDMgfHxcbiAgICAgICAgICAgICAgICBtYWlhRXJyb3I/Lm1lc3NhZ2U/LmluY2x1ZGVzKFwiWW91IGRvbid0IGhhdmUgcGVybWlzc2lvbiB0byB2aWV3IGFnZW50c1wiKSB8fFxuICAgICAgICAgICAgICAgIG1haWFFcnJvcj8ubWVzc2FnZT8uaW5jbHVkZXMoJ0ZhaWxlZCBmZXRjaGluZyBkYXRhJykgLy8gZmV0Y2hDT1IgbGFuemEgZXN0byBwYXJhIDQwMyBzaW4gJ0FjY2VzcyBkZW5pZWQnXG5cbiAgICAgICAgICAgICAgaWYgKGlzNDAzRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAvLyBTaSBlcyA0MDMsIGNvbnRpbnVhciBzaW4gbG9zIGNsb25lQWdlbnRzXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gU2kgZXMgb3RybyBlcnJvciwgbGFuemFybG9cbiAgICAgICAgICAgICAgICB0aHJvdyBtYWlhRXJyb3JcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFF1ZXJ5IDI6IEFnZW50ZXMgY3VzdG9tIGNvbiBwYWdpbmFjacOzblxuICAgICAgICAgIGxldCBjdXN0b21BZ2VudHM6IEFnZW50W10gPSBbXVxuICAgICAgICAgIGxldCBjdXN0b21IYXNNb3JlID0gZmFsc2VcbiAgICAgICAgICBsZXQgY3VzdG9tTmV4dE9mZnNldDogbnVtYmVyIHwgbnVsbCA9IG51bGxcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBjdXN0b21SZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICAgICAgICAgIHBhdGg6ICdhZ2VudHM/YWdlbnRfdHlwZT1jdXN0b20mbGltaXQ9NyZvZmZzZXQ9MCcsXG4gICAgICAgICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgY29uc3QgY3VzdG9tRGF0YSA9IGF3YWl0IGN1c3RvbVJlc3BvbnNlLmpzb24oKVxuICAgICAgICAgICAgY3VzdG9tQWdlbnRzID0gY3VzdG9tRGF0YS5kYXRhIHx8IFtdXG4gICAgICAgICAgICBjdXN0b21IYXNNb3JlID0gY3VzdG9tRGF0YS5oYXNfbW9yZSB8fCBmYWxzZVxuICAgICAgICAgICAgY3VzdG9tTmV4dE9mZnNldCA9IGN1c3RvbURhdGEubmV4dF9vZmZzZXQgfHwgbnVsbFxuICAgICAgICAgIH0gY2F0Y2ggKGN1c3RvbUVycm9yOiBhbnkpIHtcbiAgICAgICAgICAgIC8vIFZlcmlmaWNhciBzaSBlbCBlcnJvciBlcyA0MDNcbiAgICAgICAgICAgIC8vIGZldGNoQ09SIHB1ZWRlIGxhbnphciBkaWZlcmVudGVzIHRpcG9zIGRlIGVycm9yZXM6XG4gICAgICAgICAgICAvLyAxLiBFcnJvciBjb24gZXJyb3JEYXRhLmRldGFpbCBzaSBpbmNsdXllICdBY2Nlc3MgZGVuaWVkJ1xuICAgICAgICAgICAgLy8gMi4gRXJyb3IgZ2Vuw6lyaWNvICdGYWlsZWQgZmV0Y2hpbmcgZGF0YScgc2kgZXMgNDAzIHBlcm8gbm8gaW5jbHV5ZSAnQWNjZXNzIGRlbmllZCdcbiAgICAgICAgICAgIC8vIDMuIE5lY2VzaXRhbW9zIHZlcmlmaWNhciBlbCBzdGF0dXMgY29kZSBzaSBlc3TDoSBkaXNwb25pYmxlXG4gICAgICAgICAgICBjb25zdCBpczQwM0Vycm9yID1cbiAgICAgICAgICAgICAgY3VzdG9tRXJyb3I/LnJlc3BvbnNlPy5zdGF0dXMgPT09IDQwMyB8fFxuICAgICAgICAgICAgICBjdXN0b21FcnJvcj8uc3RhdHVzID09PSA0MDMgfHxcbiAgICAgICAgICAgICAgY3VzdG9tRXJyb3I/Lm1lc3NhZ2U/LmluY2x1ZGVzKFwiWW91IGRvbid0IGhhdmUgcGVybWlzc2lvbiB0byB2aWV3IGFnZW50c1wiKSB8fFxuICAgICAgICAgICAgICBjdXN0b21FcnJvcj8ubWVzc2FnZT8uaW5jbHVkZXMoJ0ZhaWxlZCBmZXRjaGluZyBkYXRhJykgLy8gZmV0Y2hDT1IgbGFuemEgZXN0byBwYXJhIDQwMyBzaW4gJ0FjY2VzcyBkZW5pZWQnXG5cbiAgICAgICAgICAgIGlmIChpczQwM0Vycm9yKSB7XG4gICAgICAgICAgICAgIC8vIFNpIGVzIDQwMywgY29udGludWFyIHNpbiBsb3MgY3VzdG9tQWdlbnRzIChjdXN0b21BZ2VudHMgcXVlZGEgY29tbyBhcnJheSB2YWPDrW8pXG4gICAgICAgICAgICAgIC8vIEVzdG8gcHVlZGUgb2N1cnJpciBlbiBkb3MgZXNjZW5hcmlvczpcbiAgICAgICAgICAgICAgLy8gMS4gVXN1YXJpbyBOTyBlcyBkZSB1c2VyUm9sZXNEaXNhYmxlZDogdGVuZHLDoSBzb2xvIGxvcyBjbG9uZUFnZW50cyAoc2kgbGEgcXVlcnkgY2xvbmUgZnVlIGV4aXRvc2EpXG4gICAgICAgICAgICAgIC8vIDIuIFVzdWFyaW8gU8ONIGVzIGRlIHVzZXJSb2xlc0Rpc2FibGVkOiBlbCBsaXN0YWRvIHF1ZWRhcsOhIHZhY8OtbyAocG9ycXVlIG5vIGhheSBjbG9uZUFnZW50cylcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIFNpIGVzIG90cm8gZXJyb3IsIGxhbnphcmxvXG4gICAgICAgICAgICAgIHRocm93IGN1c3RvbUVycm9yXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gQ29tYmluYXI6IGFnZW50ZXMgY2xvbmUgcHJpbWVybywgbHVlZ28gbG9zIGN1c3RvbSAoc2kgZXhpc3RlbilcbiAgICAgICAgICAvLyBTaSBlbCB1c3VhcmlvIHRpZW5lIHVuIHJvbCBkZXNoYWJpbGl0YWRvLCBubyBpbmNsdWlyIGNsb25lQWdlbnRzXG4gICAgICAgICAgaWYgKHVzZXJSb2xlc0Rpc2FibGVkLmluY2x1ZGVzKHVzZXIucm9sZV9pZCkpIHtcbiAgICAgICAgICAgIC8vIFVzdWFyaW8gZGUgcm9sZXMgZGlzYWJsZWQ6IHNvbG8gY3VzdG9tQWdlbnRzXG4gICAgICAgICAgICAvLyBTaSBjdXN0b21BZ2VudHMgZXN0w6EgdmFjw61vIChwb3IgNDAzKSwgYWdlbnRQYXJzZWQgc2Vyw6EgW11cbiAgICAgICAgICAgIGFnZW50UGFyc2VkID0gY3VzdG9tQWdlbnRzXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIFVzdWFyaW8gbm9ybWFsOiBjbG9uZUFnZW50cyArIGN1c3RvbUFnZW50c1xuICAgICAgICAgICAgLy8gU2kgY3VzdG9tQWdlbnRzIGVzdMOhIHZhY8OtbyAocG9yIDQwMykgcGVybyBoYXkgY2xvbmVBZ2VudHMsIGFnZW50UGFyc2VkIHRlbmRyw6EgbG9zIGNsb25lc1xuICAgICAgICAgICAgLy8gU2kgbm8gaGF5IGNsb25lQWdlbnRzIG5pIGN1c3RvbUFnZW50cywgYWdlbnRQYXJzZWQgc2Vyw6EgW11cbiAgICAgICAgICAgIGFnZW50UGFyc2VkID0gY2xvbmVBZ2VudHMubGVuZ3RoID8gWy4uLmNsb25lQWdlbnRzLCAuLi5jdXN0b21BZ2VudHNdIDogY3VzdG9tQWdlbnRzXG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIE9yZGVuYXI6IE1haWEgcHJpbWVybywgbHVlZ28gZmF2b3JpdG9zIGFsZmFiw6l0aWNhbWVudGUsIGx1ZWdvIG5vIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlXG4gICAgICAgICAgYWdlbnRQYXJzZWQgPSBzb3J0QWdlbnRzKGFnZW50UGFyc2VkKVxuICAgICAgICAgIGhhc01vcmUgPSBjdXN0b21IYXNNb3JlXG4gICAgICAgICAgbmV4dE9mZnNldCA9IGN1c3RvbU5leHRPZmZzZXRcblxuICAgICAgICAgIHNldEFnZW50cyh7XG4gICAgICAgICAgICBkYXRhOiBhZ2VudFBhcnNlZCxcbiAgICAgICAgICAgIGhhc19tb3JlOiBoYXNNb3JlLFxuICAgICAgICAgICAgbmV4dF9vZmZzZXQ6IG5leHRPZmZzZXQsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIC8vIFNpIG5vIGhheSBhZ2VudGVzIGRlc3B1w6lzIGRlIHByb2Nlc2FyIGxhcyBxdWVyaWVzLCBsaW1waWFyIGVsIGVycm9yXG4gICAgICAgICAgaWYgKGFnZW50UGFyc2VkLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgc2V0RXJyb3IobnVsbClcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gTMOzZ2ljYSBwYXJhIHByb2plY3QsIGNsaWVudCBvIGhlYWRlciBzaW4gbXVsdGlBZ2VudHMgKG1pc21vIGNyaXRlcmlvIGRlIG9yZGVuIHByb2plY3QvY2xpZW50OyBoZWFkZXIgYcOxYWRlIHBhZ2luYWNpw7NuKVxuICAgICAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpXG4gICAgICAgICAgaWYgKHNlY3Rpb24gPT09ICdwcm9qZWN0JyB8fCBzZWN0aW9uID09PSAnY2xpZW50JyB8fCBzZWN0aW9uID09PSAnaGVhZGVyJykge1xuICAgICAgICAgICAgcXVlcnlQYXJhbXMuYXBwZW5kKCdhZ2VudF90eXBlJywgJ2Nsb25lJylcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnbGFuZycsIG1hcENPUkxhbmcoaTE4bi5sYW5ndWFnZSkpXG4gICAgICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ29yZGVyJywgc2VjdGlvbiA9PT0gJ2NsaWVudCcgPyAnY2xpZW50LHByb2plY3QnIDogJ3Byb2plY3QsY2xpZW50JylcbiAgICAgICAgICAgIGlmIChzZWN0aW9uID09PSAnaGVhZGVyJykge1xuICAgICAgICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ2xpbWl0JywgJzcnKVxuICAgICAgICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ29mZnNldCcsICcwJylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBxdWVyeVN0cmluZyA9IHF1ZXJ5UGFyYW1zLnRvU3RyaW5nKClcbiAgICAgICAgICBjb25zdCBwYXRoID0gYGFnZW50cyR7cXVlcnlTdHJpbmcgPyBgPyR7cXVlcnlTdHJpbmd9YCA6ICcnfWBcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG4gICAgICAgICAgICAvLyBkYXRhLmRhdGEgeWEgY29udGllbmUgdG9kb3MgbG9zIGFnZW50ZXMgY2xvbmUgZGUgbGEgcXVlcnkgYWdlbnRfdHlwZT1jbG9uZVxuICAgICAgICAgICAgYWdlbnRQYXJzZWQgPSBkYXRhLmRhdGEgfHwgW11cbiAgICAgICAgICAgIC8vIE9yZGVuYXI6IE1haWEgcHJpbWVybywgbHVlZ28gZmF2b3JpdG9zIGFsZmFiw6l0aWNhbWVudGUsIGx1ZWdvIG5vIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlXG4gICAgICAgICAgICBhZ2VudFBhcnNlZCA9IHNvcnRBZ2VudHMoYWdlbnRQYXJzZWQpXG4gICAgICAgICAgICBoYXNNb3JlID0gZGF0YS5oYXNfbW9yZVxuICAgICAgICAgICAgbmV4dE9mZnNldCA9IGRhdGEubmV4dF9vZmZzZXRcblxuICAgICAgICAgICAgc2V0QWdlbnRzKHtcbiAgICAgICAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgICAgICAgZGF0YTogYWdlbnRQYXJzZWQsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gY2F0Y2ggKHJlc3BvbnNlRXJyb3I6IGFueSkge1xuICAgICAgICAgICAgLy8gVmVyaWZpY2FyIHNpIGVsIGVycm9yIGVzIDQwM1xuICAgICAgICAgICAgLy8gZmV0Y2hDT1IgcHVlZGUgbGFuemFyIGRpZmVyZW50ZXMgdGlwb3MgZGUgZXJyb3JlczpcbiAgICAgICAgICAgIC8vIDEuIEVycm9yIGNvbiBlcnJvckRhdGEuZGV0YWlsIHNpIGluY2x1eWUgJ0FjY2VzcyBkZW5pZWQnXG4gICAgICAgICAgICAvLyAyLiBFcnJvciBnZW7DqXJpY28gJ0ZhaWxlZCBmZXRjaGluZyBkYXRhJyBzaSBlcyA0MDMgcGVybyBubyBpbmNsdXllICdBY2Nlc3MgZGVuaWVkJ1xuICAgICAgICAgICAgLy8gMy4gTmVjZXNpdGFtb3MgdmVyaWZpY2FyIGVsIHN0YXR1cyBjb2RlIHNpIGVzdMOhIGRpc3BvbmlibGVcbiAgICAgICAgICAgIGNvbnN0IGlzNDAzRXJyb3IgPVxuICAgICAgICAgICAgICByZXNwb25zZUVycm9yPy5yZXNwb25zZT8uc3RhdHVzID09PSA0MDMgfHxcbiAgICAgICAgICAgICAgcmVzcG9uc2VFcnJvcj8uc3RhdHVzID09PSA0MDMgfHxcbiAgICAgICAgICAgICAgcmVzcG9uc2VFcnJvcj8ubWVzc2FnZT8uaW5jbHVkZXMoXCJZb3UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHZpZXcgYWdlbnRzXCIpIHx8XG4gICAgICAgICAgICAgIHJlc3BvbnNlRXJyb3I/Lm1lc3NhZ2U/LmluY2x1ZGVzKCdGYWlsZWQgZmV0Y2hpbmcgZGF0YScpIC8vIGZldGNoQ09SIGxhbnphIGVzdG8gcGFyYSA0MDMgc2luICdBY2Nlc3MgZGVuaWVkJ1xuXG4gICAgICAgICAgICBpZiAoaXM0MDNFcnJvcikge1xuICAgICAgICAgICAgICAvLyBTaSBlcyA0MDMsIGVzdGFibGVjZXIgYWdlbnRlcyB2YWPDrW9zIHkgY29udGludWFyXG4gICAgICAgICAgICAgIHNldEFnZW50cyh7XG4gICAgICAgICAgICAgICAgZGF0YTogW10sXG4gICAgICAgICAgICAgICAgaGFzX21vcmU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIG5leHRfb2Zmc2V0OiBudWxsLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICBzZXRFcnJvcihudWxsKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gU2kgZXMgb3RybyBlcnJvciwgbGFuemFybG9cbiAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2VFcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEzDs2dpY2EgZGUgc2VsZWN0IGFnZW50IC0gU29sbyBzZWxlY2Npb25hciBzaSBoYXkgYWdlbnRlcyBkaXNwb25pYmxlc1xuICAgICAgICBpZiAoYWdlbnRQYXJzZWQubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGlmIChhZ2VudFRvU2VsZWN0ICYmIGFnZW50UGFyc2VkLmZpbmQoKGFnZW50VG9SZXF1ZXN0OiBBZ2VudCkgPT4gYWdlbnRUb1JlcXVlc3QuaWQgPT09IGFnZW50VG9TZWxlY3QuaWQpKSB7XG4gICAgICAgICAgICBpZiAobGFzdFNlbGVjdGVkQWdlbnRSZWYuY3VycmVudD8uaWQgIT09IGFnZW50VG9TZWxlY3QuaWQpIHtcbiAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkQWdlbnRSZWYuY3VycmVudCA9IGFnZW50VG9TZWxlY3RcbiAgICAgICAgICAgICAgc2VsZWN0QWdlbnQoYWdlbnRUb1NlbGVjdClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKGFnZW50UGFyc2VkPy5bMF0gJiYgKCFhZ2VudCB8fCAhYWdlbnRQYXJzZWQuZmluZCgoYTogQWdlbnQpID0+IGEuaWQgPT09IGFnZW50LmlkKSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGF2YWlsYWJsZUFnZW50cyA9XG4gICAgICAgICAgICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MgJiYgIXVzZXJSb2xlc0Rpc2FibGVkLmluY2x1ZGVzKHVzZXIucm9sZV9pZClcbiAgICAgICAgICAgICAgICA/IGFnZW50UGFyc2VkXG4gICAgICAgICAgICAgICAgOiBhZ2VudFBhcnNlZC5maWx0ZXIoKGFnZW50SXRlbTogQWdlbnQpID0+IGFnZW50SXRlbS50eXBlICE9PSAnY2xvbmUnKVxuXG4gICAgICAgICAgICBjb25zdCBbZmlyc3RBZ2VudF0gPSBhdmFpbGFibGVBZ2VudHNcbiAgICAgICAgICAgIGlmIChmaXJzdEFnZW50ICYmIGxhc3RTZWxlY3RlZEFnZW50UmVmLmN1cnJlbnQ/LmlkICE9PSBmaXJzdEFnZW50LmlkKSB7XG4gICAgICAgICAgICAgIGxhc3RTZWxlY3RlZEFnZW50UmVmLmN1cnJlbnQgPSBmaXJzdEFnZW50XG4gICAgICAgICAgICAgIHNlbGVjdEFnZW50KGZpcnN0QWdlbnQpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmIChhZ2VudFRvU2VsZWN0ICYmIGFnZW50UGFyc2VkPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGF2YWlsYWJsZUFnZW50cyA9XG4gICAgICAgICAgICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MgJiYgIXVzZXJSb2xlc0Rpc2FibGVkLmluY2x1ZGVzKHVzZXIucm9sZV9pZClcbiAgICAgICAgICAgICAgICA/IGFnZW50UGFyc2VkXG4gICAgICAgICAgICAgICAgOiBhZ2VudFBhcnNlZC5maWx0ZXIoKGFnZW50SXRlbTogQWdlbnQpID0+IGFnZW50SXRlbS50eXBlICE9PSAnY2xvbmUnKVxuXG4gICAgICAgICAgICBjb25zdCBbZmlyc3RBdmFpbGFibGVBZ2VudF0gPSBhdmFpbGFibGVBZ2VudHNcbiAgICAgICAgICAgIGlmIChmaXJzdEF2YWlsYWJsZUFnZW50ICYmIGxhc3RTZWxlY3RlZEFnZW50UmVmLmN1cnJlbnQ/LmlkICE9PSBmaXJzdEF2YWlsYWJsZUFnZW50LmlkKSB7XG4gICAgICAgICAgICAgIGxhc3RTZWxlY3RlZEFnZW50UmVmLmN1cnJlbnQgPSBmaXJzdEF2YWlsYWJsZUFnZW50XG4gICAgICAgICAgICAgIHNlbGVjdEFnZW50KGZpcnN0QXZhaWxhYmxlQWdlbnQpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBzZXRFcnJvcihlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogJ0FuIHVua25vd24gZXJyb3Igb2NjdXJyZWQnKVxuICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgaXNSZWZyZXNoaW5nUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBpZiAoIWlzUmVmcmVzaGluZ1JlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBsYXN0UmVxdWVzdFJlZi5jdXJyZW50ID0gbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgfSwgMTAwKVxuICAgICAgfVxuICAgIH0sXG4gICAgW3NlbGVjdEFnZW50LCBzZWN0aW9uLCBhZ2VudCwgbG9hZGluZ11cbiAgKVxuXG4gIGNvbnN0IGxvYWRNb3JlQWdlbnRzID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGlzTXVsdGlBZ2VudHMgPSAhIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MgJiYgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICAgIC8vIENhcmdhciBtw6FzOiBlbiBoZWFkZXIgc2llbXByZTsgZW4gcHJvamVjdCBzb2xvIHNpIGlzTXVsdGlBZ2VudHMgKHBvcnF1ZSBzb2xvIGVudG9uY2VzIGhheSBwYWdpbmFjacOzbiBkZSBjdXN0b20pXG4gICAgY29uc3QgY2FuTG9hZE1vcmUgPSBzZWN0aW9uID09PSAnaGVhZGVyJyB8fCBpc011bHRpQWdlbnRzXG4gICAgaWYgKCFjYW5Mb2FkTW9yZSB8fCAhYWdlbnRzLmhhc19tb3JlIHx8ICFhZ2VudHMubmV4dF9vZmZzZXQgfHwgbG9hZGluZ01vcmUpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHNldExvYWRpbmdNb3JlKHRydWUpXG4gICAgc2V0RXJyb3IobnVsbClcblxuICAgIHRyeSB7XG4gICAgICBsZXQgcGF0aDogc3RyaW5nXG5cbiAgICAgIC8vIFNpIGVzIG11bHRpQWdlbnRzLCBzb2xvIGNhcmdhciBhZ2VudHMgY3VzdG9tIChNYWlhIHlhIGVzdMOhIGNhcmdhZG8pXG4gICAgICBpZiAoaXNNdWx0aUFnZW50cykge1xuICAgICAgICAvLyBNYW50ZW5lciBjYW50aWRhZCBpbXBhciBkZSBjYXJkczogcHJpbWVyYSBjYXJnYSA3LCBzaWd1aWVudGVzICs2ICg3LCAxMywgMTksIC4uLilcbiAgICAgICAgcGF0aCA9IGBhZ2VudHM/YWdlbnRfdHlwZT1jdXN0b20mbGltaXQ9NiZvZmZzZXQ9JHthZ2VudHMubmV4dF9vZmZzZXR9YFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2kgbm8gZXMgbXVsdGlBZ2VudHMsIGNhcmdhciBtw6FzIGFnZW50ZXMgY2xvbmUgKE1haWEpIOKAlCBtaXNtbyBvcmRlciBxdWUgcHJvamVjdCBwYXJhIGhlYWRlclxuICAgICAgICBjb25zdCBxdWVyeVBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKVxuICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ2FnZW50X3R5cGUnLCAnY2xvbmUnKVxuICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ2xhbmcnLCBtYXBDT1JMYW5nKGkxOG4ubGFuZ3VhZ2UpKVxuICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ29yZGVyJywgJ3Byb2plY3QsY2xpZW50JylcbiAgICAgICAgcXVlcnlQYXJhbXMuYXBwZW5kKCdsaW1pdCcsICc3JylcbiAgICAgICAgcXVlcnlQYXJhbXMuYXBwZW5kKCdvZmZzZXQnLCBhZ2VudHMubmV4dF9vZmZzZXQudG9TdHJpbmcoKSlcbiAgICAgICAgcGF0aCA9IGBhZ2VudHM/JHtxdWVyeVBhcmFtcy50b1N0cmluZygpfWBcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgICAgICBwYXRoLFxuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgfSlcblxuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuXG4gICAgICAvLyBBY3VtdWxhciBhZ2VudGVzLCBleGNsdXllbmRvIGR1cGxpY2Fkb3NcbiAgICAgIHNldEFnZW50cyhwcmV2ID0+IHtcbiAgICAgICAgaWYgKGlzTXVsdGlBZ2VudHMpIHtcbiAgICAgICAgICAvLyBMw7NnaWNhIHBhcmEgbXVsdGlBZ2VudHM6IHNlcGFyYXIgY2xvbmUgeSBjdXN0b21cbiAgICAgICAgICAvLyBNYW50ZW5lciB0b2RvcyBsb3MgYWdlbnRlcyBjbG9uZSBleGlzdGVudGVzIGFsIGluaWNpb1xuICAgICAgICAgIGNvbnN0IGV4aXN0aW5nQ2xvbmVBZ2VudHMgPSBwcmV2LmRhdGEuZmlsdGVyKChhZzogQWdlbnQpID0+IGFnLnR5cGUgPT09ICdjbG9uZScpXG5cbiAgICAgICAgICAvLyBPYnRlbmVyIElEcyBleGlzdGVudGVzIChleGNsdXllbmRvIGNsb25lcylcbiAgICAgICAgICBjb25zdCBleGlzdGluZ0lkcyA9IG5ldyBTZXQocHJldi5kYXRhLmZpbHRlcigoYWc6IEFnZW50KSA9PiBhZy50eXBlICE9PSAnY2xvbmUnKS5tYXAoKGFnOiBBZ2VudCkgPT4gYWcuaWQpKVxuXG4gICAgICAgICAgLy8gRmlsdHJhciBudWV2b3MgYWdlbnRzIHF1ZSBubyBlc3TDqW4geWEgZW4gbGEgbGlzdGEgKHkgcXVlIG5vIHNlYW4gY2xvbmUpXG4gICAgICAgICAgY29uc3QgbmV3QWdlbnRzID0gZGF0YS5kYXRhLmZpbHRlcigoYWc6IEFnZW50KSA9PiBhZy50eXBlICE9PSAnY2xvbmUnICYmICFleGlzdGluZ0lkcy5oYXMoYWcuaWQpKVxuXG4gICAgICAgICAgLy8gQ29uc3RydWlyIGVsIG51ZXZvIGFycmF5OiBjbG9uZXMgcHJpbWVybywgbHVlZ28gbG9zIGFnZW50cyBleGlzdGVudGVzIHF1ZSBubyBzZWFuIGNsb25lLCBsdWVnbyBsb3MgbnVldm9zXG4gICAgICAgICAgY29uc3QgbmV3RGF0YSA9IGV4aXN0aW5nQ2xvbmVBZ2VudHMubGVuZ3RoXG4gICAgICAgICAgICA/IFsuLi5leGlzdGluZ0Nsb25lQWdlbnRzLCAuLi5wcmV2LmRhdGEuZmlsdGVyKChhZzogQWdlbnQpID0+IGFnLnR5cGUgIT09ICdjbG9uZScpLCAuLi5uZXdBZ2VudHNdXG4gICAgICAgICAgICA6IFsuLi5wcmV2LmRhdGEuZmlsdGVyKChhZzogQWdlbnQpID0+IGFnLnR5cGUgIT09ICdjbG9uZScpLCAuLi5uZXdBZ2VudHNdXG5cbiAgICAgICAgICAvLyBPcmRlbmFyOiBNYWlhIHByaW1lcm8sIGx1ZWdvIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlLCBsdWVnbyBubyBmYXZvcml0b3MgYWxmYWLDqXRpY2FtZW50ZVxuICAgICAgICAgIGNvbnN0IHNvcnRlZERhdGEgPSBzb3J0QWdlbnRzKG5ld0RhdGEpXG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGF0YTogc29ydGVkRGF0YSxcbiAgICAgICAgICAgIGhhc19tb3JlOiBkYXRhLmhhc19tb3JlLFxuICAgICAgICAgICAgbmV4dF9vZmZzZXQ6IGRhdGEubmV4dF9vZmZzZXQsXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIEzDs2dpY2EgcGFyYSAhaXNNdWx0aUFnZW50czogdG9kb3MgbG9zIGFnZW50ZXMgc29uIGNsb25lLCBzaW1wbGVtZW50ZSBhZ3JlZ2FyIGV2aXRhbmRvIGR1cGxpY2Fkb3NcbiAgICAgICAgY29uc3QgZXhpc3RpbmdJZHMgPSBuZXcgU2V0KHByZXYuZGF0YS5tYXAoKGFnOiBBZ2VudCkgPT4gYWcuaWQpKVxuICAgICAgICBjb25zdCBuZXdBZ2VudHMgPSAoZGF0YS5kYXRhIHx8IFtdKS5maWx0ZXIoKGFnOiBBZ2VudCkgPT4gIWV4aXN0aW5nSWRzLmhhcyhhZy5pZCkpXG4gICAgICAgIGNvbnN0IG5ld0RhdGEgPSBbLi4ucHJldi5kYXRhLCAuLi5uZXdBZ2VudHNdXG5cbiAgICAgICAgLy8gT3JkZW5hcjogTWFpYSBwcmltZXJvLCBsdWVnbyBmYXZvcml0b3MgYWxmYWLDqXRpY2FtZW50ZSwgbHVlZ28gbm8gZmF2b3JpdG9zIGFsZmFiw6l0aWNhbWVudGVcbiAgICAgICAgY29uc3Qgc29ydGVkRGF0YSA9IHNvcnRBZ2VudHMobmV3RGF0YSlcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGRhdGE6IHNvcnRlZERhdGEsXG4gICAgICAgICAgaGFzX21vcmU6IGRhdGEuaGFzX21vcmUsXG4gICAgICAgICAgbmV4dF9vZmZzZXQ6IGRhdGEubmV4dF9vZmZzZXQsXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIHNldExvYWRpbmdNb3JlKGZhbHNlKVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcih0KCdzbmFja2Jhci5sb2FkTW9yZUFnZW50cy5lcnJvcicpKVxuICAgICAgc2V0TG9hZGluZ01vcmUoZmFsc2UpXG4gICAgfVxuICB9LCBbc2VjdGlvbiwgYWdlbnRzLmhhc19tb3JlLCBhZ2VudHMubmV4dF9vZmZzZXQsIGxvYWRpbmdNb3JlLCBpMThuLmxhbmd1YWdlXSlcblxuICByZXR1cm4ge1xuICAgIGFnZW50cyxcbiAgICBsb2FkaW5nLFxuICAgIGxvYWRpbmdNb3JlLFxuICAgIGVycm9yLFxuICAgIGhhbmRsZUdldEFnZW50cyxcbiAgICBsb2FkTW9yZUFnZW50cyxcbiAgICBhZGRBZ2VudCxcbiAgICByZW1vdmVBZ2VudCxcbiAgICB1cGRhdGVBZ2VudCxcbiAgICB1cGRhdGVBZ2VudEZhdm9yaXRlLFxuICAgIHNlbGVjdEZpcnN0QWdlbnQsXG4gICAgc29ydEFnZW50c0xpc3QsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUNyRCxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxrQkFBa0IsUUFBUSxzREFBc0Q7QUFDekYsU0FBU0MsU0FBUyxRQUFRLFdBQVc7QUFFckMsU0FBU0MsT0FBTyxFQUFFQyxXQUFXLFFBQVEsMkJBQTJCO0FBQ2hFLFNBQVNDLFVBQVUsUUFBUSxxQkFBcUI7O0FBRWhEO0FBQ0E7QUFDQTtBQUNBLElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFJQyxNQUFlLEVBQWM7RUFDL0M7RUFDQSxJQUFNQyxXQUFXLEdBQUdELE1BQU0sQ0FBQ0UsTUFBTSxDQUFDLFVBQUFDLEVBQUU7SUFBQSxPQUFJQSxFQUFFLENBQUNDLElBQUksS0FBSyxPQUFPO0VBQUEsRUFBQztFQUM1RCxJQUFNQyxXQUFXLEdBQUdMLE1BQU0sQ0FBQ0UsTUFBTSxDQUFDLFVBQUFDLEVBQUU7SUFBQSxPQUFJQSxFQUFFLENBQUNDLElBQUksS0FBSyxPQUFPO0VBQUEsRUFBQzs7RUFFNUQ7RUFDQSxJQUFNRSxTQUFTLEdBQUdELFdBQVcsQ0FBQ0gsTUFBTSxDQUFDLFVBQUFDLEVBQUU7SUFBQSxPQUFJQSxFQUFFLENBQUNJLFdBQVc7RUFBQSxFQUFDLENBQUNDLElBQUksQ0FBQyxVQUFDQyxDQUFDLEVBQUVDLENBQUM7SUFBQSxPQUFLRCxDQUFDLENBQUNFLElBQUksQ0FBQ0MsYUFBYSxDQUFDRixDQUFDLENBQUNDLElBQUksQ0FBQztFQUFBLEVBQUM7RUFDdkcsSUFBTUUsWUFBWSxHQUFHUixXQUFXLENBQUNILE1BQU0sQ0FBQyxVQUFBQyxFQUFFO0lBQUEsT0FBSSxDQUFDQSxFQUFFLENBQUNJLFdBQVc7RUFBQSxFQUFDLENBQUNDLElBQUksQ0FBQyxVQUFDQyxDQUFDLEVBQUVDLENBQUM7SUFBQSxPQUFLRCxDQUFDLENBQUNFLElBQUksQ0FBQ0MsYUFBYSxDQUFDRixDQUFDLENBQUNDLElBQUksQ0FBQztFQUFBLEVBQUM7O0VBRTNHO0VBQ0EsT0FBT1YsV0FBVyxDQUFDYSxNQUFNLE1BQUFDLE1BQUEsQ0FBQUMsa0JBQUEsQ0FBT2YsV0FBVyxHQUFBZSxrQkFBQSxDQUFLVixTQUFTLEdBQUFVLGtCQUFBLENBQUtILFlBQVksUUFBQUUsTUFBQSxDQUFBQyxrQkFBQSxDQUFRVixTQUFTLEdBQUFVLGtCQUFBLENBQUtILFlBQVksRUFBQztBQUMvRyxDQUFDO0FBY0QsT0FBTyxJQUFNSSxZQUFZLEdBQUcsU0FBZkEsWUFBWUEsQ0FBQUMsSUFBQSxFQUF5RTtFQUFBLElBQW5FQyxXQUFXLEdBQUFELElBQUEsQ0FBWEMsV0FBVztJQUFFQyxPQUFPLEdBQUFGLElBQUEsQ0FBUEUsT0FBTztJQUFFQyxLQUFLLEdBQUFILElBQUEsQ0FBTEcsS0FBSztJQUFFQyxZQUFZLEdBQUFKLElBQUEsQ0FBWkksWUFBWTtFQUN0RSxJQUFNQyxJQUFJLEdBQUczQixPQUFPLENBQUMsQ0FBQztFQUN0QixJQUFBNEIsU0FBQSxHQUE0QmxDLFFBQVEsQ0FBcUU7TUFBRW1DLElBQUksRUFBRTtJQUFHLENBQUMsQ0FBQztJQUFBQyxVQUFBLEdBQUFDLGNBQUEsQ0FBQUgsU0FBQTtJQUEvR3hCLE1BQU0sR0FBQTBCLFVBQUE7SUFBRUUsU0FBUyxHQUFBRixVQUFBO0VBQ3hCLElBQUFHLFVBQUEsR0FBOEJ2QyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUF3QyxVQUFBLEdBQUFILGNBQUEsQ0FBQUUsVUFBQTtJQUF0Q0UsT0FBTyxHQUFBRCxVQUFBO0lBQUVFLFVBQVUsR0FBQUYsVUFBQTtFQUMxQixJQUFBRyxVQUFBLEdBQXNDM0MsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBNEMsVUFBQSxHQUFBUCxjQUFBLENBQUFNLFVBQUE7SUFBOUNFLFdBQVcsR0FBQUQsVUFBQTtJQUFFRSxjQUFjLEdBQUFGLFVBQUE7RUFDbEMsSUFBQUcsVUFBQSxHQUEwQi9DLFFBQVEsQ0FBZ0IsSUFBSSxDQUFDO0lBQUFnRCxVQUFBLEdBQUFYLGNBQUEsQ0FBQVUsVUFBQTtJQUFoREUsS0FBSyxHQUFBRCxVQUFBO0lBQUVFLFFBQVEsR0FBQUYsVUFBQTtFQUN0QixJQUFBRyxtQkFBQSxHQUFnQy9DLGtCQUFrQixDQUFDLENBQUM7SUFBNUNnRCxtQkFBbUIsR0FBQUQsbUJBQUEsQ0FBbkJDLG1CQUFtQjtFQUMzQixJQUFBQyxlQUFBLEdBQW9CbEQsY0FBYyxDQUFDLGlCQUFpQixDQUFDO0lBQTdDbUQsQ0FBQyxHQUFBRCxlQUFBLENBQURDLENBQUM7SUFBRUMsSUFBSSxHQUFBRixlQUFBLENBQUpFLElBQUk7RUFDZixJQUFNQyxvQkFBb0IsR0FBR3RELE1BQU0sQ0FBZSxJQUFJLENBQUM7RUFDdkQsSUFBTXVELGVBQWUsR0FBR3ZELE1BQU0sQ0FBQyxLQUFLLENBQUM7RUFDckMsSUFBTXdELGNBQWMsR0FBR3hELE1BQU0sQ0FBZ0IsSUFBSSxDQUFDO0VBRWxELElBQU15RCxpQkFBaUIsR0FBRyxDQUFDcEQsV0FBVyxDQUFDcUQsWUFBWSxFQUFFckQsV0FBVyxDQUFDc0QsVUFBVSxFQUFFdEQsV0FBVyxDQUFDdUQsTUFBTSxDQUFDO0VBRWhHLElBQU1DLFFBQVEsR0FBRzlELFdBQVcsQ0FDMUIsVUFBQytELFFBQWUsRUFBRUMsT0FBeUIsRUFBSztJQUM5QzNCLFNBQVMsQ0FBQyxVQUFBNEIsSUFBSSxFQUFJO01BQ2hCO01BQ0EsSUFBTUMsV0FBVyxHQUFHRCxJQUFJLENBQUMvQixJQUFJLENBQUNpQyxJQUFJLENBQUMsVUFBQUMsYUFBYTtRQUFBLE9BQUlBLGFBQWEsQ0FBQ0MsRUFBRSxLQUFLTixRQUFRLENBQUNNLEVBQUU7TUFBQSxFQUFDO01BQ3JGLElBQUlILFdBQVcsRUFBRTtRQUNmLE9BQU9ELElBQUk7TUFDYjtNQUNBLElBQU1LLE9BQU8sTUFBQTlDLE1BQUEsQ0FBQUMsa0JBQUEsQ0FBT3dDLElBQUksQ0FBQy9CLElBQUksSUFBRTZCLFFBQVEsRUFBQztNQUN4QyxJQUFNUSxVQUFVLEdBQUcvRCxVQUFVLENBQUM4RCxPQUFPLENBQUM7TUFDdEMsT0FBQUUsYUFBQSxDQUFBQSxhQUFBLEtBQ0tQLElBQUk7UUFDUC9CLElBQUksRUFBRXFDO01BQVU7SUFFcEIsQ0FBQyxDQUFDO0lBQ0YsSUFBSSxDQUFBUCxPQUFPLGFBQVBBLE9BQU8sdUJBQVBBLE9BQU8sQ0FBRVMsWUFBWSxNQUFLLEtBQUssRUFBRTtNQUNuQzFDLFlBQVksQ0FBQyxDQUFDO0lBQ2hCO0VBQ0YsQ0FBQyxFQUNELENBQUNBLFlBQVksQ0FDZixDQUFDO0VBRUQsSUFBTTJDLFdBQVcsR0FBRzFFLFdBQVcsQ0FBQyxVQUFDMkUsT0FBd0IsRUFBSztJQUM1RHRDLFNBQVMsQ0FBQyxVQUFBNEIsSUFBSTtNQUFBLE9BQUFPLGFBQUEsQ0FBQUEsYUFBQSxLQUNUUCxJQUFJO1FBQ1AvQixJQUFJLEVBQUUrQixJQUFJLENBQUMvQixJQUFJLENBQUN2QixNQUFNLENBQUMsVUFBQU8sQ0FBQztVQUFBLE9BQUlBLENBQUMsQ0FBQ21ELEVBQUUsS0FBS00sT0FBTyxDQUFDQyxRQUFRLENBQUMsQ0FBQztRQUFBO01BQUM7SUFBQSxDQUN4RCxDQUFDO0VBQ0wsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLElBQU1DLFdBQVcsR0FBRzdFLFdBQVcsQ0FBQyxVQUFDOEUsWUFBbUIsRUFBSztJQUN2RHpDLFNBQVMsQ0FBQyxVQUFBNEIsSUFBSSxFQUFJO01BQ2hCLElBQU1jLFdBQVcsR0FBR2QsSUFBSSxDQUFDL0IsSUFBSSxDQUFDOEMsR0FBRyxDQUFDLFVBQUFaLGFBQWE7UUFBQSxPQUM3Q0EsYUFBYSxDQUFDQyxFQUFFLEtBQUtTLFlBQVksQ0FBQ1QsRUFBRSxHQUFHUyxZQUFZLEdBQUdWLGFBQWE7TUFBQSxDQUNyRSxDQUFDO01BQ0QsSUFBTUcsVUFBVSxHQUFHL0QsVUFBVSxDQUFDdUUsV0FBVyxDQUFDO01BQzFDLE9BQUFQLGFBQUEsQ0FBQUEsYUFBQSxLQUNLUCxJQUFJO1FBQ1AvQixJQUFJLEVBQUVxQztNQUFVO0lBRXBCLENBQUMsQ0FBQztFQUNKLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFNVSxtQkFBbUIsR0FBR2pGLFdBQVcsQ0FDckMsVUFBQzhFLFlBQW1CLEVBQWtDO0lBQUEsSUFBaENJLFVBQW1CLEdBQUFDLFNBQUEsQ0FBQTVELE1BQUEsUUFBQTRELFNBQUEsUUFBQUMsU0FBQSxHQUFBRCxTQUFBLE1BQUcsS0FBSztJQUMvQzlDLFNBQVMsQ0FBQyxVQUFBNEIsSUFBSSxFQUFJO01BQ2hCLElBQU1jLFdBQVcsR0FBR2QsSUFBSSxDQUFDL0IsSUFBSSxDQUFDOEMsR0FBRyxDQUFDLFVBQUFaLGFBQWEsRUFBSTtRQUNqRCxJQUFJQSxhQUFhLENBQUNDLEVBQUUsS0FBS1MsWUFBWSxDQUFDVCxFQUFFLEVBQUU7VUFDeEMsSUFBQWdCLEtBQUEsR0FBb0NQLFlBQVk7WUFBeENRLE9BQU8sR0FBQUQsS0FBQSxDQUFQQyxPQUFPO1lBQUtDLFdBQVcsR0FBQUMsd0JBQUEsQ0FBQUgsS0FBQSxFQUFBSSxTQUFBO1VBQy9CLElBQU1DLFdBQVcsR0FBQWxCLGFBQUEsQ0FBQUEsYUFBQSxLQUFRSixhQUFhLEdBQUttQixXQUFXLENBQUU7VUFDeEQsT0FBT0csV0FBVztRQUNwQjtRQUNBLE9BQU90QixhQUFhO01BQ3RCLENBQUMsQ0FBQzs7TUFFRjtNQUNBLElBQU11QixTQUFTLEdBQUdULFVBQVUsR0FBRzFFLFVBQVUsQ0FBQ3VFLFdBQVcsQ0FBQyxHQUFHQSxXQUFXO01BRXBFLE9BQUFQLGFBQUEsQ0FBQUEsYUFBQSxLQUNLUCxJQUFJO1FBQ1AvQixJQUFJLEVBQUV5RDtNQUFTO0lBRW5CLENBQUMsQ0FBQzs7SUFFRjtJQUNBLElBQUksQ0FBQTdELEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFdUMsRUFBRSxNQUFLUyxZQUFZLENBQUNULEVBQUUsRUFBRTtNQUNqQyxJQUFNRCxhQUFhLEdBQUczRCxNQUFNLENBQUN5QixJQUFJLENBQUMwRCxJQUFJLENBQUMsVUFBQTFFLENBQUM7UUFBQSxPQUFJQSxDQUFDLENBQUNtRCxFQUFFLEtBQUtTLFlBQVksQ0FBQ1QsRUFBRTtNQUFBLEVBQUM7TUFDckUsSUFBSUQsYUFBYSxFQUFFO1FBQ2pCLElBQUF5QixLQUFBLEdBQW9DZixZQUFZO1VBQXhDUSxPQUFPLEdBQUFPLEtBQUEsQ0FBUFAsT0FBTztVQUFLQyxXQUFXLEdBQUFDLHdCQUFBLENBQUFLLEtBQUEsRUFBQUMsVUFBQTtRQUMvQixJQUFNSixXQUFXLEdBQUFsQixhQUFBLENBQUFBLGFBQUEsS0FBUUosYUFBYSxHQUFLbUIsV0FBVyxDQUFFO1FBQ3hEM0QsV0FBVyxDQUFDOEQsV0FBVyxDQUFDO01BQzFCLENBQUMsTUFBTTtRQUNMLElBQUFLLEtBQUEsR0FBb0NqQixZQUFZO1VBQXhDUSxRQUFPLEdBQUFTLEtBQUEsQ0FBUFQsT0FBTztVQUFLQyxZQUFXLEdBQUFDLHdCQUFBLENBQUFPLEtBQUEsRUFBQUMsVUFBQTtRQUMvQnBFLFdBQVcsQ0FBQzJELFlBQW9CLENBQUM7TUFDbkM7SUFDRjtFQUNGLENBQUMsRUFDRCxDQUFDekQsS0FBSyxFQUFFRixXQUFXLEVBQUVuQixNQUFNLENBQUN5QixJQUFJLENBQ2xDLENBQUM7RUFFRCxJQUFNK0QsY0FBYyxHQUFHakcsV0FBVyxDQUFDLFlBQU07SUFDdkNxQyxTQUFTLENBQUMsVUFBQTRCLElBQUksRUFBSTtNQUNoQixJQUFNTSxVQUFVLEdBQUcvRCxVQUFVLENBQUN5RCxJQUFJLENBQUMvQixJQUFJLENBQUM7TUFDeEMsT0FBQXNDLGFBQUEsQ0FBQUEsYUFBQSxLQUNLUCxJQUFJO1FBQ1AvQixJQUFJLEVBQUVxQztNQUFVO0lBRXBCLENBQUMsQ0FBQztFQUNKLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFNMkIsZ0JBQWdCLEdBQUdsRyxXQUFXLENBQ2xDLFVBQUMyRSxPQUFnQixFQUFLO0lBQ3BCLElBQUlsRSxNQUFNLENBQUN5QixJQUFJLENBQUNYLE1BQU0sRUFBRTtNQUN0QixJQUFNNEUsVUFBVSxHQUFHMUYsTUFBTSxDQUFDeUIsSUFBSSxDQUFDa0UsU0FBUyxDQUFDLFVBQUFDLFNBQVM7UUFBQSxPQUFJQSxTQUFTLENBQUNoQyxFQUFFLEtBQUtNLE9BQU87TUFBQSxFQUFDO01BQy9FcEIsb0JBQW9CLENBQUMrQyxPQUFPLEdBQUc3RixNQUFNLENBQUN5QixJQUFJLENBQUNpRSxVQUFVLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7TUFDcEV2RSxXQUFXLENBQUNuQixNQUFNLENBQUN5QixJQUFJLENBQUNpRSxVQUFVLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwRDtFQUNGLENBQUMsRUFDRCxDQUFDMUYsTUFBTSxDQUFDeUIsSUFBSSxFQUFFTixXQUFXLENBQzNCLENBQUM7RUFFRCxJQUFNMkUsZUFBZSxHQUFHdkcsV0FBVztJQUFBLElBQUF3RyxLQUFBLEdBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FDakMsU0FBQUMsUUFBT0MsYUFBcUI7TUFBQSxJQUFBQyxpQkFBQTtNQUFBLElBQUFDLFVBQUEsRUFBQUMsYUFBQSxFQUFBQyxXQUFBLEVBQUFDLE9BQUEsRUFBQUMsVUFBQSxFQUFBekcsV0FBQSxFQUFBMEcsY0FBQSxFQUFBQyxVQUFBLEVBQUFDLFlBQUEsRUFBQUMsUUFBQSxFQUFBQyxtQkFBQSxFQUFBQyxrQkFBQSxFQUFBQyxtQkFBQSxFQUFBQyxVQUFBLEVBQUFDLFlBQUEsRUFBQUMsYUFBQSxFQUFBQyxnQkFBQSxFQUFBQyxjQUFBLEVBQUFDLFVBQUEsRUFBQUMscUJBQUEsRUFBQUMsb0JBQUEsRUFBQUMscUJBQUEsRUFBQUMsV0FBQSxFQUFBQyxXQUFBLEVBQUFDLFdBQUEsRUFBQUMsSUFBQSxFQUFBQyxRQUFBLEVBQUF0RyxJQUFBLEVBQUF1RyxxQkFBQSxFQUFBQyxxQkFBQSxFQUFBQyxzQkFBQSxFQUFBQyxZQUFBLEVBQUFDLFlBQUEsRUFBQUMsYUFBQSxFQUFBQyxxQkFBQSxFQUFBQyxzQkFBQSxFQUFBQyxlQUFBLEVBQUFDLGdCQUFBLEVBQUEvQyxVQUFBLEVBQUFnRCxzQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxtQkFBQSxFQUFBQyxFQUFBLEVBQUFDLEdBQUEsRUFBQUMsR0FBQSxFQUFBQyxHQUFBO01BQUEsT0FBQWhELG1CQUFBLENBQUFpRCxJQUFBLFdBQUFDLFFBQUE7UUFBQSxrQkFBQUEsUUFBQSxDQUFBM0YsSUFBQSxHQUFBMkYsUUFBQSxDQUFBQyxJQUFBO1VBQUE7WUFBQSxLQUN0QnJHLGVBQWUsQ0FBQzhDLE9BQU87Y0FBQXNELFFBQUEsQ0FBQUMsSUFBQTtjQUFBO1lBQUE7WUFBQSxPQUFBRCxRQUFBLENBQUFFLE1BQUE7VUFBQTtZQUlyQi9DLFVBQVUsR0FBRyxDQUFBRixhQUFhLGFBQWJBLGFBQWEsZ0JBQUFDLGlCQUFBLEdBQWJELGFBQWEsQ0FBRXhDLEVBQUUsY0FBQXlDLGlCQUFBLHVCQUFqQkEsaUJBQUEsQ0FBbUJsQyxRQUFRLENBQUMsQ0FBQyxLQUFJLFNBQVM7WUFBQSxNQUN6RG5CLGNBQWMsQ0FBQzZDLE9BQU8sS0FBS1MsVUFBVSxJQUFJLENBQUN2RSxPQUFPO2NBQUFvSCxRQUFBLENBQUFDLElBQUE7Y0FBQTtZQUFBO1lBQUEsT0FBQUQsUUFBQSxDQUFBRSxNQUFBO1VBQUE7WUFJckR0RyxlQUFlLENBQUM4QyxPQUFPLEdBQUcsSUFBSTtZQUM5QjdDLGNBQWMsQ0FBQzZDLE9BQU8sR0FBR1MsVUFBVTtZQUNuQ3RFLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDaEJRLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFFUitELGFBQWEsR0FBRyxDQUFDLENBQUMrQyxNQUFNLENBQUNDLDJCQUEyQixJQUFJLENBQUMsQ0FBQ0QsTUFBTSxDQUFDRSx3Q0FBd0M7WUFBQUwsUUFBQSxDQUFBM0YsSUFBQTtZQUd6R2dELFdBQW9CLEdBQUcsRUFBRTtZQUN6QkMsT0FBTyxHQUFHLEtBQUs7WUFDZkMsVUFBeUIsR0FBRyxJQUFJLEVBRXBDO1lBQUEsS0FDSUgsYUFBYTtjQUFBNEMsUUFBQSxDQUFBQyxJQUFBO2NBQUE7WUFBQTtZQUNmO1lBQ0luSixXQUFvQixHQUFHLEVBQUU7WUFBQSxJQUN4QmdELGlCQUFpQixDQUFDd0csUUFBUSxDQUFDbEksSUFBSSxDQUFDbUksT0FBTyxDQUFDO2NBQUFQLFFBQUEsQ0FBQUMsSUFBQTtjQUFBO1lBQUE7WUFBQUQsUUFBQSxDQUFBM0YsSUFBQTtZQUVuQ29ELFVBQVUsR0FDZHhGLE9BQU8sS0FBSyxRQUFRLEdBQ2hCLHVCQUF1QixHQUN2QkEsT0FBTyxLQUFLLFNBQVMsSUFBSUEsT0FBTyxLQUFLLFFBQVEsR0FDM0MsdUJBQXVCLEdBQ3ZCLEVBQUU7WUFBQStILFFBQUEsQ0FBQUMsSUFBQTtZQUFBLE9BQ2lCekosU0FBUyxDQUFDO2NBQ25DbUksSUFBSSxrQ0FBQS9HLE1BQUEsQ0FBa0NqQixVQUFVLENBQUMrQyxJQUFJLENBQUM4RyxRQUFRLENBQUMsRUFBQTVJLE1BQUEsQ0FBRzZGLFVBQVUsQ0FBRTtjQUM5RWdELE1BQU0sRUFBRTtZQUNWLENBQUMsQ0FBQztVQUFBO1lBSEkvQyxZQUFZLEdBQUFzQyxRQUFBLENBQUFVLElBQUE7WUFBQVYsUUFBQSxDQUFBQyxJQUFBO1lBQUEsT0FJS3ZDLFlBQVksQ0FBQ2lELElBQUksQ0FBQyxDQUFDO1VBQUE7WUFBcENoRCxRQUFRLEdBQUFxQyxRQUFBLENBQUFVLElBQUE7WUFDZDVKLFdBQVcsR0FBRyxFQUFBMEcsY0FBQSxHQUFBRyxRQUFRLENBQUNyRixJQUFJLGNBQUFrRixjQUFBLHVCQUFiQSxjQUFBLENBQWV6RyxNQUFNLENBQUMsVUFBQ0MsRUFBUztjQUFBLE9BQUtBLEVBQUUsQ0FBQ0MsSUFBSSxLQUFLLE9BQU87WUFBQSxFQUFDLEtBQUksRUFBRTtZQUFBK0ksUUFBQSxDQUFBQyxJQUFBO1lBQUE7VUFBQTtZQUFBRCxRQUFBLENBQUEzRixJQUFBO1lBQUFzRixFQUFBLEdBQUFLLFFBQUE7WUFFN0U7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNNakMsVUFBVSxHQUNkLENBQUE0QixFQUFBLGFBQUFBLEVBQUEsZ0JBQUEvQixtQkFBQSxHQUFBK0IsRUFBQSxDQUFXZixRQUFRLGNBQUFoQixtQkFBQSx1QkFBbkJBLG1CQUFBLENBQXFCZ0QsTUFBTSxNQUFLLEdBQUcsSUFDbkMsQ0FBQWpCLEVBQUEsYUFBQUEsRUFBQSx1QkFBQUEsRUFBQSxDQUFXaUIsTUFBTSxNQUFLLEdBQUcsS0FBQWpCLEVBQUEsYUFBQUEsRUFBQSxnQkFBQTlCLGtCQUFBLEdBQ3pCOEIsRUFBQSxDQUFXakUsT0FBTyxjQUFBbUMsa0JBQUEsdUJBQWxCQSxrQkFBQSxDQUFvQnlDLFFBQVEsQ0FBQywwQ0FBMEMsQ0FBQyxNQUFBWCxFQUFBLGFBQUFBLEVBQUEsZ0JBQUE3QixtQkFBQSxHQUN4RTZCLEVBQUEsQ0FBV2pFLE9BQU8sY0FBQW9DLG1CQUFBLHVCQUFsQkEsbUJBQUEsQ0FBb0J3QyxRQUFRLENBQUMsc0JBQXNCLENBQUMsR0FBQztZQUFBLEtBRW5EdkMsVUFBVTtjQUFBaUMsUUFBQSxDQUFBQyxJQUFBO2NBQUE7WUFBQTtZQUFBRCxRQUFBLENBQUFDLElBQUE7WUFBQTtVQUFBO1lBQUEsTUFBQU4sRUFBQTtVQUFBO1lBU2xCO1lBQ0kzQixZQUFxQixHQUFHLEVBQUU7WUFDMUJDLGFBQWEsR0FBRyxLQUFLO1lBQ3JCQyxnQkFBK0IsR0FBRyxJQUFJO1lBQUE4QixRQUFBLENBQUEzRixJQUFBO1lBQUEyRixRQUFBLENBQUFDLElBQUE7WUFBQSxPQUdYekosU0FBUyxDQUFDO2NBQ3JDbUksSUFBSSxFQUFFLDJDQUEyQztjQUNqRDhCLE1BQU0sRUFBRTtZQUNWLENBQUMsQ0FBQztVQUFBO1lBSEl0QyxjQUFjLEdBQUE2QixRQUFBLENBQUFVLElBQUE7WUFBQVYsUUFBQSxDQUFBQyxJQUFBO1lBQUEsT0FJSzlCLGNBQWMsQ0FBQ3dDLElBQUksQ0FBQyxDQUFDO1VBQUE7WUFBeEN2QyxVQUFVLEdBQUE0QixRQUFBLENBQUFVLElBQUE7WUFDaEIxQyxZQUFZLEdBQUdJLFVBQVUsQ0FBQzlGLElBQUksSUFBSSxFQUFFO1lBQ3BDMkYsYUFBYSxHQUFHRyxVQUFVLENBQUN5QyxRQUFRLElBQUksS0FBSztZQUM1QzNDLGdCQUFnQixHQUFHRSxVQUFVLENBQUMwQyxXQUFXLElBQUksSUFBSTtZQUFBZCxRQUFBLENBQUFDLElBQUE7WUFBQTtVQUFBO1lBQUFELFFBQUEsQ0FBQTNGLElBQUE7WUFBQXVGLEdBQUEsR0FBQUksUUFBQTtZQUVqRDtZQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ01qQyxXQUFVLEdBQ2QsQ0FBQTZCLEdBQUEsYUFBQUEsR0FBQSxnQkFBQXZCLHFCQUFBLEdBQUF1QixHQUFBLENBQWFoQixRQUFRLGNBQUFQLHFCQUFBLHVCQUFyQkEscUJBQUEsQ0FBdUJ1QyxNQUFNLE1BQUssR0FBRyxJQUNyQyxDQUFBaEIsR0FBQSxhQUFBQSxHQUFBLHVCQUFBQSxHQUFBLENBQWFnQixNQUFNLE1BQUssR0FBRyxLQUFBaEIsR0FBQSxhQUFBQSxHQUFBLGdCQUFBdEIsb0JBQUEsR0FDM0JzQixHQUFBLENBQWFsRSxPQUFPLGNBQUE0QyxvQkFBQSx1QkFBcEJBLG9CQUFBLENBQXNCZ0MsUUFBUSxDQUFDLDBDQUEwQyxDQUFDLE1BQUFWLEdBQUEsYUFBQUEsR0FBQSxnQkFBQXJCLHFCQUFBLEdBQzFFcUIsR0FBQSxDQUFhbEUsT0FBTyxjQUFBNkMscUJBQUEsdUJBQXBCQSxxQkFBQSxDQUFzQitCLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFDO1lBQUEsS0FFckR2QyxXQUFVO2NBQUFpQyxRQUFBLENBQUFDLElBQUE7Y0FBQTtZQUFBO1lBQUFELFFBQUEsQ0FBQUMsSUFBQTtZQUFBO1VBQUE7WUFBQSxNQUFBTCxHQUFBO1VBQUE7WUFXaEI7WUFDQTtZQUNBLElBQUk5RixpQkFBaUIsQ0FBQ3dHLFFBQVEsQ0FBQ2xJLElBQUksQ0FBQ21JLE9BQU8sQ0FBQyxFQUFFO2NBQzVDO2NBQ0E7Y0FDQWxELFdBQVcsR0FBR1csWUFBWTtZQUM1QixDQUFDLE1BQU07Y0FDTDtjQUNBO2NBQ0E7Y0FDQVgsV0FBVyxHQUFHdkcsV0FBVyxDQUFDYSxNQUFNLE1BQUFDLE1BQUEsQ0FBQUMsa0JBQUEsQ0FBT2YsV0FBVyxHQUFBZSxrQkFBQSxDQUFLbUcsWUFBWSxLQUFJQSxZQUFZO1lBQ3JGO1lBQ0E7WUFDQVgsV0FBVyxHQUFHekcsVUFBVSxDQUFDeUcsV0FBVyxDQUFDO1lBQ3JDQyxPQUFPLEdBQUdXLGFBQWE7WUFDdkJWLFVBQVUsR0FBR1csZ0JBQWdCO1lBRTdCekYsU0FBUyxDQUFDO2NBQ1JILElBQUksRUFBRStFLFdBQVc7Y0FDakJ3RCxRQUFRLEVBQUV2RCxPQUFPO2NBQ2pCd0QsV0FBVyxFQUFFdkQ7WUFDZixDQUFDLENBQUM7O1lBRUY7WUFDQSxJQUFJRixXQUFXLENBQUMxRixNQUFNLEtBQUssQ0FBQyxFQUFFO2NBQzVCMEIsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNoQjtZQUFDMkcsUUFBQSxDQUFBQyxJQUFBO1lBQUE7VUFBQTtZQUVEO1lBQ014QixXQUFXLEdBQUcsSUFBSXNDLGVBQWUsQ0FBQyxDQUFDO1lBQ3pDLElBQUk5SSxPQUFPLEtBQUssU0FBUyxJQUFJQSxPQUFPLEtBQUssUUFBUSxJQUFJQSxPQUFPLEtBQUssUUFBUSxFQUFFO2NBQ3pFd0csV0FBVyxDQUFDdUMsTUFBTSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUM7Y0FDekN2QyxXQUFXLENBQUN1QyxNQUFNLENBQUMsTUFBTSxFQUFFckssVUFBVSxDQUFDK0MsSUFBSSxDQUFDOEcsUUFBUSxDQUFDLENBQUM7Y0FDckQvQixXQUFXLENBQUN1QyxNQUFNLENBQUMsT0FBTyxFQUFFL0ksT0FBTyxLQUFLLFFBQVEsR0FBRyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztjQUN2RixJQUFJQSxPQUFPLEtBQUssUUFBUSxFQUFFO2dCQUN4QndHLFdBQVcsQ0FBQ3VDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDO2dCQUNoQ3ZDLFdBQVcsQ0FBQ3VDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDO2NBQ25DO1lBQ0Y7WUFFTXRDLFdBQVcsR0FBR0QsV0FBVyxDQUFDekQsUUFBUSxDQUFDLENBQUM7WUFDcEMyRCxJQUFJLFlBQUEvRyxNQUFBLENBQVk4RyxXQUFXLE9BQUE5RyxNQUFBLENBQU84RyxXQUFXLElBQUssRUFBRTtZQUFBc0IsUUFBQSxDQUFBM0YsSUFBQTtZQUFBMkYsUUFBQSxDQUFBQyxJQUFBO1lBQUEsT0FHakN6SixTQUFTLENBQUM7Y0FDL0JtSSxJQUFJLEVBQUpBLElBQUk7Y0FDSjhCLE1BQU0sRUFBRTtZQUNWLENBQUMsQ0FBQztVQUFBO1lBSEk3QixRQUFRLEdBQUFvQixRQUFBLENBQUFVLElBQUE7WUFBQVYsUUFBQSxDQUFBQyxJQUFBO1lBQUEsT0FLS3JCLFFBQVEsQ0FBQytCLElBQUksQ0FBQyxDQUFDO1VBQUE7WUFBNUJySSxJQUFJLEdBQUEwSCxRQUFBLENBQUFVLElBQUE7WUFDVjtZQUNBckQsV0FBVyxHQUFHL0UsSUFBSSxDQUFDQSxJQUFJLElBQUksRUFBRTtZQUM3QjtZQUNBK0UsV0FBVyxHQUFHekcsVUFBVSxDQUFDeUcsV0FBVyxDQUFDO1lBQ3JDQyxPQUFPLEdBQUdoRixJQUFJLENBQUN1SSxRQUFRO1lBQ3ZCdEQsVUFBVSxHQUFHakYsSUFBSSxDQUFDd0ksV0FBVztZQUU3QnJJLFNBQVMsQ0FBQW1DLGFBQUEsQ0FBQUEsYUFBQSxLQUNKdEMsSUFBSTtjQUNQQSxJQUFJLEVBQUUrRTtZQUFXLEVBQ2xCLENBQUM7WUFBQTJDLFFBQUEsQ0FBQUMsSUFBQTtZQUFBO1VBQUE7WUFBQUQsUUFBQSxDQUFBM0YsSUFBQTtZQUFBd0YsR0FBQSxHQUFBRyxRQUFBO1lBRUY7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNNakMsWUFBVSxHQUNkLENBQUE4QixHQUFBLGFBQUFBLEdBQUEsZ0JBQUFoQixxQkFBQSxHQUFBZ0IsR0FBQSxDQUFlakIsUUFBUSxjQUFBQyxxQkFBQSx1QkFBdkJBLHFCQUFBLENBQXlCK0IsTUFBTSxNQUFLLEdBQUcsSUFDdkMsQ0FBQWYsR0FBQSxhQUFBQSxHQUFBLHVCQUFBQSxHQUFBLENBQWVlLE1BQU0sTUFBSyxHQUFHLEtBQUFmLEdBQUEsYUFBQUEsR0FBQSxnQkFBQWYscUJBQUEsR0FDN0JlLEdBQUEsQ0FBZW5FLE9BQU8sY0FBQW9ELHFCQUFBLHVCQUF0QkEscUJBQUEsQ0FBd0J3QixRQUFRLENBQUMsMENBQTBDLENBQUMsTUFBQVQsR0FBQSxhQUFBQSxHQUFBLGdCQUFBZCxzQkFBQSxHQUM1RWMsR0FBQSxDQUFlbkUsT0FBTyxjQUFBcUQsc0JBQUEsdUJBQXRCQSxzQkFBQSxDQUF3QnVCLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFDO1lBQUEsS0FFdkR2QyxZQUFVO2NBQUFpQyxRQUFBLENBQUFDLElBQUE7Y0FBQTtZQUFBO1lBQ1o7WUFDQXhILFNBQVMsQ0FBQztjQUNSSCxJQUFJLEVBQUUsRUFBRTtjQUNSdUksUUFBUSxFQUFFLEtBQUs7Y0FDZkMsV0FBVyxFQUFFO1lBQ2YsQ0FBQyxDQUFDO1lBQ0Z6SCxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQUEyRyxRQUFBLENBQUFDLElBQUE7WUFBQTtVQUFBO1lBQUEsTUFBQUosR0FBQTtVQUFBO1lBUXBCO1lBQ0EsSUFBSXhDLFdBQVcsQ0FBQzFGLE1BQU0sR0FBRyxDQUFDLEVBQUU7Y0FDMUIsSUFBSXNGLGFBQWEsSUFBSUksV0FBVyxDQUFDckIsSUFBSSxDQUFDLFVBQUNpRixjQUFxQjtnQkFBQSxPQUFLQSxjQUFjLENBQUN4RyxFQUFFLEtBQUt3QyxhQUFhLENBQUN4QyxFQUFFO2NBQUEsRUFBQyxFQUFFO2dCQUN4RyxJQUFJLEVBQUEwRSxxQkFBQSxHQUFBeEYsb0JBQW9CLENBQUMrQyxPQUFPLGNBQUF5QyxxQkFBQSx1QkFBNUJBLHFCQUFBLENBQThCMUUsRUFBRSxNQUFLd0MsYUFBYSxDQUFDeEMsRUFBRSxFQUFFO2tCQUN6RGQsb0JBQW9CLENBQUMrQyxPQUFPLEdBQUdPLGFBQWE7a0JBQzVDakYsV0FBVyxDQUFDaUYsYUFBYSxDQUFDO2dCQUM1QjtjQUNGLENBQUMsTUFBTSxJQUFJLENBQUFnQyxZQUFBLEdBQUE1QixXQUFXLGNBQUE0QixZQUFBLGVBQVhBLFlBQUEsQ0FBYyxDQUFDLENBQUMsS0FBSyxDQUFDL0csS0FBSyxJQUFJLENBQUNtRixXQUFXLENBQUNyQixJQUFJLENBQUMsVUFBQzFFLENBQVE7Z0JBQUEsT0FBS0EsQ0FBQyxDQUFDbUQsRUFBRSxLQUFLdkMsS0FBSyxDQUFDdUMsRUFBRTtjQUFBLEVBQUMsQ0FBQyxFQUFFO2dCQUN2RjRFLGVBQWUsR0FDbkJjLE1BQU0sQ0FBQ0MsMkJBQTJCLElBQUksQ0FBQ3RHLGlCQUFpQixDQUFDd0csUUFBUSxDQUFDbEksSUFBSSxDQUFDbUksT0FBTyxDQUFDLEdBQzNFbEQsV0FBVyxHQUNYQSxXQUFXLENBQUN0RyxNQUFNLENBQUMsVUFBQ21LLFNBQWdCO2tCQUFBLE9BQUtBLFNBQVMsQ0FBQ2pLLElBQUksS0FBSyxPQUFPO2dCQUFBLEVBQUM7Z0JBQUFxSSxnQkFBQSxHQUFBOUcsY0FBQSxDQUVyRDZHLGVBQWUsTUFBN0I5QyxVQUFVLEdBQUErQyxnQkFBQTtnQkFDakIsSUFBSS9DLFVBQVUsSUFBSSxFQUFBNkMsc0JBQUEsR0FBQXpGLG9CQUFvQixDQUFDK0MsT0FBTyxjQUFBMEMsc0JBQUEsdUJBQTVCQSxzQkFBQSxDQUE4QjNFLEVBQUUsTUFBSzhCLFVBQVUsQ0FBQzlCLEVBQUUsRUFBRTtrQkFDcEVkLG9CQUFvQixDQUFDK0MsT0FBTyxHQUFHSCxVQUFVO2tCQUN6Q3ZFLFdBQVcsQ0FBQ3VFLFVBQVUsQ0FBQztnQkFDekI7Y0FDRixDQUFDLE1BQU0sSUFBSVUsYUFBYSxLQUFBaUMsYUFBQSxHQUFJN0IsV0FBVyxjQUFBNkIsYUFBQSxlQUFYQSxhQUFBLENBQWF2SCxNQUFNLEVBQUU7Z0JBQ3pDMEgsaUJBQWUsR0FDbkJjLE1BQU0sQ0FBQ0MsMkJBQTJCLElBQUksQ0FBQ3RHLGlCQUFpQixDQUFDd0csUUFBUSxDQUFDbEksSUFBSSxDQUFDbUksT0FBTyxDQUFDLEdBQzNFbEQsV0FBVyxHQUNYQSxXQUFXLENBQUN0RyxNQUFNLENBQUMsVUFBQ21LLFNBQWdCO2tCQUFBLE9BQUtBLFNBQVMsQ0FBQ2pLLElBQUksS0FBSyxPQUFPO2dCQUFBLEVBQUM7Z0JBQUF3SSxpQkFBQSxHQUFBakgsY0FBQSxDQUU1QzZHLGlCQUFlLE1BQXRDSyxtQkFBbUIsR0FBQUQsaUJBQUE7Z0JBQzFCLElBQUlDLG1CQUFtQixJQUFJLEVBQUFILHNCQUFBLEdBQUE1RixvQkFBb0IsQ0FBQytDLE9BQU8sY0FBQTZDLHNCQUFBLHVCQUE1QkEsc0JBQUEsQ0FBOEI5RSxFQUFFLE1BQUtpRixtQkFBbUIsQ0FBQ2pGLEVBQUUsRUFBRTtrQkFDdEZkLG9CQUFvQixDQUFDK0MsT0FBTyxHQUFHZ0QsbUJBQW1CO2tCQUNsRDFILFdBQVcsQ0FBQzBILG1CQUFtQixDQUFDO2dCQUNsQztjQUNGO1lBQ0Y7WUFFQTdHLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFBQW1ILFFBQUEsQ0FBQUMsSUFBQTtZQUFBO1VBQUE7WUFBQUQsUUFBQSxDQUFBM0YsSUFBQTtZQUFBeUYsR0FBQSxHQUFBRSxRQUFBO1lBRWpCM0csUUFBUSxDQUFDeUcsR0FBQSxZQUFlcUIsS0FBSyxHQUFHckIsR0FBQSxDQUFJcEUsT0FBTyxHQUFHLDJCQUEyQixDQUFDO1lBQzFFN0MsVUFBVSxDQUFDLEtBQUssQ0FBQztVQUFBO1lBQUFtSCxRQUFBLENBQUEzRixJQUFBO1lBRWpCVCxlQUFlLENBQUM4QyxPQUFPLEdBQUcsS0FBSztZQUMvQjBFLFVBQVUsQ0FBQyxZQUFNO2NBQ2YsSUFBSSxDQUFDeEgsZUFBZSxDQUFDOEMsT0FBTyxFQUFFO2dCQUM1QjdDLGNBQWMsQ0FBQzZDLE9BQU8sR0FBRyxJQUFJO2NBQy9CO1lBQ0YsQ0FBQyxFQUFFLEdBQUcsQ0FBQztZQUFBLE9BQUFzRCxRQUFBLENBQUFxQixNQUFBO1VBQUE7VUFBQTtZQUFBLE9BQUFyQixRQUFBLENBQUFzQixJQUFBO1FBQUE7TUFBQSxHQUFBdEUsT0FBQTtJQUFBLENBRVY7SUFBQSxpQkFBQXVFLEVBQUE7TUFBQSxPQUFBM0UsS0FBQSxDQUFBNEUsS0FBQSxPQUFBakcsU0FBQTtJQUFBO0VBQUEsS0FDRCxDQUFDdkQsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLEtBQUssRUFBRVUsT0FBTyxDQUN2QyxDQUFDO0VBRUQsSUFBTTZJLGNBQWMsR0FBR3JMLFdBQVcsY0FBQXlHLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBQyxTQUFBMkUsU0FBQTtJQUFBLElBQUF0RSxhQUFBLEVBQUF1RSxXQUFBLEVBQUFoRCxJQUFBLEVBQUFGLFdBQUEsRUFBQUcsUUFBQSxFQUFBdEcsSUFBQSxFQUFBc0osR0FBQTtJQUFBLE9BQUE5RSxtQkFBQSxDQUFBaUQsSUFBQSxXQUFBOEIsU0FBQTtNQUFBLGtCQUFBQSxTQUFBLENBQUF4SCxJQUFBLEdBQUF3SCxTQUFBLENBQUE1QixJQUFBO1FBQUE7VUFDM0I3QyxhQUFhLEdBQUcsQ0FBQyxDQUFDK0MsTUFBTSxDQUFDQywyQkFBMkIsSUFBSSxDQUFDLENBQUNELE1BQU0sQ0FBQ0Usd0NBQXdDLEVBQy9HO1VBQ01zQixXQUFXLEdBQUcxSixPQUFPLEtBQUssUUFBUSxJQUFJbUYsYUFBYTtVQUFBLE1BQ3JELENBQUN1RSxXQUFXLElBQUksQ0FBQzlLLE1BQU0sQ0FBQ2dLLFFBQVEsSUFBSSxDQUFDaEssTUFBTSxDQUFDaUssV0FBVyxJQUFJOUgsV0FBVztZQUFBNkksU0FBQSxDQUFBNUIsSUFBQTtZQUFBO1VBQUE7VUFBQSxPQUFBNEIsU0FBQSxDQUFBM0IsTUFBQTtRQUFBO1VBSTFFakgsY0FBYyxDQUFDLElBQUksQ0FBQztVQUNwQkksUUFBUSxDQUFDLElBQUksQ0FBQztVQUFBd0ksU0FBQSxDQUFBeEgsSUFBQTtVQUtaO1VBQ0EsSUFBSStDLGFBQWEsRUFBRTtZQUNqQjtZQUNBdUIsSUFBSSw4Q0FBQS9HLE1BQUEsQ0FBOENmLE1BQU0sQ0FBQ2lLLFdBQVcsQ0FBRTtVQUN4RSxDQUFDLE1BQU07WUFDTDtZQUNNckMsV0FBVyxHQUFHLElBQUlzQyxlQUFlLENBQUMsQ0FBQztZQUN6Q3RDLFdBQVcsQ0FBQ3VDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDO1lBQ3pDdkMsV0FBVyxDQUFDdUMsTUFBTSxDQUFDLE1BQU0sRUFBRXJLLFVBQVUsQ0FBQytDLElBQUksQ0FBQzhHLFFBQVEsQ0FBQyxDQUFDO1lBQ3JEL0IsV0FBVyxDQUFDdUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQztZQUM3Q3ZDLFdBQVcsQ0FBQ3VDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDO1lBQ2hDdkMsV0FBVyxDQUFDdUMsTUFBTSxDQUFDLFFBQVEsRUFBRW5LLE1BQU0sQ0FBQ2lLLFdBQVcsQ0FBQzlGLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDM0QyRCxJQUFJLGFBQUEvRyxNQUFBLENBQWE2RyxXQUFXLENBQUN6RCxRQUFRLENBQUMsQ0FBQyxDQUFFO1VBQzNDO1VBQUM2RyxTQUFBLENBQUE1QixJQUFBO1VBQUEsT0FFc0J6SixTQUFTLENBQUM7WUFDL0JtSSxJQUFJLEVBQUpBLElBQUk7WUFDSjhCLE1BQU0sRUFBRTtVQUNWLENBQUMsQ0FBQztRQUFBO1VBSEk3QixRQUFRLEdBQUFpRCxTQUFBLENBQUFuQixJQUFBO1VBQUFtQixTQUFBLENBQUE1QixJQUFBO1VBQUEsT0FLS3JCLFFBQVEsQ0FBQytCLElBQUksQ0FBQyxDQUFDO1FBQUE7VUFBNUJySSxJQUFJLEdBQUF1SixTQUFBLENBQUFuQixJQUFBO1VBRVY7VUFDQWpJLFNBQVMsQ0FBQyxVQUFBNEIsSUFBSSxFQUFJO1lBQ2hCLElBQUkrQyxhQUFhLEVBQUU7Y0FDakI7Y0FDQTtjQUNBLElBQU0wRSxtQkFBbUIsR0FBR3pILElBQUksQ0FBQy9CLElBQUksQ0FBQ3ZCLE1BQU0sQ0FBQyxVQUFDQyxFQUFTO2dCQUFBLE9BQUtBLEVBQUUsQ0FBQ0MsSUFBSSxLQUFLLE9BQU87Y0FBQSxFQUFDOztjQUVoRjtjQUNBLElBQU04SyxZQUFXLEdBQUcsSUFBSUMsR0FBRyxDQUFDM0gsSUFBSSxDQUFDL0IsSUFBSSxDQUFDdkIsTUFBTSxDQUFDLFVBQUNDLEVBQVM7Z0JBQUEsT0FBS0EsRUFBRSxDQUFDQyxJQUFJLEtBQUssT0FBTztjQUFBLEVBQUMsQ0FBQ21FLEdBQUcsQ0FBQyxVQUFDcEUsRUFBUztnQkFBQSxPQUFLQSxFQUFFLENBQUN5RCxFQUFFO2NBQUEsRUFBQyxDQUFDOztjQUUzRztjQUNBLElBQU13SCxVQUFTLEdBQUczSixJQUFJLENBQUNBLElBQUksQ0FBQ3ZCLE1BQU0sQ0FBQyxVQUFDQyxFQUFTO2dCQUFBLE9BQUtBLEVBQUUsQ0FBQ0MsSUFBSSxLQUFLLE9BQU8sSUFBSSxDQUFDOEssWUFBVyxDQUFDRyxHQUFHLENBQUNsTCxFQUFFLENBQUN5RCxFQUFFLENBQUM7Y0FBQSxFQUFDOztjQUVqRztjQUNBLElBQU1DLFFBQU8sR0FBR29ILG1CQUFtQixDQUFDbkssTUFBTSxNQUFBQyxNQUFBLENBQUFDLGtCQUFBLENBQ2xDaUssbUJBQW1CLEdBQUFqSyxrQkFBQSxDQUFLd0MsSUFBSSxDQUFDL0IsSUFBSSxDQUFDdkIsTUFBTSxDQUFDLFVBQUNDLEVBQVM7Z0JBQUEsT0FBS0EsRUFBRSxDQUFDQyxJQUFJLEtBQUssT0FBTztjQUFBLEVBQUMsR0FBQVksa0JBQUEsQ0FBS29LLFVBQVMsUUFBQXJLLE1BQUEsQ0FBQUMsa0JBQUEsQ0FDMUZ3QyxJQUFJLENBQUMvQixJQUFJLENBQUN2QixNQUFNLENBQUMsVUFBQ0MsRUFBUztnQkFBQSxPQUFLQSxFQUFFLENBQUNDLElBQUksS0FBSyxPQUFPO2NBQUEsRUFBQyxHQUFBWSxrQkFBQSxDQUFLb0ssVUFBUyxFQUFDOztjQUUzRTtjQUNBLElBQU10SCxXQUFVLEdBQUcvRCxVQUFVLENBQUM4RCxRQUFPLENBQUM7Y0FFdEMsT0FBTztnQkFDTHBDLElBQUksRUFBRXFDLFdBQVU7Z0JBQ2hCa0csUUFBUSxFQUFFdkksSUFBSSxDQUFDdUksUUFBUTtnQkFDdkJDLFdBQVcsRUFBRXhJLElBQUksQ0FBQ3dJO2NBQ3BCLENBQUM7WUFDSDtZQUNBO1lBQ0EsSUFBTWlCLFdBQVcsR0FBRyxJQUFJQyxHQUFHLENBQUMzSCxJQUFJLENBQUMvQixJQUFJLENBQUM4QyxHQUFHLENBQUMsVUFBQ3BFLEVBQVM7Y0FBQSxPQUFLQSxFQUFFLENBQUN5RCxFQUFFO1lBQUEsRUFBQyxDQUFDO1lBQ2hFLElBQU13SCxTQUFTLEdBQUcsQ0FBQzNKLElBQUksQ0FBQ0EsSUFBSSxJQUFJLEVBQUUsRUFBRXZCLE1BQU0sQ0FBQyxVQUFDQyxFQUFTO2NBQUEsT0FBSyxDQUFDK0ssV0FBVyxDQUFDRyxHQUFHLENBQUNsTCxFQUFFLENBQUN5RCxFQUFFLENBQUM7WUFBQSxFQUFDO1lBQ2xGLElBQU1DLE9BQU8sTUFBQTlDLE1BQUEsQ0FBQUMsa0JBQUEsQ0FBT3dDLElBQUksQ0FBQy9CLElBQUksR0FBQVQsa0JBQUEsQ0FBS29LLFNBQVMsRUFBQzs7WUFFNUM7WUFDQSxJQUFNdEgsVUFBVSxHQUFHL0QsVUFBVSxDQUFDOEQsT0FBTyxDQUFDO1lBRXRDLE9BQU87Y0FDTHBDLElBQUksRUFBRXFDLFVBQVU7Y0FDaEJrRyxRQUFRLEVBQUV2SSxJQUFJLENBQUN1SSxRQUFRO2NBQ3ZCQyxXQUFXLEVBQUV4SSxJQUFJLENBQUN3STtZQUNwQixDQUFDO1VBQ0gsQ0FBQyxDQUFDO1VBRUY3SCxjQUFjLENBQUMsS0FBSyxDQUFDO1VBQUE0SSxTQUFBLENBQUE1QixJQUFBO1VBQUE7UUFBQTtVQUFBNEIsU0FBQSxDQUFBeEgsSUFBQTtVQUFBdUgsR0FBQSxHQUFBQyxTQUFBO1VBRXJCdEksbUJBQW1CLENBQUNFLENBQUMsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1VBQ3ZEUixjQUFjLENBQUMsS0FBSyxDQUFDO1FBQUE7UUFBQTtVQUFBLE9BQUE0SSxTQUFBLENBQUFQLElBQUE7TUFBQTtJQUFBLEdBQUFJLFFBQUE7RUFBQSxDQUV4QixJQUFFLENBQUN6SixPQUFPLEVBQUVwQixNQUFNLENBQUNnSyxRQUFRLEVBQUVoSyxNQUFNLENBQUNpSyxXQUFXLEVBQUU5SCxXQUFXLEVBQUVVLElBQUksQ0FBQzhHLFFBQVEsQ0FBQyxDQUFDO0VBRTlFLE9BQU87SUFDTDNKLE1BQU0sRUFBTkEsTUFBTTtJQUNOK0IsT0FBTyxFQUFQQSxPQUFPO0lBQ1BJLFdBQVcsRUFBWEEsV0FBVztJQUNYSSxLQUFLLEVBQUxBLEtBQUs7SUFDTHVELGVBQWUsRUFBZkEsZUFBZTtJQUNmOEUsY0FBYyxFQUFkQSxjQUFjO0lBQ2R2SCxRQUFRLEVBQVJBLFFBQVE7SUFDUlksV0FBVyxFQUFYQSxXQUFXO0lBQ1hHLFdBQVcsRUFBWEEsV0FBVztJQUNYSSxtQkFBbUIsRUFBbkJBLG1CQUFtQjtJQUNuQmlCLGdCQUFnQixFQUFoQkEsZ0JBQWdCO0lBQ2hCRCxjQUFjLEVBQWRBO0VBQ0YsQ0FBQztBQUNILENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
566
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlUmVmIiwidXNlVHJhbnNsYXRpb24iLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJmZXRjaE1haWEiLCJ1c2VVc2VyIiwiQ09SVXNlclJvbGUiLCJtYXBDT1JMYW5nIiwic29ydEFnZW50cyIsImFnZW50cyIsImNsb25lQWdlbnRzIiwiZmlsdGVyIiwiYWciLCJ0eXBlIiwib3RoZXJBZ2VudHMiLCJmYXZvcml0ZXMiLCJpc19mYXZvcml0ZSIsInNvcnQiLCJhIiwiYiIsIm5hbWUiLCJsb2NhbGVDb21wYXJlIiwibm9uRmF2b3JpdGVzIiwibGVuZ3RoIiwiY29uY2F0IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwidXNlR2V0QWdlbnRzIiwiX3JlZiIsInNlbGVjdEFnZW50Iiwic2VjdGlvbiIsImFnZW50IiwiaGFuZGxlR29Ib21lIiwidXNlciIsIl91c2VTdGF0ZSIsImRhdGEiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzZXRBZ2VudHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJsb2FkaW5nTW9yZSIsInNldExvYWRpbmdNb3JlIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJlcnJvciIsInNldEVycm9yIiwiX3VzZVNuYWNrQmFyTWFuYWdlciIsImhhbmRsZVNuYWNrYmFyRXJyb3IiLCJfdXNlVHJhbnNsYXRpb24iLCJ0IiwiaTE4biIsImxhc3RTZWxlY3RlZEFnZW50UmVmIiwiaXNSZWZyZXNoaW5nUmVmIiwibGFzdFJlcXVlc3RSZWYiLCJ1c2VyUm9sZXNEaXNhYmxlZCIsIkNPTExBQk9SQVRPUiIsIkZSRUVMQU5DRVIiLCJDTElFTlQiLCJhZGRBZ2VudCIsIm5ld0FnZW50Iiwib3B0aW9ucyIsInByZXYiLCJhZ2VudEV4aXN0cyIsInNvbWUiLCJleGlzdGluZ0FnZW50IiwiaWQiLCJuZXdEYXRhIiwic29ydGVkRGF0YSIsIl9vYmplY3RTcHJlYWQiLCJuYXZpZ2F0ZUhvbWUiLCJyZW1vdmVBZ2VudCIsImFnZW50SWQiLCJ0b1N0cmluZyIsInVwZGF0ZUFnZW50IiwidXBkYXRlZEFnZW50IiwidXBkYXRlZERhdGEiLCJtYXAiLCJ1cGRhdGVBZ2VudEZhdm9yaXRlIiwic2hvdWxkU29ydCIsImFyZ3VtZW50cyIsInVuZGVmaW5lZCIsIl9yZWYyIiwibWVzc2FnZSIsImFnZW50RmllbGRzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwibWVyZ2VkQWdlbnQiLCJmaW5hbERhdGEiLCJmaW5kIiwiX3JlZjMiLCJfZXhjbHVkZWQyIiwiX3JlZjQiLCJfZXhjbHVkZWQzIiwic29ydEFnZW50c0xpc3QiLCJzZWxlY3RGaXJzdEFnZW50IiwiZmlyc3RBZ2VudCIsImZpbmRJbmRleCIsImFnZW50RGF0YSIsImN1cnJlbnQiLCJoYW5kbGVHZXRBZ2VudHMiLCJfcmVmNSIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiYWdlbnRUb1NlbGVjdCIsIl9hZ2VudFRvU2VsZWN0JGlkIiwicmVxdWVzdEtleSIsImlzTXVsdGlBZ2VudHMiLCJhZ2VudFBhcnNlZCIsImhhc01vcmUiLCJuZXh0T2Zmc2V0IiwiX21haWFEYXRhJGRhdGEiLCJvcmRlclBhcmFtIiwibWFpYVJlc3BvbnNlIiwibWFpYURhdGEiLCJfbWFpYUVycm9yJHJlc3BvbnNlIiwiX21haWFFcnJvciRtZXNzYWdlIiwiX21haWFFcnJvciRtZXNzYWdlMiIsImlzNDAzRXJyb3IiLCJjdXN0b21BZ2VudHMiLCJjdXN0b21IYXNNb3JlIiwiY3VzdG9tTmV4dE9mZnNldCIsImN1c3RvbVJlc3BvbnNlIiwiY3VzdG9tRGF0YSIsIl9jdXN0b21FcnJvciRyZXNwb25zZSIsIl9jdXN0b21FcnJvciRtZXNzYWdlIiwiX2N1c3RvbUVycm9yJG1lc3NhZ2UyIiwiX2lzNDAzRXJyb3IiLCJxdWVyeVBhcmFtcyIsInF1ZXJ5U3RyaW5nIiwicGF0aCIsInJlc3BvbnNlIiwiX3Jlc3BvbnNlRXJyb3IkcmVzcG9uIiwiX3Jlc3BvbnNlRXJyb3IkbWVzc2FnIiwiX3Jlc3BvbnNlRXJyb3IkbWVzc2FnMiIsIl9pczQwM0Vycm9yMiIsIl9hZ2VudFBhcnNlZCIsIl9hZ2VudFBhcnNlZDIiLCJfbGFzdFNlbGVjdGVkQWdlbnRSZWYiLCJfbGFzdFNlbGVjdGVkQWdlbnRSZWYyIiwiYXZhaWxhYmxlQWdlbnRzIiwiX2F2YWlsYWJsZUFnZW50cyIsIl9sYXN0U2VsZWN0ZWRBZ2VudFJlZjMiLCJfYXZhaWxhYmxlQWdlbnRzMiIsIl9hdmFpbGFibGVBZ2VudHMzIiwiZmlyc3RBdmFpbGFibGVBZ2VudCIsIl90IiwiX3QyIiwiX3QzIiwiX3Q0Iiwid3JhcCIsIl9jb250ZXh0IiwibmV4dCIsImFicnVwdCIsIndpbmRvdyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJpbmNsdWRlcyIsInJvbGVfaWQiLCJsYW5ndWFnZSIsIm1ldGhvZCIsInNlbnQiLCJqc29uIiwic3RhdHVzIiwiaGFzX21vcmUiLCJuZXh0X29mZnNldCIsIlVSTFNlYXJjaFBhcmFtcyIsImFwcGVuZCIsImFnZW50VG9SZXF1ZXN0IiwiYWdlbnRJdGVtIiwiRXJyb3IiLCJzZXRUaW1lb3V0IiwiZmluaXNoIiwic3RvcCIsIl94IiwiYXBwbHkiLCJsb2FkTW9yZUFnZW50cyIsIl9jYWxsZWUyIiwiY2FuTG9hZE1vcmUiLCJfdDUiLCJfY29udGV4dDIiLCJleGlzdGluZ0Nsb25lQWdlbnRzIiwiZXhpc3RpbmdJZHMiLCJTZXQiLCJuZXdBZ2VudHMiLCJoYXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9BZ2VudHMvZ2V0QWdlbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyB1c2VTbmFja0Jhck1hbmFnZXIgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VTbmFja0Jhck1hbmFnZXIvdXNlU25hY2tCYXJNYW5hZ2VyJ1xuaW1wb3J0IHsgZmV0Y2hNYWlhIH0gZnJvbSAnLi4vY2xpZW50J1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IHVzZVVzZXIsIENPUlVzZXJSb2xlIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IG1hcENPUkxhbmcgfSBmcm9tICcuLi8uLi8uLi9sYW5nL3V0aWxzJ1xuXG4vKipcbiAqIE9yZGVuYSBsb3MgYWdlbnRlczogYWdlbnRlcyBjbG9uZSBwcmltZXJvIChzaSBleGlzdGVuKSwgbHVlZ28gZmF2b3JpdG9zIGFsZmFiw6l0aWNhbWVudGUsIGx1ZWdvIG5vIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlXG4gKi9cbmNvbnN0IHNvcnRBZ2VudHMgPSAoYWdlbnRzOiBBZ2VudFtdKTogQWdlbnRbXSA9PiB7XG4gIC8vIFNlcGFyYXIgYWdlbnRlcyBjbG9uZSBkZWwgcmVzdG9cbiAgY29uc3QgY2xvbmVBZ2VudHMgPSBhZ2VudHMuZmlsdGVyKGFnID0+IGFnLnR5cGUgPT09ICdjbG9uZScpXG4gIGNvbnN0IG90aGVyQWdlbnRzID0gYWdlbnRzLmZpbHRlcihhZyA9PiBhZy50eXBlICE9PSAnY2xvbmUnKVxuXG4gIC8vIFNlcGFyYXIgZmF2b3JpdG9zIHkgbm8gZmF2b3JpdG9zXG4gIGNvbnN0IGZhdm9yaXRlcyA9IG90aGVyQWdlbnRzLmZpbHRlcihhZyA9PiBhZy5pc19mYXZvcml0ZSkuc29ydCgoYSwgYikgPT4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKSlcbiAgY29uc3Qgbm9uRmF2b3JpdGVzID0gb3RoZXJBZ2VudHMuZmlsdGVyKGFnID0+ICFhZy5pc19mYXZvcml0ZSkuc29ydCgoYSwgYikgPT4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKSlcblxuICAvLyBDb21iaW5hcjogY2xvbmVzIHByaW1lcm8sIGx1ZWdvIGZhdm9yaXRvcywgbHVlZ28gbm8gZmF2b3JpdG9zXG4gIHJldHVybiBjbG9uZUFnZW50cy5sZW5ndGggPyBbLi4uY2xvbmVBZ2VudHMsIC4uLmZhdm9yaXRlcywgLi4ubm9uRmF2b3JpdGVzXSA6IFsuLi5mYXZvcml0ZXMsIC4uLm5vbkZhdm9yaXRlc11cbn1cblxudHlwZSBVc2VHZXRBZ2VudHNQcm9wcyA9IHtcbiAgc2VsZWN0QWdlbnQ6IChhZ2VudDogQWdlbnQpID0+IHZvaWRcbiAgc2VjdGlvbjogJ3Byb2plY3QnIHwgJ2hlYWRlcicgfCAnY2xpZW50JyB8ICd0YXNrJ1xuICBhZ2VudDogQWdlbnQgfCBudWxsXG4gIGhhbmRsZUdvSG9tZTogKCkgPT4gdm9pZFxufVxuXG5leHBvcnQgdHlwZSBBZGRBZ2VudE9wdGlvbnMgPSB7XG4gIC8qKiBQb3IgZGVmZWN0byBgdHJ1ZWAgKGNvbXBvcnRhbWllbnRvIEFCTSkuIFBhc2FyIGBmYWxzZWAgYWwgaW5zZXJ0YXIgYWdlbnRlIGNyZWFkbyBwb3IgY2hhdCBzaW4gY2FtYmlhciBkZSB2aXN0YS4gKi9cbiAgbmF2aWdhdGVIb21lPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgdXNlR2V0QWdlbnRzID0gKHsgc2VsZWN0QWdlbnQsIHNlY3Rpb24sIGFnZW50LCBoYW5kbGVHb0hvbWUgfTogVXNlR2V0QWdlbnRzUHJvcHMpID0+IHtcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCBbYWdlbnRzLCBzZXRBZ2VudHNdID0gdXNlU3RhdGU8eyBkYXRhOiBBZ2VudFtdOyBoYXNfbW9yZT86IGJvb2xlYW47IG5leHRfb2Zmc2V0PzogbnVtYmVyIHwgbnVsbCB9Pih7IGRhdGE6IFtdIH0pXG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbbG9hZGluZ01vcmUsIHNldExvYWRpbmdNb3JlXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IHsgaGFuZGxlU25hY2tiYXJFcnJvciB9ID0gdXNlU25hY2tCYXJNYW5hZ2VyKClcbiAgY29uc3QgeyB0LCBpMThuIH0gPSB1c2VUcmFuc2xhdGlvbignY2hhdF9haV9zZWN0aW9uJylcbiAgY29uc3QgbGFzdFNlbGVjdGVkQWdlbnRSZWYgPSB1c2VSZWY8QWdlbnQgfCBudWxsPihudWxsKVxuICBjb25zdCBpc1JlZnJlc2hpbmdSZWYgPSB1c2VSZWYoZmFsc2UpXG4gIGNvbnN0IGxhc3RSZXF1ZXN0UmVmID0gdXNlUmVmPHN0cmluZyB8IG51bGw+KG51bGwpXG5cbiAgY29uc3QgdXNlclJvbGVzRGlzYWJsZWQgPSBbQ09SVXNlclJvbGUuQ09MTEFCT1JBVE9SLCBDT1JVc2VyUm9sZS5GUkVFTEFOQ0VSLCBDT1JVc2VyUm9sZS5DTElFTlRdXG5cbiAgY29uc3QgYWRkQWdlbnQgPSB1c2VDYWxsYmFjayhcbiAgICAobmV3QWdlbnQ6IEFnZW50LCBvcHRpb25zPzogQWRkQWdlbnRPcHRpb25zKSA9PiB7XG4gICAgICBzZXRBZ2VudHMocHJldiA9PiB7XG4gICAgICAgIC8vIFZlcmlmaWNhciBzaSBlbCBhZ2VudGUgeWEgZXhpc3RlIHBhcmEgZXZpdGFyIGR1cGxpY2Fkb3NcbiAgICAgICAgY29uc3QgYWdlbnRFeGlzdHMgPSBwcmV2LmRhdGEuc29tZShleGlzdGluZ0FnZW50ID0+IGV4aXN0aW5nQWdlbnQuaWQgPT09IG5ld0FnZW50LmlkKVxuICAgICAgICBpZiAoYWdlbnRFeGlzdHMpIHtcbiAgICAgICAgICByZXR1cm4gcHJldlxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld0RhdGEgPSBbLi4ucHJldi5kYXRhLCBuZXdBZ2VudF1cbiAgICAgICAgY29uc3Qgc29ydGVkRGF0YSA9IHNvcnRBZ2VudHMobmV3RGF0YSlcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgIGRhdGE6IHNvcnRlZERhdGEsXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICBpZiAob3B0aW9ucz8ubmF2aWdhdGVIb21lICE9PSBmYWxzZSkge1xuICAgICAgICBoYW5kbGVHb0hvbWUoKVxuICAgICAgfVxuICAgIH0sXG4gICAgW2hhbmRsZUdvSG9tZV1cbiAgKVxuXG4gIGNvbnN0IHJlbW92ZUFnZW50ID0gdXNlQ2FsbGJhY2soKGFnZW50SWQ6IG51bWJlciB8IHN0cmluZykgPT4ge1xuICAgIHNldEFnZW50cyhwcmV2ID0+ICh7XG4gICAgICAuLi5wcmV2LFxuICAgICAgZGF0YTogcHJldi5kYXRhLmZpbHRlcihhID0+IGEuaWQgIT09IGFnZW50SWQudG9TdHJpbmcoKSksXG4gICAgfSkpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHVwZGF0ZUFnZW50ID0gdXNlQ2FsbGJhY2soKHVwZGF0ZWRBZ2VudDogQWdlbnQpID0+IHtcbiAgICBzZXRBZ2VudHMocHJldiA9PiB7XG4gICAgICBjb25zdCB1cGRhdGVkRGF0YSA9IHByZXYuZGF0YS5tYXAoZXhpc3RpbmdBZ2VudCA9PlxuICAgICAgICBleGlzdGluZ0FnZW50LmlkID09PSB1cGRhdGVkQWdlbnQuaWQgPyB1cGRhdGVkQWdlbnQgOiBleGlzdGluZ0FnZW50XG4gICAgICApXG4gICAgICBjb25zdCBzb3J0ZWREYXRhID0gc29ydEFnZW50cyh1cGRhdGVkRGF0YSlcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnByZXYsXG4gICAgICAgIGRhdGE6IHNvcnRlZERhdGEsXG4gICAgICB9XG4gICAgfSlcbiAgfSwgW10pXG5cbiAgY29uc3QgdXBkYXRlQWdlbnRGYXZvcml0ZSA9IHVzZUNhbGxiYWNrKFxuICAgICh1cGRhdGVkQWdlbnQ6IEFnZW50LCBzaG91bGRTb3J0OiBib29sZWFuID0gZmFsc2UpID0+IHtcbiAgICAgIHNldEFnZW50cyhwcmV2ID0+IHtcbiAgICAgICAgY29uc3QgdXBkYXRlZERhdGEgPSBwcmV2LmRhdGEubWFwKGV4aXN0aW5nQWdlbnQgPT4ge1xuICAgICAgICAgIGlmIChleGlzdGluZ0FnZW50LmlkID09PSB1cGRhdGVkQWdlbnQuaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgbWVzc2FnZSwgLi4uYWdlbnRGaWVsZHMgfSA9IHVwZGF0ZWRBZ2VudCBhcyBhbnlcbiAgICAgICAgICAgIGNvbnN0IG1lcmdlZEFnZW50ID0geyAuLi5leGlzdGluZ0FnZW50LCAuLi5hZ2VudEZpZWxkcyB9XG4gICAgICAgICAgICByZXR1cm4gbWVyZ2VkQWdlbnRcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGV4aXN0aW5nQWdlbnRcbiAgICAgICAgfSlcblxuICAgICAgICAvLyBTb2xvIG9yZGVuYXIgc2kgc2hvdWxkU29ydCBlcyB0cnVlXG4gICAgICAgIGNvbnN0IGZpbmFsRGF0YSA9IHNob3VsZFNvcnQgPyBzb3J0QWdlbnRzKHVwZGF0ZWREYXRhKSA6IHVwZGF0ZWREYXRhXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgIGRhdGE6IGZpbmFsRGF0YSxcbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgLy8gQWN0dWFsaXphciBlbCBhZ2VudGUgc2VsZWNjaW9uYWRvIHNpIGVzIGVsIHF1ZSBzZSBlc3TDoSBhY3R1YWxpemFuZG9cbiAgICAgIGlmIChhZ2VudD8uaWQgPT09IHVwZGF0ZWRBZ2VudC5pZCkge1xuICAgICAgICBjb25zdCBleGlzdGluZ0FnZW50ID0gYWdlbnRzLmRhdGEuZmluZChhID0+IGEuaWQgPT09IHVwZGF0ZWRBZ2VudC5pZClcbiAgICAgICAgaWYgKGV4aXN0aW5nQWdlbnQpIHtcbiAgICAgICAgICBjb25zdCB7IG1lc3NhZ2UsIC4uLmFnZW50RmllbGRzIH0gPSB1cGRhdGVkQWdlbnQgYXMgYW55XG4gICAgICAgICAgY29uc3QgbWVyZ2VkQWdlbnQgPSB7IC4uLmV4aXN0aW5nQWdlbnQsIC4uLmFnZW50RmllbGRzIH1cbiAgICAgICAgICBzZWxlY3RBZ2VudChtZXJnZWRBZ2VudClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCB7IG1lc3NhZ2UsIC4uLmFnZW50RmllbGRzIH0gPSB1cGRhdGVkQWdlbnQgYXMgYW55XG4gICAgICAgICAgc2VsZWN0QWdlbnQoYWdlbnRGaWVsZHMgYXMgQWdlbnQpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFthZ2VudCwgc2VsZWN0QWdlbnQsIGFnZW50cy5kYXRhXVxuICApXG5cbiAgY29uc3Qgc29ydEFnZW50c0xpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0QWdlbnRzKHByZXYgPT4ge1xuICAgICAgY29uc3Qgc29ydGVkRGF0YSA9IHNvcnRBZ2VudHMocHJldi5kYXRhKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucHJldixcbiAgICAgICAgZGF0YTogc29ydGVkRGF0YSxcbiAgICAgIH1cbiAgICB9KVxuICB9LCBbXSlcblxuICBjb25zdCBzZWxlY3RGaXJzdEFnZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgKGFnZW50SWQ/OiBzdHJpbmcpID0+IHtcbiAgICAgIGlmIChhZ2VudHMuZGF0YS5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgZmlyc3RBZ2VudCA9IGFnZW50cy5kYXRhLmZpbmRJbmRleChhZ2VudERhdGEgPT4gYWdlbnREYXRhLmlkID09PSBhZ2VudElkKVxuICAgICAgICBsYXN0U2VsZWN0ZWRBZ2VudFJlZi5jdXJyZW50ID0gYWdlbnRzLmRhdGFbZmlyc3RBZ2VudCA9PT0gMCA/IDEgOiAwXVxuICAgICAgICBzZWxlY3RBZ2VudChhZ2VudHMuZGF0YVtmaXJzdEFnZW50ID09PSAwID8gMSA6IDBdKVxuICAgICAgfVxuICAgIH0sXG4gICAgW2FnZW50cy5kYXRhLCBzZWxlY3RBZ2VudF1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUdldEFnZW50cyA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChhZ2VudFRvU2VsZWN0PzogQWdlbnQpID0+IHtcbiAgICAgIGlmIChpc1JlZnJlc2hpbmdSZWYuY3VycmVudCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVxdWVzdEtleSA9IGFnZW50VG9TZWxlY3Q/LmlkPy50b1N0cmluZygpIHx8ICdkZWZhdWx0J1xuICAgICAgaWYgKGxhc3RSZXF1ZXN0UmVmLmN1cnJlbnQgPT09IHJlcXVlc3RLZXkgJiYgIWxvYWRpbmcpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlzUmVmcmVzaGluZ1JlZi5jdXJyZW50ID0gdHJ1ZVxuICAgICAgbGFzdFJlcXVlc3RSZWYuY3VycmVudCA9IHJlcXVlc3RLZXlcbiAgICAgIHNldExvYWRpbmcodHJ1ZSlcbiAgICAgIHNldEVycm9yKG51bGwpXG5cbiAgICAgIGNvbnN0IGlzTXVsdGlBZ2VudHMgPSAhIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MgJiYgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuXG4gICAgICB0cnkge1xuICAgICAgICBsZXQgYWdlbnRQYXJzZWQ6IEFnZW50W10gPSBbXVxuICAgICAgICBsZXQgaGFzTW9yZSA9IGZhbHNlXG4gICAgICAgIGxldCBuZXh0T2Zmc2V0OiBudW1iZXIgfCBudWxsID0gbnVsbFxuXG4gICAgICAgIC8vIFNpIHRpZW5lIGZlYXR1cmUgYWNjZXNzIG11bHRpIGFnZW50cywgaGFjZXIgZG9zIHF1ZXJpZXMgKE1haWEgKyBjdXN0b20pIGVuIGN1YWxxdWllciBzZWNjacOzblxuICAgICAgICBpZiAoaXNNdWx0aUFnZW50cykge1xuICAgICAgICAgIC8vIFF1ZXJ5IDE6IEFnZW50ZXMgY2xvbmUgKE1haWEpIC0gU29sbyBwYXJhIHJvbGVzIHBlcm1pdGlkb3MuIFB1ZWRlbiB2ZW5pciBtw7psdGlwbGVzIGFnZW50ZXMgdGlwbyBjbG9uZVxuICAgICAgICAgIGxldCBjbG9uZUFnZW50czogQWdlbnRbXSA9IFtdXG4gICAgICAgICAgaWYgKCF1c2VyUm9sZXNEaXNhYmxlZC5pbmNsdWRlcyh1c2VyLnJvbGVfaWQpKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBjb25zdCBvcmRlclBhcmFtID1cbiAgICAgICAgICAgICAgICBzZWN0aW9uID09PSAnY2xpZW50J1xuICAgICAgICAgICAgICAgICAgPyAnJm9yZGVyPWNsaWVudCxwcm9qZWN0J1xuICAgICAgICAgICAgICAgICAgOiBzZWN0aW9uID09PSAncHJvamVjdCcgfHwgc2VjdGlvbiA9PT0gJ2hlYWRlcidcbiAgICAgICAgICAgICAgICAgICAgPyAnJm9yZGVyPXByb2plY3QsY2xpZW50J1xuICAgICAgICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgICAgIGNvbnN0IG1haWFSZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICAgICAgICAgICAgcGF0aDogYGFnZW50cz9hZ2VudF90eXBlPWNsb25lJmxhbmc9JHttYXBDT1JMYW5nKGkxOG4ubGFuZ3VhZ2UpfSR7b3JkZXJQYXJhbX1gLFxuICAgICAgICAgICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIGNvbnN0IG1haWFEYXRhID0gYXdhaXQgbWFpYVJlc3BvbnNlLmpzb24oKVxuICAgICAgICAgICAgICBjbG9uZUFnZW50cyA9IG1haWFEYXRhLmRhdGE/LmZpbHRlcigoYWc6IEFnZW50KSA9PiBhZy50eXBlID09PSAnY2xvbmUnKSB8fCBbXVxuICAgICAgICAgICAgfSBjYXRjaCAobWFpYUVycm9yOiBhbnkpIHtcbiAgICAgICAgICAgICAgLy8gVmVyaWZpY2FyIHNpIGVsIGVycm9yIGVzIDQwM1xuICAgICAgICAgICAgICAvLyBmZXRjaENPUiBwdWVkZSBsYW56YXIgZGlmZXJlbnRlcyB0aXBvcyBkZSBlcnJvcmVzOlxuICAgICAgICAgICAgICAvLyAxLiBFcnJvciBjb24gZXJyb3JEYXRhLmRldGFpbCBzaSBpbmNsdXllICdBY2Nlc3MgZGVuaWVkJ1xuICAgICAgICAgICAgICAvLyAyLiBFcnJvciBnZW7DqXJpY28gJ0ZhaWxlZCBmZXRjaGluZyBkYXRhJyBzaSBlcyA0MDMgcGVybyBubyBpbmNsdXllICdBY2Nlc3MgZGVuaWVkJ1xuICAgICAgICAgICAgICAvLyAzLiBOZWNlc2l0YW1vcyB2ZXJpZmljYXIgZWwgc3RhdHVzIGNvZGUgc2kgZXN0w6EgZGlzcG9uaWJsZVxuICAgICAgICAgICAgICBjb25zdCBpczQwM0Vycm9yID1cbiAgICAgICAgICAgICAgICBtYWlhRXJyb3I/LnJlc3BvbnNlPy5zdGF0dXMgPT09IDQwMyB8fFxuICAgICAgICAgICAgICAgIG1haWFFcnJvcj8uc3RhdHVzID09PSA0MDMgfHxcbiAgICAgICAgICAgICAgICBtYWlhRXJyb3I/Lm1lc3NhZ2U/LmluY2x1ZGVzKFwiWW91IGRvbid0IGhhdmUgcGVybWlzc2lvbiB0byB2aWV3IGFnZW50c1wiKSB8fFxuICAgICAgICAgICAgICAgIG1haWFFcnJvcj8ubWVzc2FnZT8uaW5jbHVkZXMoJ0ZhaWxlZCBmZXRjaGluZyBkYXRhJykgLy8gZmV0Y2hDT1IgbGFuemEgZXN0byBwYXJhIDQwMyBzaW4gJ0FjY2VzcyBkZW5pZWQnXG5cbiAgICAgICAgICAgICAgaWYgKGlzNDAzRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAvLyBTaSBlcyA0MDMsIGNvbnRpbnVhciBzaW4gbG9zIGNsb25lQWdlbnRzXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gU2kgZXMgb3RybyBlcnJvciwgbGFuemFybG9cbiAgICAgICAgICAgICAgICB0aHJvdyBtYWlhRXJyb3JcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFF1ZXJ5IDI6IEFnZW50ZXMgY3VzdG9tIGNvbiBwYWdpbmFjacOzblxuICAgICAgICAgIGxldCBjdXN0b21BZ2VudHM6IEFnZW50W10gPSBbXVxuICAgICAgICAgIGxldCBjdXN0b21IYXNNb3JlID0gZmFsc2VcbiAgICAgICAgICBsZXQgY3VzdG9tTmV4dE9mZnNldDogbnVtYmVyIHwgbnVsbCA9IG51bGxcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBjdXN0b21SZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICAgICAgICAgIHBhdGg6ICdhZ2VudHM/YWdlbnRfdHlwZT1jdXN0b20mbGltaXQ9NyZvZmZzZXQ9MCcsXG4gICAgICAgICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgY29uc3QgY3VzdG9tRGF0YSA9IGF3YWl0IGN1c3RvbVJlc3BvbnNlLmpzb24oKVxuICAgICAgICAgICAgY3VzdG9tQWdlbnRzID0gY3VzdG9tRGF0YS5kYXRhIHx8IFtdXG4gICAgICAgICAgICBjdXN0b21IYXNNb3JlID0gY3VzdG9tRGF0YS5oYXNfbW9yZSB8fCBmYWxzZVxuICAgICAgICAgICAgY3VzdG9tTmV4dE9mZnNldCA9IGN1c3RvbURhdGEubmV4dF9vZmZzZXQgfHwgbnVsbFxuICAgICAgICAgIH0gY2F0Y2ggKGN1c3RvbUVycm9yOiBhbnkpIHtcbiAgICAgICAgICAgIC8vIFZlcmlmaWNhciBzaSBlbCBlcnJvciBlcyA0MDNcbiAgICAgICAgICAgIC8vIGZldGNoQ09SIHB1ZWRlIGxhbnphciBkaWZlcmVudGVzIHRpcG9zIGRlIGVycm9yZXM6XG4gICAgICAgICAgICAvLyAxLiBFcnJvciBjb24gZXJyb3JEYXRhLmRldGFpbCBzaSBpbmNsdXllICdBY2Nlc3MgZGVuaWVkJ1xuICAgICAgICAgICAgLy8gMi4gRXJyb3IgZ2Vuw6lyaWNvICdGYWlsZWQgZmV0Y2hpbmcgZGF0YScgc2kgZXMgNDAzIHBlcm8gbm8gaW5jbHV5ZSAnQWNjZXNzIGRlbmllZCdcbiAgICAgICAgICAgIC8vIDMuIE5lY2VzaXRhbW9zIHZlcmlmaWNhciBlbCBzdGF0dXMgY29kZSBzaSBlc3TDoSBkaXNwb25pYmxlXG4gICAgICAgICAgICBjb25zdCBpczQwM0Vycm9yID1cbiAgICAgICAgICAgICAgY3VzdG9tRXJyb3I/LnJlc3BvbnNlPy5zdGF0dXMgPT09IDQwMyB8fFxuICAgICAgICAgICAgICBjdXN0b21FcnJvcj8uc3RhdHVzID09PSA0MDMgfHxcbiAgICAgICAgICAgICAgY3VzdG9tRXJyb3I/Lm1lc3NhZ2U/LmluY2x1ZGVzKFwiWW91IGRvbid0IGhhdmUgcGVybWlzc2lvbiB0byB2aWV3IGFnZW50c1wiKSB8fFxuICAgICAgICAgICAgICBjdXN0b21FcnJvcj8ubWVzc2FnZT8uaW5jbHVkZXMoJ0ZhaWxlZCBmZXRjaGluZyBkYXRhJykgLy8gZmV0Y2hDT1IgbGFuemEgZXN0byBwYXJhIDQwMyBzaW4gJ0FjY2VzcyBkZW5pZWQnXG5cbiAgICAgICAgICAgIGlmIChpczQwM0Vycm9yKSB7XG4gICAgICAgICAgICAgIC8vIFNpIGVzIDQwMywgY29udGludWFyIHNpbiBsb3MgY3VzdG9tQWdlbnRzIChjdXN0b21BZ2VudHMgcXVlZGEgY29tbyBhcnJheSB2YWPDrW8pXG4gICAgICAgICAgICAgIC8vIEVzdG8gcHVlZGUgb2N1cnJpciBlbiBkb3MgZXNjZW5hcmlvczpcbiAgICAgICAgICAgICAgLy8gMS4gVXN1YXJpbyBOTyBlcyBkZSB1c2VyUm9sZXNEaXNhYmxlZDogdGVuZHLDoSBzb2xvIGxvcyBjbG9uZUFnZW50cyAoc2kgbGEgcXVlcnkgY2xvbmUgZnVlIGV4aXRvc2EpXG4gICAgICAgICAgICAgIC8vIDIuIFVzdWFyaW8gU8ONIGVzIGRlIHVzZXJSb2xlc0Rpc2FibGVkOiBlbCBsaXN0YWRvIHF1ZWRhcsOhIHZhY8OtbyAocG9ycXVlIG5vIGhheSBjbG9uZUFnZW50cylcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIFNpIGVzIG90cm8gZXJyb3IsIGxhbnphcmxvXG4gICAgICAgICAgICAgIHRocm93IGN1c3RvbUVycm9yXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gQ29tYmluYXI6IGFnZW50ZXMgY2xvbmUgcHJpbWVybywgbHVlZ28gbG9zIGN1c3RvbSAoc2kgZXhpc3RlbilcbiAgICAgICAgICAvLyBTaSBlbCB1c3VhcmlvIHRpZW5lIHVuIHJvbCBkZXNoYWJpbGl0YWRvLCBubyBpbmNsdWlyIGNsb25lQWdlbnRzXG4gICAgICAgICAgaWYgKHVzZXJSb2xlc0Rpc2FibGVkLmluY2x1ZGVzKHVzZXIucm9sZV9pZCkpIHtcbiAgICAgICAgICAgIC8vIFVzdWFyaW8gZGUgcm9sZXMgZGlzYWJsZWQ6IHNvbG8gY3VzdG9tQWdlbnRzXG4gICAgICAgICAgICAvLyBTaSBjdXN0b21BZ2VudHMgZXN0w6EgdmFjw61vIChwb3IgNDAzKSwgYWdlbnRQYXJzZWQgc2Vyw6EgW11cbiAgICAgICAgICAgIGFnZW50UGFyc2VkID0gY3VzdG9tQWdlbnRzXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIFVzdWFyaW8gbm9ybWFsOiBjbG9uZUFnZW50cyArIGN1c3RvbUFnZW50c1xuICAgICAgICAgICAgLy8gU2kgY3VzdG9tQWdlbnRzIGVzdMOhIHZhY8OtbyAocG9yIDQwMykgcGVybyBoYXkgY2xvbmVBZ2VudHMsIGFnZW50UGFyc2VkIHRlbmRyw6EgbG9zIGNsb25lc1xuICAgICAgICAgICAgLy8gU2kgbm8gaGF5IGNsb25lQWdlbnRzIG5pIGN1c3RvbUFnZW50cywgYWdlbnRQYXJzZWQgc2Vyw6EgW11cbiAgICAgICAgICAgIGFnZW50UGFyc2VkID0gY2xvbmVBZ2VudHMubGVuZ3RoID8gWy4uLmNsb25lQWdlbnRzLCAuLi5jdXN0b21BZ2VudHNdIDogY3VzdG9tQWdlbnRzXG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIE9yZGVuYXI6IE1haWEgcHJpbWVybywgbHVlZ28gZmF2b3JpdG9zIGFsZmFiw6l0aWNhbWVudGUsIGx1ZWdvIG5vIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlXG4gICAgICAgICAgYWdlbnRQYXJzZWQgPSBzb3J0QWdlbnRzKGFnZW50UGFyc2VkKVxuICAgICAgICAgIGhhc01vcmUgPSBjdXN0b21IYXNNb3JlXG4gICAgICAgICAgbmV4dE9mZnNldCA9IGN1c3RvbU5leHRPZmZzZXRcblxuICAgICAgICAgIHNldEFnZW50cyh7XG4gICAgICAgICAgICBkYXRhOiBhZ2VudFBhcnNlZCxcbiAgICAgICAgICAgIGhhc19tb3JlOiBoYXNNb3JlLFxuICAgICAgICAgICAgbmV4dF9vZmZzZXQ6IG5leHRPZmZzZXQsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIC8vIFNpIG5vIGhheSBhZ2VudGVzIGRlc3B1w6lzIGRlIHByb2Nlc2FyIGxhcyBxdWVyaWVzLCBsaW1waWFyIGVsIGVycm9yXG4gICAgICAgICAgaWYgKGFnZW50UGFyc2VkLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgc2V0RXJyb3IobnVsbClcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gTMOzZ2ljYSBwYXJhIHByb2plY3QsIGNsaWVudCBvIGhlYWRlciBzaW4gbXVsdGlBZ2VudHMgKG1pc21vIGNyaXRlcmlvIGRlIG9yZGVuIHByb2plY3QvY2xpZW50OyBoZWFkZXIgYcOxYWRlIHBhZ2luYWNpw7NuKVxuICAgICAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpXG4gICAgICAgICAgaWYgKHNlY3Rpb24gPT09ICdwcm9qZWN0JyB8fCBzZWN0aW9uID09PSAnY2xpZW50JyB8fCBzZWN0aW9uID09PSAnaGVhZGVyJykge1xuICAgICAgICAgICAgcXVlcnlQYXJhbXMuYXBwZW5kKCdhZ2VudF90eXBlJywgJ2Nsb25lJylcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnbGFuZycsIG1hcENPUkxhbmcoaTE4bi5sYW5ndWFnZSkpXG4gICAgICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ29yZGVyJywgc2VjdGlvbiA9PT0gJ2NsaWVudCcgPyAnY2xpZW50LHByb2plY3QnIDogJ3Byb2plY3QsY2xpZW50JylcbiAgICAgICAgICAgIGlmIChzZWN0aW9uID09PSAnaGVhZGVyJykge1xuICAgICAgICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ2xpbWl0JywgJzcnKVxuICAgICAgICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ29mZnNldCcsICcwJylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBxdWVyeVN0cmluZyA9IHF1ZXJ5UGFyYW1zLnRvU3RyaW5nKClcbiAgICAgICAgICBjb25zdCBwYXRoID0gYGFnZW50cyR7cXVlcnlTdHJpbmcgPyBgPyR7cXVlcnlTdHJpbmd9YCA6ICcnfWBcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG4gICAgICAgICAgICAvLyBkYXRhLmRhdGEgeWEgY29udGllbmUgdG9kb3MgbG9zIGFnZW50ZXMgY2xvbmUgZGUgbGEgcXVlcnkgYWdlbnRfdHlwZT1jbG9uZVxuICAgICAgICAgICAgYWdlbnRQYXJzZWQgPSBkYXRhLmRhdGEgfHwgW11cbiAgICAgICAgICAgIC8vIE9yZGVuYXI6IE1haWEgcHJpbWVybywgbHVlZ28gZmF2b3JpdG9zIGFsZmFiw6l0aWNhbWVudGUsIGx1ZWdvIG5vIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlXG4gICAgICAgICAgICBhZ2VudFBhcnNlZCA9IHNvcnRBZ2VudHMoYWdlbnRQYXJzZWQpXG4gICAgICAgICAgICBoYXNNb3JlID0gZGF0YS5oYXNfbW9yZVxuICAgICAgICAgICAgbmV4dE9mZnNldCA9IGRhdGEubmV4dF9vZmZzZXRcblxuICAgICAgICAgICAgc2V0QWdlbnRzKHtcbiAgICAgICAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgICAgICAgZGF0YTogYWdlbnRQYXJzZWQsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gY2F0Y2ggKHJlc3BvbnNlRXJyb3I6IGFueSkge1xuICAgICAgICAgICAgLy8gVmVyaWZpY2FyIHNpIGVsIGVycm9yIGVzIDQwM1xuICAgICAgICAgICAgLy8gZmV0Y2hDT1IgcHVlZGUgbGFuemFyIGRpZmVyZW50ZXMgdGlwb3MgZGUgZXJyb3JlczpcbiAgICAgICAgICAgIC8vIDEuIEVycm9yIGNvbiBlcnJvckRhdGEuZGV0YWlsIHNpIGluY2x1eWUgJ0FjY2VzcyBkZW5pZWQnXG4gICAgICAgICAgICAvLyAyLiBFcnJvciBnZW7DqXJpY28gJ0ZhaWxlZCBmZXRjaGluZyBkYXRhJyBzaSBlcyA0MDMgcGVybyBubyBpbmNsdXllICdBY2Nlc3MgZGVuaWVkJ1xuICAgICAgICAgICAgLy8gMy4gTmVjZXNpdGFtb3MgdmVyaWZpY2FyIGVsIHN0YXR1cyBjb2RlIHNpIGVzdMOhIGRpc3BvbmlibGVcbiAgICAgICAgICAgIGNvbnN0IGlzNDAzRXJyb3IgPVxuICAgICAgICAgICAgICByZXNwb25zZUVycm9yPy5yZXNwb25zZT8uc3RhdHVzID09PSA0MDMgfHxcbiAgICAgICAgICAgICAgcmVzcG9uc2VFcnJvcj8uc3RhdHVzID09PSA0MDMgfHxcbiAgICAgICAgICAgICAgcmVzcG9uc2VFcnJvcj8ubWVzc2FnZT8uaW5jbHVkZXMoXCJZb3UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHZpZXcgYWdlbnRzXCIpIHx8XG4gICAgICAgICAgICAgIHJlc3BvbnNlRXJyb3I/Lm1lc3NhZ2U/LmluY2x1ZGVzKCdGYWlsZWQgZmV0Y2hpbmcgZGF0YScpIC8vIGZldGNoQ09SIGxhbnphIGVzdG8gcGFyYSA0MDMgc2luICdBY2Nlc3MgZGVuaWVkJ1xuXG4gICAgICAgICAgICBpZiAoaXM0MDNFcnJvcikge1xuICAgICAgICAgICAgICAvLyBTaSBlcyA0MDMsIGVzdGFibGVjZXIgYWdlbnRlcyB2YWPDrW9zIHkgY29udGludWFyXG4gICAgICAgICAgICAgIHNldEFnZW50cyh7XG4gICAgICAgICAgICAgICAgZGF0YTogW10sXG4gICAgICAgICAgICAgICAgaGFzX21vcmU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIG5leHRfb2Zmc2V0OiBudWxsLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICBzZXRFcnJvcihudWxsKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gU2kgZXMgb3RybyBlcnJvciwgbGFuemFybG9cbiAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2VFcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEzDs2dpY2EgZGUgc2VsZWN0IGFnZW50IC0gU29sbyBzZWxlY2Npb25hciBzaSBoYXkgYWdlbnRlcyBkaXNwb25pYmxlc1xuICAgICAgICBpZiAoYWdlbnRQYXJzZWQubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGlmIChhZ2VudFRvU2VsZWN0ICYmIGFnZW50UGFyc2VkLmZpbmQoKGFnZW50VG9SZXF1ZXN0OiBBZ2VudCkgPT4gYWdlbnRUb1JlcXVlc3QuaWQgPT09IGFnZW50VG9TZWxlY3QuaWQpKSB7XG4gICAgICAgICAgICBpZiAobGFzdFNlbGVjdGVkQWdlbnRSZWYuY3VycmVudD8uaWQgIT09IGFnZW50VG9TZWxlY3QuaWQpIHtcbiAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkQWdlbnRSZWYuY3VycmVudCA9IGFnZW50VG9TZWxlY3RcbiAgICAgICAgICAgICAgc2VsZWN0QWdlbnQoYWdlbnRUb1NlbGVjdClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgYWdlbnRQYXJzZWQ/LlswXSAmJlxuICAgICAgICAgICAgKCFhZ2VudCB8fCAhYWdlbnRQYXJzZWQuZmluZCgoYTogQWdlbnQpID0+IGEuaWQgPT09IGFnZW50LmlkKSkgJiZcbiAgICAgICAgICAgIHNlY3Rpb24gIT09ICd0YXNrJ1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgLy8gRW4gc2VjdGlvbiAndGFzaycgZWwgYWdlbnRlIGxvIGVsaWdlIGVsIHVzdWFyaW8gdsOtYSBUYXNrQWdlbnRTZWxlY3RvciDigJQgbm9cbiAgICAgICAgICAgIC8vIGF1dG8tc2VsZWNjaW9uYW1vcyBwYXJhIG5vIHBpc2FyIGxhIGVsZWNjacOzbiBoZWNoYSBhbnRlcyBkZSBhYnJpciBlbCBtb2RhbC5cbiAgICAgICAgICAgIGNvbnN0IGF2YWlsYWJsZUFnZW50cyA9XG4gICAgICAgICAgICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MgJiYgIXVzZXJSb2xlc0Rpc2FibGVkLmluY2x1ZGVzKHVzZXIucm9sZV9pZClcbiAgICAgICAgICAgICAgICA/IGFnZW50UGFyc2VkXG4gICAgICAgICAgICAgICAgOiBhZ2VudFBhcnNlZC5maWx0ZXIoKGFnZW50SXRlbTogQWdlbnQpID0+IGFnZW50SXRlbS50eXBlICE9PSAnY2xvbmUnKVxuXG4gICAgICAgICAgICBjb25zdCBbZmlyc3RBZ2VudF0gPSBhdmFpbGFibGVBZ2VudHNcbiAgICAgICAgICAgIGlmIChmaXJzdEFnZW50ICYmIGxhc3RTZWxlY3RlZEFnZW50UmVmLmN1cnJlbnQ/LmlkICE9PSBmaXJzdEFnZW50LmlkKSB7XG4gICAgICAgICAgICAgIGxhc3RTZWxlY3RlZEFnZW50UmVmLmN1cnJlbnQgPSBmaXJzdEFnZW50XG4gICAgICAgICAgICAgIHNlbGVjdEFnZW50KGZpcnN0QWdlbnQpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmIChhZ2VudFRvU2VsZWN0ICYmIGFnZW50UGFyc2VkPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGF2YWlsYWJsZUFnZW50cyA9XG4gICAgICAgICAgICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MgJiYgIXVzZXJSb2xlc0Rpc2FibGVkLmluY2x1ZGVzKHVzZXIucm9sZV9pZClcbiAgICAgICAgICAgICAgICA/IGFnZW50UGFyc2VkXG4gICAgICAgICAgICAgICAgOiBhZ2VudFBhcnNlZC5maWx0ZXIoKGFnZW50SXRlbTogQWdlbnQpID0+IGFnZW50SXRlbS50eXBlICE9PSAnY2xvbmUnKVxuXG4gICAgICAgICAgICBjb25zdCBbZmlyc3RBdmFpbGFibGVBZ2VudF0gPSBhdmFpbGFibGVBZ2VudHNcbiAgICAgICAgICAgIGlmIChmaXJzdEF2YWlsYWJsZUFnZW50ICYmIGxhc3RTZWxlY3RlZEFnZW50UmVmLmN1cnJlbnQ/LmlkICE9PSBmaXJzdEF2YWlsYWJsZUFnZW50LmlkKSB7XG4gICAgICAgICAgICAgIGxhc3RTZWxlY3RlZEFnZW50UmVmLmN1cnJlbnQgPSBmaXJzdEF2YWlsYWJsZUFnZW50XG4gICAgICAgICAgICAgIHNlbGVjdEFnZW50KGZpcnN0QXZhaWxhYmxlQWdlbnQpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBzZXRFcnJvcihlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogJ0FuIHVua25vd24gZXJyb3Igb2NjdXJyZWQnKVxuICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgaXNSZWZyZXNoaW5nUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBpZiAoIWlzUmVmcmVzaGluZ1JlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBsYXN0UmVxdWVzdFJlZi5jdXJyZW50ID0gbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgfSwgMTAwKVxuICAgICAgfVxuICAgIH0sXG4gICAgW3NlbGVjdEFnZW50LCBzZWN0aW9uLCBhZ2VudCwgbG9hZGluZ11cbiAgKVxuXG4gIGNvbnN0IGxvYWRNb3JlQWdlbnRzID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGlzTXVsdGlBZ2VudHMgPSAhIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MgJiYgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICAgIC8vIENhcmdhciBtw6FzOiBlbiBoZWFkZXIgc2llbXByZTsgZW4gcHJvamVjdCBzb2xvIHNpIGlzTXVsdGlBZ2VudHMgKHBvcnF1ZSBzb2xvIGVudG9uY2VzIGhheSBwYWdpbmFjacOzbiBkZSBjdXN0b20pXG4gICAgY29uc3QgY2FuTG9hZE1vcmUgPSBzZWN0aW9uID09PSAnaGVhZGVyJyB8fCBpc011bHRpQWdlbnRzXG4gICAgaWYgKCFjYW5Mb2FkTW9yZSB8fCAhYWdlbnRzLmhhc19tb3JlIHx8ICFhZ2VudHMubmV4dF9vZmZzZXQgfHwgbG9hZGluZ01vcmUpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHNldExvYWRpbmdNb3JlKHRydWUpXG4gICAgc2V0RXJyb3IobnVsbClcblxuICAgIHRyeSB7XG4gICAgICBsZXQgcGF0aDogc3RyaW5nXG5cbiAgICAgIC8vIFNpIGVzIG11bHRpQWdlbnRzLCBzb2xvIGNhcmdhciBhZ2VudHMgY3VzdG9tIChNYWlhIHlhIGVzdMOhIGNhcmdhZG8pXG4gICAgICBpZiAoaXNNdWx0aUFnZW50cykge1xuICAgICAgICAvLyBNYW50ZW5lciBjYW50aWRhZCBpbXBhciBkZSBjYXJkczogcHJpbWVyYSBjYXJnYSA3LCBzaWd1aWVudGVzICs2ICg3LCAxMywgMTksIC4uLilcbiAgICAgICAgcGF0aCA9IGBhZ2VudHM/YWdlbnRfdHlwZT1jdXN0b20mbGltaXQ9NiZvZmZzZXQ9JHthZ2VudHMubmV4dF9vZmZzZXR9YFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2kgbm8gZXMgbXVsdGlBZ2VudHMsIGNhcmdhciBtw6FzIGFnZW50ZXMgY2xvbmUgKE1haWEpIOKAlCBtaXNtbyBvcmRlciBxdWUgcHJvamVjdCBwYXJhIGhlYWRlclxuICAgICAgICBjb25zdCBxdWVyeVBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKVxuICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ2FnZW50X3R5cGUnLCAnY2xvbmUnKVxuICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ2xhbmcnLCBtYXBDT1JMYW5nKGkxOG4ubGFuZ3VhZ2UpKVxuICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ29yZGVyJywgJ3Byb2plY3QsY2xpZW50JylcbiAgICAgICAgcXVlcnlQYXJhbXMuYXBwZW5kKCdsaW1pdCcsICc3JylcbiAgICAgICAgcXVlcnlQYXJhbXMuYXBwZW5kKCdvZmZzZXQnLCBhZ2VudHMubmV4dF9vZmZzZXQudG9TdHJpbmcoKSlcbiAgICAgICAgcGF0aCA9IGBhZ2VudHM/JHtxdWVyeVBhcmFtcy50b1N0cmluZygpfWBcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgICAgICBwYXRoLFxuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgfSlcblxuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuXG4gICAgICAvLyBBY3VtdWxhciBhZ2VudGVzLCBleGNsdXllbmRvIGR1cGxpY2Fkb3NcbiAgICAgIHNldEFnZW50cyhwcmV2ID0+IHtcbiAgICAgICAgaWYgKGlzTXVsdGlBZ2VudHMpIHtcbiAgICAgICAgICAvLyBMw7NnaWNhIHBhcmEgbXVsdGlBZ2VudHM6IHNlcGFyYXIgY2xvbmUgeSBjdXN0b21cbiAgICAgICAgICAvLyBNYW50ZW5lciB0b2RvcyBsb3MgYWdlbnRlcyBjbG9uZSBleGlzdGVudGVzIGFsIGluaWNpb1xuICAgICAgICAgIGNvbnN0IGV4aXN0aW5nQ2xvbmVBZ2VudHMgPSBwcmV2LmRhdGEuZmlsdGVyKChhZzogQWdlbnQpID0+IGFnLnR5cGUgPT09ICdjbG9uZScpXG5cbiAgICAgICAgICAvLyBPYnRlbmVyIElEcyBleGlzdGVudGVzIChleGNsdXllbmRvIGNsb25lcylcbiAgICAgICAgICBjb25zdCBleGlzdGluZ0lkcyA9IG5ldyBTZXQocHJldi5kYXRhLmZpbHRlcigoYWc6IEFnZW50KSA9PiBhZy50eXBlICE9PSAnY2xvbmUnKS5tYXAoKGFnOiBBZ2VudCkgPT4gYWcuaWQpKVxuXG4gICAgICAgICAgLy8gRmlsdHJhciBudWV2b3MgYWdlbnRzIHF1ZSBubyBlc3TDqW4geWEgZW4gbGEgbGlzdGEgKHkgcXVlIG5vIHNlYW4gY2xvbmUpXG4gICAgICAgICAgY29uc3QgbmV3QWdlbnRzID0gZGF0YS5kYXRhLmZpbHRlcigoYWc6IEFnZW50KSA9PiBhZy50eXBlICE9PSAnY2xvbmUnICYmICFleGlzdGluZ0lkcy5oYXMoYWcuaWQpKVxuXG4gICAgICAgICAgLy8gQ29uc3RydWlyIGVsIG51ZXZvIGFycmF5OiBjbG9uZXMgcHJpbWVybywgbHVlZ28gbG9zIGFnZW50cyBleGlzdGVudGVzIHF1ZSBubyBzZWFuIGNsb25lLCBsdWVnbyBsb3MgbnVldm9zXG4gICAgICAgICAgY29uc3QgbmV3RGF0YSA9IGV4aXN0aW5nQ2xvbmVBZ2VudHMubGVuZ3RoXG4gICAgICAgICAgICA/IFsuLi5leGlzdGluZ0Nsb25lQWdlbnRzLCAuLi5wcmV2LmRhdGEuZmlsdGVyKChhZzogQWdlbnQpID0+IGFnLnR5cGUgIT09ICdjbG9uZScpLCAuLi5uZXdBZ2VudHNdXG4gICAgICAgICAgICA6IFsuLi5wcmV2LmRhdGEuZmlsdGVyKChhZzogQWdlbnQpID0+IGFnLnR5cGUgIT09ICdjbG9uZScpLCAuLi5uZXdBZ2VudHNdXG5cbiAgICAgICAgICAvLyBPcmRlbmFyOiBNYWlhIHByaW1lcm8sIGx1ZWdvIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlLCBsdWVnbyBubyBmYXZvcml0b3MgYWxmYWLDqXRpY2FtZW50ZVxuICAgICAgICAgIGNvbnN0IHNvcnRlZERhdGEgPSBzb3J0QWdlbnRzKG5ld0RhdGEpXG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGF0YTogc29ydGVkRGF0YSxcbiAgICAgICAgICAgIGhhc19tb3JlOiBkYXRhLmhhc19tb3JlLFxuICAgICAgICAgICAgbmV4dF9vZmZzZXQ6IGRhdGEubmV4dF9vZmZzZXQsXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIEzDs2dpY2EgcGFyYSAhaXNNdWx0aUFnZW50czogdG9kb3MgbG9zIGFnZW50ZXMgc29uIGNsb25lLCBzaW1wbGVtZW50ZSBhZ3JlZ2FyIGV2aXRhbmRvIGR1cGxpY2Fkb3NcbiAgICAgICAgY29uc3QgZXhpc3RpbmdJZHMgPSBuZXcgU2V0KHByZXYuZGF0YS5tYXAoKGFnOiBBZ2VudCkgPT4gYWcuaWQpKVxuICAgICAgICBjb25zdCBuZXdBZ2VudHMgPSAoZGF0YS5kYXRhIHx8IFtdKS5maWx0ZXIoKGFnOiBBZ2VudCkgPT4gIWV4aXN0aW5nSWRzLmhhcyhhZy5pZCkpXG4gICAgICAgIGNvbnN0IG5ld0RhdGEgPSBbLi4ucHJldi5kYXRhLCAuLi5uZXdBZ2VudHNdXG5cbiAgICAgICAgLy8gT3JkZW5hcjogTWFpYSBwcmltZXJvLCBsdWVnbyBmYXZvcml0b3MgYWxmYWLDqXRpY2FtZW50ZSwgbHVlZ28gbm8gZmF2b3JpdG9zIGFsZmFiw6l0aWNhbWVudGVcbiAgICAgICAgY29uc3Qgc29ydGVkRGF0YSA9IHNvcnRBZ2VudHMobmV3RGF0YSlcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGRhdGE6IHNvcnRlZERhdGEsXG4gICAgICAgICAgaGFzX21vcmU6IGRhdGEuaGFzX21vcmUsXG4gICAgICAgICAgbmV4dF9vZmZzZXQ6IGRhdGEubmV4dF9vZmZzZXQsXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIHNldExvYWRpbmdNb3JlKGZhbHNlKVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcih0KCdzbmFja2Jhci5sb2FkTW9yZUFnZW50cy5lcnJvcicpKVxuICAgICAgc2V0TG9hZGluZ01vcmUoZmFsc2UpXG4gICAgfVxuICB9LCBbc2VjdGlvbiwgYWdlbnRzLmhhc19tb3JlLCBhZ2VudHMubmV4dF9vZmZzZXQsIGxvYWRpbmdNb3JlLCBpMThuLmxhbmd1YWdlXSlcblxuICByZXR1cm4ge1xuICAgIGFnZW50cyxcbiAgICBsb2FkaW5nLFxuICAgIGxvYWRpbmdNb3JlLFxuICAgIGVycm9yLFxuICAgIGhhbmRsZUdldEFnZW50cyxcbiAgICBsb2FkTW9yZUFnZW50cyxcbiAgICBhZGRBZ2VudCxcbiAgICByZW1vdmVBZ2VudCxcbiAgICB1cGRhdGVBZ2VudCxcbiAgICB1cGRhdGVBZ2VudEZhdm9yaXRlLFxuICAgIHNlbGVjdEZpcnN0QWdlbnQsXG4gICAgc29ydEFnZW50c0xpc3QsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUNyRCxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxrQkFBa0IsUUFBUSxzREFBc0Q7QUFDekYsU0FBU0MsU0FBUyxRQUFRLFdBQVc7QUFFckMsU0FBU0MsT0FBTyxFQUFFQyxXQUFXLFFBQVEsMkJBQTJCO0FBQ2hFLFNBQVNDLFVBQVUsUUFBUSxxQkFBcUI7O0FBRWhEO0FBQ0E7QUFDQTtBQUNBLElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFJQyxNQUFlLEVBQWM7RUFDL0M7RUFDQSxJQUFNQyxXQUFXLEdBQUdELE1BQU0sQ0FBQ0UsTUFBTSxDQUFDLFVBQUFDLEVBQUU7SUFBQSxPQUFJQSxFQUFFLENBQUNDLElBQUksS0FBSyxPQUFPO0VBQUEsRUFBQztFQUM1RCxJQUFNQyxXQUFXLEdBQUdMLE1BQU0sQ0FBQ0UsTUFBTSxDQUFDLFVBQUFDLEVBQUU7SUFBQSxPQUFJQSxFQUFFLENBQUNDLElBQUksS0FBSyxPQUFPO0VBQUEsRUFBQzs7RUFFNUQ7RUFDQSxJQUFNRSxTQUFTLEdBQUdELFdBQVcsQ0FBQ0gsTUFBTSxDQUFDLFVBQUFDLEVBQUU7SUFBQSxPQUFJQSxFQUFFLENBQUNJLFdBQVc7RUFBQSxFQUFDLENBQUNDLElBQUksQ0FBQyxVQUFDQyxDQUFDLEVBQUVDLENBQUM7SUFBQSxPQUFLRCxDQUFDLENBQUNFLElBQUksQ0FBQ0MsYUFBYSxDQUFDRixDQUFDLENBQUNDLElBQUksQ0FBQztFQUFBLEVBQUM7RUFDdkcsSUFBTUUsWUFBWSxHQUFHUixXQUFXLENBQUNILE1BQU0sQ0FBQyxVQUFBQyxFQUFFO0lBQUEsT0FBSSxDQUFDQSxFQUFFLENBQUNJLFdBQVc7RUFBQSxFQUFDLENBQUNDLElBQUksQ0FBQyxVQUFDQyxDQUFDLEVBQUVDLENBQUM7SUFBQSxPQUFLRCxDQUFDLENBQUNFLElBQUksQ0FBQ0MsYUFBYSxDQUFDRixDQUFDLENBQUNDLElBQUksQ0FBQztFQUFBLEVBQUM7O0VBRTNHO0VBQ0EsT0FBT1YsV0FBVyxDQUFDYSxNQUFNLE1BQUFDLE1BQUEsQ0FBQUMsa0JBQUEsQ0FBT2YsV0FBVyxHQUFBZSxrQkFBQSxDQUFLVixTQUFTLEdBQUFVLGtCQUFBLENBQUtILFlBQVksUUFBQUUsTUFBQSxDQUFBQyxrQkFBQSxDQUFRVixTQUFTLEdBQUFVLGtCQUFBLENBQUtILFlBQVksRUFBQztBQUMvRyxDQUFDO0FBY0QsT0FBTyxJQUFNSSxZQUFZLEdBQUcsU0FBZkEsWUFBWUEsQ0FBQUMsSUFBQSxFQUF5RTtFQUFBLElBQW5FQyxXQUFXLEdBQUFELElBQUEsQ0FBWEMsV0FBVztJQUFFQyxPQUFPLEdBQUFGLElBQUEsQ0FBUEUsT0FBTztJQUFFQyxLQUFLLEdBQUFILElBQUEsQ0FBTEcsS0FBSztJQUFFQyxZQUFZLEdBQUFKLElBQUEsQ0FBWkksWUFBWTtFQUN0RSxJQUFNQyxJQUFJLEdBQUczQixPQUFPLENBQUMsQ0FBQztFQUN0QixJQUFBNEIsU0FBQSxHQUE0QmxDLFFBQVEsQ0FBcUU7TUFBRW1DLElBQUksRUFBRTtJQUFHLENBQUMsQ0FBQztJQUFBQyxVQUFBLEdBQUFDLGNBQUEsQ0FBQUgsU0FBQTtJQUEvR3hCLE1BQU0sR0FBQTBCLFVBQUE7SUFBRUUsU0FBUyxHQUFBRixVQUFBO0VBQ3hCLElBQUFHLFVBQUEsR0FBOEJ2QyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUF3QyxVQUFBLEdBQUFILGNBQUEsQ0FBQUUsVUFBQTtJQUF0Q0UsT0FBTyxHQUFBRCxVQUFBO0lBQUVFLFVBQVUsR0FBQUYsVUFBQTtFQUMxQixJQUFBRyxVQUFBLEdBQXNDM0MsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBNEMsVUFBQSxHQUFBUCxjQUFBLENBQUFNLFVBQUE7SUFBOUNFLFdBQVcsR0FBQUQsVUFBQTtJQUFFRSxjQUFjLEdBQUFGLFVBQUE7RUFDbEMsSUFBQUcsVUFBQSxHQUEwQi9DLFFBQVEsQ0FBZ0IsSUFBSSxDQUFDO0lBQUFnRCxVQUFBLEdBQUFYLGNBQUEsQ0FBQVUsVUFBQTtJQUFoREUsS0FBSyxHQUFBRCxVQUFBO0lBQUVFLFFBQVEsR0FBQUYsVUFBQTtFQUN0QixJQUFBRyxtQkFBQSxHQUFnQy9DLGtCQUFrQixDQUFDLENBQUM7SUFBNUNnRCxtQkFBbUIsR0FBQUQsbUJBQUEsQ0FBbkJDLG1CQUFtQjtFQUMzQixJQUFBQyxlQUFBLEdBQW9CbEQsY0FBYyxDQUFDLGlCQUFpQixDQUFDO0lBQTdDbUQsQ0FBQyxHQUFBRCxlQUFBLENBQURDLENBQUM7SUFBRUMsSUFBSSxHQUFBRixlQUFBLENBQUpFLElBQUk7RUFDZixJQUFNQyxvQkFBb0IsR0FBR3RELE1BQU0sQ0FBZSxJQUFJLENBQUM7RUFDdkQsSUFBTXVELGVBQWUsR0FBR3ZELE1BQU0sQ0FBQyxLQUFLLENBQUM7RUFDckMsSUFBTXdELGNBQWMsR0FBR3hELE1BQU0sQ0FBZ0IsSUFBSSxDQUFDO0VBRWxELElBQU15RCxpQkFBaUIsR0FBRyxDQUFDcEQsV0FBVyxDQUFDcUQsWUFBWSxFQUFFckQsV0FBVyxDQUFDc0QsVUFBVSxFQUFFdEQsV0FBVyxDQUFDdUQsTUFBTSxDQUFDO0VBRWhHLElBQU1DLFFBQVEsR0FBRzlELFdBQVcsQ0FDMUIsVUFBQytELFFBQWUsRUFBRUMsT0FBeUIsRUFBSztJQUM5QzNCLFNBQVMsQ0FBQyxVQUFBNEIsSUFBSSxFQUFJO01BQ2hCO01BQ0EsSUFBTUMsV0FBVyxHQUFHRCxJQUFJLENBQUMvQixJQUFJLENBQUNpQyxJQUFJLENBQUMsVUFBQUMsYUFBYTtRQUFBLE9BQUlBLGFBQWEsQ0FBQ0MsRUFBRSxLQUFLTixRQUFRLENBQUNNLEVBQUU7TUFBQSxFQUFDO01BQ3JGLElBQUlILFdBQVcsRUFBRTtRQUNmLE9BQU9ELElBQUk7TUFDYjtNQUNBLElBQU1LLE9BQU8sTUFBQTlDLE1BQUEsQ0FBQUMsa0JBQUEsQ0FBT3dDLElBQUksQ0FBQy9CLElBQUksSUFBRTZCLFFBQVEsRUFBQztNQUN4QyxJQUFNUSxVQUFVLEdBQUcvRCxVQUFVLENBQUM4RCxPQUFPLENBQUM7TUFDdEMsT0FBQUUsYUFBQSxDQUFBQSxhQUFBLEtBQ0tQLElBQUk7UUFDUC9CLElBQUksRUFBRXFDO01BQVU7SUFFcEIsQ0FBQyxDQUFDO0lBQ0YsSUFBSSxDQUFBUCxPQUFPLGFBQVBBLE9BQU8sdUJBQVBBLE9BQU8sQ0FBRVMsWUFBWSxNQUFLLEtBQUssRUFBRTtNQUNuQzFDLFlBQVksQ0FBQyxDQUFDO0lBQ2hCO0VBQ0YsQ0FBQyxFQUNELENBQUNBLFlBQVksQ0FDZixDQUFDO0VBRUQsSUFBTTJDLFdBQVcsR0FBRzFFLFdBQVcsQ0FBQyxVQUFDMkUsT0FBd0IsRUFBSztJQUM1RHRDLFNBQVMsQ0FBQyxVQUFBNEIsSUFBSTtNQUFBLE9BQUFPLGFBQUEsQ0FBQUEsYUFBQSxLQUNUUCxJQUFJO1FBQ1AvQixJQUFJLEVBQUUrQixJQUFJLENBQUMvQixJQUFJLENBQUN2QixNQUFNLENBQUMsVUFBQU8sQ0FBQztVQUFBLE9BQUlBLENBQUMsQ0FBQ21ELEVBQUUsS0FBS00sT0FBTyxDQUFDQyxRQUFRLENBQUMsQ0FBQztRQUFBO01BQUM7SUFBQSxDQUN4RCxDQUFDO0VBQ0wsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLElBQU1DLFdBQVcsR0FBRzdFLFdBQVcsQ0FBQyxVQUFDOEUsWUFBbUIsRUFBSztJQUN2RHpDLFNBQVMsQ0FBQyxVQUFBNEIsSUFBSSxFQUFJO01BQ2hCLElBQU1jLFdBQVcsR0FBR2QsSUFBSSxDQUFDL0IsSUFBSSxDQUFDOEMsR0FBRyxDQUFDLFVBQUFaLGFBQWE7UUFBQSxPQUM3Q0EsYUFBYSxDQUFDQyxFQUFFLEtBQUtTLFlBQVksQ0FBQ1QsRUFBRSxHQUFHUyxZQUFZLEdBQUdWLGFBQWE7TUFBQSxDQUNyRSxDQUFDO01BQ0QsSUFBTUcsVUFBVSxHQUFHL0QsVUFBVSxDQUFDdUUsV0FBVyxDQUFDO01BQzFDLE9BQUFQLGFBQUEsQ0FBQUEsYUFBQSxLQUNLUCxJQUFJO1FBQ1AvQixJQUFJLEVBQUVxQztNQUFVO0lBRXBCLENBQUMsQ0FBQztFQUNKLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFNVSxtQkFBbUIsR0FBR2pGLFdBQVcsQ0FDckMsVUFBQzhFLFlBQW1CLEVBQWtDO0lBQUEsSUFBaENJLFVBQW1CLEdBQUFDLFNBQUEsQ0FBQTVELE1BQUEsUUFBQTRELFNBQUEsUUFBQUMsU0FBQSxHQUFBRCxTQUFBLE1BQUcsS0FBSztJQUMvQzlDLFNBQVMsQ0FBQyxVQUFBNEIsSUFBSSxFQUFJO01BQ2hCLElBQU1jLFdBQVcsR0FBR2QsSUFBSSxDQUFDL0IsSUFBSSxDQUFDOEMsR0FBRyxDQUFDLFVBQUFaLGFBQWEsRUFBSTtRQUNqRCxJQUFJQSxhQUFhLENBQUNDLEVBQUUsS0FBS1MsWUFBWSxDQUFDVCxFQUFFLEVBQUU7VUFDeEMsSUFBQWdCLEtBQUEsR0FBb0NQLFlBQVk7WUFBeENRLE9BQU8sR0FBQUQsS0FBQSxDQUFQQyxPQUFPO1lBQUtDLFdBQVcsR0FBQUMsd0JBQUEsQ0FBQUgsS0FBQSxFQUFBSSxTQUFBO1VBQy9CLElBQU1DLFdBQVcsR0FBQWxCLGFBQUEsQ0FBQUEsYUFBQSxLQUFRSixhQUFhLEdBQUttQixXQUFXLENBQUU7VUFDeEQsT0FBT0csV0FBVztRQUNwQjtRQUNBLE9BQU90QixhQUFhO01BQ3RCLENBQUMsQ0FBQzs7TUFFRjtNQUNBLElBQU11QixTQUFTLEdBQUdULFVBQVUsR0FBRzFFLFVBQVUsQ0FBQ3VFLFdBQVcsQ0FBQyxHQUFHQSxXQUFXO01BRXBFLE9BQUFQLGFBQUEsQ0FBQUEsYUFBQSxLQUNLUCxJQUFJO1FBQ1AvQixJQUFJLEVBQUV5RDtNQUFTO0lBRW5CLENBQUMsQ0FBQzs7SUFFRjtJQUNBLElBQUksQ0FBQTdELEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFdUMsRUFBRSxNQUFLUyxZQUFZLENBQUNULEVBQUUsRUFBRTtNQUNqQyxJQUFNRCxhQUFhLEdBQUczRCxNQUFNLENBQUN5QixJQUFJLENBQUMwRCxJQUFJLENBQUMsVUFBQTFFLENBQUM7UUFBQSxPQUFJQSxDQUFDLENBQUNtRCxFQUFFLEtBQUtTLFlBQVksQ0FBQ1QsRUFBRTtNQUFBLEVBQUM7TUFDckUsSUFBSUQsYUFBYSxFQUFFO1FBQ2pCLElBQUF5QixLQUFBLEdBQW9DZixZQUFZO1VBQXhDUSxPQUFPLEdBQUFPLEtBQUEsQ0FBUFAsT0FBTztVQUFLQyxXQUFXLEdBQUFDLHdCQUFBLENBQUFLLEtBQUEsRUFBQUMsVUFBQTtRQUMvQixJQUFNSixXQUFXLEdBQUFsQixhQUFBLENBQUFBLGFBQUEsS0FBUUosYUFBYSxHQUFLbUIsV0FBVyxDQUFFO1FBQ3hEM0QsV0FBVyxDQUFDOEQsV0FBVyxDQUFDO01BQzFCLENBQUMsTUFBTTtRQUNMLElBQUFLLEtBQUEsR0FBb0NqQixZQUFZO1VBQXhDUSxRQUFPLEdBQUFTLEtBQUEsQ0FBUFQsT0FBTztVQUFLQyxZQUFXLEdBQUFDLHdCQUFBLENBQUFPLEtBQUEsRUFBQUMsVUFBQTtRQUMvQnBFLFdBQVcsQ0FBQzJELFlBQW9CLENBQUM7TUFDbkM7SUFDRjtFQUNGLENBQUMsRUFDRCxDQUFDekQsS0FBSyxFQUFFRixXQUFXLEVBQUVuQixNQUFNLENBQUN5QixJQUFJLENBQ2xDLENBQUM7RUFFRCxJQUFNK0QsY0FBYyxHQUFHakcsV0FBVyxDQUFDLFlBQU07SUFDdkNxQyxTQUFTLENBQUMsVUFBQTRCLElBQUksRUFBSTtNQUNoQixJQUFNTSxVQUFVLEdBQUcvRCxVQUFVLENBQUN5RCxJQUFJLENBQUMvQixJQUFJLENBQUM7TUFDeEMsT0FBQXNDLGFBQUEsQ0FBQUEsYUFBQSxLQUNLUCxJQUFJO1FBQ1AvQixJQUFJLEVBQUVxQztNQUFVO0lBRXBCLENBQUMsQ0FBQztFQUNKLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFNMkIsZ0JBQWdCLEdBQUdsRyxXQUFXLENBQ2xDLFVBQUMyRSxPQUFnQixFQUFLO0lBQ3BCLElBQUlsRSxNQUFNLENBQUN5QixJQUFJLENBQUNYLE1BQU0sRUFBRTtNQUN0QixJQUFNNEUsVUFBVSxHQUFHMUYsTUFBTSxDQUFDeUIsSUFBSSxDQUFDa0UsU0FBUyxDQUFDLFVBQUFDLFNBQVM7UUFBQSxPQUFJQSxTQUFTLENBQUNoQyxFQUFFLEtBQUtNLE9BQU87TUFBQSxFQUFDO01BQy9FcEIsb0JBQW9CLENBQUMrQyxPQUFPLEdBQUc3RixNQUFNLENBQUN5QixJQUFJLENBQUNpRSxVQUFVLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7TUFDcEV2RSxXQUFXLENBQUNuQixNQUFNLENBQUN5QixJQUFJLENBQUNpRSxVQUFVLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwRDtFQUNGLENBQUMsRUFDRCxDQUFDMUYsTUFBTSxDQUFDeUIsSUFBSSxFQUFFTixXQUFXLENBQzNCLENBQUM7RUFFRCxJQUFNMkUsZUFBZSxHQUFHdkcsV0FBVztJQUFBLElBQUF3RyxLQUFBLEdBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FDakMsU0FBQUMsUUFBT0MsYUFBcUI7TUFBQSxJQUFBQyxpQkFBQTtNQUFBLElBQUFDLFVBQUEsRUFBQUMsYUFBQSxFQUFBQyxXQUFBLEVBQUFDLE9BQUEsRUFBQUMsVUFBQSxFQUFBekcsV0FBQSxFQUFBMEcsY0FBQSxFQUFBQyxVQUFBLEVBQUFDLFlBQUEsRUFBQUMsUUFBQSxFQUFBQyxtQkFBQSxFQUFBQyxrQkFBQSxFQUFBQyxtQkFBQSxFQUFBQyxVQUFBLEVBQUFDLFlBQUEsRUFBQUMsYUFBQSxFQUFBQyxnQkFBQSxFQUFBQyxjQUFBLEVBQUFDLFVBQUEsRUFBQUMscUJBQUEsRUFBQUMsb0JBQUEsRUFBQUMscUJBQUEsRUFBQUMsV0FBQSxFQUFBQyxXQUFBLEVBQUFDLFdBQUEsRUFBQUMsSUFBQSxFQUFBQyxRQUFBLEVBQUF0RyxJQUFBLEVBQUF1RyxxQkFBQSxFQUFBQyxxQkFBQSxFQUFBQyxzQkFBQSxFQUFBQyxZQUFBLEVBQUFDLFlBQUEsRUFBQUMsYUFBQSxFQUFBQyxxQkFBQSxFQUFBQyxzQkFBQSxFQUFBQyxlQUFBLEVBQUFDLGdCQUFBLEVBQUEvQyxVQUFBLEVBQUFnRCxzQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxtQkFBQSxFQUFBQyxFQUFBLEVBQUFDLEdBQUEsRUFBQUMsR0FBQSxFQUFBQyxHQUFBO01BQUEsT0FBQWhELG1CQUFBLENBQUFpRCxJQUFBLFdBQUFDLFFBQUE7UUFBQSxrQkFBQUEsUUFBQSxDQUFBM0YsSUFBQSxHQUFBMkYsUUFBQSxDQUFBQyxJQUFBO1VBQUE7WUFBQSxLQUN0QnJHLGVBQWUsQ0FBQzhDLE9BQU87Y0FBQXNELFFBQUEsQ0FBQUMsSUFBQTtjQUFBO1lBQUE7WUFBQSxPQUFBRCxRQUFBLENBQUFFLE1BQUE7VUFBQTtZQUlyQi9DLFVBQVUsR0FBRyxDQUFBRixhQUFhLGFBQWJBLGFBQWEsZ0JBQUFDLGlCQUFBLEdBQWJELGFBQWEsQ0FBRXhDLEVBQUUsY0FBQXlDLGlCQUFBLHVCQUFqQkEsaUJBQUEsQ0FBbUJsQyxRQUFRLENBQUMsQ0FBQyxLQUFJLFNBQVM7WUFBQSxNQUN6RG5CLGNBQWMsQ0FBQzZDLE9BQU8sS0FBS1MsVUFBVSxJQUFJLENBQUN2RSxPQUFPO2NBQUFvSCxRQUFBLENBQUFDLElBQUE7Y0FBQTtZQUFBO1lBQUEsT0FBQUQsUUFBQSxDQUFBRSxNQUFBO1VBQUE7WUFJckR0RyxlQUFlLENBQUM4QyxPQUFPLEdBQUcsSUFBSTtZQUM5QjdDLGNBQWMsQ0FBQzZDLE9BQU8sR0FBR1MsVUFBVTtZQUNuQ3RFLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDaEJRLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFFUitELGFBQWEsR0FBRyxDQUFDLENBQUMrQyxNQUFNLENBQUNDLDJCQUEyQixJQUFJLENBQUMsQ0FBQ0QsTUFBTSxDQUFDRSx3Q0FBd0M7WUFBQUwsUUFBQSxDQUFBM0YsSUFBQTtZQUd6R2dELFdBQW9CLEdBQUcsRUFBRTtZQUN6QkMsT0FBTyxHQUFHLEtBQUs7WUFDZkMsVUFBeUIsR0FBRyxJQUFJLEVBRXBDO1lBQUEsS0FDSUgsYUFBYTtjQUFBNEMsUUFBQSxDQUFBQyxJQUFBO2NBQUE7WUFBQTtZQUNmO1lBQ0luSixXQUFvQixHQUFHLEVBQUU7WUFBQSxJQUN4QmdELGlCQUFpQixDQUFDd0csUUFBUSxDQUFDbEksSUFBSSxDQUFDbUksT0FBTyxDQUFDO2NBQUFQLFFBQUEsQ0FBQUMsSUFBQTtjQUFBO1lBQUE7WUFBQUQsUUFBQSxDQUFBM0YsSUFBQTtZQUVuQ29ELFVBQVUsR0FDZHhGLE9BQU8sS0FBSyxRQUFRLEdBQ2hCLHVCQUF1QixHQUN2QkEsT0FBTyxLQUFLLFNBQVMsSUFBSUEsT0FBTyxLQUFLLFFBQVEsR0FDM0MsdUJBQXVCLEdBQ3ZCLEVBQUU7WUFBQStILFFBQUEsQ0FBQUMsSUFBQTtZQUFBLE9BQ2lCekosU0FBUyxDQUFDO2NBQ25DbUksSUFBSSxrQ0FBQS9HLE1BQUEsQ0FBa0NqQixVQUFVLENBQUMrQyxJQUFJLENBQUM4RyxRQUFRLENBQUMsRUFBQTVJLE1BQUEsQ0FBRzZGLFVBQVUsQ0FBRTtjQUM5RWdELE1BQU0sRUFBRTtZQUNWLENBQUMsQ0FBQztVQUFBO1lBSEkvQyxZQUFZLEdBQUFzQyxRQUFBLENBQUFVLElBQUE7WUFBQVYsUUFBQSxDQUFBQyxJQUFBO1lBQUEsT0FJS3ZDLFlBQVksQ0FBQ2lELElBQUksQ0FBQyxDQUFDO1VBQUE7WUFBcENoRCxRQUFRLEdBQUFxQyxRQUFBLENBQUFVLElBQUE7WUFDZDVKLFdBQVcsR0FBRyxFQUFBMEcsY0FBQSxHQUFBRyxRQUFRLENBQUNyRixJQUFJLGNBQUFrRixjQUFBLHVCQUFiQSxjQUFBLENBQWV6RyxNQUFNLENBQUMsVUFBQ0MsRUFBUztjQUFBLE9BQUtBLEVBQUUsQ0FBQ0MsSUFBSSxLQUFLLE9BQU87WUFBQSxFQUFDLEtBQUksRUFBRTtZQUFBK0ksUUFBQSxDQUFBQyxJQUFBO1lBQUE7VUFBQTtZQUFBRCxRQUFBLENBQUEzRixJQUFBO1lBQUFzRixFQUFBLEdBQUFLLFFBQUE7WUFFN0U7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNNakMsVUFBVSxHQUNkLENBQUE0QixFQUFBLGFBQUFBLEVBQUEsZ0JBQUEvQixtQkFBQSxHQUFBK0IsRUFBQSxDQUFXZixRQUFRLGNBQUFoQixtQkFBQSx1QkFBbkJBLG1CQUFBLENBQXFCZ0QsTUFBTSxNQUFLLEdBQUcsSUFDbkMsQ0FBQWpCLEVBQUEsYUFBQUEsRUFBQSx1QkFBQUEsRUFBQSxDQUFXaUIsTUFBTSxNQUFLLEdBQUcsS0FBQWpCLEVBQUEsYUFBQUEsRUFBQSxnQkFBQTlCLGtCQUFBLEdBQ3pCOEIsRUFBQSxDQUFXakUsT0FBTyxjQUFBbUMsa0JBQUEsdUJBQWxCQSxrQkFBQSxDQUFvQnlDLFFBQVEsQ0FBQywwQ0FBMEMsQ0FBQyxNQUFBWCxFQUFBLGFBQUFBLEVBQUEsZ0JBQUE3QixtQkFBQSxHQUN4RTZCLEVBQUEsQ0FBV2pFLE9BQU8sY0FBQW9DLG1CQUFBLHVCQUFsQkEsbUJBQUEsQ0FBb0J3QyxRQUFRLENBQUMsc0JBQXNCLENBQUMsR0FBQztZQUFBLEtBRW5EdkMsVUFBVTtjQUFBaUMsUUFBQSxDQUFBQyxJQUFBO2NBQUE7WUFBQTtZQUFBRCxRQUFBLENBQUFDLElBQUE7WUFBQTtVQUFBO1lBQUEsTUFBQU4sRUFBQTtVQUFBO1lBU2xCO1lBQ0kzQixZQUFxQixHQUFHLEVBQUU7WUFDMUJDLGFBQWEsR0FBRyxLQUFLO1lBQ3JCQyxnQkFBK0IsR0FBRyxJQUFJO1lBQUE4QixRQUFBLENBQUEzRixJQUFBO1lBQUEyRixRQUFBLENBQUFDLElBQUE7WUFBQSxPQUdYekosU0FBUyxDQUFDO2NBQ3JDbUksSUFBSSxFQUFFLDJDQUEyQztjQUNqRDhCLE1BQU0sRUFBRTtZQUNWLENBQUMsQ0FBQztVQUFBO1lBSEl0QyxjQUFjLEdBQUE2QixRQUFBLENBQUFVLElBQUE7WUFBQVYsUUFBQSxDQUFBQyxJQUFBO1lBQUEsT0FJSzlCLGNBQWMsQ0FBQ3dDLElBQUksQ0FBQyxDQUFDO1VBQUE7WUFBeEN2QyxVQUFVLEdBQUE0QixRQUFBLENBQUFVLElBQUE7WUFDaEIxQyxZQUFZLEdBQUdJLFVBQVUsQ0FBQzlGLElBQUksSUFBSSxFQUFFO1lBQ3BDMkYsYUFBYSxHQUFHRyxVQUFVLENBQUN5QyxRQUFRLElBQUksS0FBSztZQUM1QzNDLGdCQUFnQixHQUFHRSxVQUFVLENBQUMwQyxXQUFXLElBQUksSUFBSTtZQUFBZCxRQUFBLENBQUFDLElBQUE7WUFBQTtVQUFBO1lBQUFELFFBQUEsQ0FBQTNGLElBQUE7WUFBQXVGLEdBQUEsR0FBQUksUUFBQTtZQUVqRDtZQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ01qQyxXQUFVLEdBQ2QsQ0FBQTZCLEdBQUEsYUFBQUEsR0FBQSxnQkFBQXZCLHFCQUFBLEdBQUF1QixHQUFBLENBQWFoQixRQUFRLGNBQUFQLHFCQUFBLHVCQUFyQkEscUJBQUEsQ0FBdUJ1QyxNQUFNLE1BQUssR0FBRyxJQUNyQyxDQUFBaEIsR0FBQSxhQUFBQSxHQUFBLHVCQUFBQSxHQUFBLENBQWFnQixNQUFNLE1BQUssR0FBRyxLQUFBaEIsR0FBQSxhQUFBQSxHQUFBLGdCQUFBdEIsb0JBQUEsR0FDM0JzQixHQUFBLENBQWFsRSxPQUFPLGNBQUE0QyxvQkFBQSx1QkFBcEJBLG9CQUFBLENBQXNCZ0MsUUFBUSxDQUFDLDBDQUEwQyxDQUFDLE1BQUFWLEdBQUEsYUFBQUEsR0FBQSxnQkFBQXJCLHFCQUFBLEdBQzFFcUIsR0FBQSxDQUFhbEUsT0FBTyxjQUFBNkMscUJBQUEsdUJBQXBCQSxxQkFBQSxDQUFzQitCLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFDO1lBQUEsS0FFckR2QyxXQUFVO2NBQUFpQyxRQUFBLENBQUFDLElBQUE7Y0FBQTtZQUFBO1lBQUFELFFBQUEsQ0FBQUMsSUFBQTtZQUFBO1VBQUE7WUFBQSxNQUFBTCxHQUFBO1VBQUE7WUFXaEI7WUFDQTtZQUNBLElBQUk5RixpQkFBaUIsQ0FBQ3dHLFFBQVEsQ0FBQ2xJLElBQUksQ0FBQ21JLE9BQU8sQ0FBQyxFQUFFO2NBQzVDO2NBQ0E7Y0FDQWxELFdBQVcsR0FBR1csWUFBWTtZQUM1QixDQUFDLE1BQU07Y0FDTDtjQUNBO2NBQ0E7Y0FDQVgsV0FBVyxHQUFHdkcsV0FBVyxDQUFDYSxNQUFNLE1BQUFDLE1BQUEsQ0FBQUMsa0JBQUEsQ0FBT2YsV0FBVyxHQUFBZSxrQkFBQSxDQUFLbUcsWUFBWSxLQUFJQSxZQUFZO1lBQ3JGO1lBQ0E7WUFDQVgsV0FBVyxHQUFHekcsVUFBVSxDQUFDeUcsV0FBVyxDQUFDO1lBQ3JDQyxPQUFPLEdBQUdXLGFBQWE7WUFDdkJWLFVBQVUsR0FBR1csZ0JBQWdCO1lBRTdCekYsU0FBUyxDQUFDO2NBQ1JILElBQUksRUFBRStFLFdBQVc7Y0FDakJ3RCxRQUFRLEVBQUV2RCxPQUFPO2NBQ2pCd0QsV0FBVyxFQUFFdkQ7WUFDZixDQUFDLENBQUM7O1lBRUY7WUFDQSxJQUFJRixXQUFXLENBQUMxRixNQUFNLEtBQUssQ0FBQyxFQUFFO2NBQzVCMEIsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNoQjtZQUFDMkcsUUFBQSxDQUFBQyxJQUFBO1lBQUE7VUFBQTtZQUVEO1lBQ014QixXQUFXLEdBQUcsSUFBSXNDLGVBQWUsQ0FBQyxDQUFDO1lBQ3pDLElBQUk5SSxPQUFPLEtBQUssU0FBUyxJQUFJQSxPQUFPLEtBQUssUUFBUSxJQUFJQSxPQUFPLEtBQUssUUFBUSxFQUFFO2NBQ3pFd0csV0FBVyxDQUFDdUMsTUFBTSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUM7Y0FDekN2QyxXQUFXLENBQUN1QyxNQUFNLENBQUMsTUFBTSxFQUFFckssVUFBVSxDQUFDK0MsSUFBSSxDQUFDOEcsUUFBUSxDQUFDLENBQUM7Y0FDckQvQixXQUFXLENBQUN1QyxNQUFNLENBQUMsT0FBTyxFQUFFL0ksT0FBTyxLQUFLLFFBQVEsR0FBRyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztjQUN2RixJQUFJQSxPQUFPLEtBQUssUUFBUSxFQUFFO2dCQUN4QndHLFdBQVcsQ0FBQ3VDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDO2dCQUNoQ3ZDLFdBQVcsQ0FBQ3VDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDO2NBQ25DO1lBQ0Y7WUFFTXRDLFdBQVcsR0FBR0QsV0FBVyxDQUFDekQsUUFBUSxDQUFDLENBQUM7WUFDcEMyRCxJQUFJLFlBQUEvRyxNQUFBLENBQVk4RyxXQUFXLE9BQUE5RyxNQUFBLENBQU84RyxXQUFXLElBQUssRUFBRTtZQUFBc0IsUUFBQSxDQUFBM0YsSUFBQTtZQUFBMkYsUUFBQSxDQUFBQyxJQUFBO1lBQUEsT0FHakN6SixTQUFTLENBQUM7Y0FDL0JtSSxJQUFJLEVBQUpBLElBQUk7Y0FDSjhCLE1BQU0sRUFBRTtZQUNWLENBQUMsQ0FBQztVQUFBO1lBSEk3QixRQUFRLEdBQUFvQixRQUFBLENBQUFVLElBQUE7WUFBQVYsUUFBQSxDQUFBQyxJQUFBO1lBQUEsT0FLS3JCLFFBQVEsQ0FBQytCLElBQUksQ0FBQyxDQUFDO1VBQUE7WUFBNUJySSxJQUFJLEdBQUEwSCxRQUFBLENBQUFVLElBQUE7WUFDVjtZQUNBckQsV0FBVyxHQUFHL0UsSUFBSSxDQUFDQSxJQUFJLElBQUksRUFBRTtZQUM3QjtZQUNBK0UsV0FBVyxHQUFHekcsVUFBVSxDQUFDeUcsV0FBVyxDQUFDO1lBQ3JDQyxPQUFPLEdBQUdoRixJQUFJLENBQUN1SSxRQUFRO1lBQ3ZCdEQsVUFBVSxHQUFHakYsSUFBSSxDQUFDd0ksV0FBVztZQUU3QnJJLFNBQVMsQ0FBQW1DLGFBQUEsQ0FBQUEsYUFBQSxLQUNKdEMsSUFBSTtjQUNQQSxJQUFJLEVBQUUrRTtZQUFXLEVBQ2xCLENBQUM7WUFBQTJDLFFBQUEsQ0FBQUMsSUFBQTtZQUFBO1VBQUE7WUFBQUQsUUFBQSxDQUFBM0YsSUFBQTtZQUFBd0YsR0FBQSxHQUFBRyxRQUFBO1lBRUY7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNNakMsWUFBVSxHQUNkLENBQUE4QixHQUFBLGFBQUFBLEdBQUEsZ0JBQUFoQixxQkFBQSxHQUFBZ0IsR0FBQSxDQUFlakIsUUFBUSxjQUFBQyxxQkFBQSx1QkFBdkJBLHFCQUFBLENBQXlCK0IsTUFBTSxNQUFLLEdBQUcsSUFDdkMsQ0FBQWYsR0FBQSxhQUFBQSxHQUFBLHVCQUFBQSxHQUFBLENBQWVlLE1BQU0sTUFBSyxHQUFHLEtBQUFmLEdBQUEsYUFBQUEsR0FBQSxnQkFBQWYscUJBQUEsR0FDN0JlLEdBQUEsQ0FBZW5FLE9BQU8sY0FBQW9ELHFCQUFBLHVCQUF0QkEscUJBQUEsQ0FBd0J3QixRQUFRLENBQUMsMENBQTBDLENBQUMsTUFBQVQsR0FBQSxhQUFBQSxHQUFBLGdCQUFBZCxzQkFBQSxHQUM1RWMsR0FBQSxDQUFlbkUsT0FBTyxjQUFBcUQsc0JBQUEsdUJBQXRCQSxzQkFBQSxDQUF3QnVCLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFDO1lBQUEsS0FFdkR2QyxZQUFVO2NBQUFpQyxRQUFBLENBQUFDLElBQUE7Y0FBQTtZQUFBO1lBQ1o7WUFDQXhILFNBQVMsQ0FBQztjQUNSSCxJQUFJLEVBQUUsRUFBRTtjQUNSdUksUUFBUSxFQUFFLEtBQUs7Y0FDZkMsV0FBVyxFQUFFO1lBQ2YsQ0FBQyxDQUFDO1lBQ0Z6SCxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQUEyRyxRQUFBLENBQUFDLElBQUE7WUFBQTtVQUFBO1lBQUEsTUFBQUosR0FBQTtVQUFBO1lBUXBCO1lBQ0EsSUFBSXhDLFdBQVcsQ0FBQzFGLE1BQU0sR0FBRyxDQUFDLEVBQUU7Y0FDMUIsSUFBSXNGLGFBQWEsSUFBSUksV0FBVyxDQUFDckIsSUFBSSxDQUFDLFVBQUNpRixjQUFxQjtnQkFBQSxPQUFLQSxjQUFjLENBQUN4RyxFQUFFLEtBQUt3QyxhQUFhLENBQUN4QyxFQUFFO2NBQUEsRUFBQyxFQUFFO2dCQUN4RyxJQUFJLEVBQUEwRSxxQkFBQSxHQUFBeEYsb0JBQW9CLENBQUMrQyxPQUFPLGNBQUF5QyxxQkFBQSx1QkFBNUJBLHFCQUFBLENBQThCMUUsRUFBRSxNQUFLd0MsYUFBYSxDQUFDeEMsRUFBRSxFQUFFO2tCQUN6RGQsb0JBQW9CLENBQUMrQyxPQUFPLEdBQUdPLGFBQWE7a0JBQzVDakYsV0FBVyxDQUFDaUYsYUFBYSxDQUFDO2dCQUM1QjtjQUNGLENBQUMsTUFBTSxJQUNMLENBQUFnQyxZQUFBLEdBQUE1QixXQUFXLGNBQUE0QixZQUFBLGVBQVhBLFlBQUEsQ0FBYyxDQUFDLENBQUMsS0FDZixDQUFDL0csS0FBSyxJQUFJLENBQUNtRixXQUFXLENBQUNyQixJQUFJLENBQUMsVUFBQzFFLENBQVE7Z0JBQUEsT0FBS0EsQ0FBQyxDQUFDbUQsRUFBRSxLQUFLdkMsS0FBSyxDQUFDdUMsRUFBRTtjQUFBLEVBQUMsQ0FBQyxJQUM5RHhDLE9BQU8sS0FBSyxNQUFNLEVBQ2xCO2dCQUNBO2dCQUNBO2dCQUNNb0gsZUFBZSxHQUNuQmMsTUFBTSxDQUFDQywyQkFBMkIsSUFBSSxDQUFDdEcsaUJBQWlCLENBQUN3RyxRQUFRLENBQUNsSSxJQUFJLENBQUNtSSxPQUFPLENBQUMsR0FDM0VsRCxXQUFXLEdBQ1hBLFdBQVcsQ0FBQ3RHLE1BQU0sQ0FBQyxVQUFDbUssU0FBZ0I7a0JBQUEsT0FBS0EsU0FBUyxDQUFDakssSUFBSSxLQUFLLE9BQU87Z0JBQUEsRUFBQztnQkFBQXFJLGdCQUFBLEdBQUE5RyxjQUFBLENBRXJENkcsZUFBZSxNQUE3QjlDLFVBQVUsR0FBQStDLGdCQUFBO2dCQUNqQixJQUFJL0MsVUFBVSxJQUFJLEVBQUE2QyxzQkFBQSxHQUFBekYsb0JBQW9CLENBQUMrQyxPQUFPLGNBQUEwQyxzQkFBQSx1QkFBNUJBLHNCQUFBLENBQThCM0UsRUFBRSxNQUFLOEIsVUFBVSxDQUFDOUIsRUFBRSxFQUFFO2tCQUNwRWQsb0JBQW9CLENBQUMrQyxPQUFPLEdBQUdILFVBQVU7a0JBQ3pDdkUsV0FBVyxDQUFDdUUsVUFBVSxDQUFDO2dCQUN6QjtjQUNGLENBQUMsTUFBTSxJQUFJVSxhQUFhLEtBQUFpQyxhQUFBLEdBQUk3QixXQUFXLGNBQUE2QixhQUFBLGVBQVhBLGFBQUEsQ0FBYXZILE1BQU0sRUFBRTtnQkFDekMwSCxpQkFBZSxHQUNuQmMsTUFBTSxDQUFDQywyQkFBMkIsSUFBSSxDQUFDdEcsaUJBQWlCLENBQUN3RyxRQUFRLENBQUNsSSxJQUFJLENBQUNtSSxPQUFPLENBQUMsR0FDM0VsRCxXQUFXLEdBQ1hBLFdBQVcsQ0FBQ3RHLE1BQU0sQ0FBQyxVQUFDbUssU0FBZ0I7a0JBQUEsT0FBS0EsU0FBUyxDQUFDakssSUFBSSxLQUFLLE9BQU87Z0JBQUEsRUFBQztnQkFBQXdJLGlCQUFBLEdBQUFqSCxjQUFBLENBRTVDNkcsaUJBQWUsTUFBdENLLG1CQUFtQixHQUFBRCxpQkFBQTtnQkFDMUIsSUFBSUMsbUJBQW1CLElBQUksRUFBQUgsc0JBQUEsR0FBQTVGLG9CQUFvQixDQUFDK0MsT0FBTyxjQUFBNkMsc0JBQUEsdUJBQTVCQSxzQkFBQSxDQUE4QjlFLEVBQUUsTUFBS2lGLG1CQUFtQixDQUFDakYsRUFBRSxFQUFFO2tCQUN0RmQsb0JBQW9CLENBQUMrQyxPQUFPLEdBQUdnRCxtQkFBbUI7a0JBQ2xEMUgsV0FBVyxDQUFDMEgsbUJBQW1CLENBQUM7Z0JBQ2xDO2NBQ0Y7WUFDRjtZQUVBN0csVUFBVSxDQUFDLEtBQUssQ0FBQztZQUFBbUgsUUFBQSxDQUFBQyxJQUFBO1lBQUE7VUFBQTtZQUFBRCxRQUFBLENBQUEzRixJQUFBO1lBQUF5RixHQUFBLEdBQUFFLFFBQUE7WUFFakIzRyxRQUFRLENBQUN5RyxHQUFBLFlBQWVxQixLQUFLLEdBQUdyQixHQUFBLENBQUlwRSxPQUFPLEdBQUcsMkJBQTJCLENBQUM7WUFDMUU3QyxVQUFVLENBQUMsS0FBSyxDQUFDO1VBQUE7WUFBQW1ILFFBQUEsQ0FBQTNGLElBQUE7WUFFakJULGVBQWUsQ0FBQzhDLE9BQU8sR0FBRyxLQUFLO1lBQy9CMEUsVUFBVSxDQUFDLFlBQU07Y0FDZixJQUFJLENBQUN4SCxlQUFlLENBQUM4QyxPQUFPLEVBQUU7Z0JBQzVCN0MsY0FBYyxDQUFDNkMsT0FBTyxHQUFHLElBQUk7Y0FDL0I7WUFDRixDQUFDLEVBQUUsR0FBRyxDQUFDO1lBQUEsT0FBQXNELFFBQUEsQ0FBQXFCLE1BQUE7VUFBQTtVQUFBO1lBQUEsT0FBQXJCLFFBQUEsQ0FBQXNCLElBQUE7UUFBQTtNQUFBLEdBQUF0RSxPQUFBO0lBQUEsQ0FFVjtJQUFBLGlCQUFBdUUsRUFBQTtNQUFBLE9BQUEzRSxLQUFBLENBQUE0RSxLQUFBLE9BQUFqRyxTQUFBO0lBQUE7RUFBQSxLQUNELENBQUN2RCxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsS0FBSyxFQUFFVSxPQUFPLENBQ3ZDLENBQUM7RUFFRCxJQUFNNkksY0FBYyxHQUFHckwsV0FBVyxjQUFBeUcsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFDLFNBQUEyRSxTQUFBO0lBQUEsSUFBQXRFLGFBQUEsRUFBQXVFLFdBQUEsRUFBQWhELElBQUEsRUFBQUYsV0FBQSxFQUFBRyxRQUFBLEVBQUF0RyxJQUFBLEVBQUFzSixHQUFBO0lBQUEsT0FBQTlFLG1CQUFBLENBQUFpRCxJQUFBLFdBQUE4QixTQUFBO01BQUEsa0JBQUFBLFNBQUEsQ0FBQXhILElBQUEsR0FBQXdILFNBQUEsQ0FBQTVCLElBQUE7UUFBQTtVQUMzQjdDLGFBQWEsR0FBRyxDQUFDLENBQUMrQyxNQUFNLENBQUNDLDJCQUEyQixJQUFJLENBQUMsQ0FBQ0QsTUFBTSxDQUFDRSx3Q0FBd0MsRUFDL0c7VUFDTXNCLFdBQVcsR0FBRzFKLE9BQU8sS0FBSyxRQUFRLElBQUltRixhQUFhO1VBQUEsTUFDckQsQ0FBQ3VFLFdBQVcsSUFBSSxDQUFDOUssTUFBTSxDQUFDZ0ssUUFBUSxJQUFJLENBQUNoSyxNQUFNLENBQUNpSyxXQUFXLElBQUk5SCxXQUFXO1lBQUE2SSxTQUFBLENBQUE1QixJQUFBO1lBQUE7VUFBQTtVQUFBLE9BQUE0QixTQUFBLENBQUEzQixNQUFBO1FBQUE7VUFJMUVqSCxjQUFjLENBQUMsSUFBSSxDQUFDO1VBQ3BCSSxRQUFRLENBQUMsSUFBSSxDQUFDO1VBQUF3SSxTQUFBLENBQUF4SCxJQUFBO1VBS1o7VUFDQSxJQUFJK0MsYUFBYSxFQUFFO1lBQ2pCO1lBQ0F1QixJQUFJLDhDQUFBL0csTUFBQSxDQUE4Q2YsTUFBTSxDQUFDaUssV0FBVyxDQUFFO1VBQ3hFLENBQUMsTUFBTTtZQUNMO1lBQ01yQyxXQUFXLEdBQUcsSUFBSXNDLGVBQWUsQ0FBQyxDQUFDO1lBQ3pDdEMsV0FBVyxDQUFDdUMsTUFBTSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUM7WUFDekN2QyxXQUFXLENBQUN1QyxNQUFNLENBQUMsTUFBTSxFQUFFckssVUFBVSxDQUFDK0MsSUFBSSxDQUFDOEcsUUFBUSxDQUFDLENBQUM7WUFDckQvQixXQUFXLENBQUN1QyxNQUFNLENBQUMsT0FBTyxFQUFFLGdCQUFnQixDQUFDO1lBQzdDdkMsV0FBVyxDQUFDdUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7WUFDaEN2QyxXQUFXLENBQUN1QyxNQUFNLENBQUMsUUFBUSxFQUFFbkssTUFBTSxDQUFDaUssV0FBVyxDQUFDOUYsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUMzRDJELElBQUksYUFBQS9HLE1BQUEsQ0FBYTZHLFdBQVcsQ0FBQ3pELFFBQVEsQ0FBQyxDQUFDLENBQUU7VUFDM0M7VUFBQzZHLFNBQUEsQ0FBQTVCLElBQUE7VUFBQSxPQUVzQnpKLFNBQVMsQ0FBQztZQUMvQm1JLElBQUksRUFBSkEsSUFBSTtZQUNKOEIsTUFBTSxFQUFFO1VBQ1YsQ0FBQyxDQUFDO1FBQUE7VUFISTdCLFFBQVEsR0FBQWlELFNBQUEsQ0FBQW5CLElBQUE7VUFBQW1CLFNBQUEsQ0FBQTVCLElBQUE7VUFBQSxPQUtLckIsUUFBUSxDQUFDK0IsSUFBSSxDQUFDLENBQUM7UUFBQTtVQUE1QnJJLElBQUksR0FBQXVKLFNBQUEsQ0FBQW5CLElBQUE7VUFFVjtVQUNBakksU0FBUyxDQUFDLFVBQUE0QixJQUFJLEVBQUk7WUFDaEIsSUFBSStDLGFBQWEsRUFBRTtjQUNqQjtjQUNBO2NBQ0EsSUFBTTBFLG1CQUFtQixHQUFHekgsSUFBSSxDQUFDL0IsSUFBSSxDQUFDdkIsTUFBTSxDQUFDLFVBQUNDLEVBQVM7Z0JBQUEsT0FBS0EsRUFBRSxDQUFDQyxJQUFJLEtBQUssT0FBTztjQUFBLEVBQUM7O2NBRWhGO2NBQ0EsSUFBTThLLFlBQVcsR0FBRyxJQUFJQyxHQUFHLENBQUMzSCxJQUFJLENBQUMvQixJQUFJLENBQUN2QixNQUFNLENBQUMsVUFBQ0MsRUFBUztnQkFBQSxPQUFLQSxFQUFFLENBQUNDLElBQUksS0FBSyxPQUFPO2NBQUEsRUFBQyxDQUFDbUUsR0FBRyxDQUFDLFVBQUNwRSxFQUFTO2dCQUFBLE9BQUtBLEVBQUUsQ0FBQ3lELEVBQUU7Y0FBQSxFQUFDLENBQUM7O2NBRTNHO2NBQ0EsSUFBTXdILFVBQVMsR0FBRzNKLElBQUksQ0FBQ0EsSUFBSSxDQUFDdkIsTUFBTSxDQUFDLFVBQUNDLEVBQVM7Z0JBQUEsT0FBS0EsRUFBRSxDQUFDQyxJQUFJLEtBQUssT0FBTyxJQUFJLENBQUM4SyxZQUFXLENBQUNHLEdBQUcsQ0FBQ2xMLEVBQUUsQ0FBQ3lELEVBQUUsQ0FBQztjQUFBLEVBQUM7O2NBRWpHO2NBQ0EsSUFBTUMsUUFBTyxHQUFHb0gsbUJBQW1CLENBQUNuSyxNQUFNLE1BQUFDLE1BQUEsQ0FBQUMsa0JBQUEsQ0FDbENpSyxtQkFBbUIsR0FBQWpLLGtCQUFBLENBQUt3QyxJQUFJLENBQUMvQixJQUFJLENBQUN2QixNQUFNLENBQUMsVUFBQ0MsRUFBUztnQkFBQSxPQUFLQSxFQUFFLENBQUNDLElBQUksS0FBSyxPQUFPO2NBQUEsRUFBQyxHQUFBWSxrQkFBQSxDQUFLb0ssVUFBUyxRQUFBckssTUFBQSxDQUFBQyxrQkFBQSxDQUMxRndDLElBQUksQ0FBQy9CLElBQUksQ0FBQ3ZCLE1BQU0sQ0FBQyxVQUFDQyxFQUFTO2dCQUFBLE9BQUtBLEVBQUUsQ0FBQ0MsSUFBSSxLQUFLLE9BQU87Y0FBQSxFQUFDLEdBQUFZLGtCQUFBLENBQUtvSyxVQUFTLEVBQUM7O2NBRTNFO2NBQ0EsSUFBTXRILFdBQVUsR0FBRy9ELFVBQVUsQ0FBQzhELFFBQU8sQ0FBQztjQUV0QyxPQUFPO2dCQUNMcEMsSUFBSSxFQUFFcUMsV0FBVTtnQkFDaEJrRyxRQUFRLEVBQUV2SSxJQUFJLENBQUN1SSxRQUFRO2dCQUN2QkMsV0FBVyxFQUFFeEksSUFBSSxDQUFDd0k7Y0FDcEIsQ0FBQztZQUNIO1lBQ0E7WUFDQSxJQUFNaUIsV0FBVyxHQUFHLElBQUlDLEdBQUcsQ0FBQzNILElBQUksQ0FBQy9CLElBQUksQ0FBQzhDLEdBQUcsQ0FBQyxVQUFDcEUsRUFBUztjQUFBLE9BQUtBLEVBQUUsQ0FBQ3lELEVBQUU7WUFBQSxFQUFDLENBQUM7WUFDaEUsSUFBTXdILFNBQVMsR0FBRyxDQUFDM0osSUFBSSxDQUFDQSxJQUFJLElBQUksRUFBRSxFQUFFdkIsTUFBTSxDQUFDLFVBQUNDLEVBQVM7Y0FBQSxPQUFLLENBQUMrSyxXQUFXLENBQUNHLEdBQUcsQ0FBQ2xMLEVBQUUsQ0FBQ3lELEVBQUUsQ0FBQztZQUFBLEVBQUM7WUFDbEYsSUFBTUMsT0FBTyxNQUFBOUMsTUFBQSxDQUFBQyxrQkFBQSxDQUFPd0MsSUFBSSxDQUFDL0IsSUFBSSxHQUFBVCxrQkFBQSxDQUFLb0ssU0FBUyxFQUFDOztZQUU1QztZQUNBLElBQU10SCxVQUFVLEdBQUcvRCxVQUFVLENBQUM4RCxPQUFPLENBQUM7WUFFdEMsT0FBTztjQUNMcEMsSUFBSSxFQUFFcUMsVUFBVTtjQUNoQmtHLFFBQVEsRUFBRXZJLElBQUksQ0FBQ3VJLFFBQVE7Y0FDdkJDLFdBQVcsRUFBRXhJLElBQUksQ0FBQ3dJO1lBQ3BCLENBQUM7VUFDSCxDQUFDLENBQUM7VUFFRjdILGNBQWMsQ0FBQyxLQUFLLENBQUM7VUFBQTRJLFNBQUEsQ0FBQTVCLElBQUE7VUFBQTtRQUFBO1VBQUE0QixTQUFBLENBQUF4SCxJQUFBO1VBQUF1SCxHQUFBLEdBQUFDLFNBQUE7VUFFckJ0SSxtQkFBbUIsQ0FBQ0UsQ0FBQyxDQUFDLCtCQUErQixDQUFDLENBQUM7VUFDdkRSLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFBQTtRQUFBO1VBQUEsT0FBQTRJLFNBQUEsQ0FBQVAsSUFBQTtNQUFBO0lBQUEsR0FBQUksUUFBQTtFQUFBLENBRXhCLElBQUUsQ0FBQ3pKLE9BQU8sRUFBRXBCLE1BQU0sQ0FBQ2dLLFFBQVEsRUFBRWhLLE1BQU0sQ0FBQ2lLLFdBQVcsRUFBRTlILFdBQVcsRUFBRVUsSUFBSSxDQUFDOEcsUUFBUSxDQUFDLENBQUM7RUFFOUUsT0FBTztJQUNMM0osTUFBTSxFQUFOQSxNQUFNO0lBQ04rQixPQUFPLEVBQVBBLE9BQU87SUFDUEksV0FBVyxFQUFYQSxXQUFXO0lBQ1hJLEtBQUssRUFBTEEsS0FBSztJQUNMdUQsZUFBZSxFQUFmQSxlQUFlO0lBQ2Y4RSxjQUFjLEVBQWRBLGNBQWM7SUFDZHZILFFBQVEsRUFBUkEsUUFBUTtJQUNSWSxXQUFXLEVBQVhBLFdBQVc7SUFDWEcsV0FBVyxFQUFYQSxXQUFXO0lBQ1hJLG1CQUFtQixFQUFuQkEsbUJBQW1CO0lBQ25CaUIsZ0JBQWdCLEVBQWhCQSxnQkFBZ0I7SUFDaEJELGNBQWMsRUFBZEE7RUFDRixDQUFDO0FBQ0gsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -69,4 +69,4 @@ export var getChatsByUserId = /*#__PURE__*/function () {
|
|
|
69
69
|
return _ref.apply(this, arguments);
|
|
70
70
|
};
|
|
71
71
|
}();
|
|
72
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJtYXBSZXNwb25zZSIsIml0ZW1zIiwibWFwIiwiaXRlbSIsIl9pdGVtJHByb2plY3RfbWV0YWRhdCIsIl9pdGVtJHByb2plY3RfbWV0YWRhdDIiLCJfaXRlbSRjbGllbnRfbWV0YWRhdGEiLCJfaXRlbSRjbGllbnRfbWV0YWRhdGEyIiwiaWQiLCJzZXNzaW9uX2V4dGVybmFsX2lkIiwidGl0bGUiLCJsYXN0X3F1ZXN0aW9uIiwiZGF0ZSIsIkRhdGUiLCJsYXN0X3F1ZXN0aW9uX2RhdGUiLCJhZ2VudCIsImFnZW50X25hbWUiLCJhZ2VudElkIiwiYWdlbnRfaWQiLCJhZ2VudFR5cGUiLCJhZ2VudF90eXBlIiwiZW1vamkiLCJzZXNzaW9uRXh0ZXJuYWxJZCIsImF0dGFjaG1lbnRzIiwicHJvamVjdElkIiwicHJvamVjdF9tZXRhZGF0YSIsInByb2plY3ROYW1lIiwibmFtZSIsImNsaWVudElkIiwiY2xpZW50X21ldGFkYXRhIiwiY2xpZW50TmFtZSIsImdldEFnZW50VHlwZVBhcmFtIiwiaGFzRmVhdHVyZUFjY2Vzc0Nsb25lIiwid2luZG93IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTIiwiaGFzTXVsdGlBZ2VudHNDdXN0b20iLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiZ2V0Q2hhdHNCeVVzZXJJZCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInBhcmFtcyIsIl9wYXJhbXMkYWdlbnQiLCJhZ2VudFR5cGVQYXJhbSIsImxhbmdQYXJhbSIsInJlc3BvbnNlIiwiZGF0YSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwibGFuZyIsImNvbmNhdCIsInBhdGgiLCJsaW1pdCIsIm9mZnNldCIsIm1ldGhvZCIsImhlYWRlcnMiLCJ0b1N0cmluZyIsInNlbnQiLCJqc29uIiwiYWJydXB0IiwiaGFzTW9yZSIsImhhc19tb3JlIiwibmV4dEl0ZW0iLCJuZXh0X29mZnNldCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvQ2hhdHMvZ2V0Q2hhdHNCeVVzZXJJZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1uZXN0ZWQtdGVybmFyeSAqL1xuaW1wb3J0IHsgQ2hhdCwgQ2hhdEl0ZW1SZXNwb25zZSwgQ2hhdHNSZXNwb25zZVNjaGVtYSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL0NoYXQnXG5pbXBvcnQgeyBmZXRjaE1haWEgfSBmcm9tICcuLi9jbGllbnQnXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuXG50eXBlIEdldENoYXRzQnlVc2VySWRQYXJhbXMgPSB7XG4gIHVzZXJJZD86IHN0cmluZ1xuICBsYXN0RXZhbHVhdGVkS2V5Pzogc3RyaW5nXG4gIGV4Y2x1ZGVTdGF0dXNlcz86IHN0cmluZ1tdXG4gIGxpbWl0PzogbnVtYmVyXG4gIGFnZW50PzogQWdlbnQgfCBudWxsXG4gIG9mZnNldD86IG51bWJlclxuICBzZWN0aW9uPzogJ3Byb2plY3QnIHwgJ2hlYWRlcicgfCAnY2xpZW50JyB8ICd0YXNrJ1xuICBsYW5nPzogc3RyaW5nXG59XG5cbmNvbnN0IG1hcFJlc3BvbnNlID0gKGl0ZW1zOiBDaGF0SXRlbVJlc3BvbnNlW10pOiBDaGF0W10gPT4ge1xuICByZXR1cm4gaXRlbXMubWFwKGl0ZW0gPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogaXRlbS5zZXNzaW9uX2V4dGVybmFsX2lkLFxuICAgICAgdGl0bGU6IGl0ZW0udGl0bGUgfHwgaXRlbS5sYXN0X3F1ZXN0aW9uLFxuICAgICAgZGF0ZTogbmV3IERhdGUoaXRlbS5sYXN0X3F1ZXN0aW9uX2RhdGUpLFxuICAgICAgYWdlbnQ6IGl0ZW0uYWdlbnRfbmFtZSxcbiAgICAgIGFnZW50SWQ6IGl0ZW0uYWdlbnRfaWQsXG4gICAgICBhZ2VudFR5cGU6IGl0ZW0uYWdlbnRfdHlwZSxcbiAgICAgIGVtb2ppOiBpdGVtLmVtb2ppLFxuICAgICAgc2Vzc2lvbkV4dGVybmFsSWQ6IGl0ZW0uc2Vzc2lvbl9leHRlcm5hbF9pZCxcbiAgICAgIGF0dGFjaG1lbnRzOiBpdGVtLmF0dGFjaG1lbnRzIHx8IFtdLFxuICAgICAgcHJvamVjdElkOiBpdGVtLnByb2plY3RfbWV0YWRhdGE/LmlkLFxuICAgICAgcHJvamVjdE5hbWU6IGl0ZW0ucHJvamVjdF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgIGNsaWVudElkOiBpdGVtLmNsaWVudF9tZXRhZGF0YT8uaWQsXG4gICAgICBjbGllbnROYW1lOiBpdGVtLmNsaWVudF9tZXRhZGF0YT8ubmFtZSxcbiAgICB9XG4gIH0pXG59XG5cbmNvbnN0IGdldEFnZW50VHlwZVBhcmFtID0gKCk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGhhc0ZlYXR1cmVBY2Nlc3NDbG9uZSA9ICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU1xuICBjb25zdCBoYXNNdWx0aUFnZW50c0N1c3RvbSA9ICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcbiAgaWYgKGhhc0ZlYXR1cmVBY2Nlc3NDbG9uZSAmJiBoYXNNdWx0aUFnZW50c0N1c3RvbSkgcmV0dXJuICcnXG4gIGlmIChoYXNGZWF0dXJlQWNjZXNzQ2xvbmUpIHJldHVybiAnJmFnZW50X3R5cGU9Y2xvbmUnXG4gIGlmIChoYXNNdWx0aUFnZW50c0N1c3RvbSkgcmV0dXJuICcmYWdlbnRfdHlwZT1jdXN0b20nXG4gIHJldHVybiAnJ1xufVxuXG5leHBvcnQgY29uc3QgZ2V0Q2hhdHNCeVVzZXJJZCA9IGFzeW5jIChcbiAgcGFyYW1zPzogR2V0Q2hhdHNCeVVzZXJJZFBhcmFtc1xuKTogUHJvbWlzZTx7IGl0ZW1zOiBDaGF0W107IG5leHRJdGVtOiBzdHJpbmcgfCBudWxsOyBoYXNNb3JlOiBib29sZWFuIH0+ID0+IHtcbiAgY29uc3QgYWdlbnRUeXBlUGFyYW0gPSBnZXRBZ2VudFR5cGVQYXJhbSgpXG4gIGNvbnN0IGxhbmdQYXJhbSA9IHBhcmFtcz8ubGFuZyA/IGAmbGFuZz0ke3BhcmFtcy5sYW5nfWAgOiAnJ1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgcGF0aDogYHNlc3Npb25zP2xpbWl0PSR7cGFyYW1zPy5saW1pdH0ke3BhcmFtcz8ub2Zmc2V0ID8gYCZvZmZzZXQ9JHtwYXJhbXM/Lm9mZnNldH1gIDogJyd9JHthZ2VudFR5cGVQYXJhbX0ke2xhbmdQYXJhbX1gLFxuICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ1gtQWdlbnQtSWQnOiBwYXJhbXM/LmFnZW50Py5pZC50b1N0cmluZygpIHx8ICcxJyxcbiAgICB9LFxuICB9KVxuXG4gIGNvbnN0IGRhdGEgPSAoYXdhaXQgcmVzcG9uc2UuanNvbigpKSBhcyBDaGF0c1Jlc3BvbnNlU2NoZW1hXG5cbiAgcmV0dXJuIHtcbiAgICBoYXNNb3JlOiBkYXRhLmhhc19tb3JlLFxuICAgIG5leHRJdGVtOiBkYXRhLm5leHRfb2Zmc2V0LFxuICAgIGl0ZW1zOiBtYXBSZXNwb25zZShkYXRhLmRhdGEpLFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUE7O0FBRUEsU0FBU0EsU0FBUyxRQUFRLFdBQVc7QUFjckMsSUFBTUMsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlDLEtBQXlCLEVBQWE7RUFDekQsT0FBT0EsS0FBSyxDQUFDQyxHQUFHLENBQUMsVUFBQUMsSUFBSSxFQUFJO0lBQUEsSUFBQUMscUJBQUEsRUFBQUMsc0JBQUEsRUFBQUMscUJBQUEsRUFBQUMsc0JBQUE7SUFDdkIsT0FBTztNQUNMQyxFQUFFLEVBQUVMLElBQUksQ0FBQ00sbUJBQW1CO01BQzVCQyxLQUFLLEVBQUVQLElBQUksQ0FBQ08sS0FBSyxJQUFJUCxJQUFJLENBQUNRLGFBQWE7TUFDdkNDLElBQUksRUFBRSxJQUFJQyxJQUFJLENBQUNWLElBQUksQ0FBQ1csa0JBQWtCLENBQUM7TUFDdkNDLEtBQUssRUFBRVosSUFBSSxDQUFDYSxVQUFVO01BQ3RCQyxPQUFPLEVBQUVkLElBQUksQ0FBQ2UsUUFBUTtNQUN0QkMsU0FBUyxFQUFFaEIsSUFBSSxDQUFDaUIsVUFBVTtNQUMxQkMsS0FBSyxFQUFFbEIsSUFBSSxDQUFDa0IsS0FBSztNQUNqQkMsaUJBQWlCLEVBQUVuQixJQUFJLENBQUNNLG1CQUFtQjtNQUMzQ2MsV0FBVyxFQUFFcEIsSUFBSSxDQUFDb0IsV0FBVyxJQUFJLEVBQUU7TUFDbkNDLFNBQVMsR0FBQXBCLHFCQUFBLEdBQUVELElBQUksQ0FBQ3NCLGdCQUFnQixjQUFBckIscUJBQUEsdUJBQXJCQSxxQkFBQSxDQUF1QkksRUFBRTtNQUNwQ2tCLFdBQVcsR0FBQXJCLHNCQUFBLEdBQUVGLElBQUksQ0FBQ3NCLGdCQUFnQixjQUFBcEIsc0JBQUEsdUJBQXJCQSxzQkFBQSxDQUF1QnNCLElBQUk7TUFDeENDLFFBQVEsR0FBQXRCLHFCQUFBLEdBQUVILElBQUksQ0FBQzBCLGVBQWUsY0FBQXZCLHFCQUFBLHVCQUFwQkEscUJBQUEsQ0FBc0JFLEVBQUU7TUFDbENzQixVQUFVLEdBQUF2QixzQkFBQSxHQUFFSixJQUFJLENBQUMwQixlQUFlLGNBQUF0QixzQkFBQSx1QkFBcEJBLHNCQUFBLENBQXNCb0I7SUFDcEMsQ0FBQztFQUNILENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxJQUFNSSxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFBLEVBQWlCO0VBQ3RDLElBQU1DLHFCQUFxQixHQUFHLENBQUMsQ0FBQ0MsTUFBTSxDQUFDQywyQkFBMkI7RUFDbEUsSUFBTUMsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDRixNQUFNLENBQUNHLHdDQUF3QztFQUM5RSxJQUFJSixxQkFBcUIsSUFBSUcsb0JBQW9CLEVBQUUsT0FBTyxFQUFFO0VBQzVELElBQUlILHFCQUFxQixFQUFFLE9BQU8sbUJBQW1CO0VBQ3JELElBQUlHLG9CQUFvQixFQUFFLE9BQU8sb0JBQW9CO0VBQ3JELE9BQU8sRUFBRTtBQUNYLENBQUM7QUFFRCxPQUFPLElBQU1FLGdCQUFnQjtFQUFBLElBQUFDLElBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFHLFNBQUFDLFFBQzlCQyxNQUErQjtJQUFBLElBQUFDLGFBQUE7SUFBQSxJQUFBQyxjQUFBLEVBQUFDLFNBQUEsRUFBQUMsUUFBQSxFQUFBQyxJQUFBO0lBQUEsT0FBQVIsbUJBQUEsQ0FBQVMsSUFBQSxXQUFBQyxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7UUFBQTtVQUV6QlAsY0FBYyxHQUFHZCxpQkFBaUIsQ0FBQyxDQUFDO1VBQ3BDZSxTQUFTLEdBQUdILE1BQU0sYUFBTkEsTUFBTSxlQUFOQSxNQUFNLENBQUVVLElBQUksWUFBQUMsTUFBQSxDQUFZWCxNQUFNLENBQUNVLElBQUksSUFBSyxFQUFFO1VBQUFILFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BQ3JDckQsU0FBUyxDQUFDO1lBQy9Cd0QsSUFBSSxvQkFBQUQsTUFBQSxDQUFvQlgsTUFBTSxhQUFOQSxNQUFNLHVCQUFOQSxNQUFNLENBQUVhLEtBQUssRUFBQUYsTUFBQSxDQUFHWCxNQUFNLGFBQU5BLE1BQU0sZUFBTkEsTUFBTSxDQUFFYyxNQUFNLGNBQUFILE1BQUEsQ0FBY1gsTUFBTSxhQUFOQSxNQUFNLHVCQUFOQSxNQUFNLENBQUVjLE1BQU0sSUFBSyxFQUFFLEVBQUFILE1BQUEsQ0FBR1QsY0FBYyxFQUFBUyxNQUFBLENBQUdSLFNBQVMsQ0FBRTtZQUN4SFksTUFBTSxFQUFFLEtBQUs7WUFDYkMsT0FBTyxFQUFFO2NBQ1AsWUFBWSxFQUFFLENBQUFoQixNQUFNLGFBQU5BLE1BQU0sZ0JBQUFDLGFBQUEsR0FBTkQsTUFBTSxDQUFFNUIsS0FBSyxjQUFBNkIsYUFBQSx1QkFBYkEsYUFBQSxDQUFlcEMsRUFBRSxDQUFDb0QsUUFBUSxDQUFDLENBQUMsS0FBSTtZQUNoRDtVQUNGLENBQUMsQ0FBQztRQUFBO1VBTkliLFFBQVEsR0FBQUcsUUFBQSxDQUFBVyxJQUFBO1VBQUFYLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BUU1MLFFBQVEsQ0FBQ2UsSUFBSSxDQUFDLENBQUM7UUFBQTtVQUE3QmQsSUFBSSxHQUFBRSxRQUFBLENBQUFXLElBQUE7VUFBQSxPQUFBWCxRQUFBLENBQUFhLE1BQUEsV0FFSDtZQUNMQyxPQUFPLEVBQUVoQixJQUFJLENBQUNpQixRQUFRO1lBQ3RCQyxRQUFRLEVBQUVsQixJQUFJLENBQUNtQixXQUFXO1lBQzFCbEUsS0FBSyxFQUFFRCxXQUFXLENBQUNnRCxJQUFJLENBQUNBLElBQUk7VUFDOUIsQ0FBQztRQUFBO1FBQUE7VUFBQSxPQUFBRSxRQUFBLENBQUFrQixJQUFBO01BQUE7SUFBQSxHQUFBMUIsT0FBQTtFQUFBLENBQ0Y7RUFBQSxnQkFwQllMLGdCQUFnQkEsQ0FBQWdDLEVBQUE7SUFBQSxPQUFBL0IsSUFBQSxDQUFBZ0MsS0FBQSxPQUFBQyxTQUFBO0VBQUE7QUFBQSxHQW9CNUIiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -80,11 +80,11 @@ export var continueThread = /*#__PURE__*/function () {
|
|
|
80
80
|
}();
|
|
81
81
|
export var orchestrator = /*#__PURE__*/function () {
|
|
82
82
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(body, signal) {
|
|
83
|
-
var input, projectId, lang, userId, firstName, lastName, chatId, clientId, clientName, feeId, agentId, isWebSearchActive, isDeepSearchActive, attachments, projectName, faqId, agentSuggestionId, agentEntity, contextMessage, formData, metadata, path, headers;
|
|
83
|
+
var input, projectId, lang, userId, firstName, lastName, chatId, clientId, clientName, feeId, agentId, isWebSearchActive, isDeepSearchActive, attachments, projectName, taskId, taskName, faqId, agentSuggestionId, fuaId, scId, agentEntity, contextMessage, formData, metadata, path, headers;
|
|
84
84
|
return _regeneratorRuntime.wrap(function (_context2) {
|
|
85
85
|
while (1) switch (_context2.prev = _context2.next) {
|
|
86
86
|
case 0:
|
|
87
|
-
input = body.input, projectId = body.projectId, lang = body.lang, userId = body.userId, firstName = body.firstName, lastName = body.lastName, chatId = body.chatId, clientId = body.clientId, clientName = body.clientName, feeId = body.feeId, agentId = body.agentId, isWebSearchActive = body.isWebSearchActive, isDeepSearchActive = body.isDeepSearchActive, attachments = body.attachments, projectName = body.projectName, faqId = body.faqId, agentSuggestionId = body.agentSuggestionId, agentEntity = body.agentEntity, contextMessage = body.contextMessage;
|
|
87
|
+
input = body.input, projectId = body.projectId, lang = body.lang, userId = body.userId, firstName = body.firstName, lastName = body.lastName, chatId = body.chatId, clientId = body.clientId, clientName = body.clientName, feeId = body.feeId, agentId = body.agentId, isWebSearchActive = body.isWebSearchActive, isDeepSearchActive = body.isDeepSearchActive, attachments = body.attachments, projectName = body.projectName, taskId = body.taskId, taskName = body.taskName, faqId = body.faqId, agentSuggestionId = body.agentSuggestionId, fuaId = body.fuaId, scId = body.scId, agentEntity = body.agentEntity, contextMessage = body.contextMessage;
|
|
88
88
|
formData = new FormData();
|
|
89
89
|
formData.append('input', input);
|
|
90
90
|
formData.append('session_id', chatId);
|
|
@@ -99,7 +99,7 @@ export var orchestrator = /*#__PURE__*/function () {
|
|
|
99
99
|
if (agentEntity === 'global') {
|
|
100
100
|
metadata = {};
|
|
101
101
|
} else {
|
|
102
|
-
metadata = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
102
|
+
metadata = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
103
103
|
lang: mapCORLang(lang)
|
|
104
104
|
}, userId ? {
|
|
105
105
|
user_id: userId
|
|
@@ -117,6 +117,10 @@ export var orchestrator = /*#__PURE__*/function () {
|
|
|
117
117
|
project_id: projectId
|
|
118
118
|
} : {}), projectName ? {
|
|
119
119
|
project_name: projectName
|
|
120
|
+
} : {}), taskId != null ? {
|
|
121
|
+
task_id: taskId
|
|
122
|
+
} : {}), taskName ? {
|
|
123
|
+
task_name: taskName
|
|
120
124
|
} : {}), {}, {
|
|
121
125
|
subdomain: window.location.hostname.split('.')[0]
|
|
122
126
|
}, contextMessage && Object.keys(contextMessage).length > 0 ? {
|
|
@@ -140,6 +144,12 @@ export var orchestrator = /*#__PURE__*/function () {
|
|
|
140
144
|
if (agentSuggestionId && agentEntity === 'global') {
|
|
141
145
|
headers['X-Agent-Suggestion'] = agentSuggestionId;
|
|
142
146
|
}
|
|
147
|
+
if (fuaId) {
|
|
148
|
+
headers['X-Fua-Id'] = fuaId;
|
|
149
|
+
}
|
|
150
|
+
if (scId) {
|
|
151
|
+
headers['X-SC-Id'] = scId;
|
|
152
|
+
}
|
|
143
153
|
return _context2.abrupt("return", fetchMaia({
|
|
144
154
|
path: path,
|
|
145
155
|
method: 'POST',
|
|
@@ -157,4 +167,4 @@ export var orchestrator = /*#__PURE__*/function () {
|
|
|
157
167
|
return _ref2.apply(this, arguments);
|
|
158
168
|
};
|
|
159
169
|
}();
|
|
160
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtYXBDT1JMYW5nIiwiZmV0Y2hNYWlhIiwiRklMRV9GT1JNQVRfRVhURU5TSU9OUyIsIkZJTEVfTUFJQV9WSVNJT05fRk9STUFUX0VYVEVOU0lPTlMiLCJGSUxFX0FVRElPX0ZPUk1BVF9FWFRFTlNJT05TIiwiTUFYX0ZJTEVfU0laRV9NQl9PTEQiLCJNQVhfRklMRV9TSVpFX01CX01BSUFfVklTSU9OIiwiTUFYX0ZJTEVfU0laRV9NQl9BVURJTyIsIk1BWF9GSUxFUyIsIk1BWF9GSUxFX1NJWkVfQllURVNfT0xEIiwiTUFYX0ZJTEVfU0laRV9CWVRFU19ORVciLCJNQVhfRklMRV9TSVpFX0JZVEVTX0FVRElPIiwiQUxMT1dFRF9GSUxFX0VYVEVOU0lPTlMiLCJ2YWxpZGF0ZUF0dGFjaG1lbnRzIiwiYXR0YWNobWVudHMiLCJsZW5ndGgiLCJFcnJvciIsImNvbmNhdCIsImZvckVhY2giLCJhdHRhY2htZW50IiwiZmlsZUV4dGVuc2lvbiIsIm5hbWUiLCJ0b0xvd2VyQ2FzZSIsInN1YnN0cmluZyIsImxhc3RJbmRleE9mIiwiaW5jbHVkZXMiLCJqb2luIiwiZmlsZVNpemUiLCJzaXplIiwiTnVtYmVyIiwiY29udGludWVUaHJlYWQiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJib2R5Iiwic2lnbmFsIiwidGhyZWFkSWRzIiwic2Vzc2lvbklkIiwiZGVjaXNpb24iLCJlZGl0ZWRBY3Rpb25zIiwiYWdlbnRJZCIsImxhbmciLCJyZXF1ZXN0Qm9keSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwidGhyZWFkX2lkcyIsInNlc3Npb25faWQiLCJlZGl0ZWRfYWN0aW9ucyIsImFicnVwdCIsInBhdGgiLCJtZXRob2QiLCJoZWFkZXJzIiwidG9TdHJpbmciLCJzdG9wIiwiX3giLCJfeDIiLCJhcHBseSIsImFyZ3VtZW50cyIsIm9yY2hlc3RyYXRvciIsIl9yZWYyIiwiX2NhbGxlZTIiLCJpbnB1dCIsInByb2plY3RJZCIsInVzZXJJZCIsImZpcnN0TmFtZSIsImxhc3ROYW1lIiwiY2hhdElkIiwiY2xpZW50SWQiLCJjbGllbnROYW1lIiwiZmVlSWQiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsInByb2plY3ROYW1lIiwiZmFxSWQiLCJhZ2VudFN1Z2dlc3Rpb25JZCIsImFnZW50RW50aXR5IiwiY29udGV4dE1lc3NhZ2UiLCJmb3JtRGF0YSIsIm1ldGFkYXRhIiwiX2NvbnRleHQyIiwiRm9ybURhdGEiLCJhcHBlbmQiLCJmaWxlVG9TZW5kIiwib3JpZ2luYWxGaWxlIiwiZmlsZSIsIl9vYmplY3RTcHJlYWQiLCJ1c2VyX2lkIiwiZmlyc3RfbmFtZSIsImxhc3RfbmFtZSIsImZlZV9pZCIsImNsaWVudF9pZCIsImNsaWVudF9uYW1lIiwicHJvamVjdF9pZCIsInByb2plY3RfbmFtZSIsInN1YmRvbWFpbiIsIndpbmRvdyIsImxvY2F0aW9uIiwiaG9zdG5hbWUiLCJzcGxpdCIsIk9iamVjdCIsImtleXMiLCJjb250ZXh0X21lc3NhZ2UiLCJKU09OIiwic3RyaW5naWZ5IiwiX3gzIiwiX3g0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvT3JjaGVzdHJhdG9yL29yY2hlc3RyYXRvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cbi8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGUgKi9cbmltcG9ydCB7IEF0dGFjaG1lbnRGaWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgbWFwQ09STGFuZyB9IGZyb20gJy4uLy4uLy4uL2xhbmcvdXRpbHMnXG5pbXBvcnQgeyBDaGF0SGlzdG9yeSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL0NoYXQnXG5pbXBvcnQgeyBBZ2VudEVudGl0eSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgQ29udGV4dE1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7IGZldGNoTWFpYSB9IGZyb20gJy4uL2NsaWVudCdcbmltcG9ydCB7XG4gIEZJTEVfRk9STUFUX0VYVEVOU0lPTlMsXG4gIEZJTEVfTUFJQV9WSVNJT05fRk9STUFUX0VYVEVOU0lPTlMsXG4gIEZJTEVfQVVESU9fRk9STUFUX0VYVEVOU0lPTlMsXG4gIE1BWF9GSUxFX1NJWkVfTUJfT0xELFxuICBNQVhfRklMRV9TSVpFX01CX01BSUFfVklTSU9OLFxuICBNQVhfRklMRV9TSVpFX01CX0FVRElPLFxufSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvZm9ybWF0RXh0ZW5zaW9ucydcblxudHlwZSBPcmNoZXN0cmF0b3JSZXF1ZXN0ID0ge1xuICBpbnB1dDogc3RyaW5nXG4gIHByb2plY3RJZD86IG51bWJlclxuICBsYW5nOiBzdHJpbmdcbiAgdXNlcklkOiBzdHJpbmdcbiAgZmlyc3ROYW1lPzogc3RyaW5nXG4gIGxhc3ROYW1lPzogc3RyaW5nXG4gIGNvbXBhbnlJZDogc3RyaW5nXG4gIGNoYXRJZDogc3RyaW5nXG4gIGhpc3Rvcnk6IENoYXRIaXN0b3J5W11cbiAgbWVzc2FnZUlkOiBzdHJpbmdcbiAgY2xpZW50SWQ/OiBudW1iZXJcbiAgY2xpZW50TmFtZT86IHN0cmluZ1xuICBmZWVJZD86IG51bWJlclxuICBhZ2VudE5hbWU6IHN0cmluZ1xuICBhZ2VudElkOiBudW1iZXIgfCBzdHJpbmdcbiAgaXNXZWJTZWFyY2hBY3RpdmU/OiBib29sZWFuXG4gIGlzRGVlcFNlYXJjaEFjdGl2ZT86IGJvb2xlYW5cbiAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdXG4gIHByb2plY3ROYW1lPzogc3RyaW5nXG4gIGZhcUlkPzogc3RyaW5nXG4gIGFnZW50U3VnZ2VzdGlvbklkPzogc3RyaW5nXG4gIGFnZW50RW50aXR5PzogQWdlbnRFbnRpdHlcbiAgLyoqXG4gICAqIEVudGlkYWRlcyBtZW5jaW9uYWRhcyBjb24gYEBgIGVuIEVTRSBtZW5zYWplLiBTZSBpbnllY3RhIGNvbW9cbiAgICogYGNvbnRleHRfbWVzc2FnZWAgZGVudHJvIGRlIGxhIG1ldGFkYXRhIGRlbCBvcmNoZXN0cmF0b3IgeSBzb2xvIHZpdmUgZW5cbiAgICogZXNlIHR1cm5vIChubyBwcm9wYWdhIGFsIGNvbnRleHRvIGdsb2JhbCBuaSBhIGZ1dHVyb3MgbWVuc2FqZXMpLlxuICAgKi9cbiAgY29udGV4dE1lc3NhZ2U/OiBDb250ZXh0TWVzc2FnZVxufVxuXG5jb25zdCBNQVhfRklMRVMgPSA1XG5jb25zdCBNQVhfRklMRV9TSVpFX0JZVEVTX09MRCA9IE1BWF9GSUxFX1NJWkVfTUJfT0xEICogMTAyNCAqIDEwMjRcbmNvbnN0IE1BWF9GSUxFX1NJWkVfQllURVNfTkVXID0gTUFYX0ZJTEVfU0laRV9NQl9NQUlBX1ZJU0lPTiAqIDEwMjQgKiAxMDI0XG5jb25zdCBNQVhfRklMRV9TSVpFX0JZVEVTX0FVRElPID0gTUFYX0ZJTEVfU0laRV9NQl9BVURJTyAqIDEwMjQgKiAxMDI0XG5jb25zdCBBTExPV0VEX0ZJTEVfRVhURU5TSU9OUyA9IFtcbiAgJy50eHQnLFxuICAnLm1kJyxcbiAgJy5jc3YnLFxuICAnLmRvYycsXG4gICcuZG9jeCcsXG4gICcucG5nJyxcbiAgJy5qcGcnLFxuICAnLmpwZWcnLFxuICAnLnBkZicsXG4gICcueGxzeCcsXG4gICcueGxzJyxcbiAgJy5mbGFjJyxcbiAgJy5tNGEnLFxuICAnLm1wMycsXG4gICcubXA0JyxcbiAgJy5vZ2EnLFxuICAnLm9nZycsXG4gICcud2F2JyxcbiAgJy53ZWJtJyxcbl1cblxuY29uc3QgdmFsaWRhdGVBdHRhY2htZW50cyA9IChhdHRhY2htZW50czogQXR0YWNobWVudEZpbGVbXSk6IHZvaWQgPT4ge1xuICBpZiAoYXR0YWNobWVudHMubGVuZ3RoID4gTUFYX0ZJTEVTKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBNw6F4aW1vICR7TUFYX0ZJTEVTfSBhcmNoaXZvcyBwZXJtaXRpZG9zYClcbiAgfVxuXG4gIGF0dGFjaG1lbnRzLmZvckVhY2goYXR0YWNobWVudCA9PiB7XG4gICAgLy8gVmFsaWRhciBleHRlbnNpw7NuIGRlbCBhcmNoaXZvXG4gICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IGF0dGFjaG1lbnQubmFtZS50b0xvd2VyQ2FzZSgpLnN1YnN0cmluZyhhdHRhY2htZW50Lm5hbWUubGFzdEluZGV4T2YoJy4nKSlcbiAgICBpZiAoIUFMTE9XRURfRklMRV9FWFRFTlNJT05TLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBFbCBhcmNoaXZvIFwiJHthdHRhY2htZW50Lm5hbWV9XCIgbm8gdGllbmUgdW4gZm9ybWF0byBzb3BvcnRhZG8uIEZvcm1hdG9zIHBlcm1pdGlkb3M6ICR7QUxMT1dFRF9GSUxFX0VYVEVOU0lPTlMuam9pbignLCAnKX1gXG4gICAgICApXG4gICAgfVxuXG4gICAgLy8gVmFsaWRhciB0YW1hw7FvIGRlbCBhcmNoaXZvIHNlZ8O6biBlbCB0aXBvXG4gICAgY29uc3QgZmlsZVNpemUgPSB0eXBlb2YgYXR0YWNobWVudC5zaXplID09PSAnbnVtYmVyJyA/IGF0dGFjaG1lbnQuc2l6ZSA6IE51bWJlcihhdHRhY2htZW50LnNpemUpXG4gICAgaWYgKEZJTEVfRk9STUFUX0VYVEVOU0lPTlMuaW5jbHVkZXMoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgIGlmIChmaWxlU2l6ZSA+IE1BWF9GSUxFX1NJWkVfQllURVNfT0xEKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRWwgYXJjaGl2byBcIiR7YXR0YWNobWVudC5uYW1lfVwiIGV4Y2VkZSBlbCB0YW1hw7FvIG3DoXhpbW8gZGUgJHtNQVhfRklMRV9TSVpFX01CX09MRH1NQmApXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChGSUxFX01BSUFfVklTSU9OX0ZPUk1BVF9FWFRFTlNJT05TLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pKSB7XG4gICAgICBpZiAoZmlsZVNpemUgPiBNQVhfRklMRV9TSVpFX0JZVEVTX05FVykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEVsIGFyY2hpdm8gXCIke2F0dGFjaG1lbnQubmFtZX1cIiBleGNlZGUgZWwgdGFtYcOxbyBtw6F4aW1vIGRlICR7TUFYX0ZJTEVfU0laRV9NQl9NQUlBX1ZJU0lPTn1NQmApXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChGSUxFX0FVRElPX0ZPUk1BVF9FWFRFTlNJT05TLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pKSB7XG4gICAgICBpZiAoZmlsZVNpemUgPiBNQVhfRklMRV9TSVpFX0JZVEVTX0FVRElPKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRWwgYXJjaGl2byBcIiR7YXR0YWNobWVudC5uYW1lfVwiIGV4Y2VkZSBlbCB0YW1hw7FvIG3DoXhpbW8gZGUgJHtNQVhfRklMRV9TSVpFX01CX0FVRElPfU1CYClcbiAgICAgIH1cbiAgICB9XG4gIH0pXG59XG5cbnR5cGUgQ29udGludWVUaHJlYWRSZXF1ZXN0ID0ge1xuICB0aHJlYWRJZHM6IHN0cmluZ1tdXG4gIHNlc3Npb25JZDogc3RyaW5nXG4gIGRlY2lzaW9uOiAnYXBwcm92ZScgfCAnZWRpdCcgfCAncmVqZWN0J1xuICBlZGl0ZWRBY3Rpb25zPzogQXJyYXk8eyB0b29sX25hbWU6IHN0cmluZzsgYXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfT5cbiAgYWdlbnRJZDogbnVtYmVyIHwgc3RyaW5nXG4gIGxhbmc6IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgY29udGludWVUaHJlYWQgPSBhc3luYyAoYm9keTogQ29udGludWVUaHJlYWRSZXF1ZXN0LCBzaWduYWw/OiBBYm9ydFNpZ25hbCk6IFByb21pc2U8UmVzcG9uc2U+ID0+IHtcbiAgY29uc3QgeyB0aHJlYWRJZHMsIHNlc3Npb25JZCwgZGVjaXNpb24sIGVkaXRlZEFjdGlvbnMsIGFnZW50SWQsIGxhbmcgfSA9IGJvZHlcblxuICBjb25zdCByZXF1ZXN0Qm9keTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gICAgdGhyZWFkX2lkczogdGhyZWFkSWRzLFxuICAgIHNlc3Npb25faWQ6IHNlc3Npb25JZCxcbiAgICBkZWNpc2lvbixcbiAgfVxuXG4gIGlmIChkZWNpc2lvbiA9PT0gJ2VkaXQnICYmIGVkaXRlZEFjdGlvbnMpIHtcbiAgICByZXF1ZXN0Qm9keS5lZGl0ZWRfYWN0aW9ucyA9IGVkaXRlZEFjdGlvbnNcbiAgfVxuXG4gIHJldHVybiBmZXRjaE1haWEoe1xuICAgIHBhdGg6ICdvcmNoZXN0cmF0b3IvY29udGludWUtdGhyZWFkP21vZGU9c3RyZWFtJyxcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBoZWFkZXJzOiB7XG4gICAgICAnWC1BZ2VudC1JZCc6IGFnZW50SWQudG9TdHJpbmcoKSxcbiAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBtYXBDT1JMYW5nKGxhbmcpLFxuICAgIH0sXG4gICAgYm9keTogcmVxdWVzdEJvZHksXG4gICAgc2lnbmFsLFxuICB9KVxufVxuXG5leHBvcnQgY29uc3Qgb3JjaGVzdHJhdG9yID0gYXN5bmMgKGJvZHk6IE9yY2hlc3RyYXRvclJlcXVlc3QsIHNpZ25hbD86IEFib3J0U2lnbmFsKTogUHJvbWlzZTxSZXNwb25zZT4gPT4ge1xuICBjb25zdCB7XG4gICAgaW5wdXQsXG4gICAgcHJvamVjdElkLFxuICAgIGxhbmcsXG4gICAgdXNlcklkLFxuICAgIGZpcnN0TmFtZSxcbiAgICBsYXN0TmFtZSxcbiAgICBjaGF0SWQsXG4gICAgY2xpZW50SWQsXG4gICAgY2xpZW50TmFtZSxcbiAgICBmZWVJZCxcbiAgICBhZ2VudElkLFxuICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgIGlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgICBhdHRhY2htZW50cyxcbiAgICBwcm9qZWN0TmFtZSxcbiAgICBmYXFJZCxcbiAgICBhZ2VudFN1Z2dlc3Rpb25JZCxcbiAgICBhZ2VudEVudGl0eSxcbiAgICBjb250ZXh0TWVzc2FnZSxcbiAgfSA9IGJvZHlcblxuICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpXG4gIGZvcm1EYXRhLmFwcGVuZCgnaW5wdXQnLCBpbnB1dClcbiAgZm9ybURhdGEuYXBwZW5kKCdzZXNzaW9uX2lkJywgY2hhdElkKVxuXG4gIGlmIChhdHRhY2htZW50cz8ubGVuZ3RoKSB7XG4gICAgdmFsaWRhdGVBdHRhY2htZW50cyhhdHRhY2htZW50cylcblxuICAgIGF0dGFjaG1lbnRzLmZvckVhY2goYXR0YWNobWVudCA9PiB7XG4gICAgICAvLyBVc2FyIGVsIGFyY2hpdm8gb3JpZ2luYWwgc2kgZXhpc3RlIChwYXJhIGltw6FnZW5lcyBwcm9jZXNhZGFzKSwgc2lubyB1c2FyIGVsIGFyY2hpdm8gbm9ybWFsXG4gICAgICBjb25zdCBmaWxlVG9TZW5kID0gYXR0YWNobWVudC5vcmlnaW5hbEZpbGUgfHwgYXR0YWNobWVudC5maWxlXG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGVzJywgZmlsZVRvU2VuZClcbiAgICB9KVxuICB9XG5cbiAgbGV0IG1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBpZiAoYWdlbnRFbnRpdHkgPT09ICdnbG9iYWwnKSB7XG4gICAgbWV0YWRhdGEgPSB7fVxuICB9IGVsc2Uge1xuICAgIG1ldGFkYXRhID0ge1xuICAgICAgbGFuZzogbWFwQ09STGFuZyhsYW5nKSxcbiAgICAgIC4uLih1c2VySWQgPyB7IHVzZXJfaWQ6IHVzZXJJZCB9IDoge30pLFxuICAgICAgLi4uKGZpcnN0TmFtZSA/IHsgZmlyc3RfbmFtZTogZmlyc3ROYW1lIH0gOiB7fSksXG4gICAgICAuLi4obGFzdE5hbWUgPyB7IGxhc3RfbmFtZTogbGFzdE5hbWUgfSA6IHt9KSxcbiAgICAgIC4uLihmZWVJZCAhPSBudWxsID8geyBmZWVfaWQ6IGZlZUlkIH0gOiB7fSksXG4gICAgICAuLi4oY2xpZW50SWQgIT0gbnVsbCA/IHsgY2xpZW50X2lkOiBjbGllbnRJZCB9IDoge30pLFxuICAgICAgLi4uKGNsaWVudE5hbWUgPyB7IGNsaWVudF9uYW1lOiBjbGllbnROYW1lIH0gOiB7fSksXG4gICAgICAuLi4ocHJvamVjdElkID8geyBwcm9qZWN0X2lkOiBwcm9qZWN0SWQgfSA6IHt9KSxcbiAgICAgIC4uLihwcm9qZWN0TmFtZSA/IHsgcHJvamVjdF9uYW1lOiBwcm9qZWN0TmFtZSB9IDoge30pLFxuICAgICAgc3ViZG9tYWluOiB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuc3BsaXQoJy4nKVswXSxcbiAgICAgIC4uLihjb250ZXh0TWVzc2FnZSAmJiBPYmplY3Qua2V5cyhjb250ZXh0TWVzc2FnZSkubGVuZ3RoID4gMCA/IHsgY29udGV4dF9tZXNzYWdlOiBjb250ZXh0TWVzc2FnZSB9IDoge30pLFxuICAgIH1cbiAgfVxuICBmb3JtRGF0YS5hcHBlbmQoJ21ldGFkYXRhJywgSlNPTi5zdHJpbmdpZnkobWV0YWRhdGEpKVxuXG4gIGxldCBwYXRoID0gJ29yY2hlc3RyYXRvcj9tb2RlPXN0cmVhbSdcbiAgaWYgKGlzV2ViU2VhcmNoQWN0aXZlID09PSB0cnVlKSB7XG4gICAgcGF0aCArPSAnJnNlYXJjaF93ZWI9dHJ1ZSdcbiAgfVxuICBpZiAoaXNEZWVwU2VhcmNoQWN0aXZlID09PSB0cnVlKSB7XG4gICAgcGF0aCArPSAnJnNlYXJjaF93ZWI9dHJ1ZSZkZXB0aD10cnVlJ1xuICB9XG5cbiAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAnWC1BZ2VudC1JZCc6IGFnZW50SWQudG9TdHJpbmcoKSxcbiAgfVxuXG4gIGlmIChmYXFJZCkge1xuICAgIGhlYWRlcnNbJ1gtRmFxLUlkJ10gPSBmYXFJZFxuICB9XG5cbiAgaWYgKGFnZW50U3VnZ2VzdGlvbklkICYmIGFnZW50RW50aXR5ID09PSAnZ2xvYmFsJykge1xuICAgIGhlYWRlcnNbJ1gtQWdlbnQtU3VnZ2VzdGlvbiddID0gYWdlbnRTdWdnZXN0aW9uSWRcbiAgfVxuXG4gIHJldHVybiBmZXRjaE1haWEoe1xuICAgIHBhdGgsXG4gICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgaGVhZGVycyxcbiAgICBib2R5OiBmb3JtRGF0YSxcbiAgICBzaWduYWwsXG4gIH0pXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTtBQUNBOztBQUVBLFNBQVNBLFVBQVUsUUFBUSxxQkFBcUI7QUFJaEQsU0FBU0MsU0FBUyxRQUFRLFdBQVc7QUFDckMsU0FDRUMsc0JBQXNCLEVBQ3RCQyxrQ0FBa0MsRUFDbENDLDRCQUE0QixFQUM1QkMsb0JBQW9CLEVBQ3BCQyw0QkFBNEIsRUFDNUJDLHNCQUFzQixRQUNqQixxQ0FBcUM7QUFpQzVDLElBQU1DLFNBQVMsR0FBRyxDQUFDO0FBQ25CLElBQU1DLHVCQUF1QixHQUFHSixvQkFBb0IsR0FBRyxJQUFJLEdBQUcsSUFBSTtBQUNsRSxJQUFNSyx1QkFBdUIsR0FBR0osNEJBQTRCLEdBQUcsSUFBSSxHQUFHLElBQUk7QUFDMUUsSUFBTUsseUJBQXlCLEdBQUdKLHNCQUFzQixHQUFHLElBQUksR0FBRyxJQUFJO0FBQ3RFLElBQU1LLHVCQUF1QixHQUFHLENBQzlCLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixPQUFPLEVBQ1AsTUFBTSxFQUNOLE1BQU0sRUFDTixPQUFPLEVBQ1AsTUFBTSxFQUNOLE9BQU8sRUFDUCxNQUFNLEVBQ04sT0FBTyxFQUNQLE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxFQUNOLE9BQU8sQ0FDUjtBQUVELElBQU1DLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQUlDLFdBQTZCLEVBQVc7RUFDbkUs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QyxHQUFHLENBQUMsQ0FBQyxHQUMxQ1UsV0FBVyxHQUFHO2NBQUVxQixZQUFZLEVBQUVyQjtZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7Y0FDcERzQixTQUFTLEVBQUVDLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDQyxRQUFRLENBQUNDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQUMsR0FDN0N0QixjQUFjLElBQUl1QixNQUFNLENBQUNDLElBQUksQ0FBQ3hCLGNBQWMsQ0FBQyxDQUFDakUsTUFBTSxHQUFHLENBQUMsR0FBRztjQUFFMEYsZUFBZSxFQUFFekI7WUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ3hHO1VBQ0g7VUFDQUMsUUFBUSxDQUFDSSxNQUFNLENBQUMsVUFBVSxFQUFFcUIsSUFBSSxDQUFDQyxTQUFTLENBQUN6QixRQUFRLENBQUMsQ0FBQztVQUVqRDdCLElBQUksR0FBRywwQkFBMEI7VUFDckMsSUFBSXFCLGlCQUFpQixLQUFLLElBQUksRUFBRTtZQUM5QnJCLElBQUksSUFBSSxrQkFBa0I7VUFDNUI7VUFDQSxJQUFJc0Isa0JBQWtCLEtBQUssSUFBSSxFQUFFO1lBQy9CdEIsSUFBSSxJQUFJLDZCQUE2QjtVQUN2QztVQUVNRSxPQUErQixHQUFHO1lBQ3RDLFlBQVksRUFBRWIsT0FBTyxDQUFDYyxRQUFRLENBQUM7VUFDakMsQ0FBQztVQUVELElBQUlxQixLQUFLLEVBQUU7WUFDVHRCLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBR3NCLEtBQUs7VUFDN0I7VUFFQSxJQUFJQyxpQkFBaUIsSUFBSUMsV0FBVyxLQUFLLFFBQVEsRUFBRTtZQUNqRHhCLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHdUIsaUJBQWlCO1VBQ25EO1VBQUMsT0FBQUssU0FBQSxDQUFBL0IsTUFBQSxXQUVNbkQsU0FBUyxDQUFDO1lBQ2ZvRCxJQUFJLEVBQUpBLElBQUk7WUFDSkMsTUFBTSxFQUFFLE1BQU07WUFDZEMsT0FBTyxFQUFQQSxPQUFPO1lBQ1BuQixJQUFJLEVBQUU2QyxRQUFRO1lBQ2Q1QyxNQUFNLEVBQU5BO1VBQ0YsQ0FBQyxDQUFDO1FBQUE7UUFBQTtVQUFBLE9BQUE4QyxTQUFBLENBQUExQixJQUFBO01BQUE7SUFBQSxHQUFBTyxRQUFBO0VBQUEsQ0FDSDtFQUFBLGdCQXBGWUYsWUFBWUEsQ0FBQThDLEdBQUEsRUFBQUMsR0FBQTtJQUFBLE9BQUE5QyxLQUFBLENBQUFILEtBQUEsT0FBQUMsU0FBQTtFQUFBO0FBQUEsR0FvRnhCIiwiaWdub3JlTGlzdCI6W119
|
|
170
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtYXBDT1JMYW5nIiwiZmV0Y2hNYWlhIiwiRklMRV9GT1JNQVRfRVhURU5TSU9OUyIsIkZJTEVfTUFJQV9WSVNJT05fRk9STUFUX0VYVEVOU0lPTlMiLCJGSUxFX0FVRElPX0ZPUk1BVF9FWFRFTlNJT05TIiwiTUFYX0ZJTEVfU0laRV9NQl9PTEQiLCJNQVhfRklMRV9TSVpFX01CX01BSUFfVklTSU9OIiwiTUFYX0ZJTEVfU0laRV9NQl9BVURJTyIsIk1BWF9GSUxFUyIsIk1BWF9GSUxFX1NJWkVfQllURVNfT0xEIiwiTUFYX0ZJTEVfU0laRV9CWVRFU19ORVciLCJNQVhfRklMRV9TSVpFX0JZVEVTX0FVRElPIiwiQUxMT1dFRF9GSUxFX0VYVEVOU0lPTlMiLCJ2YWxpZGF0ZUF0dGFjaG1lbnRzIiwiYXR0YWNobWVudHMiLCJsZW5ndGgiLCJFcnJvciIsImNvbmNhdCIsImZvckVhY2giLCJhdHRhY2htZW50IiwiZmlsZUV4dGVuc2lvbiIsIm5hbWUiLCJ0b0xvd2VyQ2FzZSIsInN1YnN0cmluZyIsImxhc3RJbmRleE9mIiwiaW5jbHVkZXMiLCJqb2luIiwiZmlsZVNpemUiLCJzaXplIiwiTnVtYmVyIiwiY29udGludWVUaHJlYWQiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJib2R5Iiwic2lnbmFsIiwidGhyZWFkSWRzIiwic2Vzc2lvbklkIiwiZGVjaXNpb24iLCJlZGl0ZWRBY3Rpb25zIiwiYWdlbnRJZCIsImxhbmciLCJyZXF1ZXN0Qm9keSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwidGhyZWFkX2lkcyIsInNlc3Npb25faWQiLCJlZGl0ZWRfYWN0aW9ucyIsImFicnVwdCIsInBhdGgiLCJtZXRob2QiLCJoZWFkZXJzIiwidG9TdHJpbmciLCJzdG9wIiwiX3giLCJfeDIiLCJhcHBseSIsImFyZ3VtZW50cyIsIm9yY2hlc3RyYXRvciIsIl9yZWYyIiwiX2NhbGxlZTIiLCJpbnB1dCIsInByb2plY3RJZCIsInVzZXJJZCIsImZpcnN0TmFtZSIsImxhc3ROYW1lIiwiY2hhdElkIiwiY2xpZW50SWQiLCJjbGllbnROYW1lIiwiZmVlSWQiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsInByb2plY3ROYW1lIiwidGFza0lkIiwidGFza05hbWUiLCJmYXFJZCIsImFnZW50U3VnZ2VzdGlvbklkIiwiZnVhSWQiLCJzY0lkIiwiYWdlbnRFbnRpdHkiLCJjb250ZXh0TWVzc2FnZSIsImZvcm1EYXRhIiwibWV0YWRhdGEiLCJfY29udGV4dDIiLCJGb3JtRGF0YSIsImFwcGVuZCIsImZpbGVUb1NlbmQiLCJvcmlnaW5hbEZpbGUiLCJmaWxlIiwiX29iamVjdFNwcmVhZCIsInVzZXJfaWQiLCJmaXJzdF9uYW1lIiwibGFzdF9uYW1lIiwiZmVlX2lkIiwiY2xpZW50X2lkIiwiY2xpZW50X25hbWUiLCJwcm9qZWN0X2lkIiwicHJvamVjdF9uYW1lIiwidGFza19pZCIsInRhc2tfbmFtZSIsInN1YmRvbWFpbiIsIndpbmRvdyIsImxvY2F0aW9uIiwiaG9zdG5hbWUiLCJzcGxpdCIsIk9iamVjdCIsImtleXMiLCJjb250ZXh0X21lc3NhZ2UiLCJKU09OIiwic3RyaW5naWZ5IiwiX3gzIiwiX3g0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvT3JjaGVzdHJhdG9yL29yY2hlc3RyYXRvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cbi8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGUgKi9cbmltcG9ydCB7IEF0dGFjaG1lbnRGaWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgbWFwQ09STGFuZyB9IGZyb20gJy4uLy4uLy4uL2xhbmcvdXRpbHMnXG5pbXBvcnQgeyBDaGF0SGlzdG9yeSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL0NoYXQnXG5pbXBvcnQgeyBBZ2VudEVudGl0eSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgQ29udGV4dE1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7IGZldGNoTWFpYSB9IGZyb20gJy4uL2NsaWVudCdcbmltcG9ydCB7XG4gIEZJTEVfRk9STUFUX0VYVEVOU0lPTlMsXG4gIEZJTEVfTUFJQV9WSVNJT05fRk9STUFUX0VYVEVOU0lPTlMsXG4gIEZJTEVfQVVESU9fRk9STUFUX0VYVEVOU0lPTlMsXG4gIE1BWF9GSUxFX1NJWkVfTUJfT0xELFxuICBNQVhfRklMRV9TSVpFX01CX01BSUFfVklTSU9OLFxuICBNQVhfRklMRV9TSVpFX01CX0FVRElPLFxufSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvZm9ybWF0RXh0ZW5zaW9ucydcblxudHlwZSBPcmNoZXN0cmF0b3JSZXF1ZXN0ID0ge1xuICBpbnB1dDogc3RyaW5nXG4gIHByb2plY3RJZD86IG51bWJlclxuICBsYW5nOiBzdHJpbmdcbiAgdXNlcklkOiBzdHJpbmdcbiAgZmlyc3ROYW1lPzogc3RyaW5nXG4gIGxhc3ROYW1lPzogc3RyaW5nXG4gIGNvbXBhbnlJZDogc3RyaW5nXG4gIGNoYXRJZDogc3RyaW5nXG4gIGhpc3Rvcnk6IENoYXRIaXN0b3J5W11cbiAgbWVzc2FnZUlkOiBzdHJpbmdcbiAgY2xpZW50SWQ/OiBudW1iZXJcbiAgY2xpZW50TmFtZT86IHN0cmluZ1xuICBmZWVJZD86IG51bWJlclxuICBhZ2VudE5hbWU6IHN0cmluZ1xuICBhZ2VudElkOiBudW1iZXIgfCBzdHJpbmdcbiAgaXNXZWJTZWFyY2hBY3RpdmU/OiBib29sZWFuXG4gIGlzRGVlcFNlYXJjaEFjdGl2ZT86IGJvb2xlYW5cbiAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdXG4gIHByb2plY3ROYW1lPzogc3RyaW5nXG4gIHRhc2tJZD86IG51bWJlclxuICB0YXNrTmFtZT86IHN0cmluZ1xuICBmYXFJZD86IHN0cmluZ1xuICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZ1xuICBmdWFJZD86IHN0cmluZ1xuICBzY0lkPzogc3RyaW5nXG4gIGFnZW50RW50aXR5PzogQWdlbnRFbnRpdHlcbiAgLyoqXG4gICAqIEVudGlkYWRlcyBtZW5jaW9uYWRhcyBjb24gYEBgIGVuIEVTRSBtZW5zYWplLiBTZSBpbnllY3RhIGNvbW9cbiAgICogYGNvbnRleHRfbWVzc2FnZWAgZGVudHJvIGRlIGxhIG1ldGFkYXRhIGRlbCBvcmNoZXN0cmF0b3IgeSBzb2xvIHZpdmUgZW5cbiAgICogZXNlIHR1cm5vIChubyBwcm9wYWdhIGFsIGNvbnRleHRvIGdsb2JhbCBuaSBhIGZ1dHVyb3MgbWVuc2FqZXMpLlxuICAgKi9cbiAgY29udGV4dE1lc3NhZ2U/OiBDb250ZXh0TWVzc2FnZVxufVxuXG5jb25zdCBNQVhfRklMRVMgPSA1XG5jb25zdCBNQVhfRklMRV9TSVpFX0JZVEVTX09MRCA9IE1BWF9GSUxFX1NJWkVfTUJfT0xEICogMTAyNCAqIDEwMjRcbmNvbnN0IE1BWF9GSUxFX1NJWkVfQllURVNfTkVXID0gTUFYX0ZJTEVfU0laRV9NQl9NQUlBX1ZJU0lPTiAqIDEwMjQgKiAxMDI0XG5jb25zdCBNQVhfRklMRV9TSVpFX0JZVEVTX0FVRElPID0gTUFYX0ZJTEVfU0laRV9NQl9BVURJTyAqIDEwMjQgKiAxMDI0XG5jb25zdCBBTExPV0VEX0ZJTEVfRVhURU5TSU9OUyA9IFtcbiAgJy50eHQnLFxuICAnLm1kJyxcbiAgJy5jc3YnLFxuICAnLmRvYycsXG4gICcuZG9jeCcsXG4gICcucG5nJyxcbiAgJy5qcGcnLFxuICAnLmpwZWcnLFxuICAnLnBkZicsXG4gICcueGxzeCcsXG4gICcueGxzJyxcbiAgJy5mbGFjJyxcbiAgJy5tNGEnLFxuICAnLm1wMycsXG4gICcubXA0JyxcbiAgJy5vZ2EnLFxuICAnLm9nZycsXG4gICcud2F2JyxcbiAgJy53ZWJtJyxcbl1cblxuY29uc3QgdmFsaWRhdGVBdHRhY2htZW50cyA9IChhdHRhY2htZW50czogQXR0YWNobWVudEZpbGVbXSk6IHZvaWQgPT4ge1xuICBpZiAoYXR0YWNobWVudHMubGVuZ3RoID4gTUFYX0ZJTEVTKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBNw6F4aW1vICR7TUFYX0ZJTEVTfSBhcmNoaXZvcyBwZXJtaXRpZG9zYClcbiAgfVxuXG4gIGF0dGFjaG1lbnRzLmZvckVhY2goYXR0YWNobWVudCA9PiB7XG4gICAgLy8gVmFsaWRhciBleHRlbnNpw7NuIGRlbCBhcmNoaXZvXG4gICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IGF0dGFjaG1lbnQubmFtZS50b0xvd2VyQ2FzZSgpLnN1YnN0cmluZyhhdHRhY2htZW50Lm5hbWUubGFzdEluZGV4T2YoJy4nKSlcbiAgICBpZiAoIUFMTE9XRURfRklMRV9FWFRFTlNJT05TLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBFbCBhcmNoaXZvIFwiJHthdHRhY2htZW50Lm5hbWV9XCIgbm8gdGllbmUgdW4gZm9ybWF0byBzb3BvcnRhZG8uIEZvcm1hdG9zIHBlcm1pdGlkb3M6ICR7QUxMT1dFRF9GSUxFX0VYVEVOU0lPTlMuam9pbignLCAnKX1gXG4gICAgICApXG4gICAgfVxuXG4gICAgLy8gVmFsaWRhciB0YW1hw7FvIGRlbCBhcmNoaXZvIHNlZ8O6biBlbCB0aXBvXG4gICAgY29uc3QgZmlsZVNpemUgPSB0eXBlb2YgYXR0YWNobWVudC5zaXplID09PSAnbnVtYmVyJyA/IGF0dGFjaG1lbnQuc2l6ZSA6IE51bWJlcihhdHRhY2htZW50LnNpemUpXG4gICAgaWYgKEZJTEVfRk9STUFUX0VYVEVOU0lPTlMuaW5jbHVkZXMoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgIGlmIChmaWxlU2l6ZSA+IE1BWF9GSUxFX1NJWkVfQllURVNfT0xEKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRWwgYXJjaGl2byBcIiR7YXR0YWNobWVudC5uYW1lfVwiIGV4Y2VkZSBlbCB0YW1hw7FvIG3DoXhpbW8gZGUgJHtNQVhfRklMRV9TSVpFX01CX09MRH1NQmApXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChGSUxFX01BSUFfVklTSU9OX0ZPUk1BVF9FWFRFTlNJT05TLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pKSB7XG4gICAgICBpZiAoZmlsZVNpemUgPiBNQVhfRklMRV9TSVpFX0JZVEVTX05FVykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEVsIGFyY2hpdm8gXCIke2F0dGFjaG1lbnQubmFtZX1cIiBleGNlZGUgZWwgdGFtYcOxbyBtw6F4aW1vIGRlICR7TUFYX0ZJTEVfU0laRV9NQl9NQUlBX1ZJU0lPTn1NQmApXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChGSUxFX0FVRElPX0ZPUk1BVF9FWFRFTlNJT05TLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pKSB7XG4gICAgICBpZiAoZmlsZVNpemUgPiBNQVhfRklMRV9TSVpFX0JZVEVTX0FVRElPKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRWwgYXJjaGl2byBcIiR7YXR0YWNobWVudC5uYW1lfVwiIGV4Y2VkZSBlbCB0YW1hw7FvIG3DoXhpbW8gZGUgJHtNQVhfRklMRV9TSVpFX01CX0FVRElPfU1CYClcbiAgICAgIH1cbiAgICB9XG4gIH0pXG59XG5cbnR5cGUgQ29udGludWVUaHJlYWRSZXF1ZXN0ID0ge1xuICB0aHJlYWRJZHM6IHN0cmluZ1tdXG4gIHNlc3Npb25JZDogc3RyaW5nXG4gIGRlY2lzaW9uOiAnYXBwcm92ZScgfCAnZWRpdCcgfCAncmVqZWN0J1xuICBlZGl0ZWRBY3Rpb25zPzogQXJyYXk8eyB0b29sX25hbWU6IHN0cmluZzsgYXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfT5cbiAgYWdlbnRJZDogbnVtYmVyIHwgc3RyaW5nXG4gIGxhbmc6IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgY29udGludWVUaHJlYWQgPSBhc3luYyAoYm9keTogQ29udGludWVUaHJlYWRSZXF1ZXN0LCBzaWduYWw/OiBBYm9ydFNpZ25hbCk6IFByb21pc2U8UmVzcG9uc2U+ID0+IHtcbiAgY29uc3QgeyB0aHJlYWRJZHMsIHNlc3Npb25JZCwgZGVjaXNpb24sIGVkaXRlZEFjdGlvbnMsIGFnZW50SWQsIGxhbmcgfSA9IGJvZHlcblxuICBjb25zdCByZXF1ZXN0Qm9keTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gICAgdGhyZWFkX2lkczogdGhyZWFkSWRzLFxuICAgIHNlc3Npb25faWQ6IHNlc3Npb25JZCxcbiAgICBkZWNpc2lvbixcbiAgfVxuXG4gIGlmIChkZWNpc2lvbiA9PT0gJ2VkaXQnICYmIGVkaXRlZEFjdGlvbnMpIHtcbiAgICByZXF1ZXN0Qm9keS5lZGl0ZWRfYWN0aW9ucyA9IGVkaXRlZEFjdGlvbnNcbiAgfVxuXG4gIHJldHVybiBmZXRjaE1haWEoe1xuICAgIHBhdGg6ICdvcmNoZXN0cmF0b3IvY29udGludWUtdGhyZWFkP21vZGU9c3RyZWFtJyxcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBoZWFkZXJzOiB7XG4gICAgICAnWC1BZ2VudC1JZCc6IGFnZW50SWQudG9TdHJpbmcoKSxcbiAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBtYXBDT1JMYW5nKGxhbmcpLFxuICAgIH0sXG4gICAgYm9keTogcmVxdWVzdEJvZHksXG4gICAgc2lnbmFsLFxuICB9KVxufVxuXG5leHBvcnQgY29uc3Qgb3JjaGVzdHJhdG9yID0gYXN5bmMgKGJvZHk6IE9yY2hlc3RyYXRvclJlcXVlc3QsIHNpZ25hbD86IEFib3J0U2lnbmFsKTogUHJvbWlzZTxSZXNwb25zZT4gPT4ge1xuICBjb25zdCB7XG4gICAgaW5wdXQsXG4gICAgcHJvamVjdElkLFxuICAgIGxhbmcsXG4gICAgdXNlcklkLFxuICAgIGZpcnN0TmFtZSxcbiAgICBsYXN0TmFtZSxcbiAgICBjaGF0SWQsXG4gICAgY2xpZW50SWQsXG4gICAgY2xpZW50TmFtZSxcbiAgICBmZWVJZCxcbiAgICBhZ2VudElkLFxuICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgIGlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgICBhdHRhY2htZW50cyxcbiAgICBwcm9qZWN0TmFtZSxcbiAgICB0YXNrSWQsXG4gICAgdGFza05hbWUsXG4gICAgZmFxSWQsXG4gICAgYWdlbnRTdWdnZXN0aW9uSWQsXG4gICAgZnVhSWQsXG4gICAgc2NJZCxcbiAgICBhZ2VudEVudGl0eSxcbiAgICBjb250ZXh0TWVzc2FnZSxcbiAgfSA9IGJvZHlcblxuICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpXG4gIGZvcm1EYXRhLmFwcGVuZCgnaW5wdXQnLCBpbnB1dClcbiAgZm9ybURhdGEuYXBwZW5kKCdzZXNzaW9uX2lkJywgY2hhdElkKVxuXG4gIGlmIChhdHRhY2htZW50cz8ubGVuZ3RoKSB7XG4gICAgdmFsaWRhdGVBdHRhY2htZW50cyhhdHRhY2htZW50cylcblxuICAgIGF0dGFjaG1lbnRzLmZvckVhY2goYXR0YWNobWVudCA9PiB7XG4gICAgICAvLyBVc2FyIGVsIGFyY2hpdm8gb3JpZ2luYWwgc2kgZXhpc3RlIChwYXJhIGltw6FnZW5lcyBwcm9jZXNhZGFzKSwgc2lubyB1c2FyIGVsIGFyY2hpdm8gbm9ybWFsXG4gICAgICBjb25zdCBmaWxlVG9TZW5kID0gYXR0YWNobWVudC5vcmlnaW5hbEZpbGUgfHwgYXR0YWNobWVudC5maWxlXG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGVzJywgZmlsZVRvU2VuZClcbiAgICB9KVxuICB9XG5cbiAgbGV0IG1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBpZiAoYWdlbnRFbnRpdHkgPT09ICdnbG9iYWwnKSB7XG4gICAgbWV0YWRhdGEgPSB7fVxuICB9IGVsc2Uge1xuICAgIG1ldGFkYXRhID0ge1xuICAgICAgbGFuZzogbWFwQ09STGFuZyhsYW5nKSxcbiAgICAgIC4uLih1c2VySWQgPyB7IHVzZXJfaWQ6IHVzZXJJZCB9IDoge30pLFxuICAgICAgLi4uKGZpcnN0TmFtZSA/IHsgZmlyc3RfbmFtZTogZmlyc3ROYW1lIH0gOiB7fSksXG4gICAgICAuLi4obGFzdE5hbWUgPyB7IGxhc3RfbmFtZTogbGFzdE5hbWUgfSA6IHt9KSxcbiAgICAgIC4uLihmZWVJZCAhPSBudWxsID8geyBmZWVfaWQ6IGZlZUlkIH0gOiB7fSksXG4gICAgICAuLi4oY2xpZW50SWQgIT0gbnVsbCA/IHsgY2xpZW50X2lkOiBjbGllbnRJZCB9IDoge30pLFxuICAgICAgLi4uKGNsaWVudE5hbWUgPyB7IGNsaWVudF9uYW1lOiBjbGllbnROYW1lIH0gOiB7fSksXG4gICAgICAuLi4ocHJvamVjdElkID8geyBwcm9qZWN0X2lkOiBwcm9qZWN0SWQgfSA6IHt9KSxcbiAgICAgIC4uLihwcm9qZWN0TmFtZSA/IHsgcHJvamVjdF9uYW1lOiBwcm9qZWN0TmFtZSB9IDoge30pLFxuICAgICAgLi4uKHRhc2tJZCAhPSBudWxsID8geyB0YXNrX2lkOiB0YXNrSWQgfSA6IHt9KSxcbiAgICAgIC4uLih0YXNrTmFtZSA/IHsgdGFza19uYW1lOiB0YXNrTmFtZSB9IDoge30pLFxuICAgICAgc3ViZG9tYWluOiB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuc3BsaXQoJy4nKVswXSxcbiAgICAgIC4uLihjb250ZXh0TWVzc2FnZSAmJiBPYmplY3Qua2V5cyhjb250ZXh0TWVzc2FnZSkubGVuZ3RoID4gMCA/IHsgY29udGV4dF9tZXNzYWdlOiBjb250ZXh0TWVzc2FnZSB9IDoge30pLFxuICAgIH1cbiAgfVxuICBmb3JtRGF0YS5hcHBlbmQoJ21ldGFkYXRhJywgSlNPTi5zdHJpbmdpZnkobWV0YWRhdGEpKVxuXG4gIGxldCBwYXRoID0gJ29yY2hlc3RyYXRvcj9tb2RlPXN0cmVhbSdcbiAgaWYgKGlzV2ViU2VhcmNoQWN0aXZlID09PSB0cnVlKSB7XG4gICAgcGF0aCArPSAnJnNlYXJjaF93ZWI9dHJ1ZSdcbiAgfVxuICBpZiAoaXNEZWVwU2VhcmNoQWN0aXZlID09PSB0cnVlKSB7XG4gICAgcGF0aCArPSAnJnNlYXJjaF93ZWI9dHJ1ZSZkZXB0aD10cnVlJ1xuICB9XG5cbiAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAnWC1BZ2VudC1JZCc6IGFnZW50SWQudG9TdHJpbmcoKSxcbiAgfVxuXG4gIGlmIChmYXFJZCkge1xuICAgIGhlYWRlcnNbJ1gtRmFxLUlkJ10gPSBmYXFJZFxuICB9XG5cbiAgaWYgKGFnZW50U3VnZ2VzdGlvbklkICYmIGFnZW50RW50aXR5ID09PSAnZ2xvYmFsJykge1xuICAgIGhlYWRlcnNbJ1gtQWdlbnQtU3VnZ2VzdGlvbiddID0gYWdlbnRTdWdnZXN0aW9uSWRcbiAgfVxuXG4gIGlmIChmdWFJZCkge1xuICAgIGhlYWRlcnNbJ1gtRnVhLUlkJ10gPSBmdWFJZFxuICB9XG5cbiAgaWYgKHNjSWQpIHtcbiAgICBoZWFkZXJzWydYLVNDLUlkJ10gPSBzY0lkXG4gIH1cblxuICByZXR1cm4gZmV0Y2hNYWlhKHtcbiAgICBwYXRoLFxuICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIGhlYWRlcnMsXG4gICAgYm9keTogZm9ybURhdGEsXG4gICAgc2lnbmFsLFxuICB9KVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQTs7QUFFQSxTQUFTQSxVQUFVLFFBQVEscUJBQXFCO0FBSWhELFNBQVNDLFNBQVMsUUFBUSxXQUFXO0FBQ3JDLFNBQ0VDLHNCQUFzQixFQUN0QkMsa0NBQWtDLEVBQ2xDQyw0QkFBNEIsRUFDNUJDLG9CQUFvQixFQUNwQkMsNEJBQTRCLEVBQzVCQyxzQkFBc0IsUUFDakIscUNBQXFDO0FBcUM1QyxJQUFNQyxTQUFTLEdBQUcsQ0FBQztBQUNuQixJQUFNQyx1QkFBdUIsR0FBR0osb0JBQW9CLEdBQUcs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QyxDQUFDO1lBQUMsR0FDN0N4QixjQUFjLElBQUl5QixNQUFNLENBQUNDLElBQUksQ0FBQzFCLGNBQWMsQ0FBQyxDQUFDckUsTUFBTSxHQUFHLENBQUMsR0FBRztjQUFFZ0csZUFBZSxFQUFFM0I7WUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ3hHO1VBQ0g7VUFDQUMsUUFBUSxDQUFDSSxNQUFNLENBQUMsVUFBVSxFQUFFdUIsSUFBSSxDQUFDQyxTQUFTLENBQUMzQixRQUFRLENBQUMsQ0FBQztVQUVqRGpDLElBQUksR0FBRywwQkFBMEI7VUFDckMsSUFBSXFCLGlCQUFpQixLQUFLLElBQUksRUFBRTtZQUM5QnJCLElBQUksSUFBSSxrQkFBa0I7VUFDNUI7VUFDQSxJQUFJc0Isa0JBQWtCLEtBQUssSUFBSSxFQUFFO1lBQy9CdEIsSUFBSSxJQUFJLDZCQUE2QjtVQUN2QztVQUVNRSxPQUErQixHQUFHO1lBQ3RDLFlBQVksRUFBRWIsT0FBTyxDQUFDYyxRQUFRLENBQUM7VUFDakMsQ0FBQztVQUVELElBQUl1QixLQUFLLEVBQUU7WUFDVHhCLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBR3dCLEtBQUs7VUFDN0I7VUFFQSxJQUFJQyxpQkFBaUIsSUFBSUcsV0FBVyxLQUFLLFFBQVEsRUFBRTtZQUNqRDVCLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHeUIsaUJBQWlCO1VBQ25EO1VBRUEsSUFBSUMsS0FBSyxFQUFFO1lBQ1QxQixPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcwQixLQUFLO1VBQzdCO1VBRUEsSUFBSUMsSUFBSSxFQUFFO1lBQ1IzQixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcyQixJQUFJO1VBQzNCO1VBQUMsT0FBQUssU0FBQSxDQUFBbkMsTUFBQSxXQUVNbkQsU0FBUyxDQUFDO1lBQ2ZvRCxJQUFJLEVBQUpBLElBQUk7WUFDSkMsTUFBTSxFQUFFLE1BQU07WUFDZEMsT0FBTyxFQUFQQSxPQUFPO1lBQ1BuQixJQUFJLEVBQUVpRCxRQUFRO1lBQ2RoRCxNQUFNLEVBQU5BO1VBQ0YsQ0FBQyxDQUFDO1FBQUE7UUFBQTtVQUFBLE9BQUFrRCxTQUFBLENBQUE5QixJQUFBO01BQUE7SUFBQSxHQUFBTyxRQUFBO0VBQUEsQ0FDSDtFQUFBLGdCQWxHWUYsWUFBWUEsQ0FBQW9ELEdBQUEsRUFBQUMsR0FBQTtJQUFBLE9BQUFwRCxLQUFBLENBQUFILEtBQUEsT0FBQUMsU0FBQTtFQUFBO0FBQUEsR0FrR3hCIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import Chats from './Chats';
|
|
2
2
|
import Orchestrator from './Orchestrator';
|
|
3
3
|
import Faqs from './Faqs';
|
|
4
|
+
import Actions from './Actions';
|
|
4
5
|
import RecentProjects from './RecentProjects';
|
|
5
6
|
import RecentClients from './RecentClients';
|
|
6
7
|
export default {
|
|
7
8
|
Chats: Chats,
|
|
8
9
|
Orchestrator: Orchestrator,
|
|
9
10
|
Faqs: Faqs,
|
|
11
|
+
Actions: Actions,
|
|
10
12
|
RecentProjects: RecentProjects,
|
|
11
13
|
RecentClients: RecentClients
|
|
12
14
|
};
|
|
13
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGF0cyIsIk9yY2hlc3RyYXRvciIsIkZhcXMiLCJBY3Rpb25zIiwiUmVjZW50UHJvamVjdHMiLCJSZWNlbnRDbGllbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENoYXRzIGZyb20gJy4vQ2hhdHMnXG5pbXBvcnQgT3JjaGVzdHJhdG9yIGZyb20gJy4vT3JjaGVzdHJhdG9yJ1xuaW1wb3J0IEZhcXMgZnJvbSAnLi9GYXFzJ1xuaW1wb3J0IEFjdGlvbnMgZnJvbSAnLi9BY3Rpb25zJ1xuaW1wb3J0IFJlY2VudFByb2plY3RzIGZyb20gJy4vUmVjZW50UHJvamVjdHMnXG5pbXBvcnQgUmVjZW50Q2xpZW50cyBmcm9tICcuL1JlY2VudENsaWVudHMnXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgQ2hhdHMsXG4gIE9yY2hlc3RyYXRvcixcbiAgRmFxcyxcbiAgQWN0aW9ucyxcbiAgUmVjZW50UHJvamVjdHMsXG4gIFJlY2VudENsaWVudHMsXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLEtBQUssTUFBTSxTQUFTO0FBQzNCLE9BQU9DLFlBQVksTUFBTSxnQkFBZ0I7QUFDekMsT0FBT0MsSUFBSSxNQUFNLFFBQVE7QUFDekIsT0FBT0MsT0FBTyxNQUFNLFdBQVc7QUFDL0IsT0FBT0MsY0FBYyxNQUFNLGtCQUFrQjtBQUM3QyxPQUFPQyxhQUFhLE1BQU0saUJBQWlCO0FBRTNDLGVBQWU7RUFDYkwsS0FBSyxFQUFMQSxLQUFLO0VBQ0xDLFlBQVksRUFBWkEsWUFBWTtFQUNaQyxJQUFJLEVBQUpBLElBQUk7RUFDSkMsT0FBTyxFQUFQQSxPQUFPO0VBQ1BDLGNBQWMsRUFBZEEsY0FBYztFQUNkQyxhQUFhLEVBQWJBO0FBQ0YsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3JlL2NoYXRzU3RvcmUudHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHR5cGUgeyBBZ2VudCB9IGZyb20gJy4uL3R5cGVzL2FnZW50J1xuXG4vKiogSXRlbSBkZWwgbGlzdGFkbyBkZSBjb252ZXJzYWNpb25lcyAoaWd1YWwgZm9ybWEgcXVlIGRldnVlbHZlIGdldENoYXRzQnlVc2VySWQpICovXG5leHBvcnQgdHlwZSBDaGF0TGlzdEl0ZW0gPSB7XG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZyB8IG51bGxcbiAgZGF0ZTogRGF0ZVxuICBhZ2VudDogc3RyaW5nXG4gIGFnZW50SWQ6IG51bWJlclxuICBlbW9qaTogc3RyaW5nIHwgbnVsbFxuICBzZXNzaW9uRXh0ZXJuYWxJZDogc3RyaW5nXG4gIGF0dGFjaG1lbnRzPzogYW55W11cbiAgcHJvamVjdElkPzogbnVtYmVyIHwgc3RyaW5nXG4gIHByb2plY3ROYW1lPzogc3RyaW5nXG4gIGNsaWVudElkPzogbnVtYmVyXG4gIGNsaWVudE5hbWU/
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3JlL2NoYXRzU3RvcmUudHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHR5cGUgeyBBZ2VudCB9IGZyb20gJy4uL3R5cGVzL2FnZW50J1xuXG4vKiogSXRlbSBkZWwgbGlzdGFkbyBkZSBjb252ZXJzYWNpb25lcyAoaWd1YWwgZm9ybWEgcXVlIGRldnVlbHZlIGdldENoYXRzQnlVc2VySWQpICovXG5leHBvcnQgdHlwZSBDaGF0TGlzdEl0ZW0gPSB7XG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZyB8IG51bGxcbiAgZGF0ZTogRGF0ZVxuICBhZ2VudDogc3RyaW5nXG4gIGFnZW50SWQ6IG51bWJlclxuICBlbW9qaTogc3RyaW5nIHwgbnVsbFxuICBzZXNzaW9uRXh0ZXJuYWxJZDogc3RyaW5nXG4gIGF0dGFjaG1lbnRzPzogYW55W11cbiAgcHJvamVjdElkPzogbnVtYmVyIHwgc3RyaW5nXG4gIHByb2plY3ROYW1lPzogc3RyaW5nXG4gIGNsaWVudElkPzogbnVtYmVyXG4gIGNsaWVudE5hbWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgU2VjdGlvblR5cGUgPSAncHJvamVjdCcgfCAnaGVhZGVyJyB8ICdjbGllbnQnIHwgJ3Rhc2snXG5cbmV4cG9ydCB0eXBlIEZldGNoQ2hhdHNQYXJhbXMgPSB7XG4gIGFnZW50OiBBZ2VudCB8IG51bGxcbiAgc2VjdGlvbjogU2VjdGlvblR5cGVcbiAgbGltaXQ/OiBudW1iZXJcbiAgb2Zmc2V0PzogbnVtYmVyXG4gIG9uRXJyb3I/OiAoKSA9PiB2b2lkXG4gIGxhbmc/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgTG9hZE1vcmVDaGF0c1BhcmFtcyA9IHtcbiAgYWdlbnQ6IEFnZW50IHwgbnVsbFxuICBzZWN0aW9uOiBTZWN0aW9uVHlwZVxuICBvbkVycm9yPzogKCkgPT4gdm9pZFxuICBsYW5nPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIERlbGV0ZUNoYXRQYXJhbXMgPSB7XG4gIGNoYXRJZDogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG59XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL0FjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBBY3Rpb24gPSB7XG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZ1xuICBzdWJ0aXRsZTogc3RyaW5nIHwgbnVsbFxuICBwcm9tcHQ6IHN0cmluZ1xuICBsYW5ndWFnZTogc3RyaW5nIHwgbnVsbFxuICBvcmRlcjogbnVtYmVyXG59XG5cbmV4cG9ydCB0eXBlIEFjdGlvblJlc3BvbnNlID0ge1xuICBkYXRhOiBBY3Rpb25bXVxuICBoYXNfbW9yZTogYm9vbGVhblxuICBuZXh0X29mZnNldDogbnVtYmVyIHwgbnVsbFxufVxuIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL1Rhc2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgVGFzayA9IHtcbiAgaWQ6IG51bWJlciB8IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgcHJvamVjdElkPzogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbFxuICBjbGllbnRJZD86IG51bWJlciB8IHN0cmluZyB8IG51bGxcbn1cbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* caller puede decidir si incluir o no la key en el payload.
|
|
13
13
|
*/
|
|
14
14
|
export var buildContextMessage = function buildContextMessage(mentions) {
|
|
15
|
-
if (!mentions || mentions.length === 0) return undefined;
|
|
15
|
+
if (!mentions || !Array.isArray(mentions) || mentions.length === 0) return undefined;
|
|
16
16
|
var result = {};
|
|
17
17
|
mentions.forEach(function (m) {
|
|
18
18
|
var entity = {
|
|
@@ -34,4 +34,4 @@ export var buildContextMessage = function buildContextMessage(mentions) {
|
|
|
34
34
|
* único para que el visual se mantenga consistente en cualquier lugar.
|
|
35
35
|
*/
|
|
36
36
|
export var CONTEXT_MENTION_CHIP_CLASS = 'maia-context-mention-chip';
|
|
37
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJidWlsZENvbnRleHRNZXNzYWdlIiwibWVudGlvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJyZXN1bHQiLCJmb3JFYWNoIiwibSIsImVudGl0eSIsImlkIiwibmFtZSIsImxhYmVsIiwidHlwZSIsImJ1Y2tldCIsInNvbWUiLCJlIiwiU3RyaW5nIiwicHVzaCIsIkNPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2NvbnRleHRNZW50aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIENvbnRleHRFbnRpdHlUeXBlID0gJ2NsaWVudCcgfCAncHJvamVjdCcgfCAndGFzaycgfCAndXNlcicgfCAnbWNwJ1xuXG5leHBvcnQgdHlwZSBDb250ZXh0TWVudGlvbiA9IHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlclxuICB0eXBlOiBDb250ZXh0RW50aXR5VHlwZVxuICBsYWJlbDogc3RyaW5nXG4gIG1ldGFkYXRhPzoge1xuICAgIGNsaWVudElkPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbFxuICAgIGNsaWVudE5hbWU/OiBzdHJpbmcgfCBudWxsXG4gICAgcHJvamVjdElkPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbFxuICAgIHByb2plY3ROYW1lPzogc3RyaW5nIHwgbnVsbFxuICAgIGZlZUlkPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbFxuICAgIC8qKiBUYXJlYSBwYWRyZSAoc3VidGFyZWFzIGVuIHJlc3VsdGFkb3MgZGUgYHNlYXJjaGApICovXG4gICAgZmF0aGVySWQ/OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsXG4gICAgZmF0aGVyVGl0bGU/OiBzdHJpbmcgfCBudWxsXG4gICAgdG90YWxQcm95ZWN0b3M/OiBudW1iZXIgfCBudWxsXG4gICAgLyoqXG4gICAgICogTm9tYnJlIGNvbXBsZXRvIGRlc2RlIGxhIHF1ZXJ5IChwLiBlai4gZGlyZWN0b3JpbykuIEVsIGBsYWJlbGAgZGVsIGNoaXAgcHVlZGUgc2VyXG4gICAgICogZGlzdGludG8gKGVqLiBcIllvXCIpOyBwYXJhIGF2YXRhci9pbmljaWFsZXMgdXNhciBlc3RlIGNhbXBvLCBpZ3VhbCBxdWUgZW4gbGEgZmlsYSBkZWwgbW9kYWwuXG4gICAgICovXG4gICAgbmFtZT86IHN0cmluZyB8IG51bGxcbiAgICAvKiogRGlyZWN0b3JpbyBkZSB1c3VhcmlvcyAodXNlcnNEaXJlY3RvcnkpICovXG4gICAgcGljdHVyZT86IHN0cmluZyB8IG51bGxcbiAgICBwb3NpdGlvbk5hbWU/OiBzdHJpbmcgfCBudWxsXG4gICAgZW1haWw/OiBzdHJpbmcgfCBudWxsXG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgQ29udGV4dE1lbnRpb25CcmVhZGNydW1iID0ge1xuICAvKiogQ2FudGlkYWQgZGUgaXRlbXMgcmVsYWNpb25hZG9zIChwLmVqLiBcIjEzIHByb3llY3Rvc1wiIGVuIHVuIGNsaWVudCkgKi9cbiAgY291bnQ/OiBudW1iZXJcbiAgLyoqIEV0aXF1ZXRhIGRlbCBjb250ZW8geWEgdHJhZHVjaWRhIChwLmVqLiBcInByb3llY3Rvc1wiKSAqL1xuICBjb3VudExhYmVsPzogc3RyaW5nXG4gIC8qKiBFbnRpZGFkIHBhZHJlIChwLmVqLiBub21icmUgZGVsIGNsaWVudCBkZWwgcHJvamVjdCkgKi9cbiAgcGFyZW50Pzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIENvbnRleHRNZW50aW9uSXRlbSA9IHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlclxuICB0eXBlOiBDb250ZXh0RW50aXR5VHlwZVxuICAvKiogVGV4dG8gcHJpbmNpcGFsIG1vc3RyYWRvIGVuIGxhIGZpbGEgKi9cbiAgcHJpbWFyeTogc3RyaW5nXG4gIC8qKiBSYW5nbyBkZWwgcXVlcnkgYnVzY2FkbyBkZW50cm8gZGUgYHByaW1hcnlgIHBhcmEgcmVzYWx0YXIgKi9cbiAgcHJpbWFyeUhpZ2hsaWdodD86IHsgc3RhcnQ6IG51bWJlcjsgbGVuZ3RoOiBudW1iZXIgfVxuICAvKiogRGF0b3Mgc2VjdW5kYXJpb3Mgb3BjaW9uYWxlcyBwYXJhIGVsIGJyZWFkY3J1bWIgKi9cbiAgYnJlYWRjcnVtYj86IENvbnRleHRNZW50aW9uQnJlYWRjcnVtYlxuICAvKiogTWV0YWRhdGEgb3JpZ2luYWwgcGFyYSByZWNvbnN0cnVpciBsYSBtZW50aW9uIGFsIHNlbGVjY2lvbmFyICovXG4gIHJhdzogQ29udGV4dE1lbnRpb25bJ21ldGFkYXRhJ10gJiB7IGlkOiBzdHJpbmcgfCBudW1iZXI7IG5hbWU6IHN0cmluZyB9XG59XG5cbi8qKiBFbnRpZGFkIGNvbnRleHR1YWwgbWVuY2lvbmFkYSAoZm9ybWEgbcOtbmltYSBxdWUgdmlhamEgZW4gbWV0YWRhdGEpICovXG5leHBvcnQgdHlwZSBDb250ZXh0TWVzc2FnZUVudGl0eSA9IHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlclxuICBuYW1lOiBzdHJpbmdcbn1cblxuLyoqXG4gKiBCbG9xdWUgYGNvbnRleHRfbWVzc2FnZWAgcXVlIHZpYWphIGVuIGxhIG1ldGFkYXRhIGRlbCBvcmNoZXN0cmF0b3IgeVxuICogc2UgcGVyc2lzdGUgcG9yLW1lbnNhamUuIFNvbG8gdml2ZSBlbiBlbCBtZW5zYWplIGRvbmRlIHNlIGFncmVnw7MgbGFcbiAqIG1lbmNpw7NuOiBubyBcInBpc2FcIiBlbCBjb250ZXh0byBnbG9iYWwgbmkgc2UgcHJvcGFnYSBhIG90cm9zIHR1cm5vcy5cbiAqL1xuZXhwb3J0IHR5cGUgQ29udGV4dE1lc3NhZ2UgPSB7XG4gIGNsaWVudD86IENvbnRleHRNZXNzYWdlRW50aXR5W11cbiAgcHJvamVjdD86IENvbnRleHRNZXNzYWdlRW50aXR5W11cbiAgdGFzaz86IENvbnRleHRNZXNzYWdlRW50aXR5W11cbiAgdXNlcj86IENvbnRleHRNZXNzYWdlRW50aXR5W11cbiAgbWNwPzogQ29udGV4dE1lc3NhZ2VFbnRpdHlbXVxufVxuXG4vKipcbiAqIEFncnVwYSBsYXMgbWVudGlvbnMgZGVsIGVkaXRvciBwb3IgdGlwbyB5IGRlamEgZWwgc2hhcGUgbcOtbmltbyAoaWQgKyBuYW1lKVxuICogcXVlIGVzcGVyYSBlbCBiYWNrZW5kLiBEZXZ1ZWx2ZSBgdW5kZWZpbmVkYCBjdWFuZG8gbm8gaGF5IG1lbnRpb25zIGFzw60gZWxcbiAqIGNhbGxlciBwdWVkZSBkZWNpZGlyIHNpIGluY2x1aXIgbyBubyBsYSBrZXkgZW4gZWwgcGF5bG9hZC5cbiAqL1xuZXhwb3J0IGNvbnN0IGJ1aWxkQ29udGV4dE1lc3NhZ2UgPSAobWVudGlvbnM/OiBDb250ZXh0TWVudGlvbltdIHwgbnVsbCk6IENvbnRleHRNZXNzYWdlIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKCFtZW50aW9ucyB8fCAhQXJyYXkuaXNBcnJheShtZW50aW9ucykgfHwgbWVudGlvbnMubGVuZ3RoID09PSAwKSByZXR1cm4gdW5kZWZpbmVkXG4gIGNvbnN0IHJlc3VsdDogQ29udGV4dE1lc3NhZ2UgPSB7fVxuICBtZW50aW9ucy5mb3JFYWNoKG0gPT4ge1xuICAgIGNvbnN0IGVudGl0eTogQ29udGV4dE1lc3NhZ2VFbnRpdHkgPSB7IGlkOiBtLmlkLCBuYW1lOiBtLmxhYmVsIH1cbiAgICBpZiAoIXJlc3VsdFttLnR5cGVdKSByZXN1bHRbbS50eXBlXSA9IFtdXG4gICAgY29uc3QgYnVja2V0ID0gcmVzdWx0W20udHlwZV0hXG4gICAgaWYgKCFidWNrZXQuc29tZShlID0+IFN0cmluZyhlLmlkKSA9PT0gU3RyaW5nKGVudGl0eS5pZCkpKSBidWNrZXQucHVzaChlbnRpdHkpXG4gIH0pXG4gIHJldHVybiByZXN1bHRcbn1cblxuLyoqXG4gKiBDbGFzZSBDU1Mva2V5IGRlIGVzdGlsb3MgY29tcGFydGlkYSBlbnRyZSBlbCBjaGlwIGRlbCBlZGl0b3IgeSBlbCBjaGlwXG4gKiByZW5kZXJlYWRvIGVuIGxvcyBtZW5zYWplcyAoY2hhdCBhY3R1YWwgKyBoaXN0b3JpYWwpLiBTaXJ2ZSBjb21vIHB1bnRvXG4gKiDDum5pY28gcGFyYSBxdWUgZWwgdmlzdWFsIHNlIG1hbnRlbmdhIGNvbnNpc3RlbnRlIGVuIGN1YWxxdWllciBsdWdhci5cbiAqL1xuZXhwb3J0IGNvbnN0IENPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTID0gJ21haWEtY29udGV4dC1tZW50aW9uLWNoaXAnXG4iXSwibWFwcGluZ3MiOiJBQWtEQTs7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1BLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQUlDLFFBQWtDLEVBQWlDO0VBQ3JHLElBQUksQ0FBQ0EsUUFBUSxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDRixRQUFRLENBQUMsSUFBSUEsUUFBUSxDQUFDRyxNQUFNLEtBQUssQ0FBQyxFQUFFLE9BQU9DLFNBQVM7RUFDcEYsSUFBTUMsTUFBc0IsR0FBRyxDQUFDLENBQUM7RUFDakNMLFFBQVEsQ0FBQ00sT0FBTyxDQUFDLFVBQUFDLENBQUMsRUFBSTtJQUNwQixJQUFNQyxNQUE0QixHQUFHO01BQUVDLEVBQUUsRUFBRUYsQ0FBQyxDQUFDRSxFQUFFO01BQUVDLElBQUksRUFBRUgsQ0FBQyxDQUFDSTtJQUFNLENBQUM7SUFDaEUsSUFBSSxDQUFDTixNQUFNLENBQUNFLENBQUMsQ0FBQ0ssSUFBSSxDQUFDLEVBQUVQLE1BQU0sQ0FBQ0UsQ0FBQyxDQUFDSyxJQUFJLENBQUMsR0FBRyxFQUFFO0lBQ3hDLElBQU1DLE1BQU0sR0FBR1IsTUFBTSxDQUFDRSxDQUFDLENBQUNLLElBQUksQ0FBRTtJQUM5QixJQUFJLENBQUNDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLFVBQUFDLENBQUM7TUFBQSxPQUFJQyxNQUFNLENBQUNELENBQUMsQ0FBQ04sRUFBRSxDQUFDLEtBQUtPLE1BQU0sQ0FBQ1IsTUFBTSxDQUFDQyxFQUFFLENBQUM7SUFBQSxFQUFDLEVBQUVJLE1BQU0sQ0FBQ0ksSUFBSSxDQUFDVCxNQUFNLENBQUM7RUFDaEYsQ0FBQyxDQUFDO0VBQ0YsT0FBT0gsTUFBTTtBQUNmLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTWEsMEJBQTBCLEdBQUcsMkJBQTJCIiwiaWdub3JlTGlzdCI6W119
|
package/lib/types/global.d.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2dsb2JhbC5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVmICovXG4vKiBlc2xpbnQtZGlzYWJsZSB2YXJzLW9uLXRvcCAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdmFyICovXG4vKiBlc2xpbnQtZGlzYWJsZSBjYW1lbGNhc2UgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IFVzZXJQcm9wcyB9IGZyb20gJy4vdXNlclR5cGUuZCdcblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgV2luZG93IGV4dGVuZHMgV2luZG93IHtcbiAgICBsYW5nOiBzdHJpbmdcbiAgICB1c2VySW5mbzogVXNlclByb3BzXG4gICAgQXBwY3VlczogYW55XG4gICAgbWFpYVByb2plY3RTdW1tYXJ5QWNjZXNzPzogc3RyaW5nXG4gICAgbWFpYUNoYXRBaUFjY2Vzcz86IHN0cmluZ1xuICAgIE1BSUFfUFJPSkVDVF9TVU1NQVJZX0ZFQVRVUkVfQUNDRVNTPzogc3RyaW5nIHwgYm9vbGVhblxuICAgIE1BSUFfTUFSS0VUUExBQ0VfTUFJQUtFUj86IHN0cmluZyB8IGJvb2xlYW5cbiAgICAkX3NjOiBhbnlcbiAgICBvcGVuUGFuZWw/OiAodGFza0lkOiBzdHJpbmcgfCBudW1iZXIsIHNlY3Rpb246IHN0cmluZykgPT4gdm9pZFxuICAgIG5ld1Byb2plY3REYXNoYm9hcmQ/
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2dsb2JhbC5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVmICovXG4vKiBlc2xpbnQtZGlzYWJsZSB2YXJzLW9uLXRvcCAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdmFyICovXG4vKiBlc2xpbnQtZGlzYWJsZSBjYW1lbGNhc2UgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IFVzZXJQcm9wcyB9IGZyb20gJy4vdXNlclR5cGUuZCdcblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgV2luZG93IGV4dGVuZHMgV2luZG93IHtcbiAgICBsYW5nOiBzdHJpbmdcbiAgICB1c2VySW5mbzogVXNlclByb3BzXG4gICAgQXBwY3VlczogYW55XG4gICAgbWFpYVByb2plY3RTdW1tYXJ5QWNjZXNzPzogc3RyaW5nXG4gICAgbWFpYUNoYXRBaUFjY2Vzcz86IHN0cmluZ1xuICAgIE1BSUFfUFJPSkVDVF9TVU1NQVJZX0ZFQVRVUkVfQUNDRVNTPzogc3RyaW5nIHwgYm9vbGVhblxuICAgIE1BSUFfTUFSS0VUUExBQ0VfTUFJQUtFUj86IHN0cmluZyB8IGJvb2xlYW5cbiAgICAkX3NjOiBhbnlcbiAgICBvcGVuUGFuZWw/OiAodGFza0lkOiBzdHJpbmcgfCBudW1iZXIsIHNlY3Rpb246IHN0cmluZykgPT4gdm9pZFxuICAgIG5ld1Byb2plY3REYXNoYm9hcmQ/OiB7XG4gICAgICBhZGRFeGlzdGluZ1Rhc2tUb0Rhc2hib2FyZDogKHRhc2tJZHM6IG51bWJlcltdKSA9PiB2b2lkXG4gICAgICBlZGl0RXhpc3RpbmdUYXNrSW5EYXNoYm9hcmQ6ICh0YXNrSWRzOiBudW1iZXJbXSkgPT4gdm9pZFxuICAgICAgZGVsZXRlRXhpc3RpbmdUYXNrRnJvbURhc2hib2FyZDogKHRhc2tJZHM6IG51bWJlcltdKSA9PiB2b2lkXG4gICAgfVxuICAgIHRhc2tQYW5lbD86IHtcbiAgICAgIHRhc2tJZDogc3RyaW5nXG4gICAgICByZWZldGNoVGFzazogKCkgPT4gdm9pZFxuICAgIH1cbiAgfVxuICBpbnRlcmZhY2UgV2luZG93RXZlbnRNYXAge1xuICAgIC8vIGVuYWJsZWQgd2luZG93IGV2ZW50IGxpc3RlbmVyICdsb2NhdGlvbmNoYW5nZSdcbiAgICBsb2NhdGlvbmNoYW5nZTogQ3VzdG9tRXZlbnRcbiAgfVxuXG4gIHR5cGUgVHJhbnNsYXRpb25GdW5jdGlvbiA9IChrZXk6IHN0cmluZykgPT4gc3RyaW5nXG4gIHZhciAkX2NhOiB7XG4gICAgZ2V0Q29va2llQVRTOiAoKSA9PiBzdHJpbmdcbiAgICByZWZyZXNoVG9rZW46ICgpID0+IFByb21pc2U8dm9pZD5cbiAgfVxuICB2YXIgJF9zYzogYW55XG4gIGRlY2xhcmUgdmFyIHByb2Nlc3M6IE5vZGVKUy5Qcm9jZXNzXG4gIGRlY2xhcmUgdmFyIG1haWFBZ2VudFBtQWNjZXNzOiBzdHJpbmdcbiAgZGVjbGFyZSB2YXIgTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUzogc3RyaW5nXG4gIGRlY2xhcmUgdmFyIE1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUzogc3RyaW5nXG4gIGRlY2xhcmUgdmFyIE1BSUFfTUFSS0VUUExBQ0VfTUFJQUtFUjogc3RyaW5nXG4gIGRlY2xhcmUgdmFyIG1haWFQcm9qZWN0U3VtbWFyeUFjY2Vzczogc3RyaW5nXG4gIGRlY2xhcmUgdmFyIG1haWFGYXFzQWNjZXNzOiBzdHJpbmdcbn1cbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
|