@projectcor/people-microfront 1.0.10-1 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/package.json +1 -1
  2. package/lib/App.js +0 -28
  3. package/lib/App.stories.js +0 -134
  4. package/lib/Providers.js +0 -30
  5. package/lib/components/Backdrop/Background.interface.js +0 -2
  6. package/lib/components/Backdrop/Background.js +0 -12
  7. package/lib/components/Backdrop/Background.style.js +0 -9
  8. package/lib/components/Backdrop/index.js +0 -2
  9. package/lib/components/DeleteTeamModal/DeleteTeamModal.js +0 -69
  10. package/lib/components/DeleteTeamModal/DeleteTeamModal.styles.js +0 -55
  11. package/lib/components/DeleteTeamModal/DeleteTeamModal.types.js +0 -2
  12. package/lib/components/DeleteTeamModal/index.js +0 -2
  13. package/lib/components/DeletedUserIcon/DeletedUserIcon.js +0 -22
  14. package/lib/components/DeletedUserIcon/DeletedUserIcon.styles.js +0 -7
  15. package/lib/components/DeletedUserIcon/index.js +0 -2
  16. package/lib/components/DisabledUserIcon/DisabledUserIcon.js +0 -25
  17. package/lib/components/DisabledUserIcon/DisabledUserIcon.styles.js +0 -7
  18. package/lib/components/DisabledUserIcon/index.js +0 -2
  19. package/lib/components/EmptyStateTeams/EmptyStateTeams.js +0 -195
  20. package/lib/components/EmptyStateTeams/EmptyStateTeams.styles.js +0 -7
  21. package/lib/components/EmptyStateTeams/index.js +0 -2
  22. package/lib/components/EmptyUser/EmptyUser.js +0 -20
  23. package/lib/components/EmptyUser/EmptyUser.styles.js +0 -18
  24. package/lib/components/EmptyUser/index.js +0 -3
  25. package/lib/components/ErrorComponent/ErrorComponent.js +0 -24
  26. package/lib/components/ErrorComponent/ErrorComponent.spec.js +0 -30
  27. package/lib/components/ErrorComponent/ErrorComponent.styles.js +0 -19
  28. package/lib/components/ErrorComponent/index.js +0 -2
  29. package/lib/components/ErrorTeams/ErrorTeams.js +0 -118
  30. package/lib/components/ErrorTeams/ErrorTeams.styles.js +0 -7
  31. package/lib/components/ErrorTeams/index.js +0 -2
  32. package/lib/components/Filters/FilterChip/FilterChip.js +0 -165
  33. package/lib/components/Filters/FilterChip/FilterChip.styles.js +0 -6
  34. package/lib/components/Filters/FilterChip/index.js +0 -2
  35. package/lib/components/Filters/LabelFilter/LabelFilter.js +0 -89
  36. package/lib/components/Filters/LabelFilter/LabelFilter.styles.js +0 -32
  37. package/lib/components/Filters/SearchComponent/SearchComponent.js +0 -28
  38. package/lib/components/Filters/SearchComponent/SearchComponent.styles.js +0 -22
  39. package/lib/components/Filters/SearchComponent/index.js +0 -2
  40. package/lib/components/Filters/index.js +0 -2
  41. package/lib/components/HeaderTeams/HeaderTeams.js +0 -37
  42. package/lib/components/HeaderTeams/HeaderTeams.style.js +0 -15
  43. package/lib/components/HeaderTeams/index.js +0 -2
  44. package/lib/components/Icons/UserBlockIcon.js +0 -25
  45. package/lib/components/Icons/UserIconLock.js +0 -43
  46. package/lib/components/Icons/UserIconWithCross.js +0 -21
  47. package/lib/components/Icons/index.js +0 -4
  48. package/lib/components/Illustration/EmptyFilter.js +0 -67
  49. package/lib/components/Illustration/EmptyUser.js +0 -141
  50. package/lib/components/Illustration/index.js +0 -2
  51. package/lib/components/Layout/Layout.js +0 -37
  52. package/lib/components/Layout/Layout.styles.js +0 -26
  53. package/lib/components/Layout/index.js +0 -2
  54. package/lib/components/Loader/Loader.js +0 -11
  55. package/lib/components/Loader/Loader.styles.js +0 -6
  56. package/lib/components/Loader/index.js +0 -2
  57. package/lib/components/Loading/LoadingComponent.js +0 -19
  58. package/lib/components/Loading/LoadingComponent.style.js +0 -15
  59. package/lib/components/Loading/index.js +0 -2
  60. package/lib/components/MenuOptions/MenuOptions.js +0 -220
  61. package/lib/components/MenuOptions/MenuOptions.styles.js +0 -18
  62. package/lib/components/MenuOptions/index.js +0 -2
  63. package/lib/components/Modal/ModalLayout.interface.js +0 -2
  64. package/lib/components/Modal/ModalLayout.js +0 -25
  65. package/lib/components/Modal/ModalLayout.style.js +0 -26
  66. package/lib/components/Modal/index.js +0 -2
  67. package/lib/components/ModalBlockedUser/ModalBlockedUser.js +0 -47
  68. package/lib/components/ModalBlockedUser/ModalBlockedUser.styles.js +0 -14
  69. package/lib/components/ModalBlockedUser/index.js +0 -2
  70. package/lib/components/ModalEditUserPosition/ModalEditUserPosition.js +0 -136
  71. package/lib/components/ModalEditUserPosition/ModalEditUserPosition.styles.js +0 -37
  72. package/lib/components/ModalEditUserPosition/UserEditPositionRow.js +0 -216
  73. package/lib/components/ModalEditUserPosition/UserEditPositionRow.styles.js +0 -61
  74. package/lib/components/ModalEditUserPosition/index.js +0 -2
  75. package/lib/components/ModalOptionsWithSearch/ConfirmButton.js +0 -19
  76. package/lib/components/ModalOptionsWithSearch/ModalOptionsWithSearch.js +0 -177
  77. package/lib/components/ModalOptionsWithSearch/ModalOptionsWithSearch.styles.js +0 -46
  78. package/lib/components/ModalOptionsWithSearch/SearchInput.js +0 -20
  79. package/lib/components/Pagination/Pagination.styles.js +0 -26
  80. package/lib/components/Pagination/PaginationView.js +0 -83
  81. package/lib/components/Pagination/index.js +0 -2
  82. package/lib/components/Search/InputSearch.js +0 -23
  83. package/lib/components/Search/Search.js +0 -41
  84. package/lib/components/Search/Search.styles.js +0 -15
  85. package/lib/components/Search/index.js +0 -2
  86. package/lib/components/Snackbar/Snackbar.interface.js +0 -2
  87. package/lib/components/Snackbar/Snackbar.js +0 -35
  88. package/lib/components/Snackbar/Snackbar.styles.js +0 -18
  89. package/lib/components/Snackbar/index.js +0 -2
  90. package/lib/components/Table/Header/HeaderTable.js +0 -208
  91. package/lib/components/Table/Header/HeaderTable.styles.js +0 -15
  92. package/lib/components/Table/Header/index.js +0 -2
  93. package/lib/components/Table/Row/Row.js +0 -112
  94. package/lib/components/Table/Row/Row.styles.js +0 -91
  95. package/lib/components/Table/Row/index.js +0 -2
  96. package/lib/components/Table/TeamRow/AddMemberModal/AddMemberModal.js +0 -68
  97. package/lib/components/Table/TeamRow/AddMemberModal/AddMemberModal.styles.js +0 -39
  98. package/lib/components/Table/TeamRow/AddMemberModal/index.js +0 -2
  99. package/lib/components/Table/TeamRow/AddUsers/AddUsers.js +0 -246
  100. package/lib/components/Table/TeamRow/AddUsers/AddUsers.styles.js +0 -32
  101. package/lib/components/Table/TeamRow/AddUsers/index.js +0 -2
  102. package/lib/components/Table/TeamRow/RemoveMemberModal/RemoveMemberModal.js +0 -68
  103. package/lib/components/Table/TeamRow/RemoveMemberModal/RemoveMemberModal.styles.js +0 -39
  104. package/lib/components/Table/TeamRow/RemoveMemberModal/index.js +0 -2
  105. package/lib/components/Table/TeamRow/TeamRow.js +0 -131
  106. package/lib/components/Table/TeamRow/TeamRow.styles.js +0 -7
  107. package/lib/components/Table/TeamRow/UsersRow/UsersRow.js +0 -195
  108. package/lib/components/Table/TeamRow/UsersRow/UsersRow.styles.js +0 -41
  109. package/lib/components/Table/TeamRow/UsersRow/index.js +0 -2
  110. package/lib/components/Table/TeamRow/index.js +0 -2
  111. package/lib/components/TeamDetailsModal/MembersSelect.js +0 -181
  112. package/lib/components/TeamDetailsModal/TeamDetailsModal.js +0 -276
  113. package/lib/components/TeamDetailsModal/TeamDetailsModal.styles.js +0 -130
  114. package/lib/components/TeamDetailsModal/TeamDetailsModal.types.js +0 -2
  115. package/lib/components/TeamDetailsModal/index.js +0 -2
  116. package/lib/components/UserRow/UserRow.js +0 -83
  117. package/lib/components/UserRow/UserRow.stories.js +0 -17
  118. package/lib/components/UserRow/UserRow.styles.js +0 -51
  119. package/lib/constants/gqlClient.js +0 -4
  120. package/lib/constants/peopleFilterEventTypes.js +0 -9
  121. package/lib/container/Body/BodyContainer.js +0 -130
  122. package/lib/container/Body/BodyContainerViewTeams.js +0 -216
  123. package/lib/container/Filters/FiltersContainer.js +0 -494
  124. package/lib/container/Filters/FiltersTeamsContainer.js +0 -159
  125. package/lib/container/MainView/MainTeamsView.js +0 -69
  126. package/lib/container/MainView/MainUsersView.js +0 -159
  127. package/lib/container/MainView/MainUsersView.styles.js +0 -32
  128. package/lib/container/MainView/MainView.js +0 -139
  129. package/lib/container/Pagination/PaginationContainer.js +0 -32
  130. package/lib/container/Pagination/PaginationTeamsContainer.js +0 -32
  131. package/lib/container/RouterComponent/RouterComponent.js +0 -110
  132. package/lib/container/RouterComponent/RouterComponent.stories.js +0 -12
  133. package/lib/container/RouterComponent/RouterComponent.styles.js +0 -26
  134. package/lib/container/RouterComponent/index.js +0 -2
  135. package/lib/container/TableContainer/TableContainer.js +0 -62
  136. package/lib/container/index.js +0 -2
  137. package/lib/context/TeamsContext.js +0 -49
  138. package/lib/context/UsersContext.js +0 -220
  139. package/lib/hooks/useAbortController.js +0 -21
  140. package/lib/hooks/useAssignUserToTeam.js +0 -77
  141. package/lib/hooks/useAssignedWorkspacesFromHost.js +0 -103
  142. package/lib/hooks/useCreateTeams.js +0 -67
  143. package/lib/hooks/useDebounce.js +0 -18
  144. package/lib/hooks/useDebouncedCallback.js +0 -27
  145. package/lib/hooks/useDeleteTeam.js +0 -69
  146. package/lib/hooks/useGetTeams.js +0 -73
  147. package/lib/hooks/useGetTotalPositions.js +0 -24
  148. package/lib/hooks/useGetTotalTeams.js +0 -24
  149. package/lib/hooks/useGetUserPositionFilter.js +0 -32
  150. package/lib/hooks/useGetUsers.js +0 -128
  151. package/lib/hooks/useGetUsersForFilter.js +0 -51
  152. package/lib/hooks/useGraphAdapter.js +0 -71
  153. package/lib/hooks/useLoadMoreGuard.js +0 -16
  154. package/lib/hooks/useResize.js +0 -34
  155. package/lib/hooks/useSearchEvent.js +0 -18
  156. package/lib/hooks/useUnassignUserFromTeam.js +0 -67
  157. package/lib/hooks/useUnblockUser.js +0 -47
  158. package/lib/hooks/useUpdateTeam.js +0 -67
  159. package/lib/hooks/useUpdateUserPositions.js +0 -58
  160. package/lib/hooks/useUserPositionCategories.js +0 -38
  161. package/lib/index.css +0 -28
  162. package/lib/index.js +0 -10
  163. package/lib/lang/i18next.js +0 -19
  164. package/lib/lang/i18nextForWeb.js +0 -25
  165. package/lib/lang/resource.js +0 -11
  166. package/lib/lang/translation/br.json +0 -179
  167. package/lib/lang/translation/en.json +0 -180
  168. package/lib/lang/translation/es.json +0 -180
  169. package/lib/lang/translation/fr.json +0 -180
  170. package/lib/mocks/mockedUser.js +0 -101
  171. package/lib/query/assignUserToTeam.js +0 -5
  172. package/lib/query/createTeam.js +0 -5
  173. package/lib/query/deleteTeam.js +0 -5
  174. package/lib/query/getTeams.js +0 -5
  175. package/lib/query/getTotalPositions.js +0 -5
  176. package/lib/query/getTotalTeams.js +0 -5
  177. package/lib/query/getUserPositionCategory.js +0 -5
  178. package/lib/query/getUserPositionFilter.js +0 -5
  179. package/lib/query/getUsers.js +0 -5
  180. package/lib/query/getWorkspaces.js +0 -5
  181. package/lib/query/unassignUserFromTeam.js +0 -5
  182. package/lib/query/updateTeam.js +0 -5
  183. package/lib/query/updateUserPosition.js +0 -5
  184. package/lib/query/userUnblock.js +0 -5
  185. package/lib/types/global.d.js +0 -2
  186. package/lib/types/userType.d.js +0 -2
  187. package/lib/utils/ApolloMicroServiceClient.js +0 -3
  188. package/lib/utils/formatNumber.js +0 -55
  189. package/lib/utils/isCorWorkspacesFeatureEnabled.js +0 -15
  190. package/lib/utils/peopleFiltersStorage.js +0 -128
  191. package/lib/utils/peopleFiltersUrl.js +0 -147
  192. package/lib/utils/sanitizeHtml.js +0 -11
  193. package/lib/utils/tabUrl.js +0 -16
@@ -1,195 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import React, { useState, useRef, useEffect } from 'react';
3
- import { useTranslation } from 'react-i18next';
4
- import pallete from '@projectcor/theme/lib/base/colors';
5
- import { AvatarUser } from '@projectcor/cor-commons/lib/components/avatar-user';
6
- import { Cross } from '@projectcor/icons/lib/components/Cross';
7
- import { ChevronLeft } from '@projectcor/icons/lib/components/ChevronLeft';
8
- import { ChevronRight } from '@projectcor/icons/lib/components/ChevronRight';
9
- import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
10
- import { AddUsers } from '../AddUsers';
11
- import { AddMemberModal } from '../AddMemberModal';
12
- import { RemoveMemberModal } from '../RemoveMemberModal';
13
- import { SCURUserContainer, SCURUserAvatar, SCURRemoveIcon, SCURAddUsersWrapper, SCURSliderWrapper, SCURSliderContainer, SCURSliderContent, SCURNavButton } from './UsersRow.styles';
14
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
15
- export var UsersRow = function UsersRow(_ref) {
16
- var team = _ref.team,
17
- onRemoveUser = _ref.onRemoveUser,
18
- onAddUser = _ref.onAddUser;
19
- var _useTranslation = useTranslation(),
20
- t = _useTranslation.t;
21
- var currentMembers = team.users.map(function (user) {
22
- return {
23
- id: user.id,
24
- name: "".concat(user.firstName, " ").concat(user.lastName)
25
- };
26
- });
27
- var _useState = useState(false),
28
- _useState2 = _slicedToArray(_useState, 2),
29
- isModalOpen = _useState2[0],
30
- setIsModalOpen = _useState2[1];
31
- var _useState3 = useState(null),
32
- _useState4 = _slicedToArray(_useState3, 2),
33
- pendingMembers = _useState4[0],
34
- setPendingMembers = _useState4[1];
35
- var _useState5 = useState(false),
36
- _useState6 = _slicedToArray(_useState5, 2),
37
- isRemoveModalOpen = _useState6[0],
38
- setIsRemoveModalOpen = _useState6[1];
39
- var _useState7 = useState(null),
40
- _useState8 = _slicedToArray(_useState7, 2),
41
- userToRemove = _useState8[0],
42
- setUserToRemove = _useState8[1];
43
- var _useState9 = useState(false),
44
- _useState0 = _slicedToArray(_useState9, 2),
45
- showLeftButton = _useState0[0],
46
- setShowLeftButton = _useState0[1];
47
- var _useState1 = useState(true),
48
- _useState10 = _slicedToArray(_useState1, 2),
49
- showRightButton = _useState10[0],
50
- setShowRightButton = _useState10[1];
51
- var sliderRef = useRef(null);
52
- var handleAddMembers = function handleAddMembers(member) {
53
- setPendingMembers(member);
54
- setIsModalOpen(true);
55
- };
56
- var handleModalAccept = function handleModalAccept(giveAccessToAllProjects) {
57
- if (pendingMembers) {
58
- onAddUser(+team.id, pendingMembers.id, giveAccessToAllProjects);
59
- setIsModalOpen(false);
60
- setPendingMembers(null);
61
- }
62
- };
63
- var handleModalClose = function handleModalClose() {
64
- setIsModalOpen(false);
65
- setPendingMembers(null);
66
- };
67
- var handleRemoveUser = function handleRemoveUser(e, userId) {
68
- e.stopPropagation();
69
- setUserToRemove(userId);
70
- setIsRemoveModalOpen(true);
71
- };
72
- var handleRemoveModalAccept = function handleRemoveModalAccept(deleteFromProjects) {
73
- if (userToRemove !== null) {
74
- onRemoveUser(+team.id, userToRemove, deleteFromProjects);
75
- }
76
- setIsRemoveModalOpen(false);
77
- setUserToRemove(null);
78
- };
79
- var handleRemoveModalClose = function handleRemoveModalClose() {
80
- setIsRemoveModalOpen(false);
81
- setUserToRemove(null);
82
- };
83
- var checkScrollButtons = function checkScrollButtons() {
84
- if (sliderRef.current) {
85
- var _sliderRef$current = sliderRef.current,
86
- _scrollLeft = _sliderRef$current.scrollLeft,
87
- scrollWidth = _sliderRef$current.scrollWidth,
88
- clientWidth = _sliderRef$current.clientWidth;
89
- setShowLeftButton(_scrollLeft > 0);
90
- setShowRightButton(_scrollLeft < scrollWidth - (clientWidth + 20) - 1);
91
- }
92
- };
93
- useEffect(function () {
94
- // Esperar un momento para que el DOM se actualice
95
- var timer = setTimeout(function () {
96
- checkScrollButtons();
97
- }, 0);
98
- var slider = sliderRef.current;
99
- if (slider) {
100
- slider.addEventListener('scroll', checkScrollButtons);
101
- return function () {
102
- clearTimeout(timer);
103
- slider.removeEventListener('scroll', checkScrollButtons);
104
- };
105
- }
106
- return function () {
107
- return clearTimeout(timer);
108
- };
109
- }, [team.users]);
110
- var scrollLeft = function scrollLeft() {
111
- if (sliderRef.current) {
112
- var scrollAmount = 200;
113
- sliderRef.current.scrollBy({
114
- left: -scrollAmount,
115
- behavior: 'smooth'
116
- });
117
- }
118
- };
119
- var scrollRight = function scrollRight() {
120
- if (sliderRef.current) {
121
- var scrollAmount = 200;
122
- sliderRef.current.scrollBy({
123
- left: scrollAmount,
124
- behavior: 'smooth'
125
- });
126
- }
127
- };
128
- return /*#__PURE__*/_jsxs(_Fragment, {
129
- children: [/*#__PURE__*/_jsxs(SCURSliderWrapper, {
130
- children: [showLeftButton && /*#__PURE__*/_jsx(SCURNavButton, {
131
- onClick: scrollLeft,
132
- "aria-label": t('people.accessibility.scrollLeft'),
133
- left: "-4px",
134
- children: /*#__PURE__*/_jsx(ChevronLeft, {
135
- width: "16px",
136
- height: "16px",
137
- color: pallete.grey[400]
138
- })
139
- }), /*#__PURE__*/_jsx(SCURSliderContainer, {
140
- ref: sliderRef,
141
- children: /*#__PURE__*/_jsx(SCURSliderContent, {
142
- children: team.users.map(function (user) {
143
- return /*#__PURE__*/_jsxs(SCURUserContainer, {
144
- children: [/*#__PURE__*/_jsx(Tooltip, {
145
- title: "".concat(user.firstName, " ").concat(user.lastName),
146
- placement: "top",
147
- children: /*#__PURE__*/_jsx(SCURUserAvatar, {
148
- children: /*#__PURE__*/_jsx(AvatarUser, {
149
- firstName: user.firstName,
150
- lastName: user.lastName,
151
- picture: user.picture
152
- })
153
- })
154
- }), !window.hasWorkspacesFeature && /*#__PURE__*/_jsx(SCURRemoveIcon, {
155
- onClick: function onClick(e) {
156
- return handleRemoveUser(e, user.id);
157
- },
158
- role: "button",
159
- tabIndex: 0,
160
- children: /*#__PURE__*/_jsx(Cross, {
161
- width: "11px",
162
- height: "11px",
163
- color: pallete.grey[400]
164
- })
165
- })]
166
- }, user.id);
167
- })
168
- })
169
- }), showRightButton && /*#__PURE__*/_jsx(SCURNavButton, {
170
- onClick: scrollRight,
171
- "aria-label": t('people.accessibility.scrollRight'),
172
- right: "-4px",
173
- children: /*#__PURE__*/_jsx(ChevronRight, {
174
- width: "16px",
175
- height: "16px",
176
- color: pallete.grey[400]
177
- })
178
- })]
179
- }), !window.hasWorkspacesFeature && /*#__PURE__*/_jsx(SCURAddUsersWrapper, {
180
- children: /*#__PURE__*/_jsx(AddUsers, {
181
- currentMembers: currentMembers,
182
- onAddMembers: handleAddMembers
183
- })
184
- }), /*#__PURE__*/_jsx(AddMemberModal, {
185
- isOpen: isModalOpen,
186
- onClose: handleModalClose,
187
- onAccept: handleModalAccept
188
- }), /*#__PURE__*/_jsx(RemoveMemberModal, {
189
- isOpen: isRemoveModalOpen,
190
- onClose: handleRemoveModalClose,
191
- onAccept: handleRemoveModalAccept
192
- })]
193
- });
194
- };
195
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlUmVmIiwidXNlRWZmZWN0IiwidXNlVHJhbnNsYXRpb24iLCJwYWxsZXRlIiwiQXZhdGFyVXNlciIsIkNyb3NzIiwiQ2hldnJvbkxlZnQiLCJDaGV2cm9uUmlnaHQiLCJUb29sdGlwIiwiQWRkVXNlcnMiLCJBZGRNZW1iZXJNb2RhbCIsIlJlbW92ZU1lbWJlck1vZGFsIiwiU0NVUlVzZXJDb250YWluZXIiLCJTQ1VSVXNlckF2YXRhciIsIlNDVVJSZW1vdmVJY29uIiwiU0NVUkFkZFVzZXJzV3JhcHBlciIsIlNDVVJTbGlkZXJXcmFwcGVyIiwiU0NVUlNsaWRlckNvbnRhaW5lciIsIlNDVVJTbGlkZXJDb250ZW50IiwiU0NVUk5hdkJ1dHRvbiIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIlVzZXJzUm93IiwiX3JlZiIsInRlYW0iLCJvblJlbW92ZVVzZXIiLCJvbkFkZFVzZXIiLCJfdXNlVHJhbnNsYXRpb24iLCJ0IiwiY3VycmVudE1lbWJlcnMiLCJ1c2VycyIsIm1hcCIsInVzZXIiLCJpZCIsIm5hbWUiLCJjb25jYXQiLCJmaXJzdE5hbWUiLCJsYXN0TmFtZSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzTW9kYWxPcGVuIiwic2V0SXNNb2RhbE9wZW4iLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInBlbmRpbmdNZW1iZXJzIiwic2V0UGVuZGluZ01lbWJlcnMiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzUmVtb3ZlTW9kYWxPcGVuIiwic2V0SXNSZW1vdmVNb2RhbE9wZW4iLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInVzZXJUb1JlbW92ZSIsInNldFVzZXJUb1JlbW92ZSIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwic2hvd0xlZnRCdXR0b24iLCJzZXRTaG93TGVmdEJ1dHRvbiIsIl91c2VTdGF0ZTEiLCJfdXNlU3RhdGUxMCIsInNob3dSaWdodEJ1dHRvbiIsInNldFNob3dSaWdodEJ1dHRvbiIsInNsaWRlclJlZiIsImhhbmRsZUFkZE1lbWJlcnMiLCJtZW1iZXIiLCJoYW5kbGVNb2RhbEFjY2VwdCIsImdpdmVBY2Nlc3NUb0FsbFByb2plY3RzIiwiaGFuZGxlTW9kYWxDbG9zZSIsImhhbmRsZVJlbW92ZVVzZXIiLCJlIiwidXNlcklkIiwic3RvcFByb3BhZ2F0aW9uIiwiaGFuZGxlUmVtb3ZlTW9kYWxBY2NlcHQiLCJkZWxldGVGcm9tUHJvamVjdHMiLCJoYW5kbGVSZW1vdmVNb2RhbENsb3NlIiwiY2hlY2tTY3JvbGxCdXR0b25zIiwiY3VycmVudCIsIl9zbGlkZXJSZWYkY3VycmVudCIsInNjcm9sbExlZnQiLCJzY3JvbGxXaWR0aCIsImNsaWVudFdpZHRoIiwidGltZXIiLCJzZXRUaW1lb3V0Iiwic2xpZGVyIiwiYWRkRXZlbnRMaXN0ZW5lciIsImNsZWFyVGltZW91dCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJzY3JvbGxBbW91bnQiLCJzY3JvbGxCeSIsImxlZnQiLCJiZWhhdmlvciIsInNjcm9sbFJpZ2h0IiwiY2hpbGRyZW4iLCJvbkNsaWNrIiwid2lkdGgiLCJoZWlnaHQiLCJjb2xvciIsImdyZXkiLCJyZWYiLCJ0aXRsZSIsInBsYWNlbWVudCIsInBpY3R1cmUiLCJ3aW5kb3ciLCJoYXNXb3Jrc3BhY2VzRmVhdHVyZSIsInJvbGUiLCJ0YWJJbmRleCIsInJpZ2h0Iiwib25BZGRNZW1iZXJzIiwiaXNPcGVuIiwib25DbG9zZSIsIm9uQWNjZXB0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVGFibGUvVGVhbVJvdy9Vc2Vyc1Jvdy9Vc2Vyc1Jvdy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VSZWYsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHBhbGxldGUgZnJvbSAnQHByb2plY3Rjb3IvdGhlbWUvbGliL2Jhc2UvY29sb3JzJ1xuaW1wb3J0IHsgQXZhdGFyVXNlciB9IGZyb20gJ0Bwcm9qZWN0Y29yL2Nvci1jb21tb25zL2xpYi9jb21wb25lbnRzL2F2YXRhci11c2VyJ1xuaW1wb3J0IHsgQ3Jvc3MgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9Dcm9zcydcbmltcG9ydCB7IENoZXZyb25MZWZ0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hldnJvbkxlZnQnXG5pbXBvcnQgeyBDaGV2cm9uUmlnaHQgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGV2cm9uUmlnaHQnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyBUZWFtIH0gZnJvbSAnLi4vLi4vLi4vVGVhbURldGFpbHNNb2RhbC9UZWFtRGV0YWlsc01vZGFsLnR5cGVzJ1xuaW1wb3J0IHsgQWRkVXNlcnMgfSBmcm9tICcuLi9BZGRVc2VycydcbmltcG9ydCB7IE1lbWJlclNlbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL1RlYW1EZXRhaWxzTW9kYWwvTWVtYmVyc1NlbGVjdCdcbmltcG9ydCB7IEFkZE1lbWJlck1vZGFsIH0gZnJvbSAnLi4vQWRkTWVtYmVyTW9kYWwnXG5pbXBvcnQgeyBSZW1vdmVNZW1iZXJNb2RhbCB9IGZyb20gJy4uL1JlbW92ZU1lbWJlck1vZGFsJ1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzL3VzZXJUeXBlJ1xuaW1wb3J0IHtcbiAgU0NVUlVzZXJDb250YWluZXIsXG4gIFNDVVJVc2VyQXZhdGFyLFxuICBTQ1VSUmVtb3ZlSWNvbixcbiAgU0NVUkFkZFVzZXJzV3JhcHBlcixcbiAgU0NVUlNsaWRlcldyYXBwZXIsXG4gIFNDVVJTbGlkZXJDb250YWluZXIsXG4gIFNDVVJTbGlkZXJDb250ZW50LFxuICBTQ1VSTmF2QnV0dG9uLFxufSBmcm9tICcuL1VzZXJzUm93LnN0eWxlcydcblxuaW50ZXJmYWNlIFVzZXJzUm93UHJvcHMge1xuICB0ZWFtOiBUZWFtXG4gIG9uUmVtb3ZlVXNlcjogKHRlYW1JZDogbnVtYmVyLCB1c2VySWQ6IG51bWJlciwgZGVsZXRlRnJvbVByb2plY3RzOiBib29sZWFuKSA9PiB2b2lkXG4gIG9uQWRkVXNlcjogKHRlYW1JZDogbnVtYmVyLCB1c2VySWQ6IG51bWJlciwgZ2l2ZUFjY2Vzc1RvQWxsUHJvamVjdHM6IGJvb2xlYW4pID0+IHZvaWRcbn1cblxuZXhwb3J0IGNvbnN0IFVzZXJzUm93ID0gKHsgdGVhbSwgb25SZW1vdmVVc2VyLCBvbkFkZFVzZXIgfTogVXNlcnNSb3dQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcbiAgY29uc3QgY3VycmVudE1lbWJlcnM6IE1lbWJlclNlbGVjdGlvbltdID0gdGVhbS51c2Vycy5tYXAodXNlciA9PiAoe1xuICAgIGlkOiB1c2VyLmlkLFxuICAgIG5hbWU6IGAke3VzZXIuZmlyc3ROYW1lfSAke3VzZXIubGFzdE5hbWV9YCxcbiAgfSkpXG5cbiAgY29uc3QgW2lzTW9kYWxPcGVuLCBzZXRJc01vZGFsT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3BlbmRpbmdNZW1iZXJzLCBzZXRQZW5kaW5nTWVtYmVyc10gPSB1c2VTdGF0ZTxVc2VyIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW2lzUmVtb3ZlTW9kYWxPcGVuLCBzZXRJc1JlbW92ZU1vZGFsT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3VzZXJUb1JlbW92ZSwgc2V0VXNlclRvUmVtb3ZlXSA9IHVzZVN0YXRlPG51bWJlciB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtzaG93TGVmdEJ1dHRvbiwgc2V0U2hvd0xlZnRCdXR0b25dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtzaG93UmlnaHRCdXR0b24sIHNldFNob3dSaWdodEJ1dHRvbl0gPSB1c2VTdGF0ZSh0cnVlKVxuICBjb25zdCBzbGlkZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgY29uc3QgaGFuZGxlQWRkTWVtYmVycyA9IChtZW1iZXI6IFVzZXIpID0+IHtcbiAgICBzZXRQZW5kaW5nTWVtYmVycyhtZW1iZXIpXG4gICAgc2V0SXNNb2RhbE9wZW4odHJ1ZSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZU1vZGFsQWNjZXB0ID0gKGdpdmVBY2Nlc3NUb0FsbFByb2plY3RzOiBib29sZWFuKSA9PiB7XG4gICAgaWYgKHBlbmRpbmdNZW1iZXJzKSB7XG4gICAgICBvbkFkZFVzZXIoK3RlYW0uaWQsIHBlbmRpbmdNZW1iZXJzLmlkLCBnaXZlQWNjZXNzVG9BbGxQcm9qZWN0cylcbiAgICAgIHNldElzTW9kYWxPcGVuKGZhbHNlKVxuICAgICAgc2V0UGVuZGluZ01lbWJlcnMobnVsbClcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVNb2RhbENsb3NlID0gKCkgPT4ge1xuICAgIHNldElzTW9kYWxPcGVuKGZhbHNlKVxuICAgIHNldFBlbmRpbmdNZW1iZXJzKG51bGwpXG4gIH1cblxuICBjb25zdCBoYW5kbGVSZW1vdmVVc2VyID0gKGU6IFJlYWN0Lk1vdXNlRXZlbnQsIHVzZXJJZDogbnVtYmVyKSA9PiB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgIHNldFVzZXJUb1JlbW92ZSh1c2VySWQpXG4gICAgc2V0SXNSZW1vdmVNb2RhbE9wZW4odHJ1ZSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVJlbW92ZU1vZGFsQWNjZXB0ID0gKGRlbGV0ZUZyb21Qcm9qZWN0czogYm9vbGVhbikgPT4ge1xuICAgIGlmICh1c2VyVG9SZW1vdmUgIT09IG51bGwpIHtcbiAgICAgIG9uUmVtb3ZlVXNlcigrdGVhbS5pZCwgdXNlclRvUmVtb3ZlLCBkZWxldGVGcm9tUHJvamVjdHMpXG4gICAgfVxuICAgIHNldElzUmVtb3ZlTW9kYWxPcGVuKGZhbHNlKVxuICAgIHNldFVzZXJUb1JlbW92ZShudWxsKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlUmVtb3ZlTW9kYWxDbG9zZSA9ICgpID0+IHtcbiAgICBzZXRJc1JlbW92ZU1vZGFsT3BlbihmYWxzZSlcbiAgICBzZXRVc2VyVG9SZW1vdmUobnVsbClcbiAgfVxuXG4gIGNvbnN0IGNoZWNrU2Nyb2xsQnV0dG9ucyA9ICgpID0+IHtcbiAgICBpZiAoc2xpZGVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIGNvbnN0IHsgc2Nyb2xsTGVmdCwgc2Nyb2xsV2lkdGgsIGNsaWVudFdpZHRoIH0gPSBzbGlkZXJSZWYuY3VycmVudFxuICAgICAgc2V0U2hvd0xlZnRCdXR0b24oc2Nyb2xsTGVmdCA+IDApXG4gICAgICBzZXRTaG93UmlnaHRCdXR0b24oc2Nyb2xsTGVmdCA8IHNjcm9sbFdpZHRoIC0gKGNsaWVudFdpZHRoICsgMjApIC0gMSlcbiAgICB9XG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIEVzcGVyYXIgdW4gbW9tZW50byBwYXJhIHF1ZSBlbCBET00gc2UgYWN0dWFsaWNlXG4gICAgY29uc3QgdGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNoZWNrU2Nyb2xsQnV0dG9ucygpXG4gICAgfSwgMClcblxuICAgIGNvbnN0IHNsaWRlciA9IHNsaWRlclJlZi5jdXJyZW50XG4gICAgaWYgKHNsaWRlcikge1xuICAgICAgc2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGNoZWNrU2Nyb2xsQnV0dG9ucylcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lcilcbiAgICAgICAgc2xpZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGNoZWNrU2Nyb2xsQnV0dG9ucylcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuICgpID0+IGNsZWFyVGltZW91dCh0aW1lcilcbiAgfSwgW3RlYW0udXNlcnNdKVxuXG4gIGNvbnN0IHNjcm9sbExlZnQgPSAoKSA9PiB7XG4gICAgaWYgKHNsaWRlclJlZi5jdXJyZW50KSB7XG4gICAgICBjb25zdCBzY3JvbGxBbW91bnQgPSAyMDBcbiAgICAgIHNsaWRlclJlZi5jdXJyZW50LnNjcm9sbEJ5KHsgbGVmdDogLXNjcm9sbEFtb3VudCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pXG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc2Nyb2xsUmlnaHQgPSAoKSA9PiB7XG4gICAgaWYgKHNsaWRlclJlZi5jdXJyZW50KSB7XG4gICAgICBjb25zdCBzY3JvbGxBbW91bnQgPSAyMDBcbiAgICAgIHNsaWRlclJlZi5jdXJyZW50LnNjcm9sbEJ5KHsgbGVmdDogc2Nyb2xsQW1vdW50LCBiZWhhdmlvcjogJ3Ntb290aCcgfSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8U0NVUlNsaWRlcldyYXBwZXI+XG4gICAgICAgIHtzaG93TGVmdEJ1dHRvbiAmJiAoXG4gICAgICAgICAgPFNDVVJOYXZCdXR0b24gb25DbGljaz17c2Nyb2xsTGVmdH0gYXJpYS1sYWJlbD17dCgncGVvcGxlLmFjY2Vzc2liaWxpdHkuc2Nyb2xsTGVmdCcpfSBsZWZ0PVwiLTRweFwiPlxuICAgICAgICAgICAgPENoZXZyb25MZWZ0IHdpZHRoPVwiMTZweFwiIGhlaWdodD1cIjE2cHhcIiBjb2xvcj17cGFsbGV0ZS5ncmV5WzQwMF19IC8+XG4gICAgICAgICAgPC9TQ1VSTmF2QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgICA8U0NVUlNsaWRlckNvbnRhaW5lciByZWY9e3NsaWRlclJlZn0+XG4gICAgICAgICAgPFNDVVJTbGlkZXJDb250ZW50PlxuICAgICAgICAgICAge3RlYW0udXNlcnMubWFwKHVzZXIgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxTQ1VSVXNlckNvbnRhaW5lciBrZXk9e3VzZXIuaWR9PlxuICAgICAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e2Ake3VzZXIuZmlyc3ROYW1lfSAke3VzZXIubGFzdE5hbWV9YH0gcGxhY2VtZW50PVwidG9wXCI+XG4gICAgICAgICAgICAgICAgICAgIDxTQ1VSVXNlckF2YXRhcj5cbiAgICAgICAgICAgICAgICAgICAgICA8QXZhdGFyVXNlciBmaXJzdE5hbWU9e3VzZXIuZmlyc3ROYW1lfSBsYXN0TmFtZT17dXNlci5sYXN0TmFtZX0gcGljdHVyZT17dXNlci5waWN0dXJlfSAvPlxuICAgICAgICAgICAgICAgICAgICA8L1NDVVJVc2VyQXZhdGFyPlxuICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICAgeyF3aW5kb3cuaGFzV29ya3NwYWNlc0ZlYXR1cmUgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8U0NVUlJlbW92ZUljb24gb25DbGljaz17ZSA9PiBoYW5kbGVSZW1vdmVVc2VyKGUsIHVzZXIuaWQpfSByb2xlPVwiYnV0dG9uXCIgdGFiSW5kZXg9ezB9PlxuICAgICAgICAgICAgICAgICAgICAgIDxDcm9zcyB3aWR0aD1cIjExcHhcIiBoZWlnaHQ9XCIxMXB4XCIgY29sb3I9e3BhbGxldGUuZ3JleVs0MDBdfSAvPlxuICAgICAgICAgICAgICAgICAgICA8L1NDVVJSZW1vdmVJY29uPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L1NDVVJVc2VyQ29udGFpbmVyPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA8L1NDVVJTbGlkZXJDb250ZW50PlxuICAgICAgICA8L1NDVVJTbGlkZXJDb250YWluZXI+XG5cbiAgICAgICAge3Nob3dSaWdodEJ1dHRvbiAmJiAoXG4gICAgICAgICAgPFNDVVJOYXZCdXR0b24gb25DbGljaz17c2Nyb2xsUmlnaHR9IGFyaWEtbGFiZWw9e3QoJ3Blb3BsZS5hY2Nlc3NpYmlsaXR5LnNjcm9sbFJpZ2h0Jyl9IHJpZ2h0PVwiLTRweFwiPlxuICAgICAgICAgICAgPENoZXZyb25SaWdodCB3aWR0aD1cIjE2cHhcIiBoZWlnaHQ9XCIxNnB4XCIgY29sb3I9e3BhbGxldGUuZ3JleVs0MDBdfSAvPlxuICAgICAgICAgIDwvU0NVUk5hdkJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgIDwvU0NVUlNsaWRlcldyYXBwZXI+XG4gICAgICB7IXdpbmRvdy5oYXNXb3Jrc3BhY2VzRmVhdHVyZSAmJiAoXG4gICAgICAgIDxTQ1VSQWRkVXNlcnNXcmFwcGVyPlxuICAgICAgICAgIDxBZGRVc2VycyBjdXJyZW50TWVtYmVycz17Y3VycmVudE1lbWJlcnN9IG9uQWRkTWVtYmVycz17aGFuZGxlQWRkTWVtYmVyc30gLz5cbiAgICAgICAgPC9TQ1VSQWRkVXNlcnNXcmFwcGVyPlxuICAgICAgKX1cbiAgICAgIDxBZGRNZW1iZXJNb2RhbCBpc09wZW49e2lzTW9kYWxPcGVufSBvbkNsb3NlPXtoYW5kbGVNb2RhbENsb3NlfSBvbkFjY2VwdD17aGFuZGxlTW9kYWxBY2NlcHR9IC8+XG4gICAgICA8UmVtb3ZlTWVtYmVyTW9kYWxcbiAgICAgICAgaXNPcGVuPXtpc1JlbW92ZU1vZGFsT3Blbn1cbiAgICAgICAgb25DbG9zZT17aGFuZGxlUmVtb3ZlTW9kYWxDbG9zZX1cbiAgICAgICAgb25BY2NlcHQ9e2hhbmRsZVJlbW92ZU1vZGFsQWNjZXB0fVxuICAgICAgLz5cbiAgICA8Lz5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsS0FBSyxJQUFJQyxRQUFRLEVBQUVDLE1BQU0sRUFBRUMsU0FBUyxRQUFRLE9BQU87QUFDMUQsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsT0FBT0MsT0FBTyxNQUFNLG1DQUFtQztBQUN2RCxTQUFTQyxVQUFVLFFBQVEsb0RBQW9EO0FBQy9FLFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxZQUFZLFFBQVEsK0NBQStDO0FBQzVFLFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFFdEUsU0FBU0MsUUFBUSxRQUFRLGFBQWE7QUFFdEMsU0FBU0MsY0FBYyxRQUFRLG1CQUFtQjtBQUNsRCxTQUFTQyxpQkFBaUIsUUFBUSxzQkFBc0I7QUFFeEQsU0FDRUMsaUJBQWlCLEVBQ2pCQyxjQUFjLEVBQ2RDLGNBQWMsRUFDZEMsbUJBQW1CLEVBQ25CQyxpQkFBaUIsRUFDakJDLG1CQUFtQixFQUNuQkMsaUJBQWlCLEVBQ2pCQyxhQUFhLFFBQ1IsbUJBQW1CO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQSxFQUFBQyxRQUFBLElBQUFDLFNBQUE7QUFRMUIsT0FBTyxJQUFNQyxRQUFRLEdBQUcsU0FBWEEsUUFBUUEsQ0FBQUMsSUFBQSxFQUF5RDtFQUFBLElBQW5EQyxJQUFJLEdBQUFELElBQUEsQ0FBSkMsSUFBSTtJQUFFQyxZQUFZLEdBQUFGLElBQUEsQ0FBWkUsWUFBWTtJQUFFQyxTQUFTLEdBQUFILElBQUEsQ0FBVEcsU0FBUztFQUN0RCxJQUFBQyxlQUFBLEdBQWM3QixjQUFjLENBQUMsQ0FBQztJQUF0QjhCLENBQUMsR0FBQUQsZUFBQSxDQUFEQyxDQUFDO0VBQ1QsSUFBTUMsY0FBaUMsR0FBR0wsSUFBSSxDQUFDTSxLQUFLLENBQUNDLEdBQUcsQ0FBQyxVQUFBQyxJQUFJO0lBQUEsT0FBSztNQUNoRUMsRUFBRSxFQUFFRCxJQUFJLENBQUNDLEVBQUU7TUFDWEMsSUFBSSxLQUFBQyxNQUFBLENBQUtILElBQUksQ0FBQ0ksU0FBUyxPQUFBRCxNQUFBLENBQUlILElBQUksQ0FBQ0ssUUFBUTtJQUMxQyxDQUFDO0VBQUEsQ0FBQyxDQUFDO0VBRUgsSUFBQUMsU0FBQSxHQUFzQzNDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQTRDLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQTlDRyxXQUFXLEdBQUFGLFVBQUE7SUFBRUcsY0FBYyxHQUFBSCxVQUFBO0VBQ2xDLElBQUFJLFVBQUEsR0FBNENoRCxRQUFRLENBQWMsSUFBSSxDQUFDO0lBQUFpRCxVQUFBLEdBQUFKLGNBQUEsQ0FBQUcsVUFBQTtJQUFoRUUsY0FBYyxHQUFBRCxVQUFBO0lBQUVFLGlCQUFpQixHQUFBRixVQUFBO0VBQ3hDLElBQUFHLFVBQUEsR0FBa0RwRCxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUFxRCxVQUFBLEdBQUFSLGNBQUEsQ0FBQU8sVUFBQTtJQUExREUsaUJBQWlCLEdBQUFELFVBQUE7SUFBRUUsb0JBQW9CLEdBQUFGLFVBQUE7RUFDOUMsSUFBQUcsVUFBQSxHQUF3Q3hELFFBQVEsQ0FBZ0IsSUFBSSxDQUFDO0lBQUF5RCxVQUFBLEdBQUFaLGNBQUEsQ0FBQVcsVUFBQTtJQUE5REUsWUFBWSxHQUFBRCxVQUFBO0lBQUVFLGVBQWUsR0FBQUYsVUFBQTtFQUNwQyxJQUFBRyxVQUFBLEdBQTRDNUQsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBNkQsVUFBQSxHQUFBaEIsY0FBQSxDQUFBZSxVQUFBO0lBQXBERSxjQUFjLEdBQUFELFVBQUE7SUFBRUUsaUJBQWlCLEdBQUFGLFVBQUE7RUFDeEMsSUFBQUcsVUFBQSxHQUE4Q2hFLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFBQWlFLFdBQUEsR0FBQXBCLGNBQUEsQ0FBQW1CLFVBQUE7SUFBckRFLGVBQWUsR0FBQUQsV0FBQTtJQUFFRSxrQkFBa0IsR0FBQUYsV0FBQTtFQUMxQyxJQUFNRyxTQUFTLEdBQUduRSxNQUFNLENBQWlCLElBQUksQ0FBQztFQUU5QyxJQUFNb0UsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBSUMsTUFBWSxFQUFLO0lBQ3pDbkIsaUJBQWlCLENBQUNtQixNQUFNLENBQUM7SUFDekJ2QixjQUFjLENBQUMsSUFBSSxDQUFDO0VBQ3RCLENBQUM7RUFFRCxJQUFNd0IsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSUMsdUJBQWdDLEVBQUs7SUFDOUQsSUFBSXRCLGNBQWMsRUFBRTtNQUNsQm5CLFNBQVMsQ0FBQyxDQUFDRixJQUFJLENBQUNTLEVBQUUsRUFBRVksY0FBYyxDQUFDWixFQUFFLEVBQUVrQyx1QkFBdUIsQ0FBQztNQUMvRHpCLGNBQWMsQ0FBQyxLQUFLLENBQUM7TUFDckJJLGlCQUFpQixDQUFDLElBQUksQ0FBQztJQUN6QjtFQUNGLENBQUM7RUFFRCxJQUFNc0IsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBQSxFQUFTO0lBQzdCMUIsY0FBYyxDQUFDLEtBQUssQ0FBQztJQUNyQkksaUJBQWlCLENBQUMsSUFBSSxDQUFDO0VBQ3pCLENBQUM7RUFFRCxJQUFNdUIsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBSUMsQ0FBbUIsRUFBRUMsTUFBYyxFQUFLO0lBQ2hFRCxDQUFDLENBQUNFLGVBQWUsQ0FBQyxDQUFDO0lBQ25CbEIsZUFBZSxDQUFDaUIsTUFBTSxDQUFDO0lBQ3ZCckIsb0JBQW9CLENBQUMsSUFBSSxDQUFDO0VBQzVCLENBQUM7RUFFRCxJQUFNdUIsdUJBQXVCLEdBQUcsU0FBMUJBLHVCQUF1QkEsQ0FBSUMsa0JBQTJCLEVBQUs7SUFDL0QsSUFBSXJCLFlBQVksS0FBSyxJQUFJLEVBQUU7TUFDekI1QixZQUFZLENBQUMsQ0FBQ0QsSUFBSSxDQUFDUyxFQUFFLEVBQUVvQixZQUFZLEVBQUVxQixrQkFBa0IsQ0FBQztJQUMxRDtJQUNBeEIsb0JBQW9CLENBQUMsS0FBSyxDQUFDO0lBQzNCSSxlQUFlLENBQUMsSUFBSSxDQUFDO0VBQ3ZCLENBQUM7RUFFRCxJQUFNcUIsc0JBQXNCLEdBQUcsU0FBekJBLHNCQUFzQkEsQ0FBQSxFQUFTO0lBQ25DekIsb0JBQW9CLENBQUMsS0FBSyxDQUFDO0lBQzNCSSxlQUFlLENBQUMsSUFBSSxDQUFDO0VBQ3ZCLENBQUM7RUFFRCxJQUFNc0Isa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBQSxFQUFTO0lBQy9CLElBQUliLFNBQVMsQ0FBQ2MsT0FBTyxFQUFFO01BQ3JCLElBQUFDLGtCQUFBLEdBQWlEZixTQUFTLENBQUNjLE9BQU87UUFBMURFLFdBQVUsR0FBQUQsa0JBQUEsQ0FBVkMsVUFBVTtRQUFFQyxXQUFXLEdBQUFGLGtCQUFBLENBQVhFLFdBQVc7UUFBRUMsV0FBVyxHQUFBSCxrQkFBQSxDQUFYRyxXQUFXO01BQzVDdkIsaUJBQWlCLENBQUNxQixXQUFVLEdBQUcsQ0FBQyxDQUFDO01BQ2pDakIsa0JBQWtCLENBQUNpQixXQUFVLEdBQUdDLFdBQVcsSUFBSUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2RTtFQUNGLENBQUM7RUFFRHBGLFNBQVMsQ0FBQyxZQUFNO0lBQ2Q7SUFDQSxJQUFNcUYsS0FBSyxHQUFHQyxVQUFVLENBQUMsWUFBTTtNQUM3QlAsa0JBQWtCLENBQUMsQ0FBQztJQUN0QixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRUwsSUFBTVEsTUFBTSxHQUFHckIsU0FBUyxDQUFDYyxPQUFPO0lBQ2hDLElBQUlPLE1BQU0sRUFBRTtNQUNWQSxNQUFNLENBQUNDLGdCQUFnQixDQUFDLFFBQVEsRUFBRVQsa0JBQWtCLENBQUM7TUFDckQsT0FBTyxZQUFNO1FBQ1hVLFlBQVksQ0FBQ0osS0FBSyxDQUFDO1FBQ25CRSxNQUFNLENBQUNHLG1CQUFtQixDQUFDLFFBQVEsRUFBRVgsa0JBQWtCLENBQUM7TUFDMUQsQ0FBQztJQUNIO0lBQ0EsT0FBTztNQUFBLE9BQU1VLFlBQVksQ0FBQ0osS0FBSyxDQUFDO0lBQUE7RUFDbEMsQ0FBQyxFQUFFLENBQUMxRCxJQUFJLENBQUNNLEtBQUssQ0FBQyxDQUFDO0VBRWhCLElBQU1pRCxVQUFVLEdBQUcsU0FBYkEsVUFBVUEsQ0FBQSxFQUFTO0lBQ3ZCLElBQUloQixTQUFTLENBQUNjLE9BQU8sRUFBRTtNQUNyQixJQUFNVyxZQUFZLEdBQUcsR0FBRztNQUN4QnpCLFNBQVMsQ0FBQ2MsT0FBTyxDQUFDWSxRQUFRLENBQUM7UUFBRUMsSUFBSSxFQUFFLENBQUNGLFlBQVk7UUFBRUcsUUFBUSxFQUFFO01BQVMsQ0FBQyxDQUFDO0lBQ3pFO0VBQ0YsQ0FBQztFQUVELElBQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFBLEVBQVM7SUFDeEIsSUFBSTdCLFNBQVMsQ0FBQ2MsT0FBTyxFQUFFO01BQ3JCLElBQU1XLFlBQVksR0FBRyxHQUFHO01BQ3hCekIsU0FBUyxDQUFDYyxPQUFPLENBQUNZLFFBQVEsQ0FBQztRQUFFQyxJQUFJLEVBQUVGLFlBQVk7UUFBRUcsUUFBUSxFQUFFO01BQVMsQ0FBQyxDQUFDO0lBQ3hFO0VBQ0YsQ0FBQztFQUVELG9CQUNFeEUsS0FBQSxDQUFBRSxTQUFBO0lBQUF3RSxRQUFBLGdCQUNFMUUsS0FBQSxDQUFDUCxpQkFBaUI7TUFBQWlGLFFBQUEsR0FDZnBDLGNBQWMsaUJBQ2J4QyxJQUFBLENBQUNGLGFBQWE7UUFBQytFLE9BQU8sRUFBRWYsVUFBVztRQUFDLGNBQVluRCxDQUFDLENBQUMsaUNBQWlDLENBQUU7UUFBQzhELElBQUksRUFBQyxNQUFNO1FBQUFHLFFBQUEsZUFDL0Y1RSxJQUFBLENBQUNmLFdBQVc7VUFBQzZGLEtBQUssRUFBQyxNQUFNO1VBQUNDLE1BQU0sRUFBQyxNQUFNO1VBQUNDLEtBQUssRUFBRWxHLE9BQU8sQ0FBQ21HLElBQUksQ0FBQyxHQUFHO1FBQUUsQ0FBRTtNQUFDLENBQ3ZELENBQ2hCLGVBQ0RqRixJQUFBLENBQUNKLG1CQUFtQjtRQUFDc0YsR0FBRyxFQUFFcEMsU0FBVTtRQUFBOEIsUUFBQSxlQUNsQzVFLElBQUEsQ0FBQ0gsaUJBQWlCO1VBQUErRSxRQUFBLEVBQ2ZyRSxJQUFJLENBQUNNLEtBQUssQ0FBQ0MsR0FBRyxDQUFDLFVBQUFDLElBQUksRUFBSTtZQUN0QixvQkFDRWIsS0FBQSxDQUFDWCxpQkFBaUI7Y0FBQXFGLFFBQUEsZ0JBQ2hCNUUsSUFBQSxDQUFDYixPQUFPO2dCQUFDZ0csS0FBSyxLQUFBakUsTUFBQSxDQUFLSCxJQUFJLENBQUNJLFNBQVMsT0FBQUQsTUFBQSxDQUFJSCxJQUFJLENBQUNLLFFBQVEsQ0FBRztnQkFBQ2dFLFNBQVMsRUFBQyxLQUFLO2dCQUFBUixRQUFBLGVBQ25FNUUsSUFBQSxDQUFDUixjQUFjO2tCQUFBb0YsUUFBQSxlQUNiNUUsSUFBQSxDQUFDakIsVUFBVTtvQkFBQ29DLFNBQVMsRUFBRUosSUFBSSxDQUFDSSxTQUFVO29CQUFDQyxRQUFRLEVBQUVMLElBQUksQ0FBQ0ssUUFBUztvQkFBQ2lFLE9BQU8sRUFBRXRFLElBQUksQ0FBQ3NFO2tCQUFRLENBQUU7Z0JBQUMsQ0FDM0U7Y0FBQyxDQUNWLENBQUMsRUFDVCxDQUFDQyxNQUFNLENBQUNDLG9CQUFvQixpQkFDM0J2RixJQUFBLENBQUNQLGNBQWM7Z0JBQUNvRixPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBRXhCLENBQUM7a0JBQUEsT0FBSUQsZ0JBQWdCLENBQUNDLENBQUMsRUFBRXRDLElBQUksQ0FBQ0MsRUFBRSxDQUFDO2dCQUFBLENBQUM7Z0JBQUN3RSxJQUFJLEVBQUMsUUFBUTtnQkFBQ0MsUUFBUSxFQUFFLENBQUU7Z0JBQUFiLFFBQUEsZUFDcEY1RSxJQUFBLENBQUNoQixLQUFLO2tCQUFDOEYsS0FBSyxFQUFDLE1BQU07a0JBQUNDLE1BQU0sRUFBQyxNQUFNO2tCQUFDQyxLQUFLLEVBQUVsRyxPQUFPLENBQUNtRyxJQUFJLENBQUMsR0FBRztnQkFBRSxDQUFFO2NBQUMsQ0FDaEQsQ0FDakI7WUFBQSxHQVZxQmxFLElBQUksQ0FBQ0MsRUFXVixDQUFDO1VBRXhCLENBQUM7UUFBQyxDQUNlO01BQUMsQ0FDRCxDQUFDLEVBRXJCNEIsZUFBZSxpQkFDZDVDLElBQUEsQ0FBQ0YsYUFBYTtRQUFDK0UsT0FBTyxFQUFFRixXQUFZO1FBQUMsY0FBWWhFLENBQUMsQ0FBQyxrQ0FBa0MsQ0FBRTtRQUFDK0UsS0FBSyxFQUFDLE1BQU07UUFBQWQsUUFBQSxlQUNsRzVFLElBQUEsQ0FBQ2QsWUFBWTtVQUFDNEYsS0FBSyxFQUFDLE1BQU07VUFBQ0MsTUFBTSxFQUFDLE1BQU07VUFBQ0MsS0FBSyxFQUFFbEcsT0FBTyxDQUFDbUcsSUFBSSxDQUFDLEdBQUc7UUFBRSxDQUFFO01BQUMsQ0FDeEQsQ0FDaEI7SUFBQSxDQUNnQixDQUFDLEVBQ25CLENBQUNLLE1BQU0sQ0FBQ0Msb0JBQW9CLGlCQUMzQnZGLElBQUEsQ0FBQ04sbUJBQW1CO01BQUFrRixRQUFBLGVBQ2xCNUUsSUFBQSxDQUFDWixRQUFRO1FBQUN3QixjQUFjLEVBQUVBLGNBQWU7UUFBQytFLFlBQVksRUFBRTVDO01BQWlCLENBQUU7SUFBQyxDQUN6RCxDQUN0QixlQUNEL0MsSUFBQSxDQUFDWCxjQUFjO01BQUN1RyxNQUFNLEVBQUVwRSxXQUFZO01BQUNxRSxPQUFPLEVBQUUxQyxnQkFBaUI7TUFBQzJDLFFBQVEsRUFBRTdDO0lBQWtCLENBQUUsQ0FBQyxlQUMvRmpELElBQUEsQ0FBQ1YsaUJBQWlCO01BQ2hCc0csTUFBTSxFQUFFNUQsaUJBQWtCO01BQzFCNkQsT0FBTyxFQUFFbkMsc0JBQXVCO01BQ2hDb0MsUUFBUSxFQUFFdEM7SUFBd0IsQ0FDbkMsQ0FBQztFQUFBLENBQ0YsQ0FBQztBQUVQLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,41 +0,0 @@
1
- import styled from 'styled-components';
2
- import pallete from '@projectcor/theme/lib/base/colors';
3
- export var SCURRemoveIcon = styled.div.withConfig({
4
- displayName: "UsersRowstyles__SCURRemoveIcon",
5
- componentId: "sc-1lkpduz-0"
6
- })(["position:absolute;bottom:-4px;right:-4px;width:14px;height:14px;border:1px solid ", ";background-color:", ";border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transition:opacity 0.2s ease-in-out,visibility 0.2s ease-in-out;z-index:10;"], pallete.grey[400], pallete.white.main);
7
- export var SCURUserContainer = styled.div.withConfig({
8
- displayName: "UsersRowstyles__SCURUserContainer",
9
- componentId: "sc-1lkpduz-1"
10
- })(["position:relative;display:inline-block;margin-right:1px;&:hover ", "{opacity:1;visibility:visible;}"], SCURRemoveIcon);
11
- export var SCURUserAvatar = styled.div.withConfig({
12
- displayName: "UsersRowstyles__SCURUserAvatar",
13
- componentId: "sc-1lkpduz-2"
14
- })(["position:relative;display:flex;align-items:center;justify-content:center;"]);
15
- export var SCURAddUsersWrapper = styled.div.withConfig({
16
- displayName: "UsersRowstyles__SCURAddUsersWrapper",
17
- componentId: "sc-1lkpduz-3"
18
- })(["display:inline-block;flex-shrink:0;margin-left:4px;"]);
19
- export var SCURSliderWrapper = styled.div.withConfig({
20
- displayName: "UsersRowstyles__SCURSliderWrapper",
21
- componentId: "sc-1lkpduz-4"
22
- })(["display:flex;align-items:center;position:relative;width:fit-content;min-width:0;max-width:100%;"]);
23
- export var SCURSliderContainer = styled.div.withConfig({
24
- displayName: "UsersRowstyles__SCURSliderContainer",
25
- componentId: "sc-1lkpduz-5"
26
- })(["overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;flex:1 1 0;display:flex;align-items:center;min-width:0;max-width:100%;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none;}"]);
27
- export var SCURSliderContent = styled.div.withConfig({
28
- displayName: "UsersRowstyles__SCURSliderContent",
29
- componentId: "sc-1lkpduz-6"
30
- })(["display:flex;align-items:center;gap:0;min-width:fit-content;max-width:100%;height:48px;"]);
31
- export var SCURNavButton = styled.button.withConfig({
32
- displayName: "UsersRowstyles__SCURNavButton",
33
- componentId: "sc-1lkpduz-7"
34
- })(["display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:none;box-shadow:0px 4px 16px 0px #1212123d;background-color:", ";cursor:pointer;flex-shrink:0;transition:background-color 0.2s ease-in-out;z-index:1;position:absolute;", " ", " &:hover{background-color:", ";}&:active{background-color:", ";}"], pallete.white.main, function (_ref) {
35
- var right = _ref.right;
36
- return right && "right: ".concat(right, ";");
37
- }, function (_ref2) {
38
- var left = _ref2.left;
39
- return left && "left: ".concat(left, ";");
40
- }, pallete.grey[200], pallete.colors.gray.light);
41
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJwYWxsZXRlIiwiU0NVUlJlbW92ZUljb24iLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsImdyZXkiLCJ3aGl0ZSIsIm1haW4iLCJTQ1VSVXNlckNvbnRhaW5lciIsIlNDVVJVc2VyQXZhdGFyIiwiU0NVUkFkZFVzZXJzV3JhcHBlciIsIlNDVVJTbGlkZXJXcmFwcGVyIiwiU0NVUlNsaWRlckNvbnRhaW5lciIsIlNDVVJTbGlkZXJDb250ZW50IiwiU0NVUk5hdkJ1dHRvbiIsImJ1dHRvbiIsIl9yZWYiLCJyaWdodCIsImNvbmNhdCIsIl9yZWYyIiwibGVmdCIsImNvbG9ycyIsImdyYXkiLCJsaWdodCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1RhYmxlL1RlYW1Sb3cvVXNlcnNSb3cvVXNlcnNSb3cuc3R5bGVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IHBhbGxldGUgZnJvbSAnQHByb2plY3Rjb3IvdGhlbWUvbGliL2Jhc2UvY29sb3JzJ1xuXG5leHBvcnQgY29uc3QgU0NVUlJlbW92ZUljb24gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTRweDtcbiAgcmlnaHQ6IC00cHg7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR7cGFsbGV0ZS5ncmV5WzQwMF19O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3BhbGxldGUud2hpdGUubWFpbn07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsIHZpc2liaWxpdHkgMC4ycyBlYXNlLWluLW91dDtcbiAgei1pbmRleDogMTA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1VSVXNlckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDFweDtcblxuICAmOmhvdmVyICR7U0NVUlJlbW92ZUljb259IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDVVJVc2VyQXZhdGFyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDVVJBZGRVc2Vyc1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tbGVmdDogNHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NVUlNsaWRlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIG92ZXJmbG93OiBoaWRkZW47ICovXG4gIC8qIGdhcDogNHB4OyAqL1xuYFxuXG5leHBvcnQgY29uc3QgU0NVUlNsaWRlckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gIGZsZXg6IDEgMSAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4td2lkdGg6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGaXJlZm94ICovXG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLyogSUUgYW5kIEVkZ2UgKi9cblxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTsgLyogQ2hyb21lLCBTYWZhcmksIE9wZXJhICovXG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDVVJTbGlkZXJDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwO1xuICBtaW4td2lkdGg6IGZpdC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDhweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDVVJOYXZCdXR0b24gPSBzdHlsZWQuYnV0dG9uPHsgcmlnaHQ/OiBzdHJpbmc7IGxlZnQ/OiBzdHJpbmcgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogMHB4IDRweCAxNnB4IDBweCAjMTIxMjEyM2Q7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cGFsbGV0ZS53aGl0ZS5tYWlufTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbGV4LXNocmluazogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICR7KHsgcmlnaHQgfSkgPT4gcmlnaHQgJiYgYHJpZ2h0OiAke3JpZ2h0fTtgfVxuICAkeyh7IGxlZnQgfSkgPT4gbGVmdCAmJiBgbGVmdDogJHtsZWZ0fTtgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cGFsbGV0ZS5ncmV5WzIwMF19O1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cGFsbGV0ZS5jb2xvcnMuZ3JheS5saWdodH07XG4gIH1cbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLG1CQUFtQjtBQUN0QyxPQUFPQyxPQUFPLE1BQU0sbUNBQW1DO0FBRXZELE9BQU8sSUFBTUMsY0FBYyxHQUFHRixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxvVEFNbEJMLE9BQU8sQ0FBQ00sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUNqQk4sT0FBTyxDQUFDTyxLQUFLLENBQUNDLElBQUksQ0FVdkM7QUFFRCxPQUFPLElBQU1DLGlCQUFpQixHQUFHVixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw0R0FLL0JKLGNBQWMsQ0FJekI7QUFFRCxPQUFPLElBQU1TLGNBQWMsR0FBR1gsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsaUZBS3ZDO0FBRUQsT0FBTyxJQUFNTSxtQkFBbUIsR0FBR1osTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsMkRBSTVDO0FBRUQsT0FBTyxJQUFNTyxpQkFBaUIsR0FBR2IsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsdUdBUzFDO0FBRUQsT0FBTyxJQUFNUSxtQkFBbUIsR0FBR2QsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsdU5BZTVDO0FBRUQsT0FBTyxJQUFNUyxpQkFBaUIsR0FBR2YsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK0ZBTzFDO0FBRUQsT0FBTyxJQUFNVSxhQUFhLEdBQUdoQixNQUFNLENBQUNpQixNQUFNLENBQUFiLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsZ1dBU3BCTCxPQUFPLENBQUNPLEtBQUssQ0FBQ0MsSUFBSSxFQU1wQyxVQUFBUyxJQUFBO0VBQUEsSUFBR0MsS0FBSyxHQUFBRCxJQUFBLENBQUxDLEtBQUs7RUFBQSxPQUFPQSxLQUFLLGNBQUFDLE1BQUEsQ0FBY0QsS0FBSyxNQUFHO0FBQUEsR0FDMUMsVUFBQUUsS0FBQTtFQUFBLElBQUdDLElBQUksR0FBQUQsS0FBQSxDQUFKQyxJQUFJO0VBQUEsT0FBT0EsSUFBSSxhQUFBRixNQUFBLENBQWFFLElBQUksTUFBRztBQUFBLEdBR2xCckIsT0FBTyxDQUFDTSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBSWpCTixPQUFPLENBQUNzQixNQUFNLENBQUNDLElBQUksQ0FBQ0MsS0FBSyxDQUVoRCIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,2 +0,0 @@
1
- export { UsersRow } from './UsersRow';
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJVc2Vyc1JvdyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1RhYmxlL1RlYW1Sb3cvVXNlcnNSb3cvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgVXNlcnNSb3cgfSBmcm9tICcuL1VzZXJzUm93J1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxRQUFRLFFBQVEsWUFBWSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,2 +0,0 @@
1
- export { TeamRow } from './TeamRow';
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZWFtUm93Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVGFibGUvVGVhbVJvdy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBUZWFtUm93IH0gZnJvbSAnLi9UZWFtUm93J1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxPQUFPLFFBQVEsV0FBVyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,181 +0,0 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- import { useState, useEffect, useRef, useCallback } from 'react';
4
- import { useTranslation } from 'react-i18next';
5
- import pallete from '@projectcor/theme/lib/base/colors';
6
- import { ChevronDown } from '@projectcor/icons/lib/components/ChevronDown';
7
- import { CUSelect } from '@projectcor/selector/lib/components/CUSelect';
8
- import { SearchComponent } from '../Filters/SearchComponent/SearchComponent';
9
- import { useGetUsers } from '../../hooks/useGetUsers';
10
- import { useDebouncedCallback } from '../../hooks/useDebouncedCallback';
11
- import { SCBackdropInputSelect, SCCUItemsList, SCCUSelectItem, SCWrapperSelectIcon, SCMemberItemContent, SCMemberCheckbox, SCMemberSearchWrapper } from './TeamDetailsModal.styles';
12
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- export var MembersSelect = function MembersSelect(_ref) {
14
- var value = _ref.value,
15
- onChange = _ref.onChange;
16
- var _useState = useState(false),
17
- _useState2 = _slicedToArray(_useState, 2),
18
- showSelectMembers = _useState2[0],
19
- setShowSelectMembers = _useState2[1];
20
- var _useTranslation = useTranslation('teams'),
21
- t = _useTranslation.t;
22
- var _useGetUsers = useGetUsers(),
23
- handleGetUsers = _useGetUsers.handleGetUsers,
24
- users = _useGetUsers.users,
25
- currentPage = _useGetUsers.currentPage,
26
- totalPages = _useGetUsers.totalPages,
27
- loading = _useGetUsers.loading;
28
- var _useState3 = useState(''),
29
- _useState4 = _slicedToArray(_useState3, 2),
30
- searchValue = _useState4[0],
31
- setSearchValue = _useState4[1];
32
- var _useState5 = useState([]),
33
- _useState6 = _slicedToArray(_useState5, 2),
34
- accumulatedUsers = _useState6[0],
35
- setAccumulatedUsers = _useState6[1];
36
- var scrollContainerRef = useRef(null);
37
- var isLoadingMoreRef = useRef(false);
38
- var currentSearchRef = useRef('');
39
- var handleSelectMember = function handleSelectMember(member) {
40
- var alredySelected = value.some(function (m) {
41
- return m.id === member.id;
42
- });
43
- if (alredySelected) {
44
- onChange('members', value.filter(function (m) {
45
- return m.id !== member.id;
46
- }));
47
- } else {
48
- onChange('members', [].concat(_toConsumableArray(value), [{
49
- id: member.id,
50
- name: "".concat(member.firstName, " ").concat(member.lastName)
51
- }]));
52
- }
53
- };
54
- var fetchUsers = useCallback(function (searchInput) {
55
- currentSearchRef.current = searchInput;
56
- setAccumulatedUsers([]);
57
- isLoadingMoreRef.current = false;
58
- handleGetUsers({
59
- page: 1,
60
- searchInput: searchInput
61
- });
62
- }, [handleGetUsers]);
63
- var debouncedFetchUsers = useDebouncedCallback(fetchUsers, 300);
64
- var handleSearch = useCallback(function (e) {
65
- setSearchValue(e.target.value);
66
- debouncedFetchUsers(e.target.value);
67
- }, [debouncedFetchUsers]);
68
- useEffect(function () {
69
- if (!showSelectMembers) {
70
- setSearchValue('');
71
- setAccumulatedUsers([]);
72
- }
73
- }, [showSelectMembers]);
74
- useEffect(function () {
75
- if (!showSelectMembers) return;
76
- fetchUsers('');
77
- }, [showSelectMembers, fetchUsers]);
78
- useEffect(function () {
79
- if (users.length > 0 && showSelectMembers) {
80
- if (currentPage === 1) {
81
- setAccumulatedUsers(users);
82
- } else {
83
- setAccumulatedUsers(function (prev) {
84
- var existingIds = new Set(prev.map(function (u) {
85
- return u.id;
86
- }));
87
- var newUsers = users.filter(function (u) {
88
- return !existingIds.has(u.id);
89
- });
90
- return [].concat(_toConsumableArray(prev), _toConsumableArray(newUsers));
91
- });
92
- }
93
- isLoadingMoreRef.current = false;
94
- }
95
- }, [users, currentPage, showSelectMembers]);
96
- var handleScroll = useCallback(function () {
97
- var container = scrollContainerRef.current;
98
- if (!container || loading || isLoadingMoreRef.current) return;
99
- var scrollTop = container.scrollTop,
100
- scrollHeight = container.scrollHeight,
101
- clientHeight = container.clientHeight;
102
- var isNearBottom = scrollTop + clientHeight >= scrollHeight - 10;
103
- if (isNearBottom && currentPage < totalPages) {
104
- isLoadingMoreRef.current = true;
105
- handleGetUsers({
106
- page: currentPage + 1,
107
- searchInput: currentSearchRef.current
108
- });
109
- }
110
- }, [currentPage, totalPages, loading, handleGetUsers]);
111
- useEffect(function () {
112
- var container = scrollContainerRef.current;
113
- if (!container || !showSelectMembers) return undefined;
114
- container.addEventListener('scroll', handleScroll);
115
- return function () {
116
- container.removeEventListener('scroll', handleScroll);
117
- };
118
- }, [handleScroll, showSelectMembers]);
119
- var handleClickActionSelect = function handleClickActionSelect() {
120
- setShowSelectMembers(function (prev) {
121
- return !prev;
122
- });
123
- };
124
- return /*#__PURE__*/_jsxs(CUSelect, {
125
- title: t('modal.addMembersTitle'),
126
- placeholder: t('modal.addMembersPlaceholder'),
127
- endIcon: /*#__PURE__*/_jsx(SCWrapperSelectIcon, {
128
- isOpen: showSelectMembers,
129
- children: /*#__PURE__*/_jsx(ChevronDown, {
130
- width: "16px",
131
- height: "16px",
132
- color: pallete.colors.dark
133
- })
134
- }),
135
- value: value.map(function (member) {
136
- return member.name;
137
- }).join(' - '),
138
- open: showSelectMembers,
139
- handleClickAction: handleClickActionSelect,
140
- children: [/*#__PURE__*/_jsx(SCBackdropInputSelect, {
141
- onClick: function onClick() {
142
- return setShowSelectMembers(false);
143
- }
144
- }), /*#__PURE__*/_jsxs(SCCUItemsList, {
145
- ref: scrollContainerRef,
146
- children: [/*#__PURE__*/_jsx(SCMemberSearchWrapper, {
147
- children: /*#__PURE__*/_jsx(SearchComponent, {
148
- placeholder: t('modal.searchMemberPlaceholder'),
149
- onChange: handleSearch,
150
- value: searchValue
151
- })
152
- }), accumulatedUsers.map(function (member) {
153
- var memberName = "".concat(member.firstName, " ").concat(member.lastName);
154
- var isSelected = (value === null || value === void 0 ? void 0 : value.some(function (m) {
155
- return m.id === member.id;
156
- })) || false;
157
- return /*#__PURE__*/_jsx(SCCUSelectItem, {
158
- onClick: function onClick(e) {
159
- e.stopPropagation();
160
- handleSelectMember(member);
161
- },
162
- isSelected: isSelected,
163
- children: /*#__PURE__*/_jsxs(SCMemberItemContent, {
164
- children: [/*#__PURE__*/_jsx("span", {
165
- children: memberName
166
- }), /*#__PURE__*/_jsx(SCMemberCheckbox, {
167
- type: "checkbox",
168
- checked: isSelected,
169
- readOnly: true,
170
- onClick: function onClick(e) {
171
- e.stopPropagation();
172
- handleSelectMember(member);
173
- }
174
- })]
175
- })
176
- }, member.id);
177
- })]
178
- })]
179
- });
180
- };
181
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZUNhbGxiYWNrIiwidXNlVHJhbnNsYXRpb24iLCJwYWxsZXRlIiwiQ2hldnJvbkRvd24iLCJDVVNlbGVjdCIsIlNlYXJjaENvbXBvbmVudCIsInVzZUdldFVzZXJzIiwidXNlRGVib3VuY2VkQ2FsbGJhY2siLCJTQ0JhY2tkcm9wSW5wdXRTZWxlY3QiLCJTQ0NVSXRlbXNMaXN0IiwiU0NDVVNlbGVjdEl0ZW0iLCJTQ1dyYXBwZXJTZWxlY3RJY29uIiwiU0NNZW1iZXJJdGVtQ29udGVudCIsIlNDTWVtYmVyQ2hlY2tib3giLCJTQ01lbWJlclNlYXJjaFdyYXBwZXIiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiTWVtYmVyc1NlbGVjdCIsIl9yZWYiLCJ2YWx1ZSIsIm9uQ2hhbmdlIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2hvd1NlbGVjdE1lbWJlcnMiLCJzZXRTaG93U2VsZWN0TWVtYmVycyIsIl91c2VUcmFuc2xhdGlvbiIsInQiLCJfdXNlR2V0VXNlcnMiLCJoYW5kbGVHZXRVc2VycyIsInVzZXJzIiwiY3VycmVudFBhZ2UiLCJ0b3RhbFBhZ2VzIiwibG9hZGluZyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwic2VhcmNoVmFsdWUiLCJzZXRTZWFyY2hWYWx1ZSIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiYWNjdW11bGF0ZWRVc2VycyIsInNldEFjY3VtdWxhdGVkVXNlcnMiLCJzY3JvbGxDb250YWluZXJSZWYiLCJpc0xvYWRpbmdNb3JlUmVmIiwiY3VycmVudFNlYXJjaFJlZiIsImhhbmRsZVNlbGVjdE1lbWJlciIsIm1lbWJlciIsImFscmVkeVNlbGVjdGVkIiwic29tZSIsIm0iLCJpZCIsImZpbHRlciIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheSIsIm5hbWUiLCJmaXJzdE5hbWUiLCJsYXN0TmFtZSIsImZldGNoVXNlcnMiLCJzZWFyY2hJbnB1dCIsImN1cnJlbnQiLCJwYWdlIiwiZGVib3VuY2VkRmV0Y2hVc2VycyIsImhhbmRsZVNlYXJjaCIsImUiLCJ0YXJnZXQiLCJsZW5ndGgiLCJwcmV2IiwiZXhpc3RpbmdJZHMiLCJTZXQiLCJtYXAiLCJ1IiwibmV3VXNlcnMiLCJoYXMiLCJoYW5kbGVTY3JvbGwiLCJjb250YWluZXIiLCJzY3JvbGxUb3AiLCJzY3JvbGxIZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJpc05lYXJCb3R0b20iLCJ1bmRlZmluZWQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImhhbmRsZUNsaWNrQWN0aW9uU2VsZWN0IiwidGl0bGUiLCJwbGFjZWhvbGRlciIsImVuZEljb24iLCJpc09wZW4iLCJjaGlsZHJlbiIsIndpZHRoIiwiaGVpZ2h0IiwiY29sb3IiLCJjb2xvcnMiLCJkYXJrIiwiam9pbiIsIm9wZW4iLCJoYW5kbGVDbGlja0FjdGlvbiIsIm9uQ2xpY2siLCJyZWYiLCJtZW1iZXJOYW1lIiwiaXNTZWxlY3RlZCIsInN0b3BQcm9wYWdhdGlvbiIsInR5cGUiLCJjaGVja2VkIiwicmVhZE9ubHkiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9UZWFtRGV0YWlsc01vZGFsL01lbWJlcnNTZWxlY3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0YXRlLCBDaGFuZ2VFdmVudCwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgcGFsbGV0ZSBmcm9tICdAcHJvamVjdGNvci90aGVtZS9saWIvYmFzZS9jb2xvcnMnXG5pbXBvcnQgeyBDaGV2cm9uRG93biB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3duJ1xuaW1wb3J0IHsgQ1VTZWxlY3QgfSBmcm9tICdAcHJvamVjdGNvci9zZWxlY3Rvci9saWIvY29tcG9uZW50cy9DVVNlbGVjdCdcbmltcG9ydCB7IFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uL0ZpbHRlcnMvU2VhcmNoQ29tcG9uZW50L1NlYXJjaENvbXBvbmVudCdcbmltcG9ydCB7IHVzZUdldFVzZXJzIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlR2V0VXNlcnMnXG5pbXBvcnQgeyB1c2VEZWJvdW5jZWRDYWxsYmFjayB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZURlYm91bmNlZENhbGxiYWNrJ1xuaW1wb3J0IHtcbiAgU0NCYWNrZHJvcElucHV0U2VsZWN0LFxuICBTQ0NVSXRlbXNMaXN0LFxuICBTQ0NVU2VsZWN0SXRlbSxcbiAgU0NXcmFwcGVyU2VsZWN0SWNvbixcbiAgU0NNZW1iZXJJdGVtQ29udGVudCxcbiAgU0NNZW1iZXJDaGVja2JveCxcbiAgU0NNZW1iZXJTZWFyY2hXcmFwcGVyLFxufSBmcm9tICcuL1RlYW1EZXRhaWxzTW9kYWwuc3R5bGVzJ1xuaW1wb3J0IHsgVGVhbVVzZXIgfSBmcm9tICcuL1RlYW1EZXRhaWxzTW9kYWwudHlwZXMnXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vdHlwZXMvdXNlclR5cGUnXG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVtYmVyU2VsZWN0aW9uIHtcbiAgaWQ6IG51bWJlclxuICBuYW1lOiBzdHJpbmdcbn1cblxuaW50ZXJmYWNlIE1lbWJlcnNTZWxlY3RQcm9wcyB7XG4gIHZhbHVlOiBNZW1iZXJTZWxlY3Rpb25bXVxuICBvbkNoYW5nZTogKGlucHV0OiBzdHJpbmcsIHZhbHVlOiBNZW1iZXJTZWxlY3Rpb25bXSkgPT4gdm9pZFxufVxuXG5leHBvcnQgY29uc3QgTWVtYmVyc1NlbGVjdCA9ICh7IHZhbHVlLCBvbkNoYW5nZSB9OiBNZW1iZXJzU2VsZWN0UHJvcHMpID0+IHtcbiAgY29uc3QgW3Nob3dTZWxlY3RNZW1iZXJzLCBzZXRTaG93U2VsZWN0TWVtYmVyc10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigndGVhbXMnKVxuICBjb25zdCB7IGhhbmRsZUdldFVzZXJzLCB1c2VycywgY3VycmVudFBhZ2UsIHRvdGFsUGFnZXMsIGxvYWRpbmcgfSA9IHVzZUdldFVzZXJzKClcbiAgY29uc3QgW3NlYXJjaFZhbHVlLCBzZXRTZWFyY2hWYWx1ZV0gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3QgW2FjY3VtdWxhdGVkVXNlcnMsIHNldEFjY3VtdWxhdGVkVXNlcnNdID0gdXNlU3RhdGU8VXNlcltdPihbXSlcbiAgY29uc3Qgc2Nyb2xsQ29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBpc0xvYWRpbmdNb3JlUmVmID0gdXNlUmVmKGZhbHNlKVxuICBjb25zdCBjdXJyZW50U2VhcmNoUmVmID0gdXNlUmVmKCcnKVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdE1lbWJlciA9IChtZW1iZXI6IFVzZXIgfCBUZWFtVXNlcikgPT4ge1xuICAgIGNvbnN0IGFscmVkeVNlbGVjdGVkID0gdmFsdWUuc29tZShtID0+IG0uaWQgPT09IG1lbWJlci5pZClcbiAgICBpZiAoYWxyZWR5U2VsZWN0ZWQpIHtcbiAgICAgIG9uQ2hhbmdlKFxuICAgICAgICAnbWVtYmVycycsXG4gICAgICAgIHZhbHVlLmZpbHRlcihtID0+IG0uaWQgIT09IG1lbWJlci5pZClcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgb25DaGFuZ2UoJ21lbWJlcnMnLCBbLi4udmFsdWUsIHsgaWQ6IG1lbWJlci5pZCwgbmFtZTogYCR7bWVtYmVyLmZpcnN0TmFtZX0gJHttZW1iZXIubGFzdE5hbWV9YCB9XSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBmZXRjaFVzZXJzID0gdXNlQ2FsbGJhY2soXG4gICAgKHNlYXJjaElucHV0OiBzdHJpbmcpID0+IHtcbiAgICAgIGN1cnJlbnRTZWFyY2hSZWYuY3VycmVudCA9IHNlYXJjaElucHV0XG4gICAgICBzZXRBY2N1bXVsYXRlZFVzZXJzKFtdKVxuICAgICAgaXNMb2FkaW5nTW9yZVJlZi5jdXJyZW50ID0gZmFsc2VcbiAgICAgIGhhbmRsZUdldFVzZXJzKHsgcGFnZTogMSwgc2VhcmNoSW5wdXQgfSlcbiAgICB9LFxuICAgIFtoYW5kbGVHZXRVc2Vyc11cbiAgKVxuXG4gIGNvbnN0IGRlYm91bmNlZEZldGNoVXNlcnMgPSB1c2VEZWJvdW5jZWRDYWxsYmFjayhmZXRjaFVzZXJzLCAzMDApXG5cbiAgY29uc3QgaGFuZGxlU2VhcmNoID0gdXNlQ2FsbGJhY2soXG4gICAgKGU6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICBzZXRTZWFyY2hWYWx1ZShlLnRhcmdldC52YWx1ZSlcbiAgICAgIGRlYm91bmNlZEZldGNoVXNlcnMoZS50YXJnZXQudmFsdWUpXG4gICAgfSxcbiAgICBbZGVib3VuY2VkRmV0Y2hVc2Vyc11cbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFzaG93U2VsZWN0TWVtYmVycykge1xuICAgICAgc2V0U2VhcmNoVmFsdWUoJycpXG4gICAgICBzZXRBY2N1bXVsYXRlZFVzZXJzKFtdKVxuICAgIH1cbiAgfSwgW3Nob3dTZWxlY3RNZW1iZXJzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghc2hvd1NlbGVjdE1lbWJlcnMpIHJldHVyblxuICAgIGZldGNoVXNlcnMoJycpXG4gIH0sIFtzaG93U2VsZWN0TWVtYmVycywgZmV0Y2hVc2Vyc10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodXNlcnMubGVuZ3RoID4gMCAmJiBzaG93U2VsZWN0TWVtYmVycykge1xuICAgICAgaWYgKGN1cnJlbnRQYWdlID09PSAxKSB7XG4gICAgICAgIHNldEFjY3VtdWxhdGVkVXNlcnModXNlcnMpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRBY2N1bXVsYXRlZFVzZXJzKHByZXYgPT4ge1xuICAgICAgICAgIGNvbnN0IGV4aXN0aW5nSWRzID0gbmV3IFNldChwcmV2Lm1hcCh1ID0+IHUuaWQpKVxuICAgICAgICAgIGNvbnN0IG5ld1VzZXJzID0gdXNlcnMuZmlsdGVyKHUgPT4gIWV4aXN0aW5nSWRzLmhhcyh1LmlkKSlcbiAgICAgICAgICByZXR1cm4gWy4uLnByZXYsIC4uLm5ld1VzZXJzXVxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgaXNMb2FkaW5nTW9yZVJlZi5jdXJyZW50ID0gZmFsc2VcbiAgICB9XG4gIH0sIFt1c2VycywgY3VycmVudFBhZ2UsIHNob3dTZWxlY3RNZW1iZXJzXSlcblxuICBjb25zdCBoYW5kbGVTY3JvbGwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyID0gc2Nyb2xsQ29udGFpbmVyUmVmLmN1cnJlbnRcbiAgICBpZiAoIWNvbnRhaW5lciB8fCBsb2FkaW5nIHx8IGlzTG9hZGluZ01vcmVSZWYuY3VycmVudCkgcmV0dXJuXG5cbiAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGNvbnRhaW5lclxuICAgIGNvbnN0IGlzTmVhckJvdHRvbSA9IHNjcm9sbFRvcCArIGNsaWVudEhlaWdodCA+PSBzY3JvbGxIZWlnaHQgLSAxMFxuXG4gICAgaWYgKGlzTmVhckJvdHRvbSAmJiBjdXJyZW50UGFnZSA8IHRvdGFsUGFnZXMpIHtcbiAgICAgIGlzTG9hZGluZ01vcmVSZWYuY3VycmVudCA9IHRydWVcbiAgICAgIGhhbmRsZUdldFVzZXJzKHsgcGFnZTogY3VycmVudFBhZ2UgKyAxLCBzZWFyY2hJbnB1dDogY3VycmVudFNlYXJjaFJlZi5jdXJyZW50IH0pXG4gICAgfVxuICB9LCBbY3VycmVudFBhZ2UsIHRvdGFsUGFnZXMsIGxvYWRpbmcsIGhhbmRsZUdldFVzZXJzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHNjcm9sbENvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgaWYgKCFjb250YWluZXIgfHwgIXNob3dTZWxlY3RNZW1iZXJzKSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICBjb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgIH1cbiAgfSwgW2hhbmRsZVNjcm9sbCwgc2hvd1NlbGVjdE1lbWJlcnNdKVxuXG4gIGNvbnN0IGhhbmRsZUNsaWNrQWN0aW9uU2VsZWN0ID0gKCkgPT4ge1xuICAgIHNldFNob3dTZWxlY3RNZW1iZXJzKHByZXYgPT4gIXByZXYpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxDVVNlbGVjdFxuICAgICAgdGl0bGU9e3QoJ21vZGFsLmFkZE1lbWJlcnNUaXRsZScpfVxuICAgICAgcGxhY2Vob2xkZXI9e3QoJ21vZGFsLmFkZE1lbWJlcnNQbGFjZWhvbGRlcicpfVxuICAgICAgZW5kSWNvbj17XG4gICAgICAgIDxTQ1dyYXBwZXJTZWxlY3RJY29uIGlzT3Blbj17c2hvd1NlbGVjdE1lbWJlcnN9PlxuICAgICAgICAgIDxDaGV2cm9uRG93biB3aWR0aD1cIjE2cHhcIiBoZWlnaHQ9XCIxNnB4XCIgY29sb3I9e3BhbGxldGUuY29sb3JzLmRhcmt9IC8+XG4gICAgICAgIDwvU0NXcmFwcGVyU2VsZWN0SWNvbj5cbiAgICAgIH1cbiAgICAgIHZhbHVlPXt2YWx1ZS5tYXAobWVtYmVyID0+IG1lbWJlci5uYW1lKS5qb2luKCcgLSAnKX1cbiAgICAgIG9wZW49e3Nob3dTZWxlY3RNZW1iZXJzfVxuICAgICAgaGFuZGxlQ2xpY2tBY3Rpb249e2hhbmRsZUNsaWNrQWN0aW9uU2VsZWN0fVxuICAgID5cbiAgICAgIDxTQ0JhY2tkcm9wSW5wdXRTZWxlY3Qgb25DbGljaz17KCkgPT4gc2V0U2hvd1NlbGVjdE1lbWJlcnMoZmFsc2UpfSAvPlxuICAgICAgPFNDQ1VJdGVtc0xpc3QgcmVmPXtzY3JvbGxDb250YWluZXJSZWZ9PlxuICAgICAgICA8U0NNZW1iZXJTZWFyY2hXcmFwcGVyPlxuICAgICAgICAgIDxTZWFyY2hDb21wb25lbnRcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0KCdtb2RhbC5zZWFyY2hNZW1iZXJQbGFjZWhvbGRlcicpfVxuICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVNlYXJjaH1cbiAgICAgICAgICAgIHZhbHVlPXtzZWFyY2hWYWx1ZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1NDTWVtYmVyU2VhcmNoV3JhcHBlcj5cbiAgICAgICAge2FjY3VtdWxhdGVkVXNlcnMubWFwKG1lbWJlciA9PiB7XG4gICAgICAgICAgY29uc3QgbWVtYmVyTmFtZSA9IGAke21lbWJlci5maXJzdE5hbWV9ICR7bWVtYmVyLmxhc3ROYW1lfWBcbiAgICAgICAgICBjb25zdCBpc1NlbGVjdGVkID0gdmFsdWU/LnNvbWUobSA9PiBtLmlkID09PSBtZW1iZXIuaWQpIHx8IGZhbHNlXG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxTQ0NVU2VsZWN0SXRlbVxuICAgICAgICAgICAgICBrZXk9e21lbWJlci5pZH1cbiAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiB7XG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE1lbWJlcihtZW1iZXIpXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e2lzU2VsZWN0ZWR9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTQ01lbWJlckl0ZW1Db250ZW50PlxuICAgICAgICAgICAgICAgIDxzcGFuPnttZW1iZXJOYW1lfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8U0NNZW1iZXJDaGVja2JveFxuICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2lzU2VsZWN0ZWR9XG4gICAgICAgICAgICAgICAgICByZWFkT25seVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0TWVtYmVyKG1lbWJlcilcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TQ01lbWJlckl0ZW1Db250ZW50PlxuICAgICAgICAgICAgPC9TQ0NVU2VsZWN0SXRlbT5cbiAgICAgICAgICApXG4gICAgICAgIH0pfVxuICAgICAgPC9TQ0NVSXRlbXNMaXN0PlxuICAgIDwvQ1VTZWxlY3Q+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxTQUFTQSxRQUFRLEVBQWVDLFNBQVMsRUFBRUMsTUFBTSxFQUFFQyxXQUFXLFFBQVEsT0FBTztBQUM3RSxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxPQUFPQyxPQUFPLE1BQU0sbUNBQW1DO0FBQ3ZELFNBQVNDLFdBQVcsUUFBUSw4Q0FBOEM7QUFDMUUsU0FBU0MsUUFBUSxRQUFRLDhDQUE4QztBQUN2RSxTQUFTQyxlQUFlLFFBQVEsNENBQTRDO0FBQzVFLFNBQVNDLFdBQVcsUUFBUSx5QkFBeUI7QUFDckQsU0FBU0Msb0JBQW9CLFFBQVEsa0NBQWtDO0FBQ3ZFLFNBQ0VDLHFCQUFxQixFQUNyQkMsYUFBYSxFQUNiQyxjQUFjLEVBQ2RDLG1CQUFtQixFQUNuQkMsbUJBQW1CLEVBQ25CQyxnQkFBZ0IsRUFDaEJDLHFCQUFxQixRQUNoQiwyQkFBMkI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBY2xDLE9BQU8sSUFBTUMsYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFBQyxJQUFBLEVBQWdEO0VBQUEsSUFBMUNDLEtBQUssR0FBQUQsSUFBQSxDQUFMQyxLQUFLO0lBQUVDLFFBQVEsR0FB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QSxDQUFDRixxQkFBcUI7UUFBQTJFLFFBQUEsZUFDcEJ6RSxJQUFBLENBQUNYLGVBQWU7VUFDZGlGLFdBQVcsRUFBRXpELENBQUMsQ0FBQywrQkFBK0IsQ0FBRTtVQUNoRFAsUUFBUSxFQUFFMEMsWUFBYTtVQUN2QjNDLEtBQUssRUFBRWlCO1FBQVksQ0FDcEI7TUFBQyxDQUNtQixDQUFDLEVBQ3ZCSSxnQkFBZ0IsQ0FBQzZCLEdBQUcsQ0FBQyxVQUFBdkIsTUFBTSxFQUFJO1FBQzlCLElBQU1vRCxVQUFVLE1BQUE5QyxNQUFBLENBQU1OLE1BQU0sQ0FBQ1MsU0FBUyxPQUFBSCxNQUFBLENBQUlOLE1BQU0sQ0FBQ1UsUUFBUSxDQUFFO1FBQzNELElBQU0yQyxVQUFVLEdBQUcsQ0FBQWhGLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFNkIsSUFBSSxDQUFDLFVBQUFDLENBQUM7VUFBQSxPQUFJQSxDQUFDLENBQUNDLEVBQUUsS0FBS0osTUFBTSxDQUFDSSxFQUFFO1FBQUEsRUFBQyxLQUFJLEtBQUs7UUFDaEUsb0JBQ0VwQyxJQUFBLENBQUNOLGNBQWM7VUFFYndGLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFFakMsQ0FBQyxFQUFJO1lBQ1pBLENBQUMsQ0FBQ3FDLGVBQWUsQ0FBQyxDQUFDO1lBQ25CdkQsa0JBQWtCLENBQUNDLE1BQU0sQ0FBQztVQUM1QixDQUFFO1VBQ0ZxRCxVQUFVLEVBQUVBLFVBQVc7VUFBQVosUUFBQSxlQUV2QnZFLEtBQUEsQ0FBQ04sbUJBQW1CO1lBQUE2RSxRQUFBLGdCQUNsQnpFLElBQUE7Y0FBQXlFLFFBQUEsRUFBT1c7WUFBVSxDQUFPLENBQUMsZUFDekJwRixJQUFBLENBQUNILGdCQUFnQjtjQUNmMEYsSUFBSSxFQUFDLFVBQVU7Y0FDZkMsT0FBTyxFQUFFSCxVQUFXO2NBQ3BCSSxRQUFRO2NBQ1JQLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFFakMsQ0FBQyxFQUFJO2dCQUNaQSxDQUFDLENBQUNxQyxlQUFlLENBQUMsQ0FBQztnQkFDbkJ2RCxrQkFBa0IsQ0FBQ0MsTUFBTSxDQUFDO2NBQzVCO1lBQUUsQ0FDSCxDQUFDO1VBQUEsQ0FDaUI7UUFBQyxHQWxCakJBLE1BQU0sQ0FBQ0ksRUFtQkUsQ0FBQztNQUVyQixDQUFDLENBQUM7SUFBQSxDQUNXLENBQUM7RUFBQSxDQUNSLENBQUM7QUFFZixDQUFDIiwiaWdub3JlTGlzdCI6W119