@profoundlogic/coderflow-server 0.4.4 → 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/dist/base-image/entrypoint.sh +2 -1
  2. package/dist/coder-server.js +1 -1
  3. package/dist/config.js +1 -1
  4. package/dist/lib/agent-keepalive.js +1 -1
  5. package/dist/lib/agent-models.js +1 -1
  6. package/dist/lib/api-keys.js +1 -1
  7. package/dist/lib/apiKeys.js +1 -1
  8. package/dist/lib/app-server-ports.js +1 -1
  9. package/dist/lib/auto-judge.js +1 -1
  10. package/dist/lib/automation-service.js +1 -0
  11. package/dist/lib/basic-auth.js +1 -1
  12. package/dist/lib/bindings.js +1 -0
  13. package/dist/lib/build-history.js +1 -1
  14. package/dist/lib/build-output-service.js +1 -1
  15. package/dist/lib/build-scheduler.js +1 -1
  16. package/dist/lib/build-service.js +1 -1
  17. package/dist/lib/ca-certificates.js +1 -1
  18. package/dist/lib/claude-oauth-refresh.js +1 -1
  19. package/dist/lib/cli/build.js +1 -1
  20. package/dist/lib/cli/config-command.js +1 -1
  21. package/dist/lib/cli/config.js +1 -1
  22. package/dist/lib/cli/create-user.js +1 -1
  23. package/dist/lib/cli/init.js +1 -1
  24. package/dist/lib/cli/jira.js +1 -1
  25. package/dist/lib/cli/license.js +1 -1
  26. package/dist/lib/cli/server-manager.js +1 -1
  27. package/dist/lib/config-migration.js +1 -1
  28. package/dist/lib/container-credential-sync.js +1 -1
  29. package/dist/lib/container-tokens.js +1 -1
  30. package/dist/lib/data-dir.js +1 -1
  31. package/dist/lib/deployment-history.js +1 -1
  32. package/dist/lib/deployment-service.js +1 -1
  33. package/dist/lib/docker-utils.js +1 -1
  34. package/dist/lib/email.js +1 -1
  35. package/dist/lib/emailTemplates.js +1 -1
  36. package/dist/lib/entitlement.js +1 -1
  37. package/dist/lib/fetch-utils.js +1 -1
  38. package/dist/lib/git-commit-details-route.js +1 -1
  39. package/dist/lib/git-history-diff-guardrails.js +1 -1
  40. package/dist/lib/git-provider-service.js +1 -1
  41. package/dist/lib/git-provider-setup/github-setup-handler.js +1 -1
  42. package/dist/lib/git-provider-setup/index.js +1 -1
  43. package/dist/lib/git-provider-setup/setup-factory.js +1 -1
  44. package/dist/lib/git-provider-setup/setup-interface.js +1 -1
  45. package/dist/lib/git-providers/azure-devops-provider.js +1 -1
  46. package/dist/lib/git-providers/github-app-provider.js +1 -1
  47. package/dist/lib/git-providers/index.js +1 -1
  48. package/dist/lib/git-providers/provider-factory.js +1 -1
  49. package/dist/lib/git-providers/provider-interface.js +1 -1
  50. package/dist/lib/github-urls.js +1 -1
  51. package/dist/lib/group-objective-linking.js +1 -1
  52. package/dist/lib/jira-client.js +1 -1
  53. package/dist/lib/judge-blinding.js +1 -1
  54. package/dist/lib/logger.js +1 -1
  55. package/dist/lib/migration-to-scoped-rbac.js +1 -0
  56. package/dist/lib/model-fetcher.js +1 -1
  57. package/dist/lib/notifications.js +1 -1
  58. package/dist/lib/objective-context.js +1 -1
  59. package/dist/lib/oidc-auth.js +1 -1
  60. package/dist/lib/oidc-device-flow.js +1 -1
  61. package/dist/lib/passwordTokens.js +1 -1
  62. package/dist/lib/permission-resolver.js +1 -0
  63. package/dist/lib/pin-cascade.js +1 -1
  64. package/dist/lib/provider-accounts.js +1 -1
  65. package/dist/lib/provider-oauth.js +1 -1
  66. package/dist/lib/provider-profile.js +1 -1
  67. package/dist/lib/provider-token-refresh.js +1 -1
  68. package/dist/lib/request-url.js +1 -1
  69. package/dist/lib/rewind.js +1 -1
  70. package/dist/lib/role-definitions.js +1 -0
  71. package/dist/lib/roles.js +1 -1
  72. package/dist/lib/secrets.js +1 -1
  73. package/dist/lib/setup-repo-git-auth.js +1 -1
  74. package/dist/lib/state-capture.js +1 -1
  75. package/dist/lib/static-files.js +1 -1
  76. package/dist/lib/task-name-format.js +1 -1
  77. package/dist/lib/task-name-generator.js +1 -1
  78. package/dist/lib/task-source-metadata.js +1 -0
  79. package/dist/lib/teams.js +1 -0
  80. package/dist/lib/user-git-oauth.js +1 -1
  81. package/dist/lib/user-git-tokens.js +1 -1
  82. package/dist/lib/users.js +1 -1
  83. package/dist/middleware/requireAuth.js +1 -1
  84. package/dist/middleware/requireInit.js +1 -1
  85. package/dist/middleware/requirePermission.js +1 -1
  86. package/dist/package-lock.json +211 -21
  87. package/dist/package.json +2 -1
  88. package/dist/playwright.config.js +1 -0
  89. package/dist/routes/apiKeys.js +1 -1
  90. package/dist/routes/auth-oidc.js +1 -1
  91. package/dist/routes/auth.js +1 -1
  92. package/dist/routes/automations.js +1 -0
  93. package/dist/routes/bindings.js +1 -0
  94. package/dist/routes/build.js +1 -1
  95. package/dist/routes/containers.js +1 -1
  96. package/dist/routes/deploy-task.js +1 -1
  97. package/dist/routes/environment-management.js +1 -1
  98. package/dist/routes/environments.js +1 -1
  99. package/dist/routes/external-skills.js +1 -1
  100. package/dist/routes/git-credentials.js +1 -1
  101. package/dist/routes/git-oauth.js +1 -1
  102. package/dist/routes/git-provider-setup.js +1 -1
  103. package/dist/routes/health.js +1 -1
  104. package/dist/routes/jira.js +1 -1
  105. package/dist/routes/objective-management.js +1 -1
  106. package/dist/routes/password.js +1 -1
  107. package/dist/routes/prompt.js +1 -1
  108. package/dist/routes/provider-auth.js +1 -1
  109. package/dist/routes/qa.js +1 -1
  110. package/dist/routes/roles.js +1 -0
  111. package/dist/routes/settings.js +1 -1
  112. package/dist/routes/skill-management.js +1 -1
  113. package/dist/routes/skills.js +1 -1
  114. package/dist/routes/tasks.js +1 -1
  115. package/dist/routes/teams.js +1 -0
  116. package/dist/routes/templates.js +1 -1
  117. package/dist/routes/test-task.js +1 -1
  118. package/dist/routes/test.js +1 -1
  119. package/dist/routes/users.js +1 -1
  120. package/dist/routes/visualizations.js +1 -1
  121. package/dist/scripts/create-user.js +1 -1
  122. package/dist/scripts/migrate-config-to-data-dir.js +1 -1
  123. package/dist/scripts/migrate-to-scoped-rbac.js +2 -0
  124. package/dist/start.js +1 -1
  125. package/dist/start.js.bak +1381 -0
  126. package/dist/web-ui/public/activity-detail-modal.js +1 -1
  127. package/dist/web-ui/public/activity-feed.js +1 -1
  128. package/dist/web-ui/public/activity-formatters.js +1 -1
  129. package/dist/web-ui/public/agent-event-parser.js +1 -1
  130. package/dist/web-ui/public/app.js +1 -1
  131. package/dist/web-ui/public/approve-dialog.js +1 -1
  132. package/dist/web-ui/public/automation-links.js +1 -0
  133. package/dist/web-ui/public/automation-schedule.js +1 -0
  134. package/dist/web-ui/public/comments-widget.js +1 -1
  135. package/dist/web-ui/public/diff-utils.js +1 -1
  136. package/dist/web-ui/public/docs/_sidebar.md +1 -0
  137. package/dist/web-ui/public/docs/admin/automations.md +75 -0
  138. package/dist/web-ui/public/docs/admin/users-and-roles.md +14 -4
  139. package/dist/web-ui/public/environments.css +247 -125
  140. package/dist/web-ui/public/environments.html +346 -2
  141. package/dist/web-ui/public/environments.js +1 -1
  142. package/dist/web-ui/public/feedback-widget.css +42 -0
  143. package/dist/web-ui/public/feedback-widget.js +1 -1
  144. package/dist/web-ui/public/git-history-lazy-utils.js +1 -1
  145. package/dist/web-ui/public/git-history.html +15 -0
  146. package/dist/web-ui/public/git-history.js +1 -1
  147. package/dist/web-ui/public/git-status.js +1 -1
  148. package/dist/web-ui/public/index.html +27 -0
  149. package/dist/web-ui/public/index.js +1 -1
  150. package/dist/web-ui/public/login.js +1 -1
  151. package/dist/web-ui/public/markdown-editor.js +1 -1
  152. package/dist/web-ui/public/markdown-file-editor.js +1 -1
  153. package/dist/web-ui/public/modal-maximize.js +1 -1
  154. package/dist/web-ui/public/notifications.js +1 -1
  155. package/dist/web-ui/public/pr-dialog.js +1 -1
  156. package/dist/web-ui/public/roles.html +247 -0
  157. package/dist/web-ui/public/roles.js +1 -0
  158. package/dist/web-ui/public/server-health.js +1 -1
  159. package/dist/web-ui/public/settings.html +62 -0
  160. package/dist/web-ui/public/settings.js +1 -1
  161. package/dist/web-ui/public/setup-password.js +1 -1
  162. package/dist/web-ui/public/skills.html +15 -0
  163. package/dist/web-ui/public/skills.js +1 -1
  164. package/dist/web-ui/public/sse-client.js +1 -1
  165. package/dist/web-ui/public/sse-shared-worker.js +1 -1
  166. package/dist/web-ui/public/styles.css +198 -161
  167. package/dist/web-ui/public/task.html +2 -2
  168. package/dist/web-ui/public/task.js +1 -1
  169. package/dist/web-ui/public/teams.html +285 -0
  170. package/dist/web-ui/public/teams.js +1 -0
  171. package/dist/web-ui/public/terminal.js +1 -1
  172. package/dist/web-ui/public/theme.js +1 -1
  173. package/dist/web-ui/public/users.html +87 -29
  174. package/dist/web-ui/public/users.js +1 -1
  175. package/dist/web-ui/public/variant-grouping.js +1 -1
  176. package/package.json +6 -3
@@ -23,7 +23,7 @@
23
23
  })();
24
24
  </script>
25
25
  <link rel="stylesheet" href="styles.css?v=83">
26
- <script type="module" src="users.js?v=58"></script>
26
+ <script type="module" src="users.js?v=60"></script>
27
27
  <!-- Dev QA shortcut: Ctrl+Shift+Q to launch current page in QA mode -->
28
28
  </head>
29
29
  <body>
@@ -51,6 +51,15 @@
51
51
  </svg>
52
52
  </button>
53
53
  <div class="dropdown-menu admin-dropdown" id="admin-menu" hidden>
54
+ <button type="button" class="dropdown-item admin-menu-item" onclick="window.location.href='teams.html'">
55
+ <svg class="option-icon icon-teams" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
56
+ <path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
57
+ <circle cx="9" cy="7" r="4"></circle>
58
+ <path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
59
+ <path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
60
+ </svg>
61
+ <span class="option-text">Teams</span>
62
+ </button>
54
63
  <button type="button" class="dropdown-item admin-menu-item" onclick="window.location.href='environments.html'">
55
64
  <svg class="option-icon icon-environments" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
56
65
  <circle cx="12" cy="12" r="10"></circle>
@@ -59,6 +68,12 @@
59
68
  </svg>
60
69
  <span class="option-text">Environments</span>
61
70
  </button>
71
+ <button type="button" class="dropdown-item admin-menu-item" onclick="window.location.href='roles.html'">
72
+ <svg class="option-icon icon-roles" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
73
+ <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path>
74
+ </svg>
75
+ <span class="option-text">Roles</span>
76
+ </button>
62
77
  <button type="button" class="dropdown-item admin-menu-item" onclick="window.location.href='skills.html'">
63
78
  <svg class="option-icon icon-skills" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
64
79
  <path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path>
@@ -131,7 +146,7 @@
131
146
  <th>Username</th>
132
147
  <th>Name</th>
133
148
  <th>Email</th>
134
- <th>Role</th>
149
+ <th>Access</th>
135
150
  <th>Created</th>
136
151
  <th>Actions</th>
137
152
  </tr>
@@ -149,7 +164,7 @@
149
164
  <!-- Create/Edit User Modal -->
150
165
  <div id="user-modal" class="modal" hidden>
151
166
  <div class="modal-overlay"></div>
152
- <div class="modal-content">
167
+ <div class="modal-content" style="max-width: 640px;">
153
168
  <div class="modal-header">
154
169
  <h2 id="modal-title">Create User</h2>
155
170
  <button class="modal-close" id="close-user-modal">&times;</button>
@@ -210,38 +225,81 @@
210
225
  </div>
211
226
  </div>
212
227
 
213
- <div class="modal-section">
214
- <label for="user-role">Role *</label>
215
- <select id="user-role" class="form-input">
216
- <option value="viewer">Viewer</option>
217
- <option value="developer">Developer</option>
218
- <option value="manager">Manager</option>
219
- <option value="admin">Administrator</option>
220
- </select>
221
- <p class="field-hint" id="role-description">Select a role to see its permissions</p>
222
- </div>
228
+ <div id="form-error" class="login-error" hidden></div>
229
+ </form>
230
+ <p class="field-hint" style="margin-top: 1rem;">After creating a user, assign environment access through <strong>Access Bindings</strong> or by adding them to <strong>Teams</strong>.</p>
231
+ </div>
232
+ <div class="modal-footer" id="user-modal-footer">
233
+ <button class="btn-ghost" id="cancel-user">Cancel</button>
234
+ <button class="btn-primary" id="save-user">Save User</button>
235
+ </div>
236
+ </div>
237
+ </div>
223
238
 
224
- <!-- Custom Permissions Section (admin only) -->
225
- <div id="permissions-section" class="modal-section" style="display: none;">
226
- <div class="permissions-header">
227
- <label>Custom Permissions</label>
228
- <button type="button" class="btn-ghost btn-small" id="toggle-permissions">
229
- <span id="toggle-permissions-text">Show</span>
230
- </button>
239
+ <!-- Access Bindings Modal -->
240
+ <div id="bindings-modal" class="modal" hidden>
241
+ <div class="modal-overlay"></div>
242
+ <div class="modal-content" style="max-width: 640px;">
243
+ <div class="modal-header">
244
+ <h2 id="bindings-modal-title">Access Bindings</h2>
245
+ <button class="modal-close" id="close-bindings-modal">&times;</button>
246
+ </div>
247
+ <div class="modal-body">
248
+ <div id="bindings-server-admin-section" style="padding: 0.875rem 1rem; margin-bottom: 1rem; background: var(--color-surface-elevated); border: 1px solid var(--color-border); border-radius: 8px;">
249
+ <label style="display: flex; align-items: center; gap: 0.5rem; cursor: pointer;">
250
+ <input type="checkbox" id="user-is-server-admin" style="width: auto; margin: 0;">
251
+ <span style="font-weight: 600;">Server Admin</span>
252
+ </label>
253
+ <p class="field-hint" style="margin-top: 0.375rem; margin-bottom: 0;">Grants full system access with all permissions, bypassing environment bindings.</p>
254
+ </div>
255
+ <div id="user-bindings-loading" class="loading" hidden>Loading bindings…</div>
256
+ <div id="user-bindings-empty" hidden style="padding: 1.5rem 0; text-align: center; color: var(--color-text-secondary);">
257
+ No direct user bindings.
258
+ </div>
259
+ <div id="user-team-bindings-note" hidden style="padding: 0.875rem 1rem; margin-top: 0.75rem; background: var(--color-surface-elevated); border: 1px solid var(--color-border); border-radius: 8px; font-size: 0.875rem; color: var(--color-text-secondary);">
260
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="vertical-align: -3px; margin-right: 0.375rem;">
261
+ <path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
262
+ <circle cx="9" cy="7" r="4"></circle>
263
+ <path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
264
+ <path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
265
+ </svg>
266
+ <span id="user-team-bindings-text">This user also has access via team memberships.</span>
267
+ </div>
268
+ <div id="user-bindings-list-container">
269
+ <table class="users-table" id="user-bindings-table">
270
+ <thead>
271
+ <tr>
272
+ <th>Environment</th>
273
+ <th>Role</th>
274
+ <th>Actions</th>
275
+ </tr>
276
+ </thead>
277
+ <tbody id="user-bindings-table-body"></tbody>
278
+ </table>
279
+ </div>
280
+ <div id="user-bindings-actions" style="margin-top: 1rem;">
281
+ <button type="button" class="btn-secondary btn-small" id="add-user-binding-btn">+ Add Binding</button>
282
+ </div>
283
+ <!-- Inline add-binding form -->
284
+ <div id="add-user-binding-form" hidden style="margin-top: 0.75rem; padding: 1rem; border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-surface-elevated);">
285
+ <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-bottom: 0.75rem;">
286
+ <div>
287
+ <label style="font-size: 0.8rem; margin-bottom: 0.25rem; display: block;">Environment</label>
288
+ <select id="user-binding-environment" class="form-input" style="font-size: 0.875rem;"></select>
231
289
  </div>
232
- <p class="field-hint">Grant additional permissions beyond the role's defaults</p>
233
-
234
- <div id="permissions-list" class="permissions-list" style="display: none;">
235
- <!-- Permission categories will be populated here -->
290
+ <div>
291
+ <label style="font-size: 0.8rem; margin-bottom: 0.25rem; display: block;">Role</label>
292
+ <select id="user-binding-role" class="form-input" style="font-size: 0.875rem;"></select>
236
293
  </div>
237
294
  </div>
238
-
239
- <div id="form-error" class="login-error" hidden></div>
240
- </form>
295
+ <div style="display: flex; gap: 0.5rem;">
296
+ <button type="button" class="btn-primary btn-small" id="save-user-binding-btn">Add Binding</button>
297
+ <button type="button" class="btn-ghost btn-small" id="cancel-user-binding-btn">Cancel</button>
298
+ </div>
299
+ </div>
241
300
  </div>
242
301
  <div class="modal-footer">
243
- <button class="btn-ghost" id="cancel-user">Cancel</button>
244
- <button class="btn-primary" id="save-user">Save User</button>
302
+ <button class="btn-ghost" id="close-bindings-modal-footer">Done</button>
245
303
  </div>
246
304
  </div>
247
305
  </div>
@@ -1 +1 @@
1
- function _0x2fa0(_0xfe1104,_0x1632d0){_0xfe1104=_0xfe1104-0xac;const _0x57a53f=_0x57a5();let _0x2fa0c7=_0x57a53f[_0xfe1104];if(_0x2fa0['YDVRLn']===undefined){var _0x2f4e7f=function(_0x4a4ce4){const _0x5e9fbf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc5f596='',_0x391ed9='';for(let _0x2b0f56=0x0,_0x236286,_0x1f2da5,_0x40fcf0=0x0;_0x1f2da5=_0x4a4ce4['charAt'](_0x40fcf0++);~_0x1f2da5&&(_0x236286=_0x2b0f56%0x4?_0x236286*0x40+_0x1f2da5:_0x1f2da5,_0x2b0f56++%0x4)?_0xc5f596+=String['fromCharCode'](0xff&_0x236286>>(-0x2*_0x2b0f56&0x6)):0x0){_0x1f2da5=_0x5e9fbf['indexOf'](_0x1f2da5);}for(let _0x3c0712=0x0,_0x446cfc=_0xc5f596['length'];_0x3c0712<_0x446cfc;_0x3c0712++){_0x391ed9+='%'+('00'+_0xc5f596['charCodeAt'](_0x3c0712)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x391ed9);};_0x2fa0['LPAgHo']=_0x2f4e7f,_0x2fa0['mquZKq']={},_0x2fa0['YDVRLn']=!![];}const _0x492524=_0x57a53f[0x0],_0x10df11=_0xfe1104+_0x492524,_0x14864d=_0x2fa0['mquZKq'][_0x10df11];return!_0x14864d?(_0x2fa0c7=_0x2fa0['LPAgHo'](_0x2fa0c7),_0x2fa0['mquZKq'][_0x10df11]=_0x2fa0c7):_0x2fa0c7=_0x14864d,_0x2fa0c7;}const _0x5d3a30=_0x2fa0;(function(_0x37c59a,_0x54e6d0){const _0x42e9bc=_0x2fa0,_0x1c4405=_0x37c59a();while(!![]){try{const _0x1cf514=parseInt(_0x42e9bc(0x148))/0x1*(-parseInt(_0x42e9bc(0xb2))/0x2)+parseInt(_0x42e9bc(0xd5))/0x3+-parseInt(_0x42e9bc(0xfb))/0x4+parseInt(_0x42e9bc(0x12c))/0x5*(parseInt(_0x42e9bc(0x11a))/0x6)+-parseInt(_0x42e9bc(0xaf))/0x7+parseInt(_0x42e9bc(0x12e))/0x8+parseInt(_0x42e9bc(0x170))/0x9*(parseInt(_0x42e9bc(0x150))/0xa);if(_0x1cf514===_0x54e6d0)break;else _0x1c4405['push'](_0x1c4405['shift']());}catch(_0x38d874){_0x1c4405['push'](_0x1c4405['shift']());}}}(_0x57a5,0x3b5c5));import{API,Utils,ConfirmDialog,CustomSelect,initializeAdminMenu}from'./app.js';import{initTheme,mountThemeToggle}from'./theme.js';const state={'users':[],'editingUserId':null,'deletingUserId':null,'setupLinkData':null,'emailConfigured':![],'currentUser':null,'rolesInfo':null,'selectedPermissions':[],'permissionsExpanded':![],'roleCustomSelect':null},ROLE_DESCRIPTIONS={'viewer':'Read-only\x20access\x20to\x20own\x20tasks\x20and\x20environments','developer':_0x5d3a30(0xf7),'manager':'User\x20management\x20and\x20task\x20oversight\x20capabilities','admin':_0x5d3a30(0xfd)},ROLE_NAMES={'viewer':'Viewer','developer':_0x5d3a30(0x137),'manager':_0x5d3a30(0x107),'admin':_0x5d3a30(0x10f)};function formatRoleName(_0xc5f596){return ROLE_NAMES[_0xc5f596]||_0xc5f596;}const PERMISSION_CATEGORIES={'tasks':_0x5d3a30(0x126),'environments':_0x5d3a30(0xe2),'users':_0x5d3a30(0x117),'settings':'Settings','server':_0x5d3a30(0x162),'apikeys':_0x5d3a30(0x100)};document[_0x5d3a30(0x164)](_0x5d3a30(0x15e),async()=>{initTheme(),mountThemeToggle(),await checkAdminAccess(),await initializeAdminMenu(state['currentUser']),await checkEmailConfig(),bindEventListeners(),await loadUsers();});async function checkAdminAccess(){const _0x2131b6=_0x5d3a30;try{const _0x391ed9=await API[_0x2131b6(0xc1)]();state[_0x2131b6(0x105)]=_0x391ed9;try{state[_0x2131b6(0x13e)]=await API[_0x2131b6(0x174)]();}catch(_0x2b0f56){Utils[_0x2131b6(0xed)](_0x2131b6(0xe8),'error'),setTimeout(()=>{const _0x477d27=_0x2131b6;window['location'][_0x477d27(0xc5)]=_0x477d27(0xb0);},0x7d0);return;}setupRoleDescriptions();}catch(_0x236286){window[_0x2131b6(0xcd)]['href']=_0x2131b6(0xe4);}}function setupRoleDescriptions(){const _0x3b4f92=_0x5d3a30,_0x1f2da5=document[_0x3b4f92(0xdf)](_0x3b4f92(0xce)),_0x40fcf0=document[_0x3b4f92(0xdf)](_0x3b4f92(0xeb));if(!_0x1f2da5||!_0x40fcf0)return;state[_0x3b4f92(0x13e)]?.[_0x3b4f92(0x112)]&&(_0x1f2da5[_0x3b4f92(0xd0)]='',state[_0x3b4f92(0x13e)][_0x3b4f92(0x112)][_0x3b4f92(0xbd)](_0x446cfc=>{const _0x196b74=_0x3b4f92;if(_0x446cfc['canAssign']){const _0x44b535=document[_0x196b74(0x168)](_0x196b74(0x12b));_0x44b535[_0x196b74(0x118)]=_0x446cfc[_0x196b74(0x118)],_0x44b535[_0x196b74(0x10a)]=_0x446cfc[_0x196b74(0xba)],_0x1f2da5[_0x196b74(0x104)](_0x44b535);}}));state['roleCustomSelect']=new CustomSelect(_0x1f2da5),_0x1f2da5[_0x3b4f92(0x164)](_0x3b4f92(0x11e),()=>{const _0x546d23=_0x3b4f92,_0x31c128=_0x1f2da5['value'];_0x40fcf0[_0x546d23(0x10a)]=ROLE_DESCRIPTIONS[_0x31c128]||'',handleRoleChange();});const _0x3c0712=_0x1f2da5[_0x3b4f92(0x118)];_0x40fcf0[_0x3b4f92(0x10a)]=ROLE_DESCRIPTIONS[_0x3c0712]||'',setupPermissionsSection();}function setupPermissionsSection(){const _0x196bc1=_0x5d3a30,_0x2cef97=document[_0x196bc1(0xdf)]('permissions-section'),_0x5032de=document[_0x196bc1(0xdf)]('permissions-list'),_0x34158b=state['rolesInfo']?.[_0x196bc1(0x152)]?.[_0x196bc1(0x101)](_0xb7701c=>_0xb7701c['canAssign']);if(!_0x34158b||!_0x2cef97||!_0x5032de){if(_0x2cef97)_0x2cef97[_0x196bc1(0xd8)][_0x196bc1(0x138)]=_0x196bc1(0x178);return;}_0x2cef97[_0x196bc1(0xd8)][_0x196bc1(0x138)]=_0x196bc1(0x176);const _0x43c14e={};state[_0x196bc1(0x13e)][_0x196bc1(0x152)][_0x196bc1(0xbd)](_0x19b7ac=>{const _0x2a6fce=_0x196bc1;if(!_0x19b7ac[_0x2a6fce(0x163)])return;const [_0x1b46b0]=_0x19b7ac[_0x2a6fce(0x130)]['split'](':');!_0x43c14e[_0x1b46b0]&&(_0x43c14e[_0x1b46b0]=[]),_0x43c14e[_0x1b46b0][_0x2a6fce(0x119)](_0x19b7ac);}),_0x5032de[_0x196bc1(0xd0)]=Object[_0x196bc1(0x115)](_0x43c14e)[_0x196bc1(0x16a)](([_0x3c1a52,_0x4ea6e7])=>'\x0a\x20\x20\x20\x20<div\x20class=\x22permission-category\x22>\x0a\x20\x20\x20\x20\x20\x20<h4\x20class=\x22permission-category-title\x22>'+(PERMISSION_CATEGORIES[_0x3c1a52]||_0x3c1a52)+_0x196bc1(0x10d)+_0x4ea6e7[_0x196bc1(0x16a)](_0x2b010a=>_0x196bc1(0x17c)+Utils['escapeHtml'](_0x2b010a['description'])+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22checkbox\x22\x20value=\x22'+_0x2b010a[_0x196bc1(0x130)]+_0x196bc1(0xb9)+_0x2b010a[_0x196bc1(0x130)]['split'](':')[0x1]+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22permission-role-badge\x22\x20style=\x22display:\x20none;\x22>role</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20')[_0x196bc1(0x14e)]('')+_0x196bc1(0x13c))['join'](''),_0x5032de['querySelectorAll']('.permission-checkbox')[_0x196bc1(0xbd)](_0x22676e=>{_0x22676e['addEventListener']('change',handlePermissionChange);});}function getRolePermissions(_0x2c4e49){const _0x3aaa12=_0x5d3a30,_0x2779d0={'admin':['*'],'manager':[_0x3aaa12(0x156),'tasks:execute','tasks:view_own',_0x3aaa12(0x16e),_0x3aaa12(0xfe),_0x3aaa12(0x169),'tasks:judge',_0x3aaa12(0x17a),_0x3aaa12(0x135),_0x3aaa12(0x172),_0x3aaa12(0x13d),_0x3aaa12(0xef),_0x3aaa12(0xe3),_0x3aaa12(0xd1),'apikeys:manage_own'],'developer':[_0x3aaa12(0x156),_0x3aaa12(0xd4),_0x3aaa12(0x120),_0x3aaa12(0xfe),_0x3aaa12(0x135),_0x3aaa12(0x172),'apikeys:manage_own'],'viewer':['tasks:view_own','environments:view',_0x3aaa12(0x172),_0x3aaa12(0x141)]};return _0x2779d0[_0x2c4e49]||[];}function _0x57a5(){const _0x34d20e=['C2TPCc1WyxnZD29Yzc1JB250ywLUzxi','C2v0DxbmAw5Rrgf0yq','zgLZywjSzwq','DhjPBq','iIbJBgfZCZ0ICgvYBwLZC2LVBI1JAgvJA2jVEci+cIaGicaGicaGicaGidXZCgfUignSyxnZpsjWzxjTAxnZAw9UlwTLEsi+','BMfTzq','zgv2zwXVCgvY','y2XVC2uTzgvSzxrLlw1VzgfS','zM9YrwfJAa','zwrPDgLUz1vZzxjjza','i3nLDhvWlwXPBMSTBw9KywWGlM1VzgfSlw92zxjSyxK','BgvUz3rO','z2v0q3vYCMvUDfvZzxi','CgvYBwLZC2LVBI1MCM9TlxjVBgu','ugfZC3DVCMqGAxmGCMvXDwLYzwqGzM9Yig5LDYb1C2vYCW','C29YDa','AhjLzG','C2vSzwn0zwrqzxjTAxnZAw9UCW','CxvLCNLtzwXLy3rVCG','y3jLyxrLlxvZzxiTyNrU','zM9YBs1LCNjVCG','CgfZC3DVCMqTAgLUDa','C2TPCc1WyxnZD29Yza','z2v0rw1HAwXdB25MAwC','Bg9JyxrPB24','DxnLCI1YB2XL','r2vUzxjHDguGtgLUAW','Aw5Uzxjive1m','C2vYDMvYoMHLywX0Aa','D3jPDgvuzxH0','zw1HAwXtzw50','DgfZA3m6zxHLy3v0zq','nZm1nJeYCffvuKLm','pc90zd4kicaGicaGphrKpGOGicaGicaGidXZCgfUignSyxnZpsjYB2XLlwjHzgDLihjVBguT','DxnLCI1JB3vUDa','C3r5Bgu','DhLWzq','r2vUzxjHDguGysbWyxnZD29YzcbYzxnLDcbSAw5RigzVCIa','y2HLy2TLza','DxnLCNmTBg9HzgLUzW','y2XHC3nmAxn0','y3jLyxrLvxnLCG','z2v0rwXLBwvUDej5swq','jYKIpKvKAxq8l2j1DhrVBJ4kicaGicaGicaGidXIDxr0B24Gy2XHC3m9iMj0BI1ZzwnVBMrHCNKGyNrUlxnTywXSiIbVBMnSAwnRpsj3Aw5KB3CUCMvZzxrqyxnZD29YzcGN','C21VB3rO','rw52AxjVBM1LBNrZ','DxnLCNm6zwrPDa','Bg9NAw4UAhrTBa','DxnLCNmTy29UDgvUDa','DxnLCNm','rMfPBgvKihrVignYzwf0zsbWyxnZD29YzcbYzxnLDcbSAw5R','qwnJzxnZigrLBMLLzdOGvxnLCIbTyw5Hz2vTzw50ihbYAxzPBgvNzxmGCMvXDwLYzwq','C2v0DxaTBgLUAY11C2vYBMfTzq','C2v0DxbvCMW','CM9Szs1KzxnJCMLWDgLVBG','zM9JDxm','C2HVD1rVyxn0','z2v0vxnLCNm','DxnLCNm6y3jLyxrL','y2XVC2uTDxnLCI1TB2rHBa','DxnLCI1Uyw1L','DgfYz2v0','CMvZzxq','lNbLCM1PC3nPB24Ty2HLy2TIB3G','q3jLyxrPBMCUlI4','zw1HAwXdB25MAwD1CMvK','q3jLyxrLigfUzcbLEgvJDxrLihrHC2TZlcb2Awv3igvUDMLYB25Tzw50CW','CxvLCNLtzwXLy3rVCKfSBa','Dg9Nz2XLlxbLCM1PC3nPB25ZlxrLEhq','CM9Szq','mZi5mdmYt2LVCwrj','pc9ZCgfUpG','rNvSBcbZExn0zw0GywnJzxnZihDPDgGGywXSihbLCM1PC3nPB25Z','DgfZA3m6zgvSzxrLx293BG','CMvXDwLYzwq','qvbjieTLExm','C29Tzq','ugXLyxnLigzPBgWGAw4GywXSihjLCxvPCMvKigzPzwXKCW','Dg9Rzw4','yxbWzw5Kq2HPBgq','y3vYCMvUDfvZzxi','AgLKzgvU','twfUywDLCG','C2v0DxaTBgLUAY11CMW','rwrPDcbvC2vY','Dgv4DenVBNrLBNq','zMLUza','ywrK','pc9Ond4kicaGicaGpgrPDIbJBgfZCZ0ICgvYBwLZC2LVBI1PDgvTCYi+cIaGicaGicaG','y3jLyxrLugfZC3DVCMruB2TLBG','qwrTAw4','Bw9KywWTDgL0Bgu','rMfPBgvKihrVihnLBMqGzw1HAwW','CM9Szxm','rMfPBgvKihrVigXVywqGDxnLCNm','vxbKyxrPBMCUlI4','zw50CMLLCW','y2XVC2uTC2v0DxaTBgLUAW','vxnLCNm','DMfSDwu','ChvZAa','mJyWndy2nK1qv1nVtG','CgvYBwLZC2LVBNmTBgLZDa','y2XPy2S','DxnLCNmTzxjYB3i','y2HHBMDL','Aw5JBhvKzxm','DgfZA3m6DMLLD19VD24','lNbLCM1PC3nPB24TAxrLBq','DxnLCI1WyxnZD29Yza','DxnLCI11C2vYBMfTzq','y29UzMLYBs1KzwXLDgu','zxjYB3i','vgfZA3m','zgLZCgf0y2HfDMvUDa','DxnLCI1MB3jT','u2HVDW','uMvZzxqGugfZC3DVCMq','B3b0Aw9U','nw9iAxvZyq','z2v0vgLTzq','mta3mtuZnKHwBMjiwG','Aw5SAw5LlwjSB2nR','A2v5','Dg9Nz2XLlxbLCM1PC3nPB25Z','kt8GvgHPCYb3AwXSignYzwf0zsbHigXPBMSGDgHHDcb0Agv5ignHBIb1C2uGDg8GC2v0igeGBMv3ihbHC3n3B3jKlG','rMfPBgvKihrVigvTywLSihnLDhvWigXPBMS','DxnLCI1LBwfPBa','zw52AxjVBM1LBNrZoNzPzxC','zgvSzxrLlw1VzgfS','rgv2zwXVCgvY','zgLZCgXHEq','zw1HAwWTyNv0Dg9UlxrLEhq','cIaGicaGidWVDgq+cIaGicaGidX0zd4','y2XVC2uTC2v0DxaTBgLUAY1TB2rHBa','cIaGicaGidWVzgL2pGOGicaGpc9KAxy+cIaG','DxnLCNm6DMLLDW','CM9SzxnjBMzV','rw1HAwWGC2vUDcb0BYa','i2rLBgv0zs1TB2rHBcaUBw9KywWTB3zLCMXHEq','yxbPA2v5CZPTyw5Hz2vFB3DU','zM9YBwf0uMvSyxrPDMvuAw1L','y3jLyxrLzf9HDa','vxnLCIbJCMvHDgvKihn1y2nLC3nMDwXSEq','vxnLCIb1CgrHDgvKihn1y2nLC3nMDwXSEq','y2fUy2vSlxvZzxi','DxnLCG','ntG5mgXtq1H6rW','u2vUzgLUzY4UlG','lNbLCM1PC3nPB24TCM9Szs1IywrNzq','y2HLy2TwywXPzgL0Eq','zgvSzxrLvxnLCG','CgfZC3DVCMqTCMvXDwLYzwq','AM9PBG','rMfPBgvKihrVignOzwnRigvTywLSignVBMzPzW','nda4ndqWD3f6sK1h','y29UzMLNDxjLza','CgvYBwLZC2LVBNm','y2fUy2vSlwrLBgv0zq','CMvTB3zL','CgvYBwLZC2LVBI1JDxn0B20','DgfZA3m6y3jLyxrL','zgvSzxrPBMDvC2vYswq','zw1HAwWTC2v0DxaTBgLUAW','phnWyw4Gy2XHC3m9iMn1C3rVBs1WzxjTAxnZAw9UCY1IywrNzsiGDgL0Bgu9iG','rMfPBgvKihrVigrLBgv0zsb1C2vY','tgvHDMuGyMXHBMSGDg8GA2vLCcbJDxjYzw50ihbHC3n3B3jK','cIaGicaGicaGpc9KAxy+cIaGicaGidWVDgq+cIaGicaGidX0zd4','C2f2zs11C2vY','re9nq29UDgvUDeXVywrLza','CMv0CNKTDxnLCNmTyNrU','CgfZC3DVCMq','CMvWB3j0vMfSAwrPDhK','u2vYDMvY','y2fUqxnZAwDU','ywrKrxzLBNrmAxn0zw5LCG','C2v0Dxa','zxnJyxbLshrTBa','C2v0DxaTBgLUAY1TB2rHBa','y3jLyxrLrwXLBwvUDa','DgfZA3m6zgvSzxrLx2fUEq','BwfW','zw1HAwW','C3bSAxq','DxnLCI1TB2rHBa','DgfZA3m6DMLLD19HBgW','rMfPBgvKihrVignYzwf0zsbWyxnZD29YzcbYzxnLDcbSAw5RoIa','ntr6thLYzMC','rMfPBgvKihrVignVChKGBgLUAW','zw52AxjVBM1LBNrZoNzPzxDFzgv0ywLSCW','twLUAw11Bsa4ignOyxjHy3rLCNm','z2v0uM9SzxnjBMzV','C2HVDW','yMXVy2S','DxnLCNmTDgfIBguTyM9KEq','BM9Uzq','BMvHCMvZDa','DgfZA3m6yxnZAwDU','sgLKzq','cIaGicaGicaGica8BgfIzwWGy2XHC3m9iNbLCM1PC3nPB24TAxrLBsiGDgL0Bgu9iG','CgvYBwLZC2LVBNnfEhbHBMrLza','BwvZC2fNzq','rMfPBgvKihrVihnLBMqGzw1HAwW6ia','DxnLCM5HBwu','mJK4nJq5nfLns0jssq','Aw5KzxGUAhrTBa','C3vJy2vZCW','mta0r3Pot0HZ','u2f2zsbvC2vY','DxjS'];_0x57a5=function(){return _0x34d20e;};return _0x57a5();}function roleHasPermission(_0x5492cb,_0x3b6687){const _0x211659=_0x5d3a30,_0x27ac39=getRolePermissions(_0x5492cb);if(_0x27ac39[_0x211659(0x11f)]('*'))return!![];if(_0x27ac39['includes'](_0x3b6687))return!![];const [_0x44a5cb]=_0x3b6687[_0x211659(0x16c)](':');if(_0x27ac39[_0x211659(0x11f)](_0x44a5cb+':*'))return!![];return![];}function togglePermissionsSection(){const _0x1e5846=_0x5d3a30,_0x14cabb=document[_0x1e5846(0xdf)](_0x1e5846(0x11b)),_0x211414=document['getElementById'](_0x1e5846(0xf9));if(!_0x14cabb||!_0x211414)return;state['permissionsExpanded']=!state[_0x1e5846(0x17d)],state[_0x1e5846(0x17d)]?(_0x14cabb[_0x1e5846(0xd8)][_0x1e5846(0x138)]=_0x1e5846(0x176),_0x211414[_0x1e5846(0x10a)]=_0x1e5846(0x17b)):(_0x14cabb[_0x1e5846(0xd8)]['display']=_0x1e5846(0x178),_0x211414[_0x1e5846(0x10a)]='Show');}function handlePermissionChange(_0x3d0573){const _0x2b05cb=_0x5d3a30,_0x2d41dc=_0x3d0573[_0x2b05cb(0xf2)],_0xf4ac98=_0x2d41dc[_0x2b05cb(0x118)];_0x2d41dc[_0x2b05cb(0xdb)]?!state['selectedPermissions'][_0x2b05cb(0x11f)](_0xf4ac98)&&state['selectedPermissions']['push'](_0xf4ac98):state[_0x2b05cb(0xc6)]=state['selectedPermissions']['filter'](_0x34e259=>_0x34e259!==_0xf4ac98);}function updatePermissionCheckboxes(_0xead311=[],_0x1e1ab5=null){const _0x27a9ec=_0x5d3a30;state['selectedPermissions']=[..._0xead311];const _0x462367=document[_0x27a9ec(0xdf)](_0x27a9ec(0x11b)),_0x2208c2=_0x1e1ab5||document['getElementById'](_0x27a9ec(0xce))?.['value']||_0x27a9ec(0xbb);if(!_0x462367)return;_0x462367[_0x27a9ec(0xf8)](_0x27a9ec(0x121))[_0x27a9ec(0xbd)](_0x14358f=>{const _0x17933c=_0x27a9ec,_0x1bdab4=_0x14358f['querySelector'](_0x17933c(0xf4)),_0x48fe69=_0x14358f[_0x17933c(0xc7)](_0x17933c(0x14a)),_0x36bc30=_0x1bdab4[_0x17933c(0x118)],_0x27a53e=roleHasPermission(_0x2208c2,_0x36bc30),_0x29246e=_0xead311[_0x17933c(0x11f)](_0x36bc30);if(_0x27a53e)_0x1bdab4[_0x17933c(0xdb)]=!![],_0x1bdab4['disabled']=!![],_0x14358f[_0x17933c(0xdd)][_0x17933c(0x10c)](_0x17933c(0xc2)),_0x14358f['classList'][_0x17933c(0x154)](_0x17933c(0x155)),_0x48fe69&&(_0x48fe69[_0x17933c(0xd8)][_0x17933c(0x138)]='inline',_0x48fe69[_0x17933c(0x10a)]=_0x2208c2);else{if(_0x29246e){_0x1bdab4['checked']=!![],_0x1bdab4[_0x17933c(0xb7)]=![],_0x14358f[_0x17933c(0xdd)][_0x17933c(0x154)]('permission-from-role'),_0x14358f[_0x17933c(0xdd)][_0x17933c(0x10c)](_0x17933c(0x155));if(_0x48fe69)_0x48fe69[_0x17933c(0xd8)][_0x17933c(0x138)]=_0x17933c(0x178);}else{_0x1bdab4[_0x17933c(0xdb)]=![],_0x1bdab4['disabled']=![],_0x14358f[_0x17933c(0xdd)][_0x17933c(0x154)](_0x17933c(0xc2),_0x17933c(0x155));if(_0x48fe69)_0x48fe69[_0x17933c(0xd8)][_0x17933c(0x138)]=_0x17933c(0x178);}}});}function handleRoleChange(){const _0x51db05=_0x5d3a30,_0x303ebf=document[_0x51db05(0xdf)]('user-role')?.[_0x51db05(0x118)];_0x303ebf&&updatePermissionCheckboxes(state[_0x51db05(0xc6)],_0x303ebf);}function resetPermissionsSection(){const _0x3a8cd2=_0x5d3a30;state[_0x3a8cd2(0xc6)]=[],state['permissionsExpanded']=![];const _0x54802b=document[_0x3a8cd2(0xdf)]('permissions-list'),_0x24550f=document[_0x3a8cd2(0xdf)](_0x3a8cd2(0xf9));_0x54802b&&(_0x54802b[_0x3a8cd2(0xd8)][_0x3a8cd2(0x138)]=_0x3a8cd2(0x178));_0x24550f&&(_0x24550f[_0x3a8cd2(0x10a)]=_0x3a8cd2(0x129));const _0x5f4759=document[_0x3a8cd2(0xdf)](_0x3a8cd2(0xce))?.['value']||_0x3a8cd2(0xbb);updatePermissionCheckboxes([],_0x5f4759);}async function checkEmailConfig(){const _0x165326=_0x5d3a30;try{const _0x14fad2=await API[_0x165326(0xcc)]();state[_0x165326(0xf6)]=_0x14fad2[_0x165326(0x151)];}catch(_0x173162){console[_0x165326(0x125)](_0x165326(0x14f),_0x173162),state[_0x165326(0xf6)]=![];}}function bindEventListeners(){const _0x4546db=_0x5d3a30;document[_0x4546db(0xdf)](_0x4546db(0xc8))?.[_0x4546db(0x164)](_0x4546db(0x11c),showCreateUserModal),document['getElementById'](_0x4546db(0xf0))?.[_0x4546db(0x164)](_0x4546db(0x11c),hideUserModal),document[_0x4546db(0xdf)](_0x4546db(0x146))?.[_0x4546db(0x164)](_0x4546db(0x11c),hideUserModal),document[_0x4546db(0xdf)]('save-user')?.['addEventListener']('click',saveUser),document[_0x4546db(0xc7)]('#user-modal\x20.modal-overlay')?.[_0x4546db(0x164)]('click',hideUserModal),document[_0x4546db(0xdf)](_0x4546db(0xbc))?.[_0x4546db(0x164)](_0x4546db(0x11c),hideDeleteModal),document['getElementById'](_0x4546db(0x153))?.[_0x4546db(0x164)](_0x4546db(0x11c),hideDeleteModal),document[_0x4546db(0xdf)](_0x4546db(0x124))?.[_0x4546db(0x164)](_0x4546db(0x11c),confirmDeleteUser),document['querySelector'](_0x4546db(0x140))?.[_0x4546db(0x164)](_0x4546db(0x11c),hideDeleteModal),document[_0x4546db(0xdf)](_0x4546db(0x13b))?.['addEventListener']('click',hideSetupLinkModal),document[_0x4546db(0xdf)](_0x4546db(0x116))?.['addEventListener'](_0x4546db(0x11c),hideSetupLinkModal),document['getElementById']('copy-setup-link')?.[_0x4546db(0x164)](_0x4546db(0x11c),copySetupLink),document[_0x4546db(0xdf)](_0x4546db(0x158))?.[_0x4546db(0x164)]('click',emailSetupLink),document['querySelector'](_0x4546db(0xbf))?.[_0x4546db(0x164)](_0x4546db(0x11c),hideSetupLinkModal),document[_0x4546db(0xdf)](_0x4546db(0xcb))?.[_0x4546db(0x164)](_0x4546db(0x11e),handleSkipPasswordChange),document[_0x4546db(0xdf)](_0x4546db(0x131))?.[_0x4546db(0x164)](_0x4546db(0x11c),togglePermissionsSection),document[_0x4546db(0xdf)](_0x4546db(0x15f))?.['addEventListener']('click',loadUsers);}async function loadUsers(){const _0x28e92a=_0x5d3a30,_0x4dd9ae=document[_0x28e92a(0xdf)](_0x28e92a(0xdc)),_0x4a8367=document[_0x28e92a(0xdf)](_0x28e92a(0x11d)),_0x3c62d3=document[_0x28e92a(0xdf)](_0x28e92a(0xe5));try{_0x4dd9ae[_0x28e92a(0x106)]=![],_0x4a8367['hidden']=!![],_0x3c62d3[_0x28e92a(0x106)]=!![];const _0x108fda=await API[_0x28e92a(0xee)]();state[_0x28e92a(0xe6)]=_0x108fda[_0x28e92a(0xe6)]||[],renderUsers(),_0x4dd9ae[_0x28e92a(0x106)]=!![],_0x3c62d3[_0x28e92a(0x106)]=![];}catch(_0x5bc840){console[_0x28e92a(0x125)](_0x28e92a(0x113),_0x5bc840),_0x4dd9ae[_0x28e92a(0x106)]=!![],_0x4a8367[_0x28e92a(0x106)]=![],document[_0x28e92a(0xdf)]('users-error-message')['textContent']=_0x5bc840['message'];}}function renderUsers(){const _0x190701=_0x5d3a30,_0x10aedd=document['getElementById'](_0x190701(0x177)),_0x8a9ae3=document['getElementById'](_0x190701(0xd7));if(!_0x10aedd)return;_0x8a9ae3&&(_0x8a9ae3[_0x190701(0x10a)]=state[_0x190701(0xe6)][_0x190701(0xc0)]+'\x20user'+(state[_0x190701(0xe6)][_0x190701(0xc0)]===0x1?'':'s'));const _0xbc1bb8=[...state[_0x190701(0xe6)]][_0x190701(0xc4)]((_0x2c6631,_0x582c06)=>{const _0x51b8c=_0x190701,_0x12a0ed=new Date(_0x2c6631['created_at'])['getTime'](),_0x281453=new Date(_0x582c06[_0x51b8c(0x143)])[_0x51b8c(0x12d)]();return _0x281453-_0x12a0ed;});_0x10aedd[_0x190701(0xd0)]=_0xbc1bb8[_0x190701(0x16a)](_0x5ba117=>'\x0a\x20\x20\x20\x20<tr>\x0a\x20\x20\x20\x20\x20\x20<td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22user-username\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+Utils['escapeHtml'](_0x5ba117['username'])+_0x190701(0x15c)+Utils[_0x190701(0x166)](_0x5ba117[_0x190701(0xba)])+'</td>\x0a\x20\x20\x20\x20\x20\x20<td>'+Utils[_0x190701(0x166)](_0x5ba117[_0x190701(0x16b)])+_0x190701(0xd6)+_0x5ba117[_0x190701(0xfa)]+'\x22>'+formatRoleName(_0x5ba117['role'])+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x5ba117[_0x190701(0x152)]?.[_0x190701(0xc0)]?_0x190701(0x159)+_0x5ba117['permissions'][_0x190701(0x14e)](',\x20')+'\x22>+'+_0x5ba117[_0x190701(0x152)][_0x190701(0xc0)]+_0x190701(0xfc):'')+_0x190701(0x13a)+Utils[_0x190701(0x142)](_0x5ba117[_0x190701(0x143)])+'</td>\x0a\x20\x20\x20\x20\x20\x20<td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22user-actions\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22btn-secondary\x20btn-small\x22\x20onclick=\x22window.editUser(\x27'+_0x5ba117['id']+_0x190701(0xe0)+_0x5ba117['id']+'\x27)\x22>Reset\x20Password</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22btn-ghost\x20btn-small\x22\x20onclick=\x22window.deleteUser(\x27'+_0x5ba117['id']+'\x27)\x22>Delete</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</td>\x0a\x20\x20\x20\x20</tr>\x0a\x20\x20')[_0x190701(0x14e)]('');}function showCreateUserModal(){const _0x12c214=_0x5d3a30;state['editingUserId']=null;const _0x2c3415=document['getElementById']('user-modal'),_0x34493d=document[_0x12c214(0xdf)](_0x12c214(0x110)),_0x1e7898=document[_0x12c214(0xdf)]('user-password'),_0x5999a8=document['getElementById']('password-required'),_0x1d2142=document[_0x12c214(0xdf)](_0x12c214(0xca)),_0x221457=document['getElementById'](_0x12c214(0xb5)),_0x2a205b=document['getElementById'](_0x12c214(0xcb));_0x34493d['textContent']='Create\x20User',document[_0x12c214(0xdf)](_0x12c214(0x128))[_0x12c214(0xf3)](),_0x1e7898[_0x12c214(0xff)]=!![];if(_0x5999a8)_0x5999a8[_0x12c214(0x10a)]='*';_0x221457&&(_0x221457['style'][_0x12c214(0x138)]=_0x12c214(0x176),_0x2a205b[_0x12c214(0xdb)]=![]),_0x1d2142&&(_0x1d2142['textContent']=_0x12c214(0x173)),resetPermissionsSection(),_0x2c3415[_0x12c214(0x106)]=![],setTimeout(()=>{const _0x591e86=_0x12c214;document[_0x591e86(0xdf)](_0x591e86(0x123))[_0x591e86(0xec)]();},0x64);}window['editUser']=function(_0x143146){const _0x1aaa3e=_0x5d3a30,_0x21cd1b=state[_0x1aaa3e(0xe6)][_0x1aaa3e(0x10b)](_0x3de7d1=>_0x3de7d1['id']===_0x143146);if(!_0x21cd1b)return;state[_0x1aaa3e(0xbe)]=_0x143146;const _0x45aa71=document['getElementById'](_0x1aaa3e(0x16d)),_0x5343b8=document[_0x1aaa3e(0xdf)](_0x1aaa3e(0x110)),_0x2d8391=document['getElementById'](_0x1aaa3e(0x122)),_0x1d509d=document[_0x1aaa3e(0xdf)](_0x1aaa3e(0x14d)),_0x1e0640=document['getElementById'](_0x1aaa3e(0xca)),_0x3acfae=document[_0x1aaa3e(0xdf)](_0x1aaa3e(0xb5));_0x5343b8[_0x1aaa3e(0x10a)]=_0x1aaa3e(0x109),document['getElementById']('user-username')[_0x1aaa3e(0x118)]=_0x21cd1b[_0x1aaa3e(0xae)],document['getElementById'](_0x1aaa3e(0xf1))[_0x1aaa3e(0x118)]=_0x21cd1b[_0x1aaa3e(0xba)],document[_0x1aaa3e(0xdf)]('user-email')[_0x1aaa3e(0x118)]=_0x21cd1b[_0x1aaa3e(0x16b)];const _0x59de3d=document[_0x1aaa3e(0xdf)](_0x1aaa3e(0xce));_0x59de3d[_0x1aaa3e(0x118)]=_0x21cd1b['role'],_0x59de3d[_0x1aaa3e(0x127)](new Event(_0x1aaa3e(0x11e),{'bubbles':!![]})),_0x2d8391[_0x1aaa3e(0x118)]='',_0x2d8391['required']=![];if(_0x1d509d)_0x1d509d[_0x1aaa3e(0x10a)]='';_0x3acfae&&(_0x3acfae[_0x1aaa3e(0xd8)][_0x1aaa3e(0x138)]=_0x1aaa3e(0x178));_0x1e0640&&(_0x1e0640['textContent']=_0x1aaa3e(0x15b));const _0x9bdb03=_0x21cd1b[_0x1aaa3e(0x152)]||[];updatePermissionCheckboxes(_0x9bdb03,_0x21cd1b[_0x1aaa3e(0xfa)]);if(_0x9bdb03['length']>0x0){state['permissionsExpanded']=!![];const _0x200d29=document[_0x1aaa3e(0xdf)](_0x1aaa3e(0x11b)),_0x52caa4=document[_0x1aaa3e(0xdf)](_0x1aaa3e(0xf9));if(_0x200d29)_0x200d29[_0x1aaa3e(0xd8)][_0x1aaa3e(0x138)]='block';if(_0x52caa4)_0x52caa4[_0x1aaa3e(0x10a)]=_0x1aaa3e(0x17b);}else{state[_0x1aaa3e(0x17d)]=![];const _0x188835=document['getElementById'](_0x1aaa3e(0x11b)),_0x5a5d5c=document[_0x1aaa3e(0xdf)](_0x1aaa3e(0xf9));if(_0x188835)_0x188835[_0x1aaa3e(0xd8)][_0x1aaa3e(0x138)]='none';if(_0x5a5d5c)_0x5a5d5c[_0x1aaa3e(0x10a)]='Show';}_0x45aa71[_0x1aaa3e(0x106)]=![],setTimeout(()=>{const _0x52a9ce=_0x1aaa3e;document['getElementById'](_0x52a9ce(0x123))[_0x52a9ce(0xec)]();},0x64);};function hideUserModal(){const _0x2b65ea=_0x5d3a30,_0x53521b=document[_0x2b65ea(0xdf)](_0x2b65ea(0x16d)),_0xc84aa7=document[_0x2b65ea(0xdf)](_0x2b65ea(0xc9)),_0x5244ed=document['getElementById'](_0x2b65ea(0x15d));_0x53521b[_0x2b65ea(0x106)]=!![],_0xc84aa7[_0x2b65ea(0x106)]=!![],state[_0x2b65ea(0xbe)]=null,_0x5244ed&&(_0x5244ed[_0x2b65ea(0xb7)]=![],_0x5244ed['textContent']=_0x2b65ea(0xb3));}async function saveUser(){const _0x13dc6a=_0x5d3a30,_0x31d3de=document[_0x13dc6a(0xdf)]('user-form'),_0x1708b0=document['getElementById'](_0x13dc6a(0xcb))?.[_0x13dc6a(0xdb)]||![];if(!_0x1708b0&&!_0x31d3de[_0x13dc6a(0x14b)]()){_0x31d3de[_0x13dc6a(0x161)]();return;}const _0x204f5c=document[_0x13dc6a(0xdf)]('form-error'),_0x4f281f=document[_0x13dc6a(0xdf)]('save-user'),_0x333fe7=document[_0x13dc6a(0xdf)](_0x13dc6a(0x123))[_0x13dc6a(0x118)][_0x13dc6a(0xb8)](),_0x4bebf9=document[_0x13dc6a(0xdf)](_0x13dc6a(0xf1))['value']['trim'](),_0xec7e0a=document[_0x13dc6a(0xdf)](_0x13dc6a(0x134))['value'][_0x13dc6a(0xb8)](),_0x13e335=document['getElementById'](_0x13dc6a(0x122))['value'],_0x315b11=document['getElementById']('user-role')['value'];if(!_0x333fe7||!_0x4bebf9||!_0xec7e0a){_0x204f5c[_0x13dc6a(0x10a)]=_0x13dc6a(0x102),_0x204f5c[_0x13dc6a(0x106)]=![],_0x204f5c['scrollIntoView']({'behavior':_0x13dc6a(0xe1),'block':_0x13dc6a(0x179)});return;}_0x204f5c[_0x13dc6a(0x106)]=!![];const _0x174ceb=_0x4f281f[_0x13dc6a(0x10a)];_0x4f281f[_0x13dc6a(0xb7)]=!![],_0x4f281f[_0x13dc6a(0x10a)]=state[_0x13dc6a(0xbe)]?_0x13dc6a(0x114):_0x13dc6a(0xf5);try{if(state['editingUserId']){const _0x5bacb8={'username':_0x333fe7,'name':_0x4bebf9,'email':_0xec7e0a};if(_0x315b11)_0x5bacb8[_0x13dc6a(0xfa)]=_0x315b11;_0x13e335&&(_0x5bacb8[_0x13dc6a(0x160)]=_0x13e335),state[_0x13dc6a(0x13e)]?.[_0x13dc6a(0x152)]?.[_0x13dc6a(0x101)](_0x4f64b3=>_0x4f64b3[_0x13dc6a(0x163)])&&(_0x5bacb8[_0x13dc6a(0x152)]=state[_0x13dc6a(0xc6)]),await API['updateUser'](state[_0x13dc6a(0xbe)],_0x5bacb8),Utils[_0x13dc6a(0xed)](_0x13dc6a(0x145),'success'),await loadUsers(),hideUserModal();}else{const _0x3ae602={'username':_0x333fe7,'name':_0x4bebf9,'email':_0xec7e0a,'role':_0x315b11};if(!_0x1708b0){if(!_0x13e335)throw new Error(_0x13dc6a(0xc3));_0x3ae602[_0x13dc6a(0x160)]=_0x13e335;}state['rolesInfo']?.[_0x13dc6a(0x152)]?.[_0x13dc6a(0x101)](_0x3ea070=>_0x3ea070['canAssign'])&&state[_0x13dc6a(0xc6)][_0x13dc6a(0xc0)]>0x0&&(_0x3ae602[_0x13dc6a(0x152)]=state['selectedPermissions']);const _0x4530ff=await API[_0x13dc6a(0xde)](_0x3ae602),_0x5cc9f5=_0x4530ff[_0x13dc6a(0x147)];if(_0x1708b0||!_0x13e335){const _0x2b7e5e=await API[_0x13dc6a(0x10e)](_0x5cc9f5['id'],_0x13dc6a(0x165),![]);state[_0x13dc6a(0xb6)]={'username':_0x5cc9f5[_0x13dc6a(0xae)],'email':_0x5cc9f5[_0x13dc6a(0x16b)],'url':_0x2b7e5e['token'][_0x13dc6a(0xea)],'userId':_0x5cc9f5['id'],'type':_0x13dc6a(0x165),'emailSent':![]},await loadUsers(),hideUserModal(),showSetupLinkModal();}else Utils[_0x13dc6a(0xed)](_0x13dc6a(0x144),_0x13dc6a(0xb1)),await loadUsers(),hideUserModal();}}catch(_0x391647){console[_0x13dc6a(0x125)]('Failed\x20to\x20save\x20user',_0x391647),_0x204f5c[_0x13dc6a(0x10a)]=_0x391647[_0x13dc6a(0xac)],_0x204f5c[_0x13dc6a(0x106)]=![],_0x204f5c['scrollIntoView']({'behavior':_0x13dc6a(0xe1),'block':_0x13dc6a(0x179)}),_0x4f281f[_0x13dc6a(0xb7)]=![],_0x4f281f[_0x13dc6a(0x10a)]=_0x174ceb;}}window[_0x5d3a30(0x14c)]=function(_0x512509){const _0x344e95=_0x5d3a30,_0x545d16=state['users'][_0x344e95(0x10b)](_0xe08e9f=>_0xe08e9f['id']===_0x512509);if(!_0x545d16)return;state[_0x344e95(0x157)]=_0x512509;const _0x182e6d=document['getElementById']('delete-modal'),_0x207430=document[_0x344e95(0xdf)]('delete-user-name');_0x207430[_0x344e95(0x10a)]=_0x545d16[_0x344e95(0xba)]+'\x20('+_0x545d16[_0x344e95(0xae)]+')',_0x182e6d[_0x344e95(0x106)]=![];};function hideDeleteModal(){const _0x107c79=_0x5d3a30,_0x220422=document[_0x107c79(0xdf)](_0x107c79(0x136));_0x220422['hidden']=!![],state[_0x107c79(0x157)]=null;}async function confirmDeleteUser(){const _0x21389f=_0x5d3a30;if(!state['deletingUserId'])return;const _0x33488f=document[_0x21389f(0xdf)](_0x21389f(0x124)),_0x388d7d=_0x33488f[_0x21389f(0x10a)];_0x33488f[_0x21389f(0xb7)]=!![],_0x33488f[_0x21389f(0x10a)]='Deleting...';try{await API['deleteUser'](state[_0x21389f(0x157)]),Utils[_0x21389f(0xed)]('User\x20deleted\x20successfully',_0x21389f(0xb1)),await loadUsers(),hideDeleteModal();}catch(_0x331fd1){console['error'](_0x21389f(0x15a),_0x331fd1),Utils['showToast']('Failed\x20to\x20delete\x20user:\x20'+_0x331fd1[_0x21389f(0xac)],_0x21389f(0x125)),_0x33488f[_0x21389f(0xb7)]=![],_0x33488f[_0x21389f(0x10a)]=_0x388d7d;}}function handleSkipPasswordChange(_0x559812){const _0x5e0693=_0x5d3a30,_0xa1e514=document[_0x5e0693(0xdf)](_0x5e0693(0x122)),_0x56369e=_0x559812['target'][_0x5e0693(0xdb)];_0x56369e?(_0xa1e514[_0x5e0693(0xff)]=![],_0xa1e514[_0x5e0693(0xb7)]=!![],_0xa1e514[_0x5e0693(0x118)]=''):(_0xa1e514[_0x5e0693(0xff)]=!![],_0xa1e514[_0x5e0693(0xb7)]=![]);}function showSetupLinkModal(){const _0x401dfe=_0x5d3a30;if(!state[_0x401dfe(0xb6)])return;const _0x45782b=document[_0x401dfe(0xdf)](_0x401dfe(0x167)),_0x2fcc1e=document[_0x401dfe(0xdf)](_0x401dfe(0xe9)),_0xe8e9c0=document[_0x401dfe(0xdf)](_0x401dfe(0x108)),_0x15fa5b=document[_0x401dfe(0xdf)](_0x401dfe(0x158)),_0xd62652=document[_0x401dfe(0xdf)](_0x401dfe(0x139));_0x2fcc1e[_0x401dfe(0x10a)]=state[_0x401dfe(0xb6)]['username'],_0xe8e9c0[_0x401dfe(0x10a)]=state[_0x401dfe(0xb6)][_0x401dfe(0xb4)],_0x15fa5b&&_0xd62652&&(_0x15fa5b[_0x401dfe(0xb7)]=![],_0xd62652[_0x401dfe(0x10a)]='Email\x20Link',state[_0x401dfe(0xf6)]&&!state[_0x401dfe(0xb6)][_0x401dfe(0xd3)]?_0x15fa5b[_0x401dfe(0xd8)]['display']=_0x401dfe(0x12f):_0x15fa5b[_0x401dfe(0xd8)][_0x401dfe(0x138)]=_0x401dfe(0x178)),_0x45782b[_0x401dfe(0x106)]=![];}function hideSetupLinkModal(){const _0x1466db=_0x5d3a30,_0xdc4fb5=document[_0x1466db(0xdf)](_0x1466db(0x167));_0xdc4fb5['hidden']=!![],state[_0x1466db(0xb6)]=null;}async function copySetupLink(){const _0xc401f6=_0x5d3a30;if(!state[_0xc401f6(0xb6)])return;try{await navigator['clipboard'][_0xc401f6(0xd2)](state[_0xc401f6(0xb6)][_0xc401f6(0xb4)]),Utils[_0xc401f6(0xed)]('Link\x20copied\x20to\x20clipboard','success');}catch(_0x8f4a28){console[_0xc401f6(0x125)](_0xc401f6(0x171),_0x8f4a28),Utils[_0xc401f6(0xed)](_0xc401f6(0x171),_0xc401f6(0x125));}}async function emailSetupLink(){const _0x2c53b7=_0x5d3a30;if(!state[_0x2c53b7(0xb6)])return;const _0x29fbbc=document[_0x2c53b7(0xdf)](_0x2c53b7(0x158)),_0x3e2599=document[_0x2c53b7(0xdf)](_0x2c53b7(0x139));if(!_0x29fbbc||!_0x3e2599)return;const _0x3f2e2d=_0x3e2599[_0x2c53b7(0x10a)];_0x29fbbc[_0x2c53b7(0xb7)]=!![],_0x3e2599[_0x2c53b7(0x10a)]=_0x2c53b7(0x149);try{const _0x5d8f63=await API[_0x2c53b7(0x10e)](state[_0x2c53b7(0xb6)]['userId'],state['setupLinkData'][_0x2c53b7(0xd9)],!![]);if(_0x5d8f63[_0x2c53b7(0xd3)])Utils[_0x2c53b7(0xed)](_0x2c53b7(0x13f)+state['setupLinkData'][_0x2c53b7(0x16b)],_0x2c53b7(0xb1)),state[_0x2c53b7(0xb6)]['emailSent']=!![],_0x29fbbc[_0x2c53b7(0xd8)]['display']=_0x2c53b7(0x178);else{const _0x25d5a8=_0x5d8f63['emailError']||_0x2c53b7(0x111);Utils['showToast'](_0x25d5a8,_0x2c53b7(0x125)),_0x29fbbc[_0x2c53b7(0xb7)]=![],_0x3e2599[_0x2c53b7(0x10a)]=_0x3f2e2d;}}catch(_0x113cc2){console[_0x2c53b7(0x125)](_0x2c53b7(0x133),_0x113cc2),Utils[_0x2c53b7(0xed)](_0x2c53b7(0xad)+_0x113cc2['message'],_0x2c53b7(0x125)),_0x29fbbc[_0x2c53b7(0xb7)]=![],_0x3e2599[_0x2c53b7(0x10a)]=_0x3f2e2d;}}window['resetPassword']=async function(_0x4f1a4e){const _0x3d6fe4=_0x5d3a30,_0x47014c=state['users']['find'](_0x4e61a9=>_0x4e61a9['id']===_0x4f1a4e);if(!_0x47014c)return;const _0x3d2b91=await ConfirmDialog[_0x3d6fe4(0x175)]({'title':_0x3d6fe4(0x12a),'message':_0x3d6fe4(0xda)+_0x47014c['name']+'\x20('+_0x47014c[_0x3d6fe4(0xae)]+_0x3d6fe4(0x132),'confirmText':_0x3d6fe4(0xcf)});if(!_0x3d2b91)return;try{const _0x37a061=await API[_0x3d6fe4(0x10e)](_0x4f1a4e,_0x3d6fe4(0xf3),![]);state[_0x3d6fe4(0xb6)]={'username':_0x47014c[_0x3d6fe4(0xae)],'email':_0x47014c[_0x3d6fe4(0x16b)],'url':_0x37a061[_0x3d6fe4(0x103)][_0x3d6fe4(0xea)],'userId':_0x47014c['id'],'type':'reset','emailSent':![]},showSetupLinkModal();}catch(_0x122704){console[_0x3d6fe4(0x125)](_0x3d6fe4(0xe7),_0x122704),Utils[_0x3d6fe4(0xed)](_0x3d6fe4(0x16f)+_0x122704[_0x3d6fe4(0xac)],_0x3d6fe4(0x125));}};
1
+ const _0x4f151e=_0x46e9;(function(_0x3b25b9,_0xc60f36){const _0x5ec4fd=_0x46e9,_0x4eb199=_0x3b25b9();while(!![]){try{const _0x8f652=parseInt(_0x5ec4fd(0x14b))/0x1+parseInt(_0x5ec4fd(0x176))/0x2+parseInt(_0x5ec4fd(0x126))/0x3*(-parseInt(_0x5ec4fd(0x11e))/0x4)+-parseInt(_0x5ec4fd(0x13f))/0x5*(-parseInt(_0x5ec4fd(0x16b))/0x6)+-parseInt(_0x5ec4fd(0x1c7))/0x7+parseInt(_0x5ec4fd(0x120))/0x8*(-parseInt(_0x5ec4fd(0x180))/0x9)+parseInt(_0x5ec4fd(0x143))/0xa*(-parseInt(_0x5ec4fd(0x12b))/0xb);if(_0x8f652===_0xc60f36)break;else _0x4eb199['push'](_0x4eb199['shift']());}catch(_0x24b572){_0x4eb199['push'](_0x4eb199['shift']());}}}(_0x27ee,0x3bce0));import{API,Utils,ConfirmDialog,initializeAdminMenu}from'./app.js';import{initTheme,mountThemeToggle}from'./theme.js';const state={'users':[],'editingUserId':null,'bindingsUserId':null,'deletingUserId':null,'setupLinkData':null,'emailConfigured':![],'currentUser':null,'roles':[],'environments':[],'userBindings':[],'bindingsDirty':![]};document[_0x4f151e(0x19d)]('DOMContentLoaded',async()=>{const _0x4ad3a3=_0x4f151e;initTheme(),mountThemeToggle(),await checkAdminAccess(),await initializeAdminMenu(state[_0x4ad3a3(0x183)]),await Promise['all']([checkEmailConfig(),loadRoles(),loadEnvironments()]),bindEventListeners(),await loadUsers();});async function checkAdminAccess(){const _0x589040=_0x4f151e;try{const _0x4a783d=await API['getCurrentUser']();state[_0x589040(0x183)]=_0x4a783d;if(!_0x4a783d[_0x589040(0x121)]){Utils[_0x589040(0x135)](_0x589040(0x179),'error'),setTimeout(()=>{const _0x57fde8=_0x589040;window[_0x57fde8(0x185)][_0x57fde8(0x12c)]=_0x57fde8(0x161);},0x7d0);return;}}catch(_0x2ff79c){window[_0x589040(0x185)][_0x589040(0x12c)]=_0x589040(0x186);}}async function checkEmailConfig(){const _0x1e899e=_0x4f151e;try{const _0x1b0a7c=await API['getEmailConfig']();state[_0x1e899e(0x1af)]=_0x1b0a7c[_0x1e899e(0x1cd)];}catch(_0x113b25){console[_0x1e899e(0x1ac)](_0x1e899e(0x131),_0x113b25),state[_0x1e899e(0x1af)]=![];}}async function loadRoles(){const _0x2931bf=_0x4f151e;try{const {roles:_0x573835}=await API[_0x2931bf(0x15b)]();state['roles']=_0x573835||[];}catch{state['roles']=[];}}function _0x46e9(_0x51a677,_0x2d75b5){_0x51a677=_0x51a677-0x103;const _0x27eeca=_0x27ee();let _0x46e96d=_0x27eeca[_0x51a677];if(_0x46e9['glUieL']===undefined){var _0x36e3aa=function(_0x42f22f){const _0x3c05a6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a783d='',_0x2ff79c='';for(let _0x1b0a7c=0x0,_0x113b25,_0x573835,_0x61b42a=0x0;_0x573835=_0x42f22f['charAt'](_0x61b42a++);~_0x573835&&(_0x113b25=_0x1b0a7c%0x4?_0x113b25*0x40+_0x573835:_0x573835,_0x1b0a7c++%0x4)?_0x4a783d+=String['fromCharCode'](0xff&_0x113b25>>(-0x2*_0x1b0a7c&0x6)):0x0){_0x573835=_0x3c05a6['indexOf'](_0x573835);}for(let _0x3f6b32=0x0,_0x42134a=_0x4a783d['length'];_0x3f6b32<_0x42134a;_0x3f6b32++){_0x2ff79c+='%'+('00'+_0x4a783d['charCodeAt'](_0x3f6b32)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ff79c);};_0x46e9['qpLryW']=_0x36e3aa,_0x46e9['SQKqoP']={},_0x46e9['glUieL']=!![];}const _0x36171f=_0x27eeca[0x0],_0x27d850=_0x51a677+_0x36171f,_0x5c6826=_0x46e9['SQKqoP'][_0x27d850];return!_0x5c6826?(_0x46e96d=_0x46e9['qpLryW'](_0x46e96d),_0x46e9['SQKqoP'][_0x27d850]=_0x46e96d):_0x46e96d=_0x5c6826,_0x46e96d;}async function loadEnvironments(){const _0x13912a=_0x4f151e;try{const _0x61b42a=await API['getEnvironments']();state[_0x13912a(0x150)]=_0x61b42a['environments']||[];}catch{state[_0x13912a(0x150)]=[];}}function bindEventListeners(){const _0x50f925=_0x4f151e;document[_0x50f925(0x136)](_0x50f925(0x17c))?.[_0x50f925(0x19d)](_0x50f925(0x111),showCreateUserModal),document['getElementById'](_0x50f925(0x12e))?.[_0x50f925(0x19d)](_0x50f925(0x111),hideUserModal),document[_0x50f925(0x136)](_0x50f925(0x18b))?.[_0x50f925(0x19d)](_0x50f925(0x111),hideUserModal),document[_0x50f925(0x136)](_0x50f925(0x1b1))?.[_0x50f925(0x19d)](_0x50f925(0x111),saveUser),document[_0x50f925(0x187)](_0x50f925(0x10f))?.[_0x50f925(0x19d)](_0x50f925(0x111),hideUserModal),document['getElementById']('close-delete-modal')?.[_0x50f925(0x19d)](_0x50f925(0x111),hideDeleteModal),document[_0x50f925(0x136)](_0x50f925(0x19c))?.[_0x50f925(0x19d)]('click',hideDeleteModal),document['getElementById'](_0x50f925(0x168))?.[_0x50f925(0x19d)](_0x50f925(0x111),confirmDeleteUser),document[_0x50f925(0x187)](_0x50f925(0x124))?.[_0x50f925(0x19d)](_0x50f925(0x111),hideDeleteModal),document[_0x50f925(0x136)]('close-setup-link-modal')?.[_0x50f925(0x19d)](_0x50f925(0x111),hideSetupLinkModal),document['getElementById'](_0x50f925(0x119))?.[_0x50f925(0x19d)](_0x50f925(0x111),hideSetupLinkModal),document[_0x50f925(0x136)]('copy-setup-link')?.[_0x50f925(0x19d)](_0x50f925(0x111),copySetupLink),document[_0x50f925(0x136)](_0x50f925(0x17f))?.['addEventListener']('click',emailSetupLink),document[_0x50f925(0x187)](_0x50f925(0x148))?.[_0x50f925(0x19d)](_0x50f925(0x111),hideSetupLinkModal),document[_0x50f925(0x136)]('skip-password')?.[_0x50f925(0x19d)]('change',handleSkipPasswordChange),document['getElementById']('retry-users-btn')?.[_0x50f925(0x19d)](_0x50f925(0x111),loadUsers),document['getElementById'](_0x50f925(0x113))?.[_0x50f925(0x19d)](_0x50f925(0x111),hideAccessBindingsModal),document[_0x50f925(0x136)](_0x50f925(0x157))?.[_0x50f925(0x19d)](_0x50f925(0x111),hideAccessBindingsModal),document[_0x50f925(0x187)](_0x50f925(0x165))?.[_0x50f925(0x19d)](_0x50f925(0x111),hideAccessBindingsModal),document['getElementById']('user-is-server-admin')?.[_0x50f925(0x19d)]('change',handleServerAdminToggle),document[_0x50f925(0x136)](_0x50f925(0x163))?.['addEventListener'](_0x50f925(0x111),()=>{const _0x26832b=_0x50f925;document['getElementById'](_0x26832b(0x1bb))['hidden']=![],document[_0x26832b(0x136)](_0x26832b(0x163))[_0x26832b(0x16a)]=!![],populateUserBindingForm();}),document[_0x50f925(0x136)](_0x50f925(0x1a7))?.[_0x50f925(0x19d)](_0x50f925(0x111),()=>{const _0x41ec6b=_0x50f925;document[_0x41ec6b(0x136)]('add-user-binding-form')['hidden']=!![],document[_0x41ec6b(0x136)](_0x41ec6b(0x163))[_0x41ec6b(0x16a)]=![];}),document['getElementById'](_0x50f925(0x1b4))?.[_0x50f925(0x19d)](_0x50f925(0x111),saveUserBinding);}async function loadUsers(){const _0x3a42c3=_0x4f151e,_0x3f6b32=document[_0x3a42c3(0x136)](_0x3a42c3(0x195)),_0x42134a=document['getElementById'](_0x3a42c3(0x174)),_0x4b7b08=document[_0x3a42c3(0x136)](_0x3a42c3(0x139));try{_0x3f6b32[_0x3a42c3(0x16a)]=![],_0x42134a['hidden']=!![],_0x4b7b08[_0x3a42c3(0x16a)]=!![];const _0x406d39=await API[_0x3a42c3(0x19b)]();state[_0x3a42c3(0x171)]=_0x406d39[_0x3a42c3(0x171)]||[],renderUsers(),_0x3f6b32['hidden']=!![],_0x4b7b08[_0x3a42c3(0x16a)]=![];}catch(_0x25b286){console[_0x3a42c3(0x1ac)](_0x3a42c3(0x17d),_0x25b286),_0x3f6b32[_0x3a42c3(0x16a)]=!![],_0x42134a[_0x3a42c3(0x16a)]=![],document[_0x3a42c3(0x136)](_0x3a42c3(0x11d))[_0x3a42c3(0x10e)]=_0x25b286['message'];}}function renderUsers(){const _0x5ed3a9=_0x4f151e,_0x8d45cd=document[_0x5ed3a9(0x136)](_0x5ed3a9(0x1c0)),_0x24d56b=document[_0x5ed3a9(0x136)](_0x5ed3a9(0x14e));if(!_0x8d45cd)return;_0x24d56b&&(_0x24d56b[_0x5ed3a9(0x10e)]=state[_0x5ed3a9(0x171)][_0x5ed3a9(0x1bf)]+'\x20user'+(state[_0x5ed3a9(0x171)]['length']===0x1?'':'s'));const _0x1807ba=[...state['users']][_0x5ed3a9(0x1ca)]((_0x3655b0,_0x483689)=>{const _0x56c4b9=_0x5ed3a9,_0x4ff988=new Date(_0x3655b0[_0x56c4b9(0x112)])[_0x56c4b9(0x14f)](),_0x2b737e=new Date(_0x483689[_0x56c4b9(0x112)])[_0x56c4b9(0x14f)]();return _0x2b737e-_0x4ff988;});_0x8d45cd[_0x5ed3a9(0x16e)]=_0x1807ba[_0x5ed3a9(0x138)](_0x58939d=>_0x5ed3a9(0x189)+Utils[_0x5ed3a9(0x1a1)](_0x58939d[_0x5ed3a9(0x1a0)])+_0x5ed3a9(0x184)+Utils['escapeHtml'](_0x58939d[_0x5ed3a9(0x11b)])+_0x5ed3a9(0x175)+Utils['escapeHtml'](_0x58939d['email'])+_0x5ed3a9(0x14c)+(_0x58939d[_0x5ed3a9(0x121)]?_0x5ed3a9(0x169):'')+_0x5ed3a9(0x103)+(_0x58939d[_0x5ed3a9(0x1aa)]?_0x5ed3a9(0x10c):'')+_0x5ed3a9(0x103)+(_0x58939d['hasTeamBinding']?_0x5ed3a9(0x134):'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</td>\x0a\x20\x20\x20\x20\x20\x20<td>'+Utils[_0x5ed3a9(0x149)](_0x58939d[_0x5ed3a9(0x112)])+_0x5ed3a9(0x13b)+_0x58939d['id']+_0x5ed3a9(0x13e)+_0x58939d['id']+_0x5ed3a9(0x127)+_0x58939d['id']+_0x5ed3a9(0x146)+_0x58939d['id']+_0x5ed3a9(0x160))[_0x5ed3a9(0x172)]('');}window[_0x4f151e(0x1b7)]=function(_0x3c3462){const _0x4b0d5e=_0x4f151e,_0x10ef11=state[_0x4b0d5e(0x171)][_0x4b0d5e(0x182)](_0x1db067=>_0x1db067['id']===_0x3c3462);if(!_0x10ef11)return;state[_0x4b0d5e(0x147)]=_0x3c3462,state[_0x4b0d5e(0x1b8)]=![];const _0x35d945=document[_0x4b0d5e(0x136)]('bindings-modal'),_0x432907=document['getElementById'](_0x4b0d5e(0x15f));_0x432907[_0x4b0d5e(0x10e)]=_0x4b0d5e(0x1ae)+_0x10ef11['name'];const _0x580980=document[_0x4b0d5e(0x136)](_0x4b0d5e(0x1ad));_0x580980&&(_0x580980['checked']=!!_0x10ef11[_0x4b0d5e(0x121)]),document[_0x4b0d5e(0x136)]('add-user-binding-form')[_0x4b0d5e(0x16a)]=!![],document[_0x4b0d5e(0x136)](_0x4b0d5e(0x163))[_0x4b0d5e(0x16a)]=![],_0x35d945['hidden']=![],loadUserBindings(_0x3c3462);};function hasUnsavedBindingChanges(){const _0xc80e1c=_0x4f151e,_0x117631=document[_0xc80e1c(0x136)]('add-user-binding-form');return _0x117631&&!_0x117631[_0xc80e1c(0x16a)];}function _0x27ee(){const _0x2947da=['DxbKyxrLvxnLCG','y2XPCgjVyxjK','jYKIihrPDgXLpsjfzgL0iJ4kicaGicaGicaGicaGphn2zYb3Awr0Ad0ImtqIigHLAwDODd0ImtqIihzPzxDcB3G9iJaGmcaYncaYnciGzMLSBd0IBM9UzsiGC3rYB2TLpsjJDxjYzw50q29SB3iIihn0CM9Rzs13Awr0Ad0ImIi+cIaGicaGicaGicaGicaGphbHDgGGzd0ItteXidringeYidiGmcaWidaTmIaYDJe0ytiGmIaWidaGmcaYidjOmtrHmIaYidaGmcaWidiTmNyTnYi+pc9WyxrOpGOGicaGicaGicaGicaGidXWyxrOigq9iK0Xoc41idiUnweYlJeYmsaYlJeYmsaWidaGmsaZidnmmtiGmtvSltqGmsaXltqGos41ltKUnxOIpJWVCgf0Ad4kicaGicaGicaGicaGpc9ZDMC+cIaGicaGicaGica8l2j1DhrVBJ4kicaGicaGicaGidXIDxr0B24Gy2XHC3m9iMj0BI1Py29Uigj0BI1ZBwfSBciGB25JBgLJAZ0ID2LUzg93lNnOB3Dby2nLC3ncAw5KAw5NCYGN','nw1PseTwAG','DxnLCKjPBMrPBMDZ','yMLUzgLUz3mTBw9KywW','DMfSDwu','mZbsDvPTq0e','zgLZywjSzwq','rMfPBgvKihrVihnLBMqGzw1HAwW6ia','jYKIihrPDgXLpsjezwXLDguIpGOGicaGicaGicaGica8C3zNihDPzhrOpsiXnciGAgvPz2H0psiXnciGDMLLD0jVEd0ImcaWidi0idi0iIbMAwXSpsjUB25LiIbZDhjVA2u9iMn1CNjLBNrdB2XVCIiGC3rYB2TLlxDPzhrOpsiYiJ4kicaGicaGicaGicaGica8Cg9SEwXPBMuGCg9PBNrZpsiZidyGnsa2idiXidyIpJWVCg9SEwXPBMu+cIaGicaGicaGicaGicaGphbHDgGGzd0Itte5idz2mtrHmIaYidaGmcaXltiGmKG3ytiGmIaWidaGms0YltjwnM0ZidbwngeYidiGmcaWideGmI0YAdrHmIaYidaGmcaXidiGmNyYiJ48l3bHDgG+cIaGicaGicaGicaGidWVC3zNpGOGicaGicaGicaGpc9IDxr0B24+cIaGicaGicaGica8yNv0Dg9UignSyxnZpsjIDg4TC2vJB25Kyxj5igj0BI1ZBwfSBciGB25JBgLJAZ0ID2LUzg93lNjLC2v0ugfZC3DVCMqOjW','yMLUzgLUz3nvC2vYswq','i3nLDhvWlwXPBMSTBw9KywWGlM1VzgfSlw92zxjSyxK','zM9YBwf0uMvSyxrPDMvuAw1L','C2v0DxbvCMW','mtGWodG2qxHly05I','pc90zd4kicaGicaGphrKpGOGicaGicaGidXKAxyGy2XHC3m9iMfJy2vZCY1IywrNzxmIpGOGicaGicaGicaG','rMfPBgvKihrVignYzwf0zsbWyxnZD29YzcbYzxnLDcbSAw5R','DxnLCI1JB3vUDa','z2v0vgLTzq','zw52AxjVBM1LBNrZ','pc9VChrPB24+','DxnLCI10zwfTlwjPBMrPBMDZlxrLEhq','rMfPBgvKihrVihnHDMuGDxnLCG','rw1HAwWGC2vUDcb0BYa','yMLUzgLUz3m','DgfYz2v0','y2XVC2uTyMLUzgLUz3mTBw9KywWTzM9VDgvY','DxnLCI1IAw5KAw5NlxjVBgu','Bw9KywWTDgL0Bgu','CgfZC3DVCMqTAgLUDa','z2v0uM9SzurLzMLUAxrPB25Z','DxnLCI1IAw5KAw5NCY10ywjSzs1IB2r5','CgfZC3DVCMqTCMvXDwLYzwq','u2vYDMvYiefKBwLUihjLBw92zwq','yMLUzgLUz3mTBw9KywWTDgL0Bgu','jYKIpLjLC2v0ifbHC3n3B3jKpc9IDxr0B24+cIaGicaGicaGpc9KAxy+cIaGicaGidWVDgq+cIaGica8l3rYpGOGia','Aw5KzxGUAhrTBa','u2f2zsbvC2vY','ywrKlxvZzxiTyMLUzgLUzY1IDg4','ugfZC3DVCMqGAxmGCMvXDwLYzwqGzM9Yig5LDYb1C2vYCW','i2jPBMrPBMDZlw1VzgfSic5TB2rHBc1VDMvYBgf5','qMLUzgLUzYbHzgrLza','DgvHBxm','y29UzMLYBs1KzwXLDgu','phnWyw4Gy2XHC3m9iNjVBguTyMfKz2uGCM9Szs1Hzg1PBIi+u2vYDMvYiefKBwLUpc9ZCgfUpG','AgLKzgvU','mty4otq5mKjJt01Uta','DxnLCI1LBwfPBa','tgLUAYbJB3bPzwqGDg8Gy2XPCgjVyxjK','Aw5Uzxjive1m','C21VB3rO','zw1HAwW','DxnLCNm','AM9PBG','r2vUzxjHDguGysbWyxnZD29YzcbYzxnLDcbSAw5RigzVCIa','DxnLCNmTzxjYB3i','pc90zd4kicaGicaGphrKpG','odq5mdC0se9buKLq','C2HVDW','DhjPBq','qwnJzxnZigrLBMLLzdOGu2vYDMvYigfKBwLUihbYAxzPBgvNzxmGCMvXDwLYzwq','DxnLCI1Uyw1L','DxnLCI1IAw5KAw5NCY1SAxn0lwnVBNrHAw5LCG','y3jLyxrLlxvZzxiTyNrU','rMfPBgvKihrVigXVywqGDxnLCNm','y2HLy2TwywXPzgL0Eq','zw1HAwWTC2v0DxaTBgLUAW','mtuXmdjkrKnQAKm','Aw5JBhvKzxm','zMLUza','y3vYCMvUDfvZzxi','cIaGicaGicaGpc9KAxy+cIaGicaGidWVDgq+cIaGicaGidX0zd4','Bg9JyxrPB24','Bg9NAw4UAhrTBa','CxvLCNLtzwXLy3rVCG','C2v0DxbmAw5Rrgf0yq','cIaGica8Dhi+cIaGicaGidX0zd4kicaGicaGica8zgL2ignSyxnZpsj1C2vYlxvZzxjUyw1LiJ4kicaGicaGicaGia','vxnLCIbJCMvHDgvKihn1y2nLC3nMDwXSEq','y2fUy2vSlxvZzxi','DxnLCI1MB3jT','zgvSzxrLvxnLCG','pc90zd4kicaGicaGphrKpGOGicaGicaGidXIDxr0B24Gy2XHC3m9iMj0BI1NAg9ZDcbIDg4TC21HBgWIig9Uy2XPy2S9iNDPBMrVDY5KzwXLDgvvC2vYqMLUzgLUz0nSAwnRkcC','rMfPBgvKihrVigrLBgv0zsb1C2vYoIa','C3vJy2vZCW','zgvSzxrPBMDvC2vYswq','qwrKAw5N4OcM','BwvZC2fNzq','C3r5Bgu','DxnLCNmTBg9HzgLUzW','rMfPBgvKihrVihnLBMqGzw1HAwW','ywXS','DxnLCI1WyxnZD29Yza','rgvSzxrLifvZzxi','CMvZzxq','z2v0vxnLCNm','y2fUy2vSlwrLBgv0zq','ywrKrxzLBNrmAxn0zw5LCG','zM9JDxm','y2HLy2TLza','DxnLCM5HBwu','zxnJyxbLshrTBa','C2v0Dxa','DxnLCI1IAw5KAw5NCY1LBxb0Eq','BwvTyMvYCW','vxnLCIb1CgrHDgvKihn1y2nLC3nMDwXSEq','vxnLCIbKzwXLDgvKihn1y2nLC3nMDwXSEq','y2fUy2vSlxvZzxiTyMLUzgLUzY1IDg4','C2nYB2XSsw50B1zPzxC','D3jPDgvuzxH0','AgfZvxnLCKjPBMrPBMC','DxnLCI10zwfTlwjPBMrPBMDZlw5VDgu','zxjYB3i','DxnLCI1PCY1Zzxj2zxiTywrTAw4','qwnJzxnZiejPBMrPBMDZiokaLca','zw1HAwXdB25MAwD1CMvK','C2XPy2u','C2f2zs11C2vY','vxbKyxrPBMCUlI4','vgHPCYb1C2vYigfSC28GAgfZigfJy2vZCYb2AweGDgvHBsbTzw1IzxjZAgLWCYaO','C2f2zs11C2vYlwjPBMrPBMCTyNrU','jYKIihn0EwXLpsjJB2XVCJOGDMfYkc0Ty29SB3iTzgfUz2vYktSIpLjLBw92ztWVyNv0Dg9UpGOGicaGica8l3rKpGOGicaGpc90CJ4','C2v0DxaTBgLUAY1TB2rHBa','C2HVD0fJy2vZC0jPBMrPBMDZ','yMLUzgLUz3neAxj0Eq','ChvZAa','zw52AxjVBM1LBNq','ywrKlxvZzxiTyMLUzgLUzY1MB3jT','DxjS','DxnLCG','zw1HAwWTyNv0Dg9UlxrLEhq','BgvUz3rO','DxnLCNmTDgfIBguTyM9KEq','zgvSzxrLlw1VzgfS','zw1HAwXfCNjVCG','DxnLCI1IAw5KAw5NlwvUDMLYB25Tzw50','DgvHBq','rMfPBgvKihrVignYzwf0zsbWyxnZD29YzcbYzxnLDcbSAw5RoIa','AgfZ','ode5mtyXELrWz010','BMvHCMvZDa','zgvSzxrLlxvZzxiTBMfTzq','C29YDa','ww91igHHDMuGyw4GDw5ZyxzLzcbIAw5KAw5NlIbeAxnJyxjKignOyw5Nzxm/','u2vYDMvYiefKBwLUigvUywjSzwq','y29UzMLNDxjLza','cIaGicaGicaGica','zM9YBs1LCNjVCG','rMfPBgvKihrVignVChKGBgLUAW','C2v0DxaTBgLUAY11C2vYBMfTzq','zgvSzxrLqMLUzgLUzW','y3jLyxrLvxnLCG','z2v0vgvHBxm','y3jLyxrLugfZC3DVCMruB2TLBG','CM9Szv9Pza','phnWyw4Gy2XHC3m9iNjVBguTyMfKz2uGCM9Szs11C2vYlwjPBMrPBMCIpLvZzxiGqMLUzgLUzZWVC3bHBJ4','zwrPDgLUz1vZzxjjza','Dgv4DenVBNrLBNq','i3vZzxiTBw9KywWGlM1VzgfSlw92zxjSyxK','vgHPCYb1C2vYigHHCYbUBYbHy2nLC3mGDMLHihrLyw0GBwvTyMvYC2HPChmU','y2XPy2S','y3jLyxrLzf9HDa','y2XVC2uTyMLUzgLUz3mTBw9KywW','kt8GvgHPCYb3AwXSignYzwf0zsbHigXPBMSGDgHHDcb0Agv5ignHBIb1C2uGDg8GC2v0igeGBMv3ihbHC3n3B3jKlG','CgfZC3DVCMq','BM9Uzq','q3jLyxrPBMCUlI4','rgvSzxrPBMCUlI4','y2XVC2uTC2v0DxaTBgLUAW','rMfPBgvKihrVigrLBgv0zsb1C2vY','BMfTzq','DhLWzq','DxnLCNmTzxjYB3iTBwvZC2fNzq','mtuZmdy4Du5pBLni','y3jLyxrLqMLUzgLUzW','nJCYtgrzuKf4','Axntzxj2zxjbzg1PBG','CMvXDwLYzwq','zMLSDgvY','i2rLBgv0zs1TB2rHBcaUBw9KywWTB3zLCMXHEq','CM9Szv9Uyw1L','mJr3vKXKDNG','jYKIihrPDgXLpsjby2nLC3mGqMLUzgLUz3mIpGOGicaGicaGicaGica8C3zNihDPzhrOpsiXnciGAgvPz2H0psiXnciGDMLLD0jVEd0ImcaWidi0idi0iIbMAwXSpsjUB25LiIbZDhjVA2u9iMn1CNjLBNrdB2XVCIiGC3rYB2TLlxDPzhrOpsiYiJ4kicaGicaGicaGicaGica8Cgf0AcbKpsjnmtiGmJjZoc00idGTmtbwnwWToc0ZltGGm3y3yZaGnIa4ideWidGGmtb6iJ48l3bHDgG+cIaGicaGicaGicaGidWVC3zNpGOGicaGicaGicaGpc9IDxr0B24+cIaGicaGicaGica8yNv0Dg9UignSyxnZpsjIDg4TAwnVBIbIDg4TC21HBgWGyNrUlwrHBMDLCIiGB25JBgLJAZ0ID2LUzg93lMrLBgv0zvvZzxiOjW','u2vUzgLUzY4UlG','C2TPCc1WyxnZD29Yza','DxnLCI11C2vYBMfTzq','mJG1nZu4v3bKvNPj','AhjLzG','twLUAw11Bsa4ignOyxjHy3rLCNm','y2XVC2uTDxnLCI1TB2rHBa','zgLZCgXHEq','q3jLyxrLifvZzxi','rMfPBgvKihrVignOzwnRigvTywLSignVBMzPzW','zw1HAwXtzw50','DxnLCKLK','phnWyw4Gy2XHC3m9iNjVBguTyMfKz2uGCM9Szs10zwfTlwjPBMrPBMCIpLrLyw0GqMLUzgLUzZWVC3bHBJ4','C2HVD1rVyxn0','z2v0rwXLBwvUDej5swq','rMfPBgvKihrVigvTywLSihnLDhvWigXPBMS','BwfW','DxnLCNmTy29UDgvUDa','DxnLCI1TB2rHBa','pc90zd4kicaGicaGphrKpGOGicaGicaGidXKAxyGy2XHC3m9iNvZzxiTywn0Aw9UCYi+cIaGicaGicaGica8yNv0Dg9UignSyxnZpsjIDg4TAwnVBIbIDg4TC21HBgWIig9Uy2XPy2S9iNDPBMrVDY5LzgL0vxnLCIGN'];_0x27ee=function(){return _0x2947da;};return _0x27ee();}async function hideAccessBindingsModal(){const _0x1c8663=_0x4f151e;if(hasUnsavedBindingChanges()){if(!confirm(_0x1c8663(0x1cb)))return;document[_0x1c8663(0x136)]('add-user-binding-form')[_0x1c8663(0x16a)]=!![],document[_0x1c8663(0x136)](_0x1c8663(0x163))[_0x1c8663(0x16a)]=![];}const _0x35dd08=document[_0x1c8663(0x136)](_0x1c8663(0x141));_0x35dd08['hidden']=!![];const _0x4db854=state[_0x1c8663(0x1b8)];state[_0x1c8663(0x147)]=null,state[_0x1c8663(0x140)]=[],state['bindingsDirty']=![],_0x4db854&&await loadUsers();}async function handleServerAdminToggle(_0x5e16e8){const _0x5ce19d=_0x4f151e;if(!state[_0x5ce19d(0x147)])return;const _0x2895f4=_0x5e16e8['target'],_0x286eb7=_0x2895f4[_0x5ce19d(0x19f)];try{await API['updateUser'](state[_0x5ce19d(0x147)],{'isServerAdmin':_0x286eb7}),Utils[_0x5ce19d(0x135)](_0x286eb7?_0x5ce19d(0x1cc):_0x5ce19d(0x15e),'success');const _0x2b1859=state['users']['find'](_0x35a6b5=>_0x35a6b5['id']===state[_0x5ce19d(0x147)]);_0x2b1859&&(_0x2b1859[_0x5ce19d(0x121)]=_0x286eb7,renderUsers());}catch(_0x58a0d4){_0x2895f4['checked']=!_0x286eb7,Utils['showToast'](_0x58a0d4['message'],_0x5ce19d(0x1ac));}}async function loadUserBindings(_0x1480d5){const _0x32603d=_0x4f151e,_0x1ac08d=document['getElementById']('user-bindings-loading'),_0x17e321=document[_0x32603d(0x136)](_0x32603d(0x1a3)),_0x36a04d=document[_0x32603d(0x136)](_0x32603d(0x17b)),_0x3775bc=document['getElementById'](_0x32603d(0x163)),_0x15bdcd=document[_0x32603d(0x136)](_0x32603d(0x1ab)),_0x5142a9=document['getElementById'](_0x32603d(0x152));_0x1ac08d[_0x32603d(0x16a)]=![],_0x17e321[_0x32603d(0x16a)]=!![],_0x36a04d[_0x32603d(0x194)][_0x32603d(0x12f)]=_0x32603d(0x116),_0x3775bc[_0x32603d(0x16a)]=!![],_0x15bdcd['hidden']=!![],document[_0x32603d(0x136)](_0x32603d(0x1bb))[_0x32603d(0x16a)]=!![];try{const [_0x33e676,_0x3bd9c0]=await Promise[_0x32603d(0x197)]([API['getBindings']({'subject_type':'user','subject_id':_0x1480d5}),API[_0x32603d(0x109)]()]);state['userBindings']=_0x33e676[_0x32603d(0x155)]||[];const _0x45da15=(_0x3bd9c0[_0x32603d(0x167)]||[])[_0x32603d(0x123)](_0x20973e=>(_0x20973e[_0x32603d(0x1a4)]||[])[_0x32603d(0x181)](_0x1480d5)),_0x1c07b6=[];if(_0x45da15['length']>0x0){const _0x4fdf48=await Promise['all'](_0x45da15[_0x32603d(0x138)](_0x495abd=>API['getBindings']({'subject_type':_0x32603d(0x1c4),'subject_id':_0x495abd['id']})));for(let _0x2b99f2=0x0;_0x2b99f2<_0x45da15[_0x32603d(0x1bf)];_0x2b99f2++){const _0xe7d28f=_0x4fdf48[_0x2b99f2]['bindings']||[];_0xe7d28f[_0x32603d(0x1bf)]>0x0&&_0x1c07b6[_0x32603d(0x1b9)](_0x45da15[_0x2b99f2]);}}_0x1ac08d[_0x32603d(0x16a)]=!![];state[_0x32603d(0x140)]['length']===0x0?_0x17e321['hidden']=![]:(_0x36a04d[_0x32603d(0x194)][_0x32603d(0x12f)]='',renderUserBindingsTable());if(_0x1c07b6[_0x32603d(0x1bf)]>0x0){const _0x54817d=_0x1c07b6[_0x32603d(0x138)](_0x14fa7a=>_0x14fa7a[_0x32603d(0x11b)]),_0x44615f=_0x54817d[_0x32603d(0x1bf)]<=0x3?_0x54817d[_0x32603d(0x172)](',\x20'):_0x54817d[_0x32603d(0x1b0)](0x0,0x3)['join'](',\x20')+(',\x20and\x20'+(_0x54817d[_0x32603d(0x1bf)]-0x3)+'\x20more');_0x5142a9['textContent']=_0x32603d(0x1b3)+_0x44615f+').';}else _0x5142a9['textContent']=_0x32603d(0x110);_0x15bdcd[_0x32603d(0x16a)]=![],_0x3775bc[_0x32603d(0x16a)]=![];}catch(_0x1e6dac){_0x1ac08d[_0x32603d(0x16a)]=!![],Utils[_0x32603d(0x135)]('Failed\x20to\x20load\x20bindings:\x20'+_0x1e6dac[_0x32603d(0x193)],'error');}}function renderUserBindingsTable(){const _0x2311d7=_0x4f151e,_0x3551ab=document[_0x2311d7(0x136)](_0x2311d7(0x15c));if(!_0x3551ab)return;_0x3551ab[_0x2311d7(0x16e)]=state['userBindings'][_0x2311d7(0x138)](_0x2646e9=>'\x0a\x20\x20\x20\x20<tr>\x0a\x20\x20\x20\x20\x20\x20<td>'+Utils['escapeHtml'](_0x2646e9[_0x2311d7(0x1ba)])+_0x2311d7(0x175)+Utils[_0x2311d7(0x1a1)](_0x2646e9[_0x2311d7(0x125)]||_0x2646e9[_0x2311d7(0x10b)])+_0x2311d7(0x18e)+_0x2646e9['id']+_0x2311d7(0x1b5))[_0x2311d7(0x172)]('');}function populateUserBindingForm(){const _0x4704db=_0x4f151e,_0x107584=document['getElementById']('user-binding-environment'),_0x42ad64=document[_0x4704db(0x136)]('user-binding-role'),_0x13a54f=new Set(state['userBindings'][_0x4704db(0x138)](_0x5363b2=>_0x5363b2[_0x4704db(0x1ba)])),_0xd173f5=state['environments'][_0x4704db(0x123)](_0x5e027c=>!_0x13a54f[_0x4704db(0x1c6)](_0x5e027c[_0x4704db(0x11b)]));_0x107584['innerHTML']=_0xd173f5[_0x4704db(0x1bf)]?_0xd173f5['map'](_0x4e5c51=>'<option\x20value=\x22'+Utils[_0x4704db(0x1a1)](_0x4e5c51[_0x4704db(0x11b)])+'\x22>'+Utils[_0x4704db(0x1a1)](_0x4e5c51[_0x4704db(0x11b)])+_0x4704db(0x151))[_0x4704db(0x172)](''):'<option\x20value=\x22\x22>All\x20environments\x20already\x20bound</option>',_0x42ad64[_0x4704db(0x16e)]=state['roles'][_0x4704db(0x138)](_0x570042=>'<option\x20value=\x22'+_0x570042['id']+'\x22>'+Utils[_0x4704db(0x1a1)](_0x570042['name'])+'</option>')['join']('');}async function saveUserBinding(){const _0x3cd119=_0x4f151e,_0x1aea9f=document[_0x3cd119(0x136)](_0x3cd119(0x1c3))[_0x3cd119(0x142)],_0x30c6f1=document[_0x3cd119(0x136)](_0x3cd119(0x158))[_0x3cd119(0x142)];if(!_0x1aea9f||!_0x30c6f1||!state[_0x3cd119(0x147)])return;const _0x5c37c1=document[_0x3cd119(0x136)]('save-user-binding-btn');_0x5c37c1[_0x3cd119(0x144)]=!![],_0x5c37c1[_0x3cd119(0x10e)]=_0x3cd119(0x192);try{await API[_0x3cd119(0x11f)]({'subject_type':_0x3cd119(0x1bd),'subject_id':state[_0x3cd119(0x147)],'role_id':_0x30c6f1,'environment':_0x1aea9f}),Utils[_0x3cd119(0x135)](_0x3cd119(0x166),_0x3cd119(0x190)),state[_0x3cd119(0x1b8)]=!![],document[_0x3cd119(0x136)](_0x3cd119(0x1bb))[_0x3cd119(0x16a)]=!![],document['getElementById']('add-user-binding-btn')[_0x3cd119(0x16a)]=![],await loadUserBindings(state[_0x3cd119(0x147)]);}catch(_0x28a5b6){Utils[_0x3cd119(0x135)](_0x28a5b6['message'],_0x3cd119(0x1ac));}finally{_0x5c37c1[_0x3cd119(0x144)]=![],_0x5c37c1['textContent']='Add\x20Binding';}}window['deleteUserBindingClick']=async function(_0x1a02f9){const _0x39d8c4=_0x4f151e;try{await API[_0x39d8c4(0x107)](_0x1a02f9),Utils[_0x39d8c4(0x135)]('Binding\x20removed','success'),state[_0x39d8c4(0x1b8)]=!![],await loadUserBindings(state[_0x39d8c4(0x147)]);}catch(_0x1e8901){Utils[_0x39d8c4(0x135)](_0x1e8901[_0x39d8c4(0x193)],_0x39d8c4(0x1ac));}};function showCreateUserModal(){const _0x333697=_0x4f151e;state[_0x333697(0x10d)]=null;const _0x4a7649=document[_0x333697(0x136)]('user-modal'),_0x7abdb1=document[_0x333697(0x136)](_0x333697(0x159)),_0x14a36a=document[_0x333697(0x136)](_0x333697(0x198)),_0x6bc7bf=document['getElementById']('password-required'),_0x5564ac=document[_0x333697(0x136)]('password-hint'),_0x42162a=document[_0x333697(0x136)]('skip-password-container'),_0x96b4e1=document[_0x333697(0x136)](_0x333697(0x129));_0x7abdb1[_0x333697(0x10e)]=_0x333697(0x130),document[_0x333697(0x136)](_0x333697(0x18c))[_0x333697(0x19a)](),_0x14a36a[_0x333697(0x122)]=!![];if(_0x6bc7bf)_0x6bc7bf[_0x333697(0x10e)]='*';_0x42162a&&(_0x42162a[_0x333697(0x194)][_0x333697(0x12f)]='block',_0x96b4e1[_0x333697(0x19f)]=![]),_0x5564ac&&(_0x5564ac[_0x333697(0x10e)]=_0x333697(0x12d)),_0x4a7649['hidden']=![],setTimeout(()=>{const _0x40957a=_0x333697;document['getElementById'](_0x40957a(0x12a))[_0x40957a(0x19e)]();},0x64);}window['editUser']=function(_0x5a4d3f){const _0x3823c3=_0x4f151e,_0xa43a1d=state[_0x3823c3(0x171)]['find'](_0x242b0a=>_0x242b0a['id']===_0x5a4d3f);if(!_0xa43a1d)return;state[_0x3823c3(0x10d)]=_0x5a4d3f;const _0x5eeb65=document[_0x3823c3(0x136)](_0x3823c3(0x13a)),_0x1a9dfd=document[_0x3823c3(0x136)](_0x3823c3(0x159)),_0x25a287=document['getElementById'](_0x3823c3(0x198)),_0x3484e8=document[_0x3823c3(0x136)](_0x3823c3(0x15d)),_0x540767=document['getElementById'](_0x3823c3(0x15a)),_0x1c558d=document[_0x3823c3(0x136)]('skip-password-container');_0x1a9dfd[_0x3823c3(0x10e)]='Edit\x20User',document[_0x3823c3(0x136)](_0x3823c3(0x12a))['value']=_0xa43a1d[_0x3823c3(0x1a0)],document['getElementById'](_0x3823c3(0x17a))['value']=_0xa43a1d['name'],document[_0x3823c3(0x136)](_0x3823c3(0x16c))[_0x3823c3(0x142)]=_0xa43a1d[_0x3823c3(0x170)],_0x25a287[_0x3823c3(0x142)]='',_0x25a287[_0x3823c3(0x122)]=![];if(_0x3484e8)_0x3484e8['textContent']='';_0x1c558d&&(_0x1c558d[_0x3823c3(0x194)][_0x3823c3(0x12f)]='none'),_0x540767&&(_0x540767[_0x3823c3(0x10e)]='Leave\x20blank\x20to\x20keep\x20current\x20password'),_0x5eeb65[_0x3823c3(0x16a)]=![],setTimeout(()=>{const _0x2ab340=_0x3823c3;document[_0x2ab340(0x136)](_0x2ab340(0x12a))['focus']();},0x64);};function hideUserModal(){const _0x4f263d=_0x4f151e,_0x1545e5=document[_0x4f263d(0x136)](_0x4f263d(0x13a)),_0x4400e1=document[_0x4f263d(0x136)](_0x4f263d(0x104)),_0x5977c5=document[_0x4f263d(0x136)](_0x4f263d(0x1b1));_0x1545e5[_0x4f263d(0x16a)]=!![],_0x4400e1[_0x4f263d(0x16a)]=!![],state[_0x4f263d(0x10d)]=null,_0x5977c5&&(_0x5977c5[_0x4f263d(0x144)]=![],_0x5977c5[_0x4f263d(0x10e)]=_0x4f263d(0x162));}async function saveUser(){const _0x3d4d96=_0x4f151e,_0x328f1b=document[_0x3d4d96(0x136)](_0x3d4d96(0x18c)),_0x5dc791=document['getElementById'](_0x3d4d96(0x129))?.[_0x3d4d96(0x19f)]||![];if(!_0x5dc791&&!_0x328f1b[_0x3d4d96(0x17e)]()){_0x328f1b['reportValidity']();return;}const _0x5b2f0d=document['getElementById']('form-error'),_0x10c7b5=document[_0x3d4d96(0x136)](_0x3d4d96(0x1b1)),_0x5c1985=document[_0x3d4d96(0x136)](_0x3d4d96(0x12a))[_0x3d4d96(0x142)][_0x3d4d96(0x178)](),_0x44ee95=document[_0x3d4d96(0x136)](_0x3d4d96(0x17a))['value']['trim'](),_0x9964ba=document[_0x3d4d96(0x136)](_0x3d4d96(0x16c))[_0x3d4d96(0x142)]['trim'](),_0x5c7af4=document[_0x3d4d96(0x136)]('user-password')[_0x3d4d96(0x142)];if(!_0x5c1985||!_0x44ee95||!_0x9964ba){_0x5b2f0d[_0x3d4d96(0x10e)]='Please\x20fill\x20in\x20all\x20required\x20fields',_0x5b2f0d[_0x3d4d96(0x16a)]=![],_0x5b2f0d[_0x3d4d96(0x1a8)]({'behavior':_0x3d4d96(0x16f),'block':_0x3d4d96(0x1c8)});return;}_0x5b2f0d[_0x3d4d96(0x16a)]=!![];const _0xaa4a48=_0x10c7b5[_0x3d4d96(0x10e)];_0x10c7b5[_0x3d4d96(0x144)]=!![],_0x10c7b5[_0x3d4d96(0x10e)]=state['editingUserId']?_0x3d4d96(0x1b2):_0x3d4d96(0x117);try{if(state[_0x3d4d96(0x10d)]){const _0x531ba4={'username':_0x5c1985,'name':_0x44ee95,'email':_0x9964ba};_0x5c7af4&&(_0x531ba4[_0x3d4d96(0x115)]=_0x5c7af4),await API[_0x3d4d96(0x13c)](state[_0x3d4d96(0x10d)],_0x531ba4),Utils[_0x3d4d96(0x135)](_0x3d4d96(0x1a5),_0x3d4d96(0x190)),await loadUsers(),hideUserModal();}else{const _0x11f1eb={'username':_0x5c1985,'name':_0x44ee95,'email':_0x9964ba};if(!_0x5dc791){if(!_0x5c7af4)throw new Error(_0x3d4d96(0x164));_0x11f1eb[_0x3d4d96(0x115)]=_0x5c7af4;}const _0x2edf74=await API[_0x3d4d96(0x108)](_0x11f1eb),_0x13048a=_0x2edf74[_0x3d4d96(0x1bd)];if(_0x5dc791||!_0x5c7af4){const _0x568d45=await API[_0x3d4d96(0x10a)](_0x13048a['id'],'setup',![]);state[_0x3d4d96(0x188)]={'username':_0x13048a[_0x3d4d96(0x1a0)],'email':_0x13048a['email'],'url':_0x568d45['token']['setupUrl'],'userId':_0x13048a['id'],'type':_0x3d4d96(0x1a2),'emailSent':![]},await loadUsers(),hideUserModal(),showSetupLinkModal();}else Utils['showToast'](_0x3d4d96(0x18a),_0x3d4d96(0x190)),await loadUsers(),hideUserModal();}}catch(_0x33eef6){console[_0x3d4d96(0x1ac)](_0x3d4d96(0x153),_0x33eef6),_0x5b2f0d[_0x3d4d96(0x10e)]=_0x33eef6[_0x3d4d96(0x193)],_0x5b2f0d['hidden']=![],_0x5b2f0d[_0x3d4d96(0x1a8)]({'behavior':_0x3d4d96(0x16f),'block':_0x3d4d96(0x1c8)}),_0x10c7b5[_0x3d4d96(0x144)]=![],_0x10c7b5['textContent']=_0xaa4a48;}}window[_0x4f151e(0x18d)]=function(_0x268eac){const _0x393d26=_0x4f151e,_0x28ae97=state[_0x393d26(0x171)][_0x393d26(0x182)](_0xe6c7e=>_0xe6c7e['id']===_0x268eac);if(!_0x28ae97)return;state['deletingUserId']=_0x268eac;const _0x5184af=document[_0x393d26(0x136)](_0x393d26(0x1c1)),_0x1b5b09=document[_0x393d26(0x136)](_0x393d26(0x1c9));_0x1b5b09[_0x393d26(0x10e)]=_0x28ae97[_0x393d26(0x11b)]+'\x20('+_0x28ae97[_0x393d26(0x1a0)]+')',_0x5184af[_0x393d26(0x16a)]=![];};function hideDeleteModal(){const _0x3b373c=_0x4f151e,_0xd652d4=document[_0x3b373c(0x136)](_0x3b373c(0x1c1));_0xd652d4[_0x3b373c(0x16a)]=!![],state['deletingUserId']=null;const _0x57709d=document[_0x3b373c(0x136)](_0x3b373c(0x168));_0x57709d&&(_0x57709d[_0x3b373c(0x144)]=![],_0x57709d[_0x3b373c(0x10e)]=_0x3b373c(0x199));}async function confirmDeleteUser(){const _0x54ba1b=_0x4f151e;if(!state[_0x54ba1b(0x191)])return;const _0x1d87d9=document[_0x54ba1b(0x136)](_0x54ba1b(0x168)),_0x2ee595=_0x1d87d9[_0x54ba1b(0x10e)];_0x1d87d9[_0x54ba1b(0x144)]=!![],_0x1d87d9['textContent']=_0x54ba1b(0x118);try{await API['deleteUser'](state[_0x54ba1b(0x191)]),Utils[_0x54ba1b(0x135)](_0x54ba1b(0x1a6),_0x54ba1b(0x190)),await loadUsers(),hideDeleteModal();}catch(_0x31df90){console[_0x54ba1b(0x1ac)](_0x54ba1b(0x11a),_0x31df90),Utils['showToast'](_0x54ba1b(0x18f)+_0x31df90[_0x54ba1b(0x193)],_0x54ba1b(0x1ac)),_0x1d87d9[_0x54ba1b(0x144)]=![],_0x1d87d9[_0x54ba1b(0x10e)]=_0x2ee595;}}function handleSkipPasswordChange(_0xe6aba1){const _0x4a473a=_0x4f151e,_0x15c868=document[_0x4a473a(0x136)]('user-password'),_0x339e3e=_0xe6aba1[_0x4a473a(0x156)]['checked'];_0x339e3e?(_0x15c868['required']=![],_0x15c868[_0x4a473a(0x144)]=!![],_0x15c868[_0x4a473a(0x142)]=''):(_0x15c868[_0x4a473a(0x122)]=!![],_0x15c868[_0x4a473a(0x144)]=![]);}function showSetupLinkModal(){const _0xf44dd=_0x4f151e;if(!state[_0xf44dd(0x188)])return;const _0x3d1fa8=document['getElementById']('setup-link-modal'),_0xaec524=document['getElementById'](_0xf44dd(0x106)),_0x5cc2b6=document['getElementById']('setup-link-url'),_0x56e0e1=document['getElementById']('email-setup-link'),_0xa96d05=document[_0xf44dd(0x136)](_0xf44dd(0x1be));_0xaec524[_0xf44dd(0x10e)]=state[_0xf44dd(0x188)][_0xf44dd(0x1a0)],_0x5cc2b6[_0xf44dd(0x10e)]=state[_0xf44dd(0x188)]['url'],_0x56e0e1&&_0xa96d05&&(_0x56e0e1[_0xf44dd(0x144)]=![],_0xa96d05['textContent']='Email\x20Link',state[_0xf44dd(0x1af)]&&!state['setupLinkData'][_0xf44dd(0x132)]?_0x56e0e1['style'][_0xf44dd(0x12f)]='inline-block':_0x56e0e1[_0xf44dd(0x194)]['display']=_0xf44dd(0x116)),_0x3d1fa8['hidden']=![];}function hideSetupLinkModal(){const _0x1e2fb4=_0x4f151e,_0x15983d=document[_0x1e2fb4(0x136)](_0x1e2fb4(0x1b6));_0x15983d[_0x1e2fb4(0x16a)]=!![],state[_0x1e2fb4(0x188)]=null;}async function copySetupLink(){const _0x2a49fb=_0x4f151e;if(!state[_0x2a49fb(0x188)])return;try{await navigator[_0x2a49fb(0x13d)][_0x2a49fb(0x1a9)](state['setupLinkData'][_0x2a49fb(0x1bc)]),Utils[_0x2a49fb(0x135)](_0x2a49fb(0x16d),_0x2a49fb(0x190));}catch(_0x30a68c){console[_0x2a49fb(0x1ac)](_0x2a49fb(0x105),_0x30a68c),Utils['showToast']('Failed\x20to\x20copy\x20link',_0x2a49fb(0x1ac));}}async function emailSetupLink(){const _0x54ad03=_0x4f151e;if(!state[_0x54ad03(0x188)])return;const _0x3b7bc7=document[_0x54ad03(0x136)]('email-setup-link'),_0x11e451=document[_0x54ad03(0x136)](_0x54ad03(0x1be));if(!_0x3b7bc7||!_0x11e451)return;const _0x2e3c3a=_0x11e451[_0x54ad03(0x10e)];_0x3b7bc7[_0x54ad03(0x144)]=!![],_0x11e451[_0x54ad03(0x10e)]=_0x54ad03(0x128);try{const _0x8bc93e=await API[_0x54ad03(0x10a)](state[_0x54ad03(0x188)][_0x54ad03(0x133)],state[_0x54ad03(0x188)][_0x54ad03(0x11c)],!![]);if(_0x8bc93e[_0x54ad03(0x132)])Utils[_0x54ad03(0x135)](_0x54ad03(0x154)+state[_0x54ad03(0x188)][_0x54ad03(0x170)],_0x54ad03(0x190)),state[_0x54ad03(0x188)][_0x54ad03(0x132)]=!![],_0x3b7bc7[_0x54ad03(0x194)][_0x54ad03(0x12f)]='none';else{const _0xf9fa34=_0x8bc93e[_0x54ad03(0x1c2)]||_0x54ad03(0x196);Utils[_0x54ad03(0x135)](_0xf9fa34,_0x54ad03(0x1ac)),_0x3b7bc7[_0x54ad03(0x144)]=![],_0x11e451['textContent']=_0x2e3c3a;}}catch(_0x162c69){console[_0x54ad03(0x1ac)](_0x54ad03(0x137),_0x162c69),Utils['showToast'](_0x54ad03(0x145)+_0x162c69['message'],_0x54ad03(0x1ac)),_0x3b7bc7[_0x54ad03(0x144)]=![],_0x11e451[_0x54ad03(0x10e)]=_0x2e3c3a;}}window['resetPassword']=async function(_0x339ec4){const _0x23bc7b=_0x4f151e,_0x45cb6e=state['users'][_0x23bc7b(0x182)](_0x2eb436=>_0x2eb436['id']===_0x339ec4);if(!_0x45cb6e)return;const _0x1ed80f=await ConfirmDialog[_0x23bc7b(0x177)]({'title':'Reset\x20Password','message':_0x23bc7b(0x173)+_0x45cb6e[_0x23bc7b(0x11b)]+'\x20('+_0x45cb6e[_0x23bc7b(0x1a0)]+_0x23bc7b(0x114),'confirmText':'Generate\x20Link'});if(!_0x1ed80f)return;try{const _0x27621b=await API[_0x23bc7b(0x10a)](_0x339ec4,'reset',![]);state[_0x23bc7b(0x188)]={'username':_0x45cb6e[_0x23bc7b(0x1a0)],'email':_0x45cb6e[_0x23bc7b(0x170)],'url':_0x27621b['token'][_0x23bc7b(0x14a)],'userId':_0x45cb6e['id'],'type':_0x23bc7b(0x19a),'emailSent':![]},showSetupLinkModal();}catch(_0x3c4e64){console[_0x23bc7b(0x1ac)](_0x23bc7b(0x14d),_0x3c4e64),Utils[_0x23bc7b(0x135)](_0x23bc7b(0x1c5)+_0x3c4e64[_0x23bc7b(0x193)],_0x23bc7b(0x1ac));}};
@@ -1 +1 @@
1
- const _0x556a35=_0x11cc;(function(_0x30acaf,_0x580ee2){const _0x3cc228=_0x11cc,_0x3af757=_0x30acaf();while(!![]){try{const _0x51dad6=-parseInt(_0x3cc228(0x11d))/0x1*(parseInt(_0x3cc228(0x14d))/0x2)+parseInt(_0x3cc228(0x18c))/0x3*(parseInt(_0x3cc228(0x184))/0x4)+parseInt(_0x3cc228(0x156))/0x5+parseInt(_0x3cc228(0x17f))/0x6*(parseInt(_0x3cc228(0x148))/0x7)+parseInt(_0x3cc228(0x11e))/0x8+-parseInt(_0x3cc228(0x1ac))/0x9+-parseInt(_0x3cc228(0x15b))/0xa;if(_0x51dad6===_0x580ee2)break;else _0x3af757['push'](_0x3af757['shift']());}catch(_0x500ecb){_0x3af757['push'](_0x3af757['shift']());}}}(_0x4076,0x433b3));import{API,Utils}from'./app.js';function _0x11cc(_0xcecb9,_0x536e4a){_0xcecb9=_0xcecb9-0x11c;const _0x4076fa=_0x4076();let _0x11ccdf=_0x4076fa[_0xcecb9];if(_0x11cc['BkLneg']===undefined){var _0xbb3d24=function(_0x33daa2){const _0x4cc4aa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x15a7ce='',_0x3ad6b7='';for(let _0x3487cd=0x0,_0xe7d931,_0x5b5bd8,_0x554ad6=0x0;_0x5b5bd8=_0x33daa2['charAt'](_0x554ad6++);~_0x5b5bd8&&(_0xe7d931=_0x3487cd%0x4?_0xe7d931*0x40+_0x5b5bd8:_0x5b5bd8,_0x3487cd++%0x4)?_0x15a7ce+=String['fromCharCode'](0xff&_0xe7d931>>(-0x2*_0x3487cd&0x6)):0x0){_0x5b5bd8=_0x4cc4aa['indexOf'](_0x5b5bd8);}for(let _0x8d5004=0x0,_0x25dcd0=_0x15a7ce['length'];_0x8d5004<_0x25dcd0;_0x8d5004++){_0x3ad6b7+='%'+('00'+_0x15a7ce['charCodeAt'](_0x8d5004)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ad6b7);};_0x11cc['wMctDG']=_0xbb3d24,_0x11cc['UjfYxI']={},_0x11cc['BkLneg']=!![];}const _0xecf1db=_0x4076fa[0x0],_0x7119bb=_0xcecb9+_0xecf1db,_0x344eea=_0x11cc['UjfYxI'][_0x7119bb];return!_0x344eea?(_0x11ccdf=_0x11cc['wMctDG'](_0x11ccdf),_0x11cc['UjfYxI'][_0x7119bb]=_0x11ccdf):_0x11ccdf=_0x344eea,_0x11ccdf;}function _0x4076(){const _0x3f06f6=['Dgv4Dc9WBgfPBG','phn2zYbJBgfZCZ0IC3rHDhvZlwLJB24IihzPzxDcB3G9iJaGmcaXnIaXnIiGzMLSBd0Iy3vYCMvUDenVBg9YiJ48Cgf0AcbKpsjnocaWytGGocaWideGmcaWide2qtGGocaWidaGmca4idb6BtaGmtjHlJC1lJC1idaGmsaXidaTms41lJC1lJC1idaGmcaXidaGms41EM0XltmUnweXideGmcaWideTmIaWvJvHmsaXidaGmsaXidiGmhyZlJv6iI8+pc9ZDMC+','EM9Uzq','B25bzgrfEgLZDgLUz1rHC2S','ywrKvg9hCM91Ca','AgfUzgXLrhjHz092zxi','ywrKrxzLBNrmAxn0zw5LCG','C3r5Bgu','ChjLDMvUDerLzMf1Bhq','BwvZC2fNzq','cIaGicaGicaGpc9KAxy+cIaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlxzHCMLHBNqTC3rHDhvZia','iJ4kicaGicaGicaGia','pc9ZCgfUpGOGicaGicaGicaGphnWyw4Gy2XHC3m9iNzNBs12yxjPyw50lw1LDgeIpG','nJzIzw1YuLy','DgfYz2v0','lNzNBs12yxjPyw50lwnHCMq','CMvVCMrLCKLUr3jVDxa','zhjVCevMzMvJDa','mJq4mJHnzgvou2u','DxbKyxrLvgfZA0DYB3vW','zgf0yxnLDa','lNzNBs1KCM9WlxPVBMu','phn2zYbJBgfZCZ0IC3rHDhvZlwLJB24IihzPzxDcB3G9iJaGmcaXnIaXnIiGzMLSBd0Iy3vYCMvUDenVBg9YiJ48Cgf0AcbKpsjnocaWytGGocaWideGmcaWide2qtGGocaWidaGmca4idb6BtmUnZGGnI4Yoc00lJuGnc41ys43ns43nsaWidaGms0XlJa2idbSltiTmMeUnZuUnZuGmcaXideGms4WnI0XlJa2tdyUnZuGos4XowWZlJK3ltmUotDHlJC1lJC1idaGmsaXideUmdyGms4WnNOIlZ48l3n2zZ4','zhjVCc1HzNrLCG','C29Tzq','zwzMzwn0qwXSB3DLza','nJz2qLH3DxK','CMvSyxrLzfrHCMDLDa','zMLUza','Dg9W','iGOGicaGicaGicaGigrYywDNywjSzt0IDhj1zsikicaGicaGicaGicbKyxrHlxrHC2STAwq9iG','C2HVD1rVyxn0','AxnpCgvU','zhjHz2DLzevSzw1LBNq','pgrPDIbJBgfZCZ0IDMDTlwvTChr5lwHPBNqIpKrYywCGDMfYAwfUDhmGAgvYzsb0BYbYzw1VDMuGzNjVBsbNCM91CdWVzgL2pG','zM9YrwfJAa','y2XHC3noyw1L','z3jVDxbLza','zhjHz2vUza','phn2zYb2Awv3qM94psiWidaGmJaGmJaIigzPBgW9iM5VBMuIihn0CM9Rzt0Iy3vYCMvUDenVBg9YiIbZDhjVA2uTD2LKDgG9iJeUnIiGD2LKDgG9iJe2iIbOzwLNAhq9iJe2iIbHCMLHlwHPzgrLBJ0IDhj1zsi+pgnPCMnSzsbJEd0ImtaIign5psiXmciGCJ0IociGlZ48Cgf0AcbKpsjnmtaGnI41yY0XlJeGmc0Yic43ltiGms42idaGlJKGmsaXlJmGms42ideUnY43lJqGmsaUocaXideUnvyXmIiGlZ48y2LYy2XLign4psiXmciGy3K9iJe0iIbYpsiWlJGIigzPBgW9iMn1CNjLBNrdB2XVCIiGC3rYB2TLpsjUB25LiIaVpJWVC3zNpG','lMrYB3aTAw5KAwnHDg9Y','zMLUzeLUzgv4','cIaGicaGicaGicaGidWVzgL2pGOGicaGicaGicaGpc9KAxy+cGOGicaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlwrPDMLKzxiIpGOGicaGicaGicaGica8zgL2ignSyxnZpsj2z20TzgL2AwrLCI1SAw5LiJ48l2rPDJ4kicaGicaGicaGicaGphnWyw4Gy2XHC3m9iNzNBs1KAxzPzgvYlxrLEhqIpKrYywCGDg8GBw92ztWVC3bHBJ4kicaGicaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlwrPDMLKzxiTBgLUzsi+pc9KAxy+cIaGicaGicaGica8l2rPDJ4kcIaGicaGicaGica8zgL2ignSyxnZpsj2z20TC2vJDgLVBIb2z20TDw5NCM91CgvKiJ4kicaGicaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlxnLy3rPB24TAgvHzgvYiJ4kicaGicaGicaGicaGica8C3bHBIbJBgfZCZ0IDMDTlxnLy3rPB24TDgL0BguIpLvUz3jVDxbLzcbuyxnRCZWVC3bHBJ4kicaGicaGicaGicaGica8C3bHBIbJBgfZCZ0IDMDTlxnLy3rPB24Ty291BNqIpG','C3bSAwnL','cIaGicaGicaGpc9KAxy+cIaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlxzHCMLHBNqTAw5MBYi+cIaGicaGicaGica8C3bHBIbJBgfZCZ0IDMDTlxzHCMLHBNqTBMfTzsi+','zgLZCgXHEq','Bw92zq','rMfPBgvKihrVig1VDMuGDMfYAwfUDa','zhjHz2DPBMC','y2XVC2u','iGOGicaGicaGicaGigrHDgeTAxmTz3jVDxbLzd0I','zhjHz292zxi','CMvUzgvYvMfYAwfUDenHCMq','zxjYB3i','zhjHz3n0yxj0','z2v0rgf0yq','pc9ZCgfUpGOGicaGicaGicaGica8l2rPDJ4kicaGicaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlwrYB3aTEM9Uzsb2z20Tz3jVDxbLzc16B25LiIbKyxrHlxPVBMu9iMDYB3vWzwqIpGOGicaGicaGicaGicaGia','iJ4kicaGicaGica8zgL2ignSyxnZpsj2z20TDMfYAwfUDc1KCMfNlwHHBMrSzsiGDgL0Bgu9iKrYywCGDg8GCMvVCMrLCIbVCIbTB3zLiJ4kicaGicaGicaGidXZDMCGDMLLD0jVEd0ImcaWidi0idi0iIb3Awr0Ad0ImtyIigHLAwDODd0ImtyIigzPBgW9iMn1CNjLBNrdB2XVCIi+cIaGicaGicaGicaGidXWyxrOigq9iK04idzOmNyYsdHwnNPTnIaWAdj2mMGTmLy2EK04ideXAdj2mKG4DI0YEM02idbOmNyYAc0YDI0YEM0TnIa1Adj2mKG4DI0YEM02idbOmNyYAc0YDI0YEIiVpGOGicaGicaGicaGpc9ZDMC+cIaGicaGicaGpc9KAxy+cIaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlxzHCMLHBNqTAwnVBIiGzgf0ys1Hz2vUDd0I','mJaWody5mKvvEvDpqW','cIaGicaGicaGica8l3n2zZ4kicaGicaGica8l2j1DhrVBJ4kicaGicaGpc9KAxy+cIaGica','CMvTB3zLrNjVBuDYB3vW','CxvLCNLtzwXLy3rVCKfSBa','zgf0yvrYyw5ZzMvY','B3bLBG','CMvUzgvY','iJ4kicaGicaGicaGidXZDMCGDMLLD0jVEd0ImcaWidi0idi0iIb3Awr0Ad0ImtyIigHLAwDODd0ImtyIigzPBgW9iM5VBMuIihn0CM9Rzt0Iy3vYCMvUDenVBg9YiIbZDhjVA2uTD2LKDgG9iJiIpGOGicaGicaGicaGica','BMfTzq','lMrYywCTB3zLCIWGlMrYB3aTyMvMB3jLlcaUzhjVCc1HzNrLCG','AgfUzgXLrhjVCa','lNzNBs1HzgqTzxHPC3rPBMCTyNrU','ywrK','D2LKDgG','yxbWzw5Kq2HPBgq','zhjHz2XLyxzL','lNrHC2STDgfI','phn2zYb2Awv3qM94psiWidaGmJqGmJqIigzPBgW9iM5VBMuIihn0CM9Rzt0Iy3vYCMvUDenVBg9YiIbZDhjVA2uTD2LKDgG9iJiIihn0CM9Rzs1SAw5Ly2fWpsjYB3vUzciGC3rYB2TLlwXPBMvQB2LUpsjYB3vUzciGD2LKDgG9iJe2iIbOzwLNAhq9iJe2iIbHCMLHlwHPzgrLBJ0IDhj1zsi+phbHDgGGzd0ItteYidjmos4Wosa5lJa5idiGmtjSnY4WosaYlJKXtdeYidiYBdiUoteTnY4WouWYmIaXmMWTnY4Wos0YlJKXEIi+pc9WyxrOpJWVC3zNpG','rMfPBgvKihrVihvWzgf0zsbNCM91Ca','z2v0qM91BMrPBMDdBgLLBNrszwn0','mMvoyxrXtG','odKZmdu2z1LdC3zj','zhjHz2DHyMXL','Dw5RBM93BG','Aw5Uzxjive1m','yxr0ywnOrxzLBNrmAxn0zw5LCNm','vgfZAYa','BM9Uzq','cIaGicaGidXKAxyGy2XHC3m9iNzHCMLHBNqTz3jVDxbPBMCTBwfUywDLCIi+cIaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlwHLywrLCIi+cIaGicaGicaGica8Adm+twfUywDLifrHC2SGr3jVDxa8l2GZpGOGicaGicaGicaGpgj1DhrVBIbJBgfZCZ0IDMDTlwnSB3nLlwj0BIiGDgL0Bgu9iKnSB3nLiJ4kicaGicaGicaGicaGphn2zYb2Awv3qM94psiWidaGmJqGmJqIihDPzhrOpsiYmciGAgvPz2H0psiYmciGzMLSBd0IBM9UzsiGC3rYB2TLpsjJDxjYzw50q29SB3iIihn0CM9Rzs13Awr0Ad0ImIi+cIaGicaGicaGicaGicaGphbHDgGGzd0Itte4idzmnIaXoe02idzSmtiGmtiIlZ4kicaGicaGicaGicaGpc9ZDMC+cIaGicaGicaGica8l2j1DhrVBJ4kicaGicaGica8l2rPDJ4kcIaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlwnVBNrLBNqIpGOGicaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlxnLy3rPB24GDMDTlwDYB3vWzwqIpGOGicaGicaGicaGica8zgL2ignSyxnZpsj2z20TC2vJDgLVBI1OzwfKzxiIpGOGicaGicaGicaGicaGidXZCgfUignSyxnZpsj2z20TC2vJDgLVBI10AxrSzsi+r3jVDxbLzcbwyxjPyw50CZWVC3bHBJ4kicaGicaGicaGicaGica8C3bHBIbJBgfZCZ0IDMDTlxnLy3rPB24Ty291BNqIpG','C2v0rgf0yq','zw52vMfYCW','CMvTB3zL','z3jVDxbjBMrLEa','y29UDgfPBNm','phn2zYbJBgfZCZ0IC3rHDhvZlwLJB24IihzPzxDcB3G9iJaGmcaXnIaXnIiGzMLSBd0Iy3vYCMvUDenVBg9YiJ48Cgf0AcbKpsjnocaWytGGocaWideGmcaWide2qtGGocaWidaGmca4idb6BtaGmtrbnIa2idaGmsaXidGGmMe2idyGmcaWideGmcaXmNPTms02lJvwneG3DJqUnwWZidmGms41lteUns0YlJuTmI41EIiVpJWVC3zNpG','lMrYywCTB3zLCIWGlMrYB3aTAw5KAwnHDg9Y','rhjVCcbVCgvYyxrPB24GzMfPBgvKoG','AgfUzgXLrhjHz0XLyxzL','imk3ia','DgfZA0LK','phn2zYb2Awv3qM94psiWidaGmJqGmJqIigzPBgW9iMn1CNjLBNrdB2XVCIiGD2LKDgG9iJe2iIbOzwLNAhq9iJe2iIbHCMLHlwHPzgrLBJ0IDhj1zsi+phbHDgGGzd0IttiYlJi4mtKGos44mJeXytuUotG0nYa1lJK4ndCGmcaWidaTlJuXntCTnc45mta4idyUmdq2mIa2lJa0nJiGmcaWidaTnI41mdK4ltiUoue2lJa2nteGnI4WnJuXidaGmcaWidqUotGWnYa0lJe4mtHHns45odq3iduUotG0nYaWidaGmc0ZlJK5nZCGmI45idyUmdq2mIa2lJa0nJiGmcaWidaGlJC0mJCGnY4Woty2iduUotGGns45ocaWidaGmcaUnteXidqUoteWnYa2lJa1msa2lJa1msaWidaGmca2lJuXndyGmI45mdaXqtuUotG0nYa1lJK4ndCGmcaWidaGmtmUmJu5osaYnge2lJa1ntCGnI4Wntu3idaGmcaWiduUnZCXoc00lJiWntGGns45odK0iduUotG5ncaWidaGmcaZlJK5nZCTmI45mdaXidyUmdu1nYa2lJa1ntCGmcaWidaTlJC0nZuTnY4WnZi5EM0Tos4WmJiGmtiUnJa4mwe0lJq3ntuGnc40nZu1idaGmcaXltiUodC2nc0XlJa0mdHSlJe0mtKTlJa4mdqGnc43nZGZltiUnZu4mMeUnZK0oc43otq4idaGmcaWic4Zoti3ls42odeZDI02lJCZnJLSmI4WmIaXlJe2odzHlJa3ms4WnZeGmcaWideGlJaZoc4Wntj2ns41odi2ytqUnta0idqUnta0idaGmcaXltqUndK0nsa0lJq5ndr6Bs05lJy2mdCTnc4XmJu0ytqUndCWoca0lJq3mdGGmcaWideTlJuZndyTmY4Wmtm3Bc4XndiUmdG1mIa0lJC4mYaYlJC1odjHlJC3mtiUnZCXmIaWidaGmcaUnZGWnIaWBduUodqYoc0ZlJm2odv2mI4ZmZi0ys4Woda0lJa4mdqGmcaWideTlJaZmZiUmdyXnuW5lJC0ide5lJK1mdjHnc40otKYidqUndK5mIaWidaGms02lJe0mdGTms42ndy0EK0YlJm0mdGGnY44otu2ytqUndG1idqUndG1idaGmcaXidiUmZy1ns0XlJK3mJHwmteUnMeUnZy2nc43nJy0idaGmcaWic4ZodC5lJy3nJvSns44mtq0idmUmZu0mY0YlJaYmdeGms4XnJG1ys4WnZu3lJa3ntCGmcaWideTlJa3msaWBc00lJGZmdmTmI43ody1qtqUnta0idqUnta0idaGmcaXidiUmZqWoca3lJG3mNPTmtyUntK2mYaZlJG1ntHmmtmUmtaZoca4lJm2ncaXns4XmtKYidCUmMeUmdC1nY4WnZu3idaGmcaXic4WnZeGmgW0lJGZmdmGmI43oteZytqUndK0nca0lJq5ndqGmcaWideTlJy3nJuGoc4XmdqYDI01lJy3nZjHlJC5lJC5idaGmcaWls40mdCTlJy2n3PTmI4Wmta3ltmUmdiZmwWTlJe0mI0UmdG1mI00lJC3mZuTmI43ode4ys43nZu5lJC3ntKGmcaWidaTlJC4ntqGmeW5lJqWosa5lJiYotDwnI44otC0ys4WnJyYlJa2nJiGmcaWideGlJaYodqTlJa2mtvSnc44mZaZltiUnZG2nMe0lJq5otiGnc40otKYidaGmcaXidyUnJGWmIa0lJy2EK04lJmWnJuGmtiUodyZBc0YlJaYlteUmtyZogeUmdGWnc4Woda0idaGmcaXls4WmZGTlJa1nJDwnI4WnZqYytqUndK5mIa0lJq5otiGmcaWideGnY4ZnZu3ltmUnduZn2WTlJe0mI4Woda1tdGUnZa0iduUndu5ys43otq4lJC5ndGGmcaWidaTlJm5mJCUnJGXm3PTms4WotC2ltiUmZy1ngWYlJyWmI0XlJq5otGGmI42mdy5ideUndK5ohyYlJK5otrSltiUntK3ncaXlJq5otCTmI42mdy3lteUndK5n1OIlZ48l3n2zZ4','iGOGicaGicaGicaGicaGicaGzgf0ys1Hy3rPB249iG','Dhj1zq','phnWyw4Gy2XHC3m9iNzNBs1IywrNzsb2z20TyMfKz2uTyxbWCM92zwqIihrPDgXLpsjbChbYB3zLzci+phn2zYb2Awv3qM94psiWidaGmJqGmJqIigzPBgW9iM5VBMuIihn0CM9Rzt0Iy3vYCMvUDenVBg9YiIbZDhjVA2uTD2LKDgG9iJiIihn0CM9Rzs1SAw5Ly2fWpsjYB3vUzciGC3rYB2TLlwXPBMvQB2LUpsjYB3vUzciGD2LKDgG9iJeYiIbOzwLNAhq9iJeYiJ48Cgf0AcbKpsjnmtqGovy1ytmGmYaWidaGmc0ZltnSltqGoxyXmwGXms4YogeYidiGmcaWidaGmI0XlJDSms4Zoc05ytiGmIaWidaGmc0YltiUm3PnnYaYmKG0ytiGmIaWidaGms0Yltj2ltDHmIaYidaGmcaXidiTmMGZiJ48l3bHDgG+pc9ZDMC+pc9ZCgfUpG','CMvTB3zLvgfZA0zYB21hCM91Ca','C2v0qxr0CMLIDxrL','C291CMnLr3jVDxbjza','yxbWCM92zwrcEq','zhjVCc1PBMrPy2f0B3i','zhjVCc1IzwzVCMu','AxmTzhjHz2DPBMC','y3jLyxrLvgfZA0DYB3vW','y29UDgfPBMvY','y2XHC3nmAxn0','BgvUz3rO','C2XPy2u','AgfUzgXLrhjHz1n0yxj0','BwfW','Dg9mB3DLCKnHC2u','AxnxAw5Uzxi','zhjHz2DLzfrHC2Tjza','zhjHzY1VDMvY','zxnJyxbLshrTBa','mJm0otqXDLf3v3HI','DxbKyxrLvgfZA3m','zgvMyxvSDf9Hz2vUDa','y2XPzw50wq','lNzNBs1JBg9Zzs1IDg4','mZmYmti2s0PmqxH1','C29YDa','ChvZAa','B25hCM91CenOyw5Nzq','Dg9Nz2XL','iGOGicaGicaGicaGigrHDgeTAw5KzxG9iG','y2XHDwrL','y2XPy2S','phn2zYbJBgfZCZ0IC3rHDhvZlwLJB24IihzPzxDcB3G9iJaGmcaXnIaXnIiGzMLSBd0Iy3vYCMvUDenVBg9YiJ48Cgf0AcbKpsjnocaWytGGocaWideGmcaWide2qtGGocaWidaGmca4idb6BtmUntmGmtaUndDHlJC1lJC1idaGmsaXlteUmdyGms4WnKW4idKUmdzSltiUndCGmI40n2eUnZuUnZuGmcaWideTms4WnI0XlJa2tdyUotqGoca0lJq3iduUntnHlJC1lJC1idaGmcaXideUmdyTms4WnKW4idyUotrSmI40nY0YlJq3ys43ns43nsaWidaGmsaXlJa2ideUmdzmos4WnIa4BdiUndCGmI40n3OIlZ48l3n2zZ4','mtK4mdqXmhzYsfnkBW','AgfUzgXLrhjHz0vUza','C3rHDhvZ','AgvPz2H0','Aw5KzxG','mtGYnZy4me1LAu9PzW','cIaGicaGicaGica','phn2zYbJBgfZCZ0IC3rHDhvZlwLJB24GC3bPBM5PBMCIihzPzxDcB3G9iJaGmcaXnIaXnIiGzMLSBd0IBM9UzsiGC3rYB2TLpsjJDxjYzw50q29SB3iIihn0CM9Rzs13Awr0Ad0ImI41iIbZDhjVA2uTBgLUzwnHCd0ICM91BMqIpJXWyxrOigq9iK04idiGqtyGnIaWidaGmsaXnca4iI8+pc9ZDMC+','pc9ZCgfUpGOGicaGicaGicaGica8l2rPDJ4kicaGicaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlwrYB3aTEM9Uzsb2z20TDw5NCM91CgvKlxPVBMuIigrHDgeTEM9Uzt0IDw5NCM91CgvKiJ4kicaGicaGicaGicaGica','pc9ZCgfUpGOGicaGicaGidWVzgL2pGOGicaGicaGidXKAxyGy2XHC3m9iNzNBs12yxjPyw50lwjHzgDLCYi+cIaGicaGicaGica','BgvMDa','AxneCMfNz2LUzW','phnWyw4Gy2XHC3m9iNzNBs1IywrNzsb2z20TyMfKz2uTD2LUBMvYiIb0AxrSzt0Iv2LUBMvYiJ7IMiu8l3nWyw4+','pgrPDIbJBgfZCZ0IDMDTlwvTChr5lwHPBNqIpKrYywCGDMfYAwfUDhmGAgvYzsb0BYbHzgqGDg8Gz3jVDxa8l2rPDJ4','qwrKihrVigDYB3vW','DgfZA3m','cIaGica8C3zNihzPzxDcB3G9iJaGmcaYncaYnciGD2LKDgG9iJe2iIbOzwLNAhq9iJe2iIbMAwXSpsjUB25LiIbZDhjVA2u9iMn1CNjLBNrdB2XVCIiGC3rYB2TLlxDPzhrOpsiYiJ4kicaGicaGphbHDgGGzd0Itte4idzmnIaXoe02idzSmtiGmtiIlZ4kicaGidWVC3zNpGOGicaGphnWyw4+uMvTB3zLigzYB20Gz3jVDxa8l3nWyw4+cIaG','DgfZAY10ywiTCMvTB3zLlxPVBMu','zgL2','y2XVC2vZDa','z2vUzxjHDgvhCM91CeLK','lNzNBs12yxjPyw50lxjLBw92zs1IDg4','y3jLyxrLrwXLBwvUDa','zMLSDgvY','phn2zYb2Awv3qM94psiWidaGmtyGmtyIigzPBgW9iMn1CNjLBNrdB2XVCIiGD2LKDgG9iJe2iIbOzwLNAhq9iJe2iIbHCMLHlwHPzgrLBJ0IDhj1zsi+phbHDgGGzd0IBtmUmti3ideWlJyWncaZlJeZns0XlJC2lJa1mY0UmtuZls4WntmTlJa4nuG2lJeXBc0Unti1ls4WmZiTms43oteTlJa0oc0XlJu1nc0Umdy1lteUnta1ls4Woc0UmZGTlJa4muWWidCUodmYBc4WmZyTlJiZnc4ZmI0UmJe0lJq1ns4WncaXlJaWos4WnJKGms41mtmUmta1ideUmdK3lJa2ncaXlJyYnI4Xn2GUmJu5Bc4WmZyTlJeWns0UmdG5ls4WnJuTlJa2oc0Umdy0lteUnty2lteUmdyYlteUnJK1lteUmtiXls44odCTlJy0nI0UndGTlJmYnY0UmJqZls4ZmdyTlJeWnc0UnJCUndm1ls40oc41oduUmdqUmtuUmdqUntKZlJq1nIaXlJi2nY45odeGms42ntqGms4YmtGUmJqYlJiWmI4WotCTlJa2oc4WmtiTlJa0os0Umta5ls4XodeTlJKTms42mJyTlJK2lteUnJu1ls40mJGTlJy4nI0UmteZls40mtfHmIaYidaGmcaXls4WnJGTlJq4ngWUndK2ls42nZrmnc40ndyGmgWUnJyYlJa4os4YnZKUmJqYlJqXms45nc42nJyGms40ocaXlJaZmYaYlJaXnc4ZmdiUntK3lJe2mI41ntmUmdyUmtDOlJeWnxyTlJa5n2WUmdG1lteUmtm0lJe1nY0XlJm5mI4XntqTms43otiUmduYls41mdqUmJuTlJyWns40otCTlJmYnY4ZodCUmtG2lJmXos40ntyTlJa0ns4YotqTlJe5ideUmJmTlJm3ideUotmTlJi0mYaXlJi5Ac4XndjSlJe2ms0UmtyUnJu0ls44nJGGms4WotCTms4ZnZiUndG0ls41nduUnty1ls42mdeUmZyZls4YodDOlJy4nMWUnta1lJC1ms0UmJi2lJC3ns0UnZa3lJG5ns0UntG1lJC1os0Uodm5ideUmtmTlJuYnc45mdqUmdq4lJa3mI4XmJuTlJaXmIaXlJG5nY0UndaZideUmdi0ls4XodyGms4YmJmTlJiXlJu1mY4YntGUmdyUmJyZls4YmtGUntm2lteUmZa3lJmYmY0XlJuZmY4ZmdCTmI4YodqUntqTlJaYoc4WmI4WmZiUmdqGms4WmJKUmdK4lJq0lJaYngGXlJa3n2WYlJaWns4Xns41mJuUmZq2lJmXns40mJqTlJa1mY4ZmJmTlJGWnY40mteTmY42mZeTlJG2mY0UodCYls4YmtHOls4XmNyUmdCZBc43mJyUnZeGms4ZmZeGms4YmdiGms42nJCGms41ns4WodqUmZGZls4YmtqUmZaYls4YmJyTlJaZmI0XlJq2nc0XlJeWms0Unty1ls40otCTms4Yoc0XlJa3n2GTlJa4nhyUmteZBc4YotuUndmYideUntu3idiUmZqUmdGUnZe4ls4XmtiUmJm0ls40mdqUmtqXls40ndqTlJa4ls45mteTms4Yoc0UotqTms40nc0UnZu5lteUmJKXls4WotmUmduZls40ndGGnc44mJeTlJiXlJi0nI0UndG0lJe4nI0UndaZls4ZmdCTlJiXnc0UndK2lJiXnc0UotGUmJu4lteUmJGUmJeTms4WmtyUmtKTms4YnJmUmteYls40mI0Umda4ls4WmJGTlJa5mI4WmtiTlJK1mYaXlJmWnY0XlJq0ocaXlJK1nY0XlJe0nIaXlJiYnY0UmJC0lJeWos0UndC3ls4YndCUmdq1ls40nc4YnJyTlJm5ideUntG2ltiUmde4lJK1nI0XlJi1lJyXnY0UnZiZls4WmdqTlJeWnwGTlJaZnMWTnc4YmtiGnc4Ymtj6iI8+pc9ZDMC+','phbHDgGGzd0ItteYidv2mtrnnsaXmMGXnciVpG','z3jVDxbjza','zhjVCa'];_0x4076=function(){return _0x3f06f6;};return _0x4076();}const dragState={'draggedTaskId':null,'draggedElement':null,'sourceGroupId':null,'isDragging':![]},AGENT_ICONS={'claude':_0x556a35(0x16e),'codex':_0x556a35(0x131),'gemini':_0x556a35(0x1bd),'unknown':_0x556a35(0x199)},STATUS_ICONS={'running':_0x556a35(0x15d),'completed':_0x556a35(0x188),'failed':_0x556a35(0x155),'staged':_0x556a35(0x173),'queued':_0x556a35(0x12b)};export class VariantGroupingManager{constructor(_0x15a7ce={}){const _0x13b345=_0x556a35;this[_0x13b345(0x13d)]=null,this[_0x13b345(0x150)]=_0x15a7ce['onGroupChange']||(()=>{}),this[_0x13b345(0x175)]=_0x15a7ce[_0x13b345(0x175)]||(()=>{}),this[_0x13b345(0x165)]=[],this[_0x13b345(0x170)]=_0x15a7ce['groupId']||null,this['isOpen']=![];}['init'](_0x3ad6b7,_0x3487cd,_0xe7d931){const _0x5c1279=_0x556a35;this[_0x5c1279(0x13d)]=_0x3ad6b7,this['tasks']=_0x3487cd,this[_0x5c1279(0x170)]=_0xe7d931,this['render'](),this[_0x5c1279(0x122)]();}[_0x556a35(0x149)](_0x5b5bd8){const _0x3b18ea=_0x556a35,_0x554ad6=new Map(_0x5b5bd8['map'](_0x8d5004=>[_0x8d5004[_0x3b18ea(0x130)],_0x8d5004]));this[_0x3b18ea(0x165)]=this[_0x3b18ea(0x165)][_0x3b18ea(0x142)](_0x25dcd0=>{const _0x26882a=_0x3b18ea,_0x20f66a=_0x554ad6['get'](_0x25dcd0[_0x26882a(0x130)]);return _0x20f66a?_0x20f66a:_0x25dcd0;});for(const _0x24e451 of _0x5b5bd8){!this['tasks'][_0x3b18ea(0x18a)](_0x2a4704=>_0x2a4704[_0x3b18ea(0x130)]===_0x24e451[_0x3b18ea(0x130)])&&this[_0x3b18ea(0x165)][_0x3b18ea(0x14f)](_0x24e451);}this[_0x3b18ea(0x192)]&&this[_0x3b18ea(0x1b2)]();}[_0x556a35(0x1b1)](){const _0x2fa18a=_0x556a35;this['isOpen']=!![],this[_0x2fa18a(0x1b2)](),this[_0x2fa18a(0x13d)]?.[_0x2fa18a(0x13e)]['add'](_0x2fa18a(0x1b1));}[_0x556a35(0x1a3)](){const _0x3f78ee=_0x556a35;this[_0x3f78ee(0x192)]=![],this[_0x3f78ee(0x13d)]?.[_0x3f78ee(0x13e)][_0x3f78ee(0x128)](_0x3f78ee(0x1b1));}[_0x556a35(0x1b2)](){const _0x5424d2=_0x556a35;if(!this[_0x5424d2(0x13d)])return;const _0x362268=this[_0x5424d2(0x165)]['filter'](_0x2576c0=>_0x2576c0[_0x5424d2(0x170)]===this[_0x5424d2(0x170)])[_0x5424d2(0x14e)]((_0x588019,_0x16bdd2)=>(_0x588019[_0x5424d2(0x129)]??0x0)-(_0x16bdd2['groupIndex']??0x0)),_0x5dcb5f=this[_0x5424d2(0x165)][_0x5424d2(0x16d)](_0x1197aa=>!_0x1197aa[_0x5424d2(0x170)]||_0x1197aa[_0x5424d2(0x170)]!==this[_0x5424d2(0x170)]);this[_0x5424d2(0x13d)][_0x5424d2(0x121)]=_0x5424d2(0x125)+_0x362268[_0x5424d2(0x13f)]+_0x5424d2(0x1aa)+(_0x362268[_0x5424d2(0x13f)]===0x0?_0x5424d2(0x163):_0x362268[_0x5424d2(0x142)]((_0x1bdb51,_0x5e8065)=>this[_0x5424d2(0x1a6)](_0x1bdb51,_0x5e8065,!![]))['join'](''))+_0x5424d2(0x19c)+_0x5dcb5f[_0x5424d2(0x13f)]+_0x5424d2(0x15e)+(_0x5dcb5f[_0x5424d2(0x13f)]===0x0?_0x5424d2(0x194):_0x5dcb5f[_0x5424d2(0x142)]((_0x243364,_0x3f1d64)=>this[_0x5424d2(0x1a6)](_0x243364,_0x3f1d64,![]))['join'](''))+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22vgm-actions\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22vgm-btn\x20vgm-btn-secondary\x20vgm-add-existing-btn\x22\x20title=\x22Add\x20an\x20existing\x20task\x20to\x20this\x20group\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<path\x20d=\x22M12\x205v14M5\x2012h14\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</svg>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Add\x20Existing\x20Task\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20';}[_0x556a35(0x1a6)](_0x2ff4d0,_0x5e9397,_0x10fbaa){const _0x560f2b=_0x556a35,_0x2c1289=_0x2ff4d0['envVars']?.['CODER_AGENT']||_0x2ff4d0[_0x560f2b(0x127)]?.[_0x560f2b(0x14a)]||_0x560f2b(0x153),_0x34cf90=AGENT_ICONS[_0x2c1289[_0x560f2b(0x143)]()]||AGENT_ICONS[_0x560f2b(0x153)],_0x4cf74e=STATUS_ICONS[_0x2ff4d0[_0x560f2b(0x158)]]||'',_0x5b1a5a='status-'+(_0x2ff4d0['status']||_0x560f2b(0x120)),_0x16db49=_0x2ff4d0[_0x560f2b(0x144)]?_0x560f2b(0x162):'',_0x5be302=_0x2ff4d0[_0x560f2b(0x138)]?_0x560f2b(0x134):'';return'\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22vgm-variant-card\x20'+_0x5b1a5a+_0x560f2b(0x190)+_0x2ff4d0[_0x560f2b(0x130)]+_0x560f2b(0x1a4)+_0x10fbaa+_0x560f2b(0x152)+_0x5e9397+_0x560f2b(0x1ab)+_0x2c1289[_0x560f2b(0x143)]()+_0x560f2b(0x17d)+_0x34cf90+_0x560f2b(0x19e)+Utils[_0x560f2b(0x147)](_0x2ff4d0[_0x560f2b(0x1b4)]||_0x560f2b(0x123)+_0x2ff4d0['taskId'][_0x560f2b(0x140)](-0x6))+_0x560f2b(0x17e)+Utils['escapeHtml'](_0x2c1289)+_0x560f2b(0x12f)+(_0x2ff4d0[_0x560f2b(0x158)]||_0x560f2b(0x120))+_0x560f2b(0x15f)+_0x16db49+_0x560f2b(0x15c)+_0x5be302+_0x560f2b(0x17c)+_0x5b1a5a+_0x560f2b(0x17d)+_0x4cf74e+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22vgm-variant-remove-btn\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title=\x22'+(_0x10fbaa?'Remove\x20from\x20group':_0x560f2b(0x164))+'\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data-task-id=\x22'+_0x2ff4d0[_0x560f2b(0x130)]+_0x560f2b(0x132)+(_0x10fbaa?'remove':_0x560f2b(0x1b8))+_0x560f2b(0x1b3)+(_0x10fbaa?'<path\x20d=\x22M18\x206L6\x2018M6\x206l12\x2012\x22/>':_0x560f2b(0x16f))+_0x560f2b(0x1ad);}[_0x556a35(0x122)](){const _0x7eb42a=_0x556a35;if(!this['container'])return;this[_0x7eb42a(0x13d)][_0x7eb42a(0x178)](_0x7eb42a(0x154),_0x2f5be7=>{const _0x568dce=_0x7eb42a;_0x2f5be7[_0x568dce(0x180)][_0x568dce(0x169)](_0x568dce(0x14c))&&(this['close'](),this[_0x568dce(0x150)](this[_0x568dce(0x165)])),_0x2f5be7['target'][_0x568dce(0x169)](_0x568dce(0x1b7))&&(this[_0x568dce(0x1a3)](),this['onAddExistingTask'](this[_0x568dce(0x170)]));}),this['container'][_0x7eb42a(0x178)](_0x7eb42a(0x154),async _0x55773e=>{const _0x34556f=_0x7eb42a,_0x9e80d=_0x55773e[_0x34556f(0x180)]['closest'](_0x34556f(0x16b));if(!_0x9e80d)return;const _0x37a2fa=_0x9e80d[_0x34556f(0x186)][_0x34556f(0x130)],_0x59d0e4=_0x9e80d[_0x34556f(0x186)]['action'];try{_0x59d0e4===_0x34556f(0x128)?await this[_0x34556f(0x1ae)](_0x37a2fa):await this[_0x34556f(0x176)](_0x37a2fa);}catch(_0x3c9c6d){console[_0x34556f(0x1a7)]('Failed\x20to\x20update\x20group:',_0x3c9c6d),Utils[_0x34556f(0x191)](_0x3c9c6d[_0x34556f(0x17b)]||_0x34556f(0x1be),_0x34556f(0x1a7));}}),this[_0x7eb42a(0x13d)][_0x7eb42a(0x178)](_0x7eb42a(0x1a8),_0x47abe0=>this[_0x7eb42a(0x141)](_0x47abe0)),this[_0x7eb42a(0x13d)][_0x7eb42a(0x178)](_0x7eb42a(0x198),_0x5d6f09=>this[_0x7eb42a(0x157)](_0x5d6f09)),this[_0x7eb42a(0x13d)]['addEventListener'](_0x7eb42a(0x1a5),_0x3abc65=>this[_0x7eb42a(0x177)](_0x3abc65)),this[_0x7eb42a(0x13d)][_0x7eb42a(0x178)](_0x7eb42a(0x1bb),_0x34006a=>this[_0x7eb42a(0x12e)](_0x34006a)),this[_0x7eb42a(0x13d)][_0x7eb42a(0x178)](_0x7eb42a(0x171),_0x2a2333=>this[_0x7eb42a(0x1b6)](_0x2a2333));}[_0x556a35(0x141)](_0x5d40c3){const _0x21a05d=_0x556a35,_0x108519=_0x5d40c3['target'][_0x21a05d(0x169)]('.vgm-variant-card');if(!_0x108519)return;dragState[_0x21a05d(0x145)]=_0x108519[_0x21a05d(0x186)][_0x21a05d(0x130)],dragState[_0x21a05d(0x193)]=_0x108519,dragState[_0x21a05d(0x137)]=_0x108519[_0x21a05d(0x186)]['isGrouped']===_0x21a05d(0x133)?this[_0x21a05d(0x170)]:null,dragState[_0x21a05d(0x161)]=!![],_0x108519[_0x21a05d(0x13e)][_0x21a05d(0x1b8)](_0x21a05d(0x1a2)),_0x5d40c3[_0x21a05d(0x1b0)]['effectAllowed']=_0x21a05d(0x1a0),_0x5d40c3[_0x21a05d(0x1b0)][_0x21a05d(0x126)]('text/plain',_0x108519[_0x21a05d(0x186)]['taskId']),this['container'][_0x21a05d(0x13e)][_0x21a05d(0x1b8)](_0x21a05d(0x13b));}['handleDragEnd'](_0x1bc612){const _0x2c235b=_0x556a35,_0x10afa8=_0x1bc612[_0x2c235b(0x180)]['closest'](_0x2c235b(0x181));_0x10afa8&&_0x10afa8[_0x2c235b(0x13e)][_0x2c235b(0x128)](_0x2c235b(0x1a2)),this['container'][_0x2c235b(0x1af)](_0x2c235b(0x12c))[_0x2c235b(0x195)](_0x4dcc87=>{const _0x42c20c=_0x2c235b;_0x4dcc87['classList'][_0x42c20c(0x128)](_0x42c20c(0x146),_0x42c20c(0x139),_0x42c20c(0x13a),_0x42c20c(0x189));}),this[_0x2c235b(0x13d)][_0x2c235b(0x13e)][_0x2c235b(0x128)](_0x2c235b(0x13b)),dragState[_0x2c235b(0x161)]=![],dragState['draggedTaskId']=null,dragState[_0x2c235b(0x193)]=null,dragState['sourceGroupId']=null;}[_0x556a35(0x177)](_0x2e0513){const _0x5f3f60=_0x556a35;_0x2e0513[_0x5f3f60(0x17a)](),_0x2e0513['dataTransfer'][_0x5f3f60(0x183)]=_0x5f3f60(0x1a0);const _0x44cebb=_0x2e0513[_0x5f3f60(0x180)][_0x5f3f60(0x169)](_0x5f3f60(0x187)),_0x33464d=_0x2e0513[_0x5f3f60(0x180)][_0x5f3f60(0x169)](_0x5f3f60(0x181));this['container'][_0x5f3f60(0x1af)]('.vgm-drop-zone')['forEach'](_0x262890=>{const _0x2ab676=_0x5f3f60;_0x262890[_0x2ab676(0x13e)][_0x2ab676(0x151)](_0x2ab676(0x146),_0x262890===_0x44cebb);});if(_0x33464d&&_0x33464d!==dragState['draggedElement']){const _0x53b8bc=_0x33464d[_0x5f3f60(0x11c)](),_0x4d11c0=_0x53b8bc[_0x5f3f60(0x18f)]+_0x53b8bc['height']/0x2,_0x12f25f=_0x2e0513[_0x5f3f60(0x14b)]<_0x4d11c0;this[_0x5f3f60(0x13d)]['querySelectorAll'](_0x5f3f60(0x181))[_0x5f3f60(0x195)](_0x4a3ef3=>{const _0x5bb8b3=_0x5f3f60;_0x4a3ef3!==_0x33464d&&_0x4a3ef3[_0x5bb8b3(0x13e)]['remove']('drop-before',_0x5bb8b3(0x189));}),_0x33464d[_0x5f3f60(0x13e)][_0x5f3f60(0x151)](_0x5f3f60(0x13a),_0x12f25f),_0x33464d[_0x5f3f60(0x13e)][_0x5f3f60(0x151)](_0x5f3f60(0x189),!_0x12f25f);}}[_0x556a35(0x12e)](_0x390230){const _0x198263=_0x556a35,_0x16a132=_0x390230['target'][_0x198263(0x169)](_0x198263(0x187));_0x16a132&&!_0x16a132[_0x198263(0x12a)](_0x390230[_0x198263(0x18d)])&&_0x16a132[_0x198263(0x13e)][_0x198263(0x128)](_0x198263(0x146));}async['handleDrop'](_0x247aaa){const _0x5c78b0=_0x556a35;_0x247aaa[_0x5c78b0(0x17a)]();const _0x186699=_0x247aaa[_0x5c78b0(0x180)][_0x5c78b0(0x169)](_0x5c78b0(0x187)),_0x2d67ae=_0x247aaa[_0x5c78b0(0x180)][_0x5c78b0(0x169)](_0x5c78b0(0x181)),_0x426410=_0x247aaa[_0x5c78b0(0x1b0)][_0x5c78b0(0x1a9)](_0x5c78b0(0x172));if(!_0x186699||!_0x426410)return;this[_0x5c78b0(0x13d)][_0x5c78b0(0x1af)](_0x5c78b0(0x1b5))[_0x5c78b0(0x195)](_0xdad156=>{const _0xd5ba6b=_0x5c78b0;_0xdad156['classList'][_0xd5ba6b(0x128)](_0xd5ba6b(0x146),_0xd5ba6b(0x13a),'drop-after');});const _0x562298=_0x186699[_0x5c78b0(0x186)][_0x5c78b0(0x174)],_0x3c5feb=_0x562298===_0x5c78b0(0x197),_0x1e1f9d=dragState[_0x5c78b0(0x137)]===this[_0x5c78b0(0x170)];try{if(_0x3c5feb&&!_0x1e1f9d){let _0x424f01=this[_0x5c78b0(0x165)][_0x5c78b0(0x16d)](_0x2e9940=>_0x2e9940[_0x5c78b0(0x170)]===this[_0x5c78b0(0x170)])[_0x5c78b0(0x13f)];if(_0x2d67ae){const _0x5236e3=_0x2d67ae['dataset'][_0x5c78b0(0x130)],_0x5f5c6f=this[_0x5c78b0(0x165)][_0x5c78b0(0x18e)](_0x176c5b=>_0x176c5b[_0x5c78b0(0x130)]===_0x5236e3);if(_0x5f5c6f?.[_0x5c78b0(0x129)]!==undefined){const _0x48fb0f=_0x2d67ae[_0x5c78b0(0x11c)](),_0x243909=_0x247aaa[_0x5c78b0(0x14b)]<_0x48fb0f[_0x5c78b0(0x18f)]+_0x48fb0f['height']/0x2;_0x424f01=_0x5f5c6f[_0x5c78b0(0x129)]+(_0x243909?0x0:0x1);}}await this[_0x5c78b0(0x176)](_0x426410,_0x424f01);}else{if(!_0x3c5feb&&_0x1e1f9d)await this[_0x5c78b0(0x1ae)](_0x426410);else _0x3c5feb&&_0x1e1f9d&&_0x2d67ae&&await this[_0x5c78b0(0x182)](_0x426410,_0x2d67ae,_0x247aaa['clientY']);}}catch(_0x193747){console[_0x5c78b0(0x1a7)](_0x5c78b0(0x12d),_0x193747),Utils['showToast'](_0x193747[_0x5c78b0(0x17b)]||_0x5c78b0(0x1a1),_0x5c78b0(0x1a7));}}async['addToGroup'](_0x486b2b,_0x49a3f0){const _0x2d6cfe=_0x556a35,_0x55ce2d=this[_0x2d6cfe(0x165)]['find'](_0x366675=>_0x366675['taskId']===_0x486b2b);if(!_0x55ce2d)return;_0x49a3f0===undefined&&(_0x49a3f0=this[_0x2d6cfe(0x165)][_0x2d6cfe(0x16d)](_0x41a7d4=>_0x41a7d4['groupId']===this[_0x2d6cfe(0x170)])[_0x2d6cfe(0x13f)]),!this[_0x2d6cfe(0x170)]&&(this[_0x2d6cfe(0x170)]=API[_0x2d6cfe(0x16a)](),await API[_0x2d6cfe(0x13c)]({'groupId':this[_0x2d6cfe(0x170)]})),await API['updateTaskGroup'](_0x486b2b,this[_0x2d6cfe(0x170)],_0x49a3f0),_0x55ce2d[_0x2d6cfe(0x170)]=this['groupId'],_0x55ce2d['groupIndex']=_0x49a3f0,this[_0x2d6cfe(0x1b2)](),this[_0x2d6cfe(0x150)](this[_0x2d6cfe(0x165)]);}async[_0x556a35(0x1ae)](_0x4bbc50){const _0x4174ad=_0x556a35,_0x54af22=this[_0x4174ad(0x165)][_0x4174ad(0x18e)](_0x326451=>_0x326451[_0x4174ad(0x130)]===_0x4bbc50);if(!_0x54af22)return;await API[_0x4174ad(0x135)](_0x4bbc50),_0x54af22[_0x4174ad(0x170)]=null,_0x54af22[_0x4174ad(0x129)]=null,this[_0x4174ad(0x1b2)](),this[_0x4174ad(0x150)](this[_0x4174ad(0x165)]);}async[_0x556a35(0x182)](_0xc7d7fe,_0x236154,_0x44b34c){const _0x1287e0=_0x556a35,_0x5f4ac2=this[_0x1287e0(0x165)]['find'](_0x3ac935=>_0x3ac935[_0x1287e0(0x130)]===_0xc7d7fe),_0x222e86=_0x236154['dataset']['taskId'],_0x3491f0=this[_0x1287e0(0x165)]['find'](_0x15d397=>_0x15d397[_0x1287e0(0x130)]===_0x222e86);if(!_0x5f4ac2||!_0x3491f0||_0x5f4ac2[_0x1287e0(0x130)]===_0x3491f0[_0x1287e0(0x130)])return;const _0x5c844b=_0x236154[_0x1287e0(0x11c)](),_0x35789f=_0x44b34c<_0x5c844b[_0x1287e0(0x18f)]+_0x5c844b[_0x1287e0(0x159)]/0x2;let _0x209884=_0x3491f0[_0x1287e0(0x129)]??0x0;if(!_0x35789f)_0x209884++;if((_0x5f4ac2[_0x1287e0(0x129)]??0x0)<(_0x3491f0[_0x1287e0(0x129)]??0x0))_0x209884--;if(_0x209884===_0x5f4ac2[_0x1287e0(0x129)])return;await API[_0x1287e0(0x185)](_0xc7d7fe,this['groupId'],_0x209884);const _0x59a093=this[_0x1287e0(0x165)]['filter'](_0x596600=>_0x596600['groupId']===this['groupId'])[_0x1287e0(0x14e)]((_0x3eb1e4,_0x15f987)=>(_0x3eb1e4['groupIndex']??0x0)-(_0x15f987[_0x1287e0(0x129)]??0x0)),_0x5d0199=_0x59a093[_0x1287e0(0x19b)](_0x2cf325=>_0x2cf325[_0x1287e0(0x130)]===_0xc7d7fe);_0x5d0199!==-0x1&&_0x59a093[_0x1287e0(0x19d)](_0x5d0199,0x1),_0x59a093[_0x1287e0(0x19d)](_0x209884,0x0,_0x5f4ac2),_0x59a093[_0x1287e0(0x195)]((_0x10e1fe,_0x213ad3)=>{const _0x568c64=_0x1287e0;_0x10e1fe[_0x568c64(0x129)]=_0x213ad3;}),this[_0x1287e0(0x1b2)](),this['onGroupChange'](this[_0x1287e0(0x165)]);}}export function initializeTabDragDrop(_0x188c28,_0x30f801,_0x38a324,_0xd78073={}){const _0x5c7955=_0x556a35;if(!_0x188c28)return;const {onReorder:_0x57a85d,onRemove:_0x448327}=_0xd78073,_0x4f9d03=_0x188c28[_0x5c7955(0x1af)](_0x5c7955(0x1bc));_0x4f9d03[_0x5c7955(0x195)]((_0x2ecec9,_0x37f133)=>{const _0x5ba884=_0x5c7955;_0x2ecec9[_0x5ba884(0x136)](_0x5ba884(0x11f),_0x5ba884(0x133)),_0x2ecec9[_0x5ba884(0x186)][_0x5ba884(0x15a)]=_0x37f133,_0x2ecec9[_0x5ba884(0x178)](_0x5ba884(0x1a8),_0x18dffe=>{const _0x35ad08=_0x5ba884;_0x18dffe[_0x35ad08(0x1b0)][_0x35ad08(0x18b)]=_0x35ad08(0x1a0),_0x18dffe[_0x35ad08(0x1b0)][_0x35ad08(0x126)](_0x35ad08(0x172),_0x2ecec9['dataset'][_0x35ad08(0x130)]),_0x2ecec9[_0x35ad08(0x13e)][_0x35ad08(0x1b8)](_0x35ad08(0x1a2)),_0x188c28['classList'][_0x35ad08(0x1b8)]('is-dragging');}),_0x2ecec9['addEventListener'](_0x5ba884(0x198),()=>{const _0xbeb54d=_0x5ba884;_0x2ecec9['classList'][_0xbeb54d(0x128)]('dragging'),_0x188c28['classList'][_0xbeb54d(0x128)]('is-dragging'),_0x188c28[_0xbeb54d(0x1af)](_0xbeb54d(0x19a))[_0xbeb54d(0x195)](_0x57c1e9=>{const _0x1859ca=_0xbeb54d;_0x57c1e9[_0x1859ca(0x13e)][_0x1859ca(0x128)](_0x1859ca(0x139),_0x1859ca(0x13a),_0x1859ca(0x189));});}),_0x2ecec9[_0x5ba884(0x178)](_0x5ba884(0x1a5),_0x400cf6=>{const _0x1f6f26=_0x5ba884;_0x400cf6[_0x1f6f26(0x17a)](),_0x400cf6[_0x1f6f26(0x1b0)]['dropEffect']='move';if(_0x2ecec9[_0x1f6f26(0x13e)][_0x1f6f26(0x12a)](_0x1f6f26(0x1a2)))return;const _0x3a6557=_0x2ecec9[_0x1f6f26(0x11c)](),_0x2b3dd3=_0x3a6557[_0x1f6f26(0x160)]+_0x3a6557[_0x1f6f26(0x1b9)]/0x2,_0x569e94=_0x400cf6['clientX']<_0x2b3dd3;_0x4f9d03[_0x1f6f26(0x195)](_0x59be67=>_0x59be67[_0x1f6f26(0x13e)]['remove'](_0x1f6f26(0x13a),_0x1f6f26(0x189))),_0x2ecec9['classList'][_0x1f6f26(0x1b8)](_0x569e94?_0x1f6f26(0x13a):_0x1f6f26(0x189));}),_0x2ecec9[_0x5ba884(0x178)](_0x5ba884(0x1bb),()=>{const _0x2d4cc8=_0x5ba884;_0x2ecec9[_0x2d4cc8(0x13e)][_0x2d4cc8(0x128)](_0x2d4cc8(0x13a),'drop-after');}),_0x2ecec9[_0x5ba884(0x178)](_0x5ba884(0x171),async _0xb26a16=>{const _0x425b02=_0x5ba884;_0xb26a16[_0x425b02(0x17a)]();const _0x3862b4=_0xb26a16['dataTransfer'][_0x425b02(0x1a9)](_0x425b02(0x172)),_0x34b50c=_0x2ecec9[_0x425b02(0x186)][_0x425b02(0x130)];if(_0x3862b4===_0x34b50c)return;const _0x380637=_0x2ecec9[_0x425b02(0x11c)](),_0x2b215a=_0xb26a16['clientX']<_0x380637[_0x425b02(0x160)]+_0x380637[_0x425b02(0x1b9)]/0x2;_0x2ecec9[_0x425b02(0x13e)][_0x425b02(0x128)](_0x425b02(0x13a),'drop-after'),_0x57a85d&&await _0x57a85d(_0x3862b4,_0x34b50c,_0x2b215a);});});const _0x18c4c6=document[_0x5c7955(0x16c)](_0x5c7955(0x168));return _0x18c4c6[_0x5c7955(0x196)]=_0x5c7955(0x167),_0x18c4c6[_0x5c7955(0x121)]=_0x5c7955(0x166),_0x18c4c6[_0x5c7955(0x179)][_0x5c7955(0x19f)]=_0x5c7955(0x124),_0x18c4c6[_0x5c7955(0x178)]('dragover',_0x23426d=>{const _0x4dbb87=_0x5c7955;_0x23426d[_0x4dbb87(0x17a)](),_0x18c4c6[_0x4dbb87(0x13e)][_0x4dbb87(0x1b8)]('drag-over');}),_0x18c4c6[_0x5c7955(0x178)]('dragleave',()=>{const _0x2da818=_0x5c7955;_0x18c4c6[_0x2da818(0x13e)][_0x2da818(0x128)](_0x2da818(0x146));}),_0x18c4c6[_0x5c7955(0x178)](_0x5c7955(0x171),async _0x428e4c=>{const _0x4b4309=_0x5c7955;_0x428e4c[_0x4b4309(0x17a)](),_0x18c4c6[_0x4b4309(0x13e)][_0x4b4309(0x128)]('drag-over');const _0x2fef10=_0x428e4c[_0x4b4309(0x1b0)][_0x4b4309(0x1a9)]('text/plain');_0x448327&&await _0x448327(_0x2fef10);}),_0x188c28['addEventListener']('dragstart',()=>{const _0x23d12f=_0x5c7955;_0x30f801[_0x23d12f(0x13f)]>0x1&&(_0x18c4c6[_0x23d12f(0x179)][_0x23d12f(0x19f)]='flex');}),_0x188c28['addEventListener'](_0x5c7955(0x198),()=>{const _0x5c6d95=_0x5c7955;_0x18c4c6[_0x5c6d95(0x179)][_0x5c6d95(0x19f)]=_0x5c6d95(0x124);}),_0x188c28[_0x5c7955(0x1ba)](_0x18c4c6),{'destroy':()=>{const _0x5a672c=_0x5c7955;_0x18c4c6[_0x5a672c(0x128)]();}};}export default VariantGroupingManager;
1
+ function _0x4e62(){const _0x4b24c0=['zMLSDgvY','lMrYB3aTAw5KAwnHDg9Y','lNrHC2STDgfI','AgfUzgXLrhjHz0XLyxzL','yxr0ywnOrxzLBNrmAxn0zw5LCNm','BgvMDa','DxbKyxrLvgfZA0DYB3vW','nJaYntj3rvzbzum','y2XVC2u','iGOGicaGicaGicaGigrHDgeTAxmTz3jVDxbLzd0I','phn2zYbJBgfZCZ0IC3rHDhvZlwLJB24IihzPzxDcB3G9iJaGmcaXnIaXnIiGzMLSBd0Iy3vYCMvUDenVBg9YiJ48Cgf0AcbKpsjnocaWytGGocaWideGmcaWide2qtGGocaWidaGmca4idb6BtmUnZGGnI4Yoc00lJuGnc41ys43ns43nsaWidaGms0XlJa2idbSltiTmMeUnZuUnZuGmcaXideGms4WnI0XlJa2tdyUnZuGos4XowWZlJK3ltmUotDHlJC1lJC1idaGmsaXideUmdyGms4WnNOIlZ48l3n2zZ4','z2v0qM91BMrPBMDdBgLLBNrszwn0','zMLUzeLUzgv4','zhjVCc1HzNrLCG','pc9ZCgfUpGOGicaGicaGicaGica8l2rPDJ4kicaGicaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlwrYB3aTEM9Uzsb2z20Tz3jVDxbLzc16B25LiIbKyxrHlxPVBMu9iMDYB3vWzwqIpGOGicaGicaGicaGicaGia','D2LKDgG','cIaGicaGicaGica','zhjHz2DLzfrHC2Tjza','iJ4kicaGicaGicaGia','C291CMnLr3jVDxbjza','AgfUzgXLrhjVCa','phn2zYbJBgfZCZ0IC3rHDhvZlwLJB24IihzPzxDcB3G9iJaGmcaXnIaXnIiGzMLSBd0Iy3vYCMvUDenVBg9YiJ48Cgf0AcbKpsjnocaWytGGocaWideGmcaWide2qtGGocaWidaGmca4idb6BtaGmtrbnIa2idaGmsaXidGGmMe2idyGmcaWideGmcaXmNPTms02lJvwneG3DJqUnwWZidmGms41lteUns0YlJuTmI41EIiVpJWVC3zNpG','z3jVDxbjBMrLEa','Aw5KzxG','DgfZA3m','cIaGicaGicaGpc9KAxy+cIaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlxzHCMLHBNqTC3rHDhvZia','zhjVCc1IzwzVCMu','Dhj1zq','AxneCMfNz2LUzW','lNzNBs1KCM9WlxPVBMu','CMvSyxrLzfrHCMDLDa','zhjVCevMzMvJDa','z2v0rgf0yq','zhjVCc1PBMrPy2f0B3i','AgvPz2H0','zhjHz292zxi','y2XHC3nmAxn0','vgfZAYa','y2XPy2S','lMrYywCTB3zLCIWGlMrYB3aTAw5KAwnHDg9Y','y2XVC2vZDa','zMLUza','pgrPDIbJBgfZCZ0IDMDTlwvTChr5lwHPBNqIpKrYywCGDMfYAwfUDhmGAgvYzsb0BYbYzw1VDMuGzNjVBsbNCM91CdWVzgL2pG','zM9YrwfJAa','CxvLCNLtzwXLy3rVCKfSBa','AxnpCgvU','zwzMzwn0qwXSB3DLza','B25hCM91CenOyw5Nzq','zhjHz2DHyMXL','rMfPBgvKihrVig1VDMuGDMfYAwfUDa','Dg9W','DgfZA0LK','n3PKrgnzvW','phn2zYb2Awv3qM94psiWidaGmJqGmJqIigzPBgW9iM5VBMuIihn0CM9Rzt0Iy3vYCMvUDenVBg9YiIbZDhjVA2uTD2LKDgG9iJiIihn0CM9Rzs1SAw5Ly2fWpsjYB3vUzciGC3rYB2TLlwXPBMvQB2LUpsjYB3vUzciGD2LKDgG9iJe2iIbOzwLNAhq9iJe2iIbHCMLHlwHPzgrLBJ0IDhj1zsi+phbHDgGGzd0ItteYidjmos4Wosa5lJa5idiGmtjSnY4WosaYlJKXtdeYidiYBdiUoteTnY4WouWYmIaXmMWTnY4Wos0YlJKXEIi+pc9WyxrOpJWVC3zNpG','phn2zYb2Awv3qM94psiWidaGmtyGmtyIigzPBgW9iMn1CNjLBNrdB2XVCIiGD2LKDgG9iJe2iIbOzwLNAhq9iJe2iIbHCMLHlwHPzgrLBJ0IDhj1zsi+phbHDgGGzd0IBtmUmti3ideWlJyWncaZlJeZns0XlJC2lJa1mY0UmtuZls4WntmTlJa4nuG2lJeXBc0Unti1ls4WmZiTms43oteTlJa0oc0XlJu1nc0Umdy1lteUnta1ls4Woc0UmZGTlJa4muWWidCUodmYBc4WmZyTlJiZnc4ZmI0UmJe0lJq1ns4WncaXlJaWos4WnJKGms41mtmUmta1ideUmdK3lJa2ncaXlJyYnI4Xn2GUmJu5Bc4WmZyTlJeWns0UmdG5ls4WnJuTlJa2oc0Umdy0lteUnty2lteUmdyYlteUnJK1lteUmtiXls44odCTlJy0nI0UndGTlJmYnY0UmJqZls4ZmdyTlJeWnc0UnJCUndm1ls40oc41oduUmdqUmtuUmdqUntKZlJq1nIaXlJi2nY45odeGms42ntqGms4YmtGUmJqYlJiWmI4WotCTlJa2oc4WmtiTlJa0os0Umta5ls4XodeTlJKTms42mJyTlJK2lteUnJu1ls40mJGTlJy4nI0UmteZls40mtfHmIaYidaGmcaXls4WnJGTlJq4ngWUndK2ls42nZrmnc40ndyGmgWUnJyYlJa4os4YnZKUmJqYlJqXms45nc42nJyGms40ocaXlJaZmYaYlJaXnc4ZmdiUntK3lJe2mI41ntmUmdyUmtDOlJeWnxyTlJa5n2WUmdG1lteUmtm0lJe1nY0XlJm5mI4XntqTms43otiUmduYls41mdqUmJuTlJyWns40otCTlJmYnY4ZodCUmtG2lJmXos40ntyTlJa0ns4YotqTlJe5ideUmJmTlJm3ideUotmTlJi0mYaXlJi5Ac4XndjSlJe2ms0UmtyUnJu0ls44nJGGms4WotCTms4ZnZiUndG0ls41nduUnty1ls42mdeUmZyZls4YodDOlJy4nMWUnta1lJC1ms0UmJi2lJC3ns0UnZa3lJG5ns0UntG1lJC1os0Uodm5ideUmtmTlJuYnc45mdqUmdq4lJa3mI4XmJuTlJaXmIaXlJG5nY0UndaZideUmdi0ls4XodyGms4YmJmTlJiXlJu1mY4YntGUmdyUmJyZls4YmtGUntm2lteUmZa3lJmYmY0XlJuZmY4ZmdCTmI4YodqUntqTlJaYoc4WmI4WmZiUmdqGms4WmJKUmdK4lJq0lJaYngGXlJa3n2WYlJaWns4Xns41mJuUmZq2lJmXns40mJqTlJa1mY4ZmJmTlJGWnY40mteTmY42mZeTlJG2mY0UodCYls4YmtHOls4XmNyUmdCZBc43mJyUnZeGms4ZmZeGms4YmdiGms42nJCGms41ns4WodqUmZGZls4YmtqUmZaYls4YmJyTlJaZmI0XlJq2nc0XlJeWms0Unty1ls40otCTms4Yoc0XlJa3n2GTlJa4nhyUmteZBc4YotuUndmYideUntu3idiUmZqUmdGUnZe4ls4XmtiUmJm0ls40mdqUmtqXls40ndqTlJa4ls45mteTms4Yoc0UotqTms40nc0UnZu5lteUmJKXls4WotmUmduZls40ndGGnc44mJeTlJiXlJi0nI0UndG0lJe4nI0UndaZls4ZmdCTlJiXnc0UndK2lJiXnc0UotGUmJu4lteUmJGUmJeTms4WmtyUmtKTms4YnJmUmteYls40mI0Umda4ls4WmJGTlJa5mI4WmtiTlJK1mYaXlJmWnY0XlJq0ocaXlJK1nY0XlJe0nIaXlJiYnY0UmJC0lJeWos0UndC3ls4YndCUmdq1ls40nc4YnJyTlJm5ideUntG2ltiUmde4lJK1nI0XlJi1lJyXnY0UnZiZls4WmdqTlJeWnwGTlJaZnMWTnc4YmtiGnc4Ymtj6iI8+pc9ZDMC+','mtuZvvndsgTe','C3r5Bgu','iGOGicaGicaGicaGigrYywDNywjSzt0IDhj1zsikicaGicaGicaGicbKyxrHlxrHC2STAwq9iG','DgfYz2v0','phn2zYb2Awv3qM94psiWidaGmJqGmJqIigzPBgW9iMn1CNjLBNrdB2XVCIiGD2LKDgG9iJe2iIbOzwLNAhq9iJe2iIbHCMLHlwHPzgrLBJ0IDhj1zsi+phbHDgGGzd0IttiYlJi4mtKGos44mJeXytuUotG0nYa1lJK4ndCGmcaWidaTlJuXntCTnc45mta4idyUmdq2mIa2lJa0nJiGmcaWidaTnI41mdK4ltiUoue2lJa2nteGnI4WnJuXidaGmcaWidqUotGWnYa0lJe4mtHHns45odq3iduUotG0nYaWidaGmc0ZlJK5nZCGmI45idyUmdq2mIa2lJa0nJiGmcaWidaGlJC0mJCGnY4Woty2iduUotGGns45ocaWidaGmcaUnteXidqUoteWnYa2lJa1msa2lJa1msaWidaGmca2lJuXndyGmI45mdaXqtuUotG0nYa1lJK4ndCGmcaWidaGmtmUmJu5osaYnge2lJa1ntCGnI4Wntu3idaGmcaWiduUnZCXoc00lJiWntGGns45odK0iduUotG5ncaWidaGmcaZlJK5nZCTmI45mdaXidyUmdu1nYa2lJa1ntCGmcaWidaTlJC0nZuTnY4WnZi5EM0Tos4WmJiGmtiUnJa4mwe0lJq3ntuGnc40nZu1idaGmcaXltiUodC2nc0XlJa0mdHSlJe0mtKTlJa4mdqGnc43nZGZltiUnZu4mMeUnZK0oc43otq4idaGmcaWic4Zoti3ls42odeZDI02lJCZnJLSmI4WmIaXlJe2odzHlJa3ms4WnZeGmcaWideGlJaZoc4Wntj2ns41odi2ytqUnta0idqUnta0idaGmcaXltqUndK0nsa0lJq5ndr6Bs05lJy2mdCTnc4XmJu0ytqUndCWoca0lJq3mdGGmcaWideTlJuZndyTmY4Wmtm3Bc4XndiUmdG1mIa0lJC4mYaYlJC1odjHlJC3mtiUnZCXmIaWidaGmcaUnZGWnIaWBduUodqYoc0ZlJm2odv2mI4ZmZi0ys4Woda0lJa4mdqGmcaWideTlJaZmZiUmdyXnuW5lJC0ide5lJK1mdjHnc40otKYidqUndK5mIaWidaGms02lJe0mdGTms42ndy0EK0YlJm0mdGGnY44otu2ytqUndG1idqUndG1idaGmcaXidiUmZy1ns0XlJK3mJHwmteUnMeUnZy2nc43nJy0idaGmcaWic4ZodC5lJy3nJvSns44mtq0idmUmZu0mY0YlJaYmdeGms4XnJG1ys4WnZu3lJa3ntCGmcaWideTlJa3msaWBc00lJGZmdmTmI43ody1qtqUnta0idqUnta0idaGmcaXidiUmZqWoca3lJG3mNPTmtyUntK2mYaZlJG1ntHmmtmUmtaZoca4lJm2ncaXns4XmtKYidCUmMeUmdC1nY4WnZu3idaGmcaXic4WnZeGmgW0lJGZmdmGmI43oteZytqUndK0nca0lJq5ndqGmcaWideTlJy3nJuGoc4XmdqYDI01lJy3nZjHlJC5lJC5idaGmcaWls40mdCTlJy2n3PTmI4Wmta3ltmUmdiZmwWTlJe0mI0UmdG1mI00lJC3mZuTmI43ode4ys43nZu5lJC3ntKGmcaWidaTlJC4ntqGmeW5lJqWosa5lJiYotDwnI44otC0ys4WnJyYlJa2nJiGmcaWideGlJaYodqTlJa2mtvSnc44mZaZltiUnZG2nMe0lJq5otiGnc40otKYidaGmcaXidyUnJGWmIa0lJy2EK04lJmWnJuGmtiUodyZBc0YlJaYlteUmtyZogeUmdGWnc4Woda0idaGmcaXls4WmZGTlJa1nJDwnI4WnZqYytqUndK5mIa0lJq5otiGmcaWideGnY4ZnZu3ltmUnduZn2WTlJe0mI4Woda1tdGUnZa0iduUndu5ys43otq4lJC5ndGGmcaWidaTlJm5mJCUnJGXm3PTms4WotC2ltiUmZy1ngWYlJyWmI0XlJq5otGGmI42mdy5ideUndK5ohyYlJK5otrSltiUntK3ncaXlJq5otCTmI42mdy3lteUndK5n1OIlZ48l3n2zZ4','qwrKihrVigDYB3vW','C3rHDhvZ','nduWodi4r2niAgzZ','phn2zYbJBgfZCZ0IC3rHDhvZlwLJB24IihzPzxDcB3G9iJaGmcaXnIaXnIiGzMLSBd0Iy3vYCMvUDenVBg9YiJ48Cgf0AcbKpsjnocaWytGGocaWideGmcaWide2qtGGocaWidaGmca4idb6BtaGmtjHlJC1lJC1idaGmsaXidaTms41lJC1lJC1idaGmcaXidaGms41EM0XltmUnweXideGmcaWideTmIaWvJvHmsaXidaGmsaXidiGmhyZlJv6iI8+pc9ZDMC+','lNzNBs12yxjPyw50lwnHCMq','iGOGicaGicaGicaGicaGicaGzgf0ys1Hy3rPB249iG','phnWyw4Gy2XHC3m9iNzNBs1IywrNzsb2z20TyMfKz2uTyxbWCM92zwqIihrPDgXLpsjbChbYB3zLzci+phn2zYb2Awv3qM94psiWidaGmJqGmJqIigzPBgW9iM5VBMuIihn0CM9Rzt0Iy3vYCMvUDenVBg9YiIbZDhjVA2uTD2LKDgG9iJiIihn0CM9Rzs1SAw5Ly2fWpsjYB3vUzciGC3rYB2TLlwXPBMvQB2LUpsjYB3vUzciGD2LKDgG9iJeYiIbOzwLNAhq9iJeYiJ48Cgf0AcbKpsjnmtqGovy1ytmGmYaWidaGmc0ZltnSltqGoxyXmwGXms4YogeYidiGmcaWidaGmI0XlJDSms4Zoc05ytiGmIaWidaGmc0YltiUm3PnnYaYmKG0ytiGmIaWidaGms0Yltj2ltDHmIaYidaGmcaXidiTmMGZiJ48l3bHDgG+pc9ZDMC+pc9ZCgfUpG','y3jLyxrLrwXLBwvUDa','Aw5PDa','mJm4nZi2ALP0BeLl','C29Tzq','AgfUzgXLrhjHz0vUza','zhjHz2DPBMC','pc9ZCgfUpGOGicaGicaGicaGica8l2rPDJ4kicaGicaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlwrYB3aTEM9Uzsb2z20TDw5NCM91CgvKlxPVBMuIigrHDgeTEM9Uzt0IDw5NCM91CgvKiJ4kicaGicaGicaGicaGica','zgLZCgXHEq','cIaGicaGidXKAxyGy2XHC3m9iNzNBs12yxjPyw50lwnHCMqG','ChjLDMvUDerLzMf1Bhq','BwvZC2fNzq','zhjVCa','zxnJyxbLshrTBa','AgfUzgXLrhjHz092zxi','cIaGica8C3zNihzPzxDcB3G9iJaGmcaYncaYnciGD2LKDgG9iJe2iIbOzwLNAhq9iJe2iIbMAwXSpsjUB25LiIbZDhjVA2u9iMn1CNjLBNrdB2XVCIiGC3rYB2TLlxDPzhrOpsiYiJ4kicaGicaGphbHDgGGzd0Itte4idzmnIaXoe02idzSmtiGmtiIlZ4kicaGidWVC3zNpGOGicaGphnWyw4+uMvTB3zLigzYB20Gz3jVDxa8l3nWyw4+cIaG','Dgv4Dc9WBgfPBG','uMvTB3zLigzYB20Gz3jVDxa','iJ4kicaGicaGicaGidXZDMCGDMLLD0jVEd0ImcaWidi0idi0iIb3Awr0Ad0ImtyIigHLAwDODd0ImtyIigzPBgW9iM5VBMuIihn0CM9Rzt0Iy3vYCMvUDenVBg9YiIbZDhjVA2uTD2LKDgG9iJiIpGOGicaGicaGicaGica','zhjHz2XLyxzL','y2XPzw50wa','Dw5RBM93BG','y29UDgfPBMvY','pc9ZCgfUpGOGicaGicaGidWVzgL2pGOGicaGicaGidXKAxyGy2XHC3m9iNzNBs12yxjPyw50lwjHzgDLCYi+cIaGicaGicaGica','AxnxAw5Uzxi','C2HVD1rVyxn0','z2vUzxjHDgvhCM91CeLK','AgfUzgXLrhjHz1n0yxj0','B25bzgrfEgLZDgLUz1rHC2S','mJeWmu5jqMrZsW','cIaGicaGicaGicaGidWVzgL2pGOGicaGicaGicaGpc9KAxy+cIaGicaGicaGpc9KAxy+cGOGicaGicaGidXKAxyGy2XHC3m9iNzNBs1Hy3rPB25ZiJ4kicaGicaGicaGidXIDxr0B24Gy2XHC3m9iNzNBs1IDg4GDMDTlwj0BI1ZzwnVBMrHCNKGDMDTlwfKzc1LEgLZDgLUzY1IDg4IihrPDgXLpsjbzgqGyw4GzxHPC3rPBMCGDgfZAYb0BYb0AgLZigDYB3vWiJ4kicaGicaGicaGicaGphn2zYb2Awv3qM94psiWidaGmJqGmJqIihDPzhrOpsiXnIiGAgvPz2H0psiXnIiGzMLSBd0IBM9UzsiGC3rYB2TLpsjJDxjYzw50q29SB3iIihn0CM9Rzs13Awr0Ad0ImIi+cIaGicaGicaGicaGicaGphbHDgGGzd0ItteYidv2mtrnnsaXmMGXnciVpGOGicaGicaGicaGica8l3n2zZ4kicaGicaGicaGicaGqwrKiev4Axn0Aw5NifrHC2SkicaGicaGicaGidWVyNv0Dg9UpGOGicaGicaGidWVzgL2pGOGicaGica8l2rPDJ4kicaGia','y29UDgfPBNm','lNzNBs12yxjPyw50lxjLBw92zs1IDg4','C29YDa','pc9ZCgfUpGOGicaGicaGicaGphnWyw4Gy2XHC3m9iNzNBs12yxjPyw50lw1LDgeIpG','zhjHz3n0yxj0','Bw92zq','CMvTB3zLrNjVBuDYB3vW','CMvUzgvYvMfYAwfUDenHCMq','zxjYB3i','Dg9mB3DLCKnHC2u','CMvUzgvY','zgf0yxnLDa','CMvTB3zLvgfZA0zYB21hCM91Ca','AM9PBG','zgL2','lNzNBs1JBg9Zzs1IDg4','lNzNBs1HzgqTzxHPC3rPBMCTyNrU','ywrK','cIaGicaGicaGpc9KAxy+cIaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlxzHCMLHBNqTAw5MBYi+cIaGicaGicaGica8C3bHBIbJBgfZCZ0IDMDTlxzHCMLHBNqTBMfTzsi+','B3bLBG','CMvTB3zL','y2XPzw50wq','Aw5Uzxjive1m','imk3ia','AxnhCM91CgvK','q09ervjFquDftLq','mJbMCvP4CeG','BgvUz3rO','DxbKyxrLvgfZA3m','iJ4kicaGicaGica8zgL2ignSyxnZpsj2z20TDMfYAwfUDc1KCMfNlwHHBMrSzsiGDgL0Bgu9iKrYywCGDg8GCMvVCMrLCIbVCIbTB3zLiJ4kicaGicaGicaGidXZDMCGDMLLD0jVEd0ImcaWidi0idi0iIb3Awr0Ad0ImtyIigHLAwDODd0ImtyIigzPBgW9iMn1CNjLBNrdB2XVCIi+cIaGicaGicaGicaGidXWyxrOigq9iK04idzOmNyYsdHwnNPTnIaWAdj2mMGTmLy2EK04ideXAdj2mKG4DI0YEM02idbOmNyYAc0YDI0YEM0TnIa1Adj2mKG4DI0YEM02idbOmNyYAc0YDI0YEIiVpGOGicaGicaGicaGpc9ZDMC+cIaGicaGicaGpc9KAxy+cIaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlxzHCMLHBNqTAwnVBIiGzgf0ys1Hz2vUDd0I','mJe4nJy3yuTMsLnh','zw52vMfYCW','phn2zYbJBgfZCZ0IC3rHDhvZlwLJB24GC3bPBM5PBMCIihzPzxDcB3G9iJaGmcaXnIaXnIiGzMLSBd0IBM9UzsiGC3rYB2TLpsjJDxjYzw50q29SB3iIihn0CM9Rzs13Awr0Ad0ImI41iIbZDhjVA2uTBgLUzwnHCd0ICM91BMqIpJXWyxrOigq9iK04idiGqtyGnIaWidaGmsaXnca4iI8+pc9ZDMC+','zMXLEa','phnWyw4Gy2XHC3m9iNzNBs1IywrNzsb2z20TyMfKz2uTD2LUBMvYiIb0AxrSzt0Iv2LUBMvYiJ7IMiu8l3nWyw4+','C2v0rgf0yq','zhjHz2DLzevSzw1LBNq','mNL1BgznBG','phbHDgGGzd0ItteYidv2mtrnnsaXmMGXnciVpG','C3bSAwnL','mJa5nJq4wLPXELPH','z3jVDxbLza','C3rHDhvZlq','BwfW','cIaGicaGicaGpc9KAxy+cIaGicaGicaGpgj1DhrVBIbJBgfZCZ0IDMDTlxzHCMLHBNqTCMvTB3zLlwj0BIikicaGicaGicaGicaGicaGihrPDgXLpsi','AxmTzhjHz2DPBMC','mZy1odq0mhDVAvzYua','zhjHzY1VDMvY','z3jVDxbjza','zhjHz2vUza','rhjVCcbVCgvYyxrPB24GzMfPBgvKoG','ywn0Aw9U','cIaGicaGicaGicaGidWVzgL2pGOGicaGicaGicaGpc9KAxy+cGOGicaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlwrPDMLKzxiIpGOGicaGicaGicaGica8zgL2ignSyxnZpsj2z20TzgL2AwrLCI1SAw5LiJ48l2rPDJ4kicaGicaGicaGicaGphnWyw4Gy2XHC3m9iNzNBs1KAxzPzgvYlxrLEhqIpKrYywCGDg8GBw92ztWVC3bHBJ4kicaGicaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlwrPDMLKzxiTBgLUzsi+pc9KAxy+cIaGicaGicaGica8l2rPDJ4kcIaGicaGicaGica8zgL2ignSyxnZpsj2z20TC2vJDgLVBIb2z20TDw5NCM91CgvKiJ4kicaGicaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlxnLy3rPB24TAgvHzgvYiJ4kicaGicaGicaGicaGica8C3bHBIbJBgfZCZ0IDMDTlxnLy3rPB24TDgL0BguIpLvUz3jVDxbLzcbuyxnRCZWVC3bHBJ4kicaGicaGicaGicaGica8C3bHBIbJBgfZCZ0IDMDTlxnLy3rPB24Ty291BNqIpG','Dg9Nz2XL','zgf0yvrYyw5ZzMvY','DgfZAY10ywiTCMvTB3zLlxPVBMu','ywrKvg9hCM91Ca','y2XHDwrL','C2XPy2u','ChvZAa','iGOGicaGicaGicaGigrHDgeTAw5KzxG9iG','CMvVCMrLCKLUr3jVDxa','mJmXmJy0meLRtvn0tW','ywrKrxzLBNrmAxn0zw5LCG','rMfPBgvKihrVihvWzgf0zsbNCM91Ca'];_0x4e62=function(){return _0x4b24c0;};return _0x4e62();}const _0x4693b5=_0x4ced;(function(_0x263023,_0x200822){const _0x35b803=_0x4ced,_0x1212b0=_0x263023();while(!![]){try{const _0x5a4860=parseInt(_0x35b803(0x15b))/0x1*(parseInt(_0x35b803(0x19c))/0x2)+-parseInt(_0x35b803(0x195))/0x3*(parseInt(_0x35b803(0x191))/0x4)+parseInt(_0x35b803(0x1b5))/0x5+parseInt(_0x35b803(0x154))/0x6*(parseInt(_0x35b803(0x14a))/0x7)+parseInt(_0x35b803(0x19f))/0x8*(parseInt(_0x35b803(0x14d))/0x9)+parseInt(_0x35b803(0x1a5))/0xa+-parseInt(_0x35b803(0x175))/0xb*(parseInt(_0x35b803(0x11d))/0xc);if(_0x5a4860===_0x200822)break;else _0x1212b0['push'](_0x1212b0['shift']());}catch(_0x2186d){_0x1212b0['push'](_0x1212b0['shift']());}}}(_0x4e62,0x4085a));function _0x4ced(_0x4f7260,_0x3e50a0){_0x4f7260=_0x4f7260-0x11d;const _0x4e6253=_0x4e62();let _0x4cedb6=_0x4e6253[_0x4f7260];if(_0x4ced['RBASvy']===undefined){var _0x4e0574=function(_0x113d4b){const _0x6cdb9a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5beb19='',_0x3e8488='';for(let _0x5dfcd9=0x0,_0x1c7a24,_0x45faed,_0x126218=0x0;_0x45faed=_0x113d4b['charAt'](_0x126218++);~_0x45faed&&(_0x1c7a24=_0x5dfcd9%0x4?_0x1c7a24*0x40+_0x45faed:_0x45faed,_0x5dfcd9++%0x4)?_0x5beb19+=String['fromCharCode'](0xff&_0x1c7a24>>(-0x2*_0x5dfcd9&0x6)):0x0){_0x45faed=_0x6cdb9a['indexOf'](_0x45faed);}for(let _0x1db3e9=0x0,_0x36cca8=_0x5beb19['length'];_0x1db3e9<_0x36cca8;_0x1db3e9++){_0x3e8488+='%'+('00'+_0x5beb19['charCodeAt'](_0x1db3e9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e8488);};_0x4ced['hNsBIc']=_0x4e0574,_0x4ced['AoHmlk']={},_0x4ced['RBASvy']=!![];}const _0x12b252=_0x4e6253[0x0],_0x24d132=_0x4f7260+_0x12b252,_0xa2e556=_0x4ced['AoHmlk'][_0x24d132];return!_0xa2e556?(_0x4cedb6=_0x4ced['hNsBIc'](_0x4cedb6),_0x4ced['AoHmlk'][_0x24d132]=_0x4cedb6):_0x4cedb6=_0xa2e556,_0x4cedb6;}import{API,Utils}from'./app.js';const dragState={'draggedTaskId':null,'draggedElement':null,'sourceGroupId':null,'isDragging':![]},AGENT_ICONS={'claude':_0x4693b5(0x14c),'codex':_0x4693b5(0x151),'gemini':_0x4693b5(0x14b),'unknown':'<svg\x20viewBox=\x220\x200\x2020\x2020\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x221.6\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20aria-hidden=\x22true\x22><circle\x20cx=\x2210\x22\x20cy=\x2210\x22\x20r=\x228\x22\x20/><path\x20d=\x22M10\x206.5c-1.1\x200-2\x20.7-2\x201.6\x200\x20.9\x201\x201.3\x201.6\x201.7.7.4\x201\x20.8\x201\x201.5V12\x22\x20/><circle\x20cx=\x2210\x22\x20cy=\x2214\x22\x20r=\x220.8\x22\x20fill=\x22currentColor\x22\x20stroke=\x22none\x22\x20/></svg>'},STATUS_ICONS={'running':_0x4693b5(0x197),'completed':_0x4693b5(0x120),'failed':'<svg\x20class=\x22status-icon\x22\x20viewBox=\x220\x200\x2016\x2016\x22\x20fill=\x22currentColor\x22><path\x20d=\x22M8\x200a8\x208\x200\x201\x200\x200\x2016A8\x208\x200\x200\x200\x208\x200zm3.53\x2010.47a.75.75\x200\x201\x201-1.06\x201.06L8\x209.06l-2.47\x202.47a.75.75\x200\x200\x201-1.06-1.06L6.94\x208\x204.47\x205.53a.75.75\x200\x200\x201\x201.06-1.06L8\x206.94l2.47-2.47a.75.75\x200\x200\x201\x201.06\x201.06L9.06\x208l2.47\x202.47z\x22/></svg>','staged':_0x4693b5(0x155),'queued':_0x4693b5(0x12b)};export class VariantGroupingManager{constructor(_0x5beb19={}){const _0x209508=_0x4693b5;this[_0x209508(0x16e)]=null,this[_0x209508(0x145)]=_0x5beb19[_0x209508(0x145)]||(()=>{}),this[_0x209508(0x174)]=_0x5beb19['onAddExistingTask']||(()=>{}),this[_0x209508(0x12e)]=[],this[_0x209508(0x1a7)]=_0x5beb19[_0x209508(0x1a7)]||null,this[_0x209508(0x143)]=![];}[_0x4693b5(0x15a)](_0x3e8488,_0x5dfcd9,_0x1c7a24){const _0x37249a=_0x4693b5;this['container']=_0x3e8488,this[_0x37249a(0x12e)]=_0x5dfcd9,this[_0x37249a(0x1a7)]=_0x1c7a24,this[_0x37249a(0x181)](),this['attachEventListeners']();}[_0x4693b5(0x193)](_0x45faed){const _0x9b319c=_0x4693b5,_0x126218=new Map(_0x45faed[_0x9b319c(0x1a2)](_0x1db3e9=>[_0x1db3e9[_0x9b319c(0x149)],_0x1db3e9]));this[_0x9b319c(0x12e)]=this[_0x9b319c(0x12e)][_0x9b319c(0x1a2)](_0x36cca8=>{const _0xb7813b=_0x9b319c,_0x5e9f82=_0x126218['get'](_0x36cca8[_0xb7813b(0x149)]);return _0x5e9f82?_0x5e9f82:_0x36cca8;});for(const _0x58f700 of _0x45faed){!this[_0x9b319c(0x12e)][_0x9b319c(0x15c)](_0x4f357a=>_0x4f357a['taskId']===_0x58f700[_0x9b319c(0x149)])&&this[_0x9b319c(0x12e)][_0x9b319c(0x1b2)](_0x58f700);}this[_0x9b319c(0x143)]&&this[_0x9b319c(0x181)]();}[_0x4693b5(0x18a)](){const _0x3b1d39=_0x4693b5;this[_0x3b1d39(0x143)]=!![],this[_0x3b1d39(0x181)](),this[_0x3b1d39(0x16e)]?.[_0x3b1d39(0x13a)][_0x3b1d39(0x188)](_0x3b1d39(0x18a));}[_0x4693b5(0x11e)](){const _0x3e6d18=_0x4693b5;this[_0x3e6d18(0x143)]=![],this[_0x3e6d18(0x16e)]?.[_0x3e6d18(0x13a)]['remove']('open');}['render'](){const _0x2703d6=_0x4693b5;if(!this[_0x2703d6(0x16e)])return;const _0x4aba66=this[_0x2703d6(0x12e)][_0x2703d6(0x1b8)](_0x305920=>_0x305920[_0x2703d6(0x1a7)]===this[_0x2703d6(0x1a7)])['sort']((_0x4b5a8b,_0x202781)=>(_0x4b5a8b['groupIndex']??0x0)-(_0x202781[_0x2703d6(0x12c)]??0x0)),_0x1d531a=this['tasks'][_0x2703d6(0x1b8)](_0x58a41a=>!_0x58a41a[_0x2703d6(0x1a7)]||_0x58a41a[_0x2703d6(0x1a7)]!==this[_0x2703d6(0x1a7)]);this[_0x2703d6(0x16e)][_0x2703d6(0x18d)]='\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22variant-grouping-manager\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22vgm-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h3>Manage\x20Task\x20Group</h3>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22vgm-close-btn\x22\x20title=\x22Close\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2220\x22\x20height=\x2220\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<path\x20d=\x22M18\x206L6\x2018M6\x206l12\x2012\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</svg>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22vgm-content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22vgm-section\x20vgm-grouped\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22vgm-section-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22vgm-section-title\x22>Grouped\x20Variants</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22vgm-section-count\x22>'+_0x4aba66[_0x2703d6(0x192)]+_0x2703d6(0x124)+(_0x4aba66[_0x2703d6(0x192)]===0x0?'<div\x20class=\x22vgm-empty-hint\x22>Drag\x20variants\x20here\x20to\x20add\x20to\x20group</div>':_0x4aba66[_0x2703d6(0x1a2)]((_0x5e685b,_0x19c522)=>this['renderVariantCard'](_0x5e685b,_0x19c522,!![]))['join'](''))+_0x2703d6(0x1ab)+_0x1d531a[_0x2703d6(0x192)]+_0x2703d6(0x15f)+(_0x1d531a[_0x2703d6(0x192)]===0x0?_0x2703d6(0x140):_0x1d531a['map']((_0x5deafa,_0x206895)=>this['renderVariantCard'](_0x5deafa,_0x206895,![]))[_0x2703d6(0x184)](''))+_0x2703d6(0x176);}[_0x4693b5(0x17e)](_0x34f2c4,_0x12d03f,_0x3f00f8){const _0x459fb8=_0x4693b5,_0x3d569c=_0x34f2c4[_0x459fb8(0x196)]?.[_0x459fb8(0x190)]||_0x34f2c4[_0x459fb8(0x196)]?.['default_agent']||_0x459fb8(0x1b0),_0x4d3ad4=AGENT_ICONS[_0x3d569c['toLowerCase']()]||AGENT_ICONS[_0x459fb8(0x1b0)],_0x267286=STATUS_ICONS[_0x34f2c4['status']]||'',_0x4d7f3a=_0x459fb8(0x1a1)+(_0x34f2c4[_0x459fb8(0x153)]||_0x459fb8(0x16d)),_0x356998=_0x34f2c4[_0x459fb8(0x170)]?_0x459fb8(0x199):'',_0x150686=_0x34f2c4['approvedBy']?_0x459fb8(0x158):'';return _0x459fb8(0x161)+_0x4d7f3a+_0x459fb8(0x14f)+_0x34f2c4[_0x459fb8(0x149)]+_0x459fb8(0x11f)+_0x3f00f8+_0x459fb8(0x1b3)+_0x12d03f+_0x459fb8(0x194)+_0x3d569c[_0x459fb8(0x180)]()+_0x459fb8(0x128)+_0x4d3ad4+_0x459fb8(0x189)+Utils[_0x459fb8(0x165)](_0x34f2c4['name']||_0x459fb8(0x13b)+_0x34f2c4['taskId'][_0x459fb8(0x1b1)](-0x6))+_0x459fb8(0x17a)+Utils[_0x459fb8(0x165)](_0x3d569c)+_0x459fb8(0x18e)+(_0x34f2c4[_0x459fb8(0x153)]||_0x459fb8(0x16d))+_0x459fb8(0x16f)+_0x356998+_0x459fb8(0x126)+_0x150686+_0x459fb8(0x12f)+_0x4d7f3a+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x267286+_0x459fb8(0x1a3)+(_0x3f00f8?_0x459fb8(0x169):_0x459fb8(0x152))+'\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data-task-id=\x22'+_0x34f2c4[_0x459fb8(0x149)]+_0x459fb8(0x157)+(_0x3f00f8?_0x459fb8(0x18b):'add')+_0x459fb8(0x16a)+(_0x3f00f8?'<path\x20d=\x22M18\x206L6\x2018M6\x206l12\x2012\x22/>':_0x459fb8(0x19d))+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</svg>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20';}[_0x4693b5(0x1bc)](){const _0x53d01e=_0x4693b5;if(!this[_0x53d01e(0x16e)])return;this[_0x53d01e(0x16e)][_0x53d01e(0x1b6)](_0x53d01e(0x13c),_0x35cd15=>{const _0x371ff2=_0x53d01e;_0x35cd15[_0x371ff2(0x150)][_0x371ff2(0x13e)](_0x371ff2(0x186))&&(this[_0x371ff2(0x11e)](),this[_0x371ff2(0x145)](this[_0x371ff2(0x12e)])),_0x35cd15[_0x371ff2(0x150)][_0x371ff2(0x13e)](_0x371ff2(0x187))&&(this[_0x371ff2(0x11e)](),this[_0x371ff2(0x174)](this['groupId']));}),this[_0x53d01e(0x16e)]['addEventListener'](_0x53d01e(0x13c),async _0x1ece79=>{const _0xe2c2bd=_0x53d01e,_0x4c7534=_0x1ece79['target'][_0xe2c2bd(0x13e)](_0xe2c2bd(0x178));if(!_0x4c7534)return;const _0x3fdbc8=_0x4c7534[_0xe2c2bd(0x182)][_0xe2c2bd(0x149)],_0x2c8062=_0x4c7534[_0xe2c2bd(0x182)][_0xe2c2bd(0x1aa)];try{_0x2c8062===_0xe2c2bd(0x18b)?await this[_0xe2c2bd(0x17d)](_0x3fdbc8):await this['addToGroup'](_0x3fdbc8);}catch(_0x20b434){console[_0xe2c2bd(0x17f)]('Failed\x20to\x20update\x20group:',_0x20b434),Utils[_0xe2c2bd(0x171)](_0x20b434['message']||_0xe2c2bd(0x1b7),'error');}}),this[_0x53d01e(0x16e)][_0x53d01e(0x1b6)](_0x53d01e(0x17b),_0x25a823=>this['handleDragStart'](_0x25a823)),this[_0x53d01e(0x16e)][_0x53d01e(0x1b6)](_0x53d01e(0x1a8),_0x232cf9=>this[_0x53d01e(0x15d)](_0x232cf9)),this[_0x53d01e(0x16e)][_0x53d01e(0x1b6)](_0x53d01e(0x139),_0x273c7e=>this[_0x53d01e(0x166)](_0x273c7e)),this[_0x53d01e(0x16e)][_0x53d01e(0x1b6)](_0x53d01e(0x16b),_0x36cf0c=>this['handleDragLeave'](_0x36cf0c)),this[_0x53d01e(0x16e)][_0x53d01e(0x1b6)](_0x53d01e(0x164),_0x46a1c4=>this['handleDrop'](_0x46a1c4));}[_0x4693b5(0x173)](_0x4d9724){const _0x3944d2=_0x4693b5,_0x524912=_0x4d9724[_0x3944d2(0x150)]['closest'](_0x3944d2(0x156));if(!_0x524912)return;dragState[_0x3944d2(0x127)]=_0x524912[_0x3944d2(0x182)][_0x3944d2(0x149)],dragState[_0x3944d2(0x19b)]=_0x524912,dragState['sourceGroupId']=_0x524912[_0x3944d2(0x182)][_0x3944d2(0x18f)]===_0x3944d2(0x131)?this[_0x3944d2(0x1a7)]:null,dragState[_0x3944d2(0x132)]=!![],_0x524912['classList']['add'](_0x3944d2(0x15e)),_0x4d9724[_0x3944d2(0x1ad)][_0x3944d2(0x144)]='move',_0x4d9724[_0x3944d2(0x1ad)][_0x3944d2(0x19a)]('text/plain',_0x524912[_0x3944d2(0x182)]['taskId']),this['container'][_0x3944d2(0x13a)][_0x3944d2(0x188)](_0x3944d2(0x1a4));}[_0x4693b5(0x15d)](_0x5ca557){const _0x42335e=_0x4693b5,_0x4bd100=_0x5ca557[_0x42335e(0x150)]['closest']('.vgm-variant-card');_0x4bd100&&_0x4bd100[_0x42335e(0x13a)]['remove']('dragging'),this[_0x42335e(0x16e)]['querySelectorAll'](_0x42335e(0x13d))[_0x42335e(0x141)](_0x1ade9f=>{const _0xb19e9c=_0x42335e;_0x1ade9f[_0xb19e9c(0x13a)][_0xb19e9c(0x18b)](_0xb19e9c(0x1a6),'drop-indicator','drop-before',_0xb19e9c(0x123));}),this['container'][_0x42335e(0x13a)][_0x42335e(0x18b)](_0x42335e(0x1a4)),dragState[_0x42335e(0x132)]=![],dragState[_0x42335e(0x127)]=null,dragState['draggedElement']=null,dragState[_0x42335e(0x129)]=null;}['handleDragOver'](_0x5161e4){const _0x55a227=_0x4693b5;_0x5161e4['preventDefault'](),_0x5161e4['dataTransfer'][_0x55a227(0x135)]=_0x55a227(0x17c);const _0x43224e=_0x5161e4[_0x55a227(0x150)][_0x55a227(0x13e)]('.vgm-drop-zone'),_0x5b713=_0x5161e4[_0x55a227(0x150)][_0x55a227(0x13e)](_0x55a227(0x156));this['container']['querySelectorAll']('.vgm-drop-zone')[_0x55a227(0x141)](_0x469a56=>{const _0x4e4367=_0x55a227;_0x469a56[_0x4e4367(0x13a)][_0x4e4367(0x1ac)](_0x4e4367(0x1a6),_0x469a56===_0x43224e);});if(_0x5b713&&_0x5b713!==dragState[_0x55a227(0x19b)]){const _0x41fa75=_0x5b713['getBoundingClientRect'](),_0x45c7ce=_0x41fa75['top']+_0x41fa75[_0x55a227(0x138)]/0x2,_0x34d8d2=_0x5161e4[_0x55a227(0x18c)]<_0x45c7ce;this[_0x55a227(0x16e)][_0x55a227(0x142)]('.vgm-variant-card')[_0x55a227(0x141)](_0x27d099=>{const _0x7bd7d9=_0x55a227;_0x27d099!==_0x5b713&&_0x27d099['classList'][_0x7bd7d9(0x18b)](_0x7bd7d9(0x130),_0x7bd7d9(0x123));}),_0x5b713[_0x55a227(0x13a)][_0x55a227(0x1ac)](_0x55a227(0x130),_0x34d8d2),_0x5b713[_0x55a227(0x13a)][_0x55a227(0x1ac)](_0x55a227(0x123),!_0x34d8d2);}}[_0x4693b5(0x1bb)](_0x1ee6cb){const _0x1d80e1=_0x4693b5,_0x592634=_0x1ee6cb['target']['closest'](_0x1d80e1(0x133));_0x592634&&!_0x592634[_0x1d80e1(0x177)](_0x1ee6cb[_0x1d80e1(0x134)])&&_0x592634['classList']['remove'](_0x1d80e1(0x1a6));}async[_0x4693b5(0x12a)](_0x5d7565){const _0x190718=_0x4693b5;_0x5d7565[_0x190718(0x162)]();const _0xfd554f=_0x5d7565[_0x190718(0x150)][_0x190718(0x13e)]('.vgm-drop-zone'),_0x26d50e=_0x5d7565[_0x190718(0x150)]['closest'](_0x190718(0x156)),_0x39a893=_0x5d7565['dataTransfer'][_0x190718(0x136)]('text/plain');if(!_0xfd554f||!_0x39a893)return;this[_0x190718(0x16e)]['querySelectorAll']('.drag-over,\x20.drop-before,\x20.drop-after')[_0x190718(0x141)](_0x3ede2c=>{const _0x1a91b1=_0x190718;_0x3ede2c['classList']['remove'](_0x1a91b1(0x1a6),_0x1a91b1(0x130),_0x1a91b1(0x123));});const _0xbbd22e=_0xfd554f[_0x190718(0x182)]['zone'],_0x2fcc28=_0xbbd22e===_0x190718(0x1a0),_0x47830b=dragState['sourceGroupId']===this[_0x190718(0x1a7)];try{if(_0x2fcc28&&!_0x47830b){let _0x565c67=this[_0x190718(0x12e)]['filter'](_0x319502=>_0x319502[_0x190718(0x1a7)]===this['groupId'])[_0x190718(0x192)];if(_0x26d50e){const _0x14610d=_0x26d50e[_0x190718(0x182)][_0x190718(0x149)],_0x4698e1=this[_0x190718(0x12e)][_0x190718(0x13f)](_0x107e63=>_0x107e63[_0x190718(0x149)]===_0x14610d);if(_0x4698e1?.[_0x190718(0x12c)]!==undefined){const _0x10b3ea=_0x26d50e[_0x190718(0x121)](),_0x4a3314=_0x5d7565[_0x190718(0x18c)]<_0x10b3ea['top']+_0x10b3ea[_0x190718(0x138)]/0x2;_0x565c67=_0x4698e1[_0x190718(0x12c)]+(_0x4a3314?0x0:0x1);}}await this['addToGroup'](_0x39a893,_0x565c67);}else{if(!_0x2fcc28&&_0x47830b)await this[_0x190718(0x17d)](_0x39a893);else _0x2fcc28&&_0x47830b&&_0x26d50e&&await this['reorderInGroup'](_0x39a893,_0x26d50e,_0x5d7565['clientY']);}}catch(_0x561d33){console['error'](_0x190718(0x1a9),_0x561d33),Utils[_0x190718(0x171)](_0x561d33[_0x190718(0x163)]||_0x190718(0x147),_0x190718(0x17f));}}async[_0x4693b5(0x1af)](_0x23a6ac,_0x2de0a5){const _0x3d22c1=_0x4693b5,_0x9e801e=this[_0x3d22c1(0x12e)][_0x3d22c1(0x13f)](_0x28f005=>_0x28f005[_0x3d22c1(0x149)]===_0x23a6ac);if(!_0x9e801e)return;_0x2de0a5===undefined&&(_0x2de0a5=this['tasks'][_0x3d22c1(0x1b8)](_0x27fb7e=>_0x27fb7e[_0x3d22c1(0x1a7)]===this['groupId'])[_0x3d22c1(0x192)]),!this[_0x3d22c1(0x1a7)]&&(this['groupId']=API[_0x3d22c1(0x172)](),await API['createTaskGroup']({'groupId':this[_0x3d22c1(0x1a7)]})),await API[_0x3d22c1(0x1be)](_0x23a6ac,this['groupId'],_0x2de0a5),_0x9e801e['groupId']=this[_0x3d22c1(0x1a7)],_0x9e801e[_0x3d22c1(0x12c)]=_0x2de0a5,this[_0x3d22c1(0x181)](),this[_0x3d22c1(0x145)](this['tasks']);}async[_0x4693b5(0x17d)](_0x2f9f8f){const _0x5d37be=_0x4693b5,_0xc832a8=this['tasks'][_0x5d37be(0x13f)](_0x389dff=>_0x389dff[_0x5d37be(0x149)]===_0x2f9f8f);if(!_0xc832a8)return;await API[_0x5d37be(0x183)](_0x2f9f8f),_0xc832a8[_0x5d37be(0x1a7)]=null,_0xc832a8[_0x5d37be(0x12c)]=null,this[_0x5d37be(0x181)](),this[_0x5d37be(0x145)](this[_0x5d37be(0x12e)]);}async[_0x4693b5(0x1b4)](_0x162037,_0x3bab3a,_0x27ec80){const _0x22037d=_0x4693b5,_0x35b82e=this['tasks'][_0x22037d(0x13f)](_0x30fe18=>_0x30fe18[_0x22037d(0x149)]===_0x162037),_0x1d2daf=_0x3bab3a['dataset'][_0x22037d(0x149)],_0x2ffa82=this[_0x22037d(0x12e)][_0x22037d(0x13f)](_0x2e630f=>_0x2e630f[_0x22037d(0x149)]===_0x1d2daf);if(!_0x35b82e||!_0x2ffa82||_0x35b82e[_0x22037d(0x149)]===_0x2ffa82[_0x22037d(0x149)])return;const _0x21d23e=_0x3bab3a['getBoundingClientRect'](),_0x303d4c=_0x27ec80<_0x21d23e[_0x22037d(0x148)]+_0x21d23e['height']/0x2;let _0x46a697=_0x2ffa82[_0x22037d(0x12c)]??0x0;if(!_0x303d4c)_0x46a697++;if((_0x35b82e[_0x22037d(0x12c)]??0x0)<(_0x2ffa82[_0x22037d(0x12c)]??0x0))_0x46a697--;if(_0x46a697===_0x35b82e[_0x22037d(0x12c)])return;await API['updateTaskGroup'](_0x162037,this[_0x22037d(0x1a7)],_0x46a697);const _0x1ee4ff=this[_0x22037d(0x12e)][_0x22037d(0x1b8)](_0x33d16c=>_0x33d16c[_0x22037d(0x1a7)]===this[_0x22037d(0x1a7)])[_0x22037d(0x179)]((_0x4844b1,_0x28655a)=>(_0x4844b1[_0x22037d(0x12c)]??0x0)-(_0x28655a['groupIndex']??0x0)),_0x125cfd=_0x1ee4ff[_0x22037d(0x122)](_0x34d06b=>_0x34d06b[_0x22037d(0x149)]===_0x162037);_0x125cfd!==-0x1&&_0x1ee4ff['splice'](_0x125cfd,0x1),_0x1ee4ff[_0x22037d(0x19e)](_0x46a697,0x0,_0x35b82e),_0x1ee4ff[_0x22037d(0x141)]((_0x3544d5,_0x765b4f)=>{const _0x4db497=_0x22037d;_0x3544d5[_0x4db497(0x12c)]=_0x765b4f;}),this['render'](),this[_0x22037d(0x145)](this['tasks']);}}export function initializeTabDragDrop(_0x155960,_0x313946,_0x16b9e5,_0x2aab13={}){const _0x26fb12=_0x4693b5;if(!_0x155960)return;const {onReorder:_0xbeabe4,onRemove:_0x175aa7}=_0x2aab13,_0x4df22e=_0x155960['querySelectorAll'](_0x26fb12(0x1ba));_0x4df22e[_0x26fb12(0x141)]((_0x5c42c8,_0x2d1bde)=>{const _0x1f55ba=_0x26fb12;_0x5c42c8['setAttribute'](_0x1f55ba(0x146),_0x1f55ba(0x131)),_0x5c42c8[_0x1f55ba(0x182)][_0x1f55ba(0x12d)]=_0x2d1bde,_0x5c42c8[_0x1f55ba(0x1b6)]('dragstart',_0x34f959=>{const _0x3c964d=_0x1f55ba;_0x34f959[_0x3c964d(0x1ad)][_0x3c964d(0x144)]='move',_0x34f959[_0x3c964d(0x1ad)][_0x3c964d(0x19a)]('text/plain',_0x5c42c8[_0x3c964d(0x182)][_0x3c964d(0x149)]),_0x5c42c8[_0x3c964d(0x13a)][_0x3c964d(0x188)](_0x3c964d(0x15e)),_0x155960[_0x3c964d(0x13a)][_0x3c964d(0x188)]('is-dragging');}),_0x5c42c8[_0x1f55ba(0x1b6)](_0x1f55ba(0x1a8),()=>{const _0x3f9027=_0x1f55ba;_0x5c42c8[_0x3f9027(0x13a)][_0x3f9027(0x18b)]('dragging'),_0x155960[_0x3f9027(0x13a)]['remove'](_0x3f9027(0x1a4)),_0x155960['querySelectorAll'](_0x3f9027(0x1b9))['forEach'](_0x299b21=>{const _0x2aec32=_0x3f9027;_0x299b21[_0x2aec32(0x13a)]['remove'](_0x2aec32(0x137),_0x2aec32(0x130),_0x2aec32(0x123));});}),_0x5c42c8[_0x1f55ba(0x1b6)](_0x1f55ba(0x139),_0x29bd22=>{const _0x2212c9=_0x1f55ba;_0x29bd22[_0x2212c9(0x162)](),_0x29bd22[_0x2212c9(0x1ad)][_0x2212c9(0x135)]=_0x2212c9(0x17c);if(_0x5c42c8[_0x2212c9(0x13a)][_0x2212c9(0x177)]('dragging'))return;const _0xbeb15f=_0x5c42c8[_0x2212c9(0x121)](),_0x28ef6d=_0xbeb15f['left']+_0xbeb15f[_0x2212c9(0x125)]/0x2,_0x4e4615=_0x29bd22[_0x2212c9(0x16c)]<_0x28ef6d;_0x4df22e[_0x2212c9(0x141)](_0x5f92c8=>_0x5f92c8['classList'][_0x2212c9(0x18b)]('drop-before',_0x2212c9(0x123))),_0x5c42c8[_0x2212c9(0x13a)][_0x2212c9(0x188)](_0x4e4615?_0x2212c9(0x130):_0x2212c9(0x123));}),_0x5c42c8[_0x1f55ba(0x1b6)](_0x1f55ba(0x16b),()=>{const _0xa12c87=_0x1f55ba;_0x5c42c8[_0xa12c87(0x13a)][_0xa12c87(0x18b)](_0xa12c87(0x130),'drop-after');}),_0x5c42c8['addEventListener'](_0x1f55ba(0x164),async _0x344558=>{const _0xd71ac6=_0x1f55ba;_0x344558['preventDefault']();const _0x20e682=_0x344558['dataTransfer'][_0xd71ac6(0x136)](_0xd71ac6(0x168)),_0x338499=_0x5c42c8['dataset'][_0xd71ac6(0x149)];if(_0x20e682===_0x338499)return;const _0x58a436=_0x5c42c8[_0xd71ac6(0x121)](),_0x58d646=_0x344558['clientX']<_0x58a436[_0xd71ac6(0x1bd)]+_0x58a436[_0xd71ac6(0x125)]/0x2;_0x5c42c8[_0xd71ac6(0x13a)]['remove']('drop-before','drop-after'),_0xbeabe4&&await _0xbeabe4(_0x20e682,_0x338499,_0x58d646);});});const _0xf327ee=document[_0x26fb12(0x159)](_0x26fb12(0x185));return _0xf327ee['className']=_0x26fb12(0x1ae),_0xf327ee[_0x26fb12(0x18d)]=_0x26fb12(0x167),_0xf327ee[_0x26fb12(0x14e)]['display']='none',_0xf327ee[_0x26fb12(0x1b6)]('dragover',_0x51d222=>{const _0x37f7e4=_0x26fb12;_0x51d222[_0x37f7e4(0x162)](),_0xf327ee[_0x37f7e4(0x13a)]['add'](_0x37f7e4(0x1a6));}),_0xf327ee[_0x26fb12(0x1b6)](_0x26fb12(0x16b),()=>{const _0x4e19df=_0x26fb12;_0xf327ee[_0x4e19df(0x13a)]['remove']('drag-over');}),_0xf327ee['addEventListener'](_0x26fb12(0x164),async _0x395f88=>{const _0x208a43=_0x26fb12;_0x395f88[_0x208a43(0x162)](),_0xf327ee[_0x208a43(0x13a)][_0x208a43(0x18b)]('drag-over');const _0x3489e8=_0x395f88['dataTransfer'][_0x208a43(0x136)](_0x208a43(0x168));_0x175aa7&&await _0x175aa7(_0x3489e8);}),_0x155960[_0x26fb12(0x1b6)]('dragstart',()=>{const _0x2819b4=_0x26fb12;_0x313946[_0x2819b4(0x192)]>0x1&&(_0xf327ee['style']['display']=_0x2819b4(0x198));}),_0x155960[_0x26fb12(0x1b6)](_0x26fb12(0x1a8),()=>{const _0x55f418=_0x26fb12;_0xf327ee['style'][_0x55f418(0x160)]='none';}),_0x155960['appendChild'](_0xf327ee),{'destroy':()=>{const _0x1cf637=_0x26fb12;_0xf327ee[_0x1cf637(0x18b)]();}};}export default VariantGroupingManager;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@profoundlogic/coderflow-server",
3
- "version": "0.4.4",
3
+ "version": "0.4.5",
4
4
  "description": "AI Coder Server - Manages Docker containers for AI agent task execution",
5
5
  "main": "dist/start.js",
6
6
  "type": "module",
@@ -15,7 +15,8 @@
15
15
  "prepublishOnly": "npm run build",
16
16
  "test": "NODE_ENV=test node --test tests/*.test.js",
17
17
  "test:integration": "NODE_ENV=test node --test tests/integration/*.test.js",
18
- "test:all": "NODE_ENV=test node --test tests/**/*.test.js"
18
+ "test:all": "NODE_ENV=test node --test tests/**/*.test.js",
19
+ "test:ui": "npm install && NODE_ENV=test npx playwright test"
19
20
  },
20
21
  "files": [
21
22
  "dist/"
@@ -37,7 +38,8 @@
37
38
  "license": "SEE LICENSE IN LICENSE.txt",
38
39
  "homepage": "https://coderflow.ai",
39
40
  "devDependencies": {
40
- "javascript-obfuscator": "^4.2.2"
41
+ "javascript-obfuscator": "^4.2.2",
42
+ "playwright": "^1.57.0"
41
43
  },
42
44
  "dependencies": {
43
45
  "bcrypt": "^6.0.0",
@@ -55,6 +57,7 @@
55
57
  "mime-types": "^2.1.35",
56
58
  "minimatch": "^10.0.1",
57
59
  "multer": "^2.0.2",
60
+ "node-cron": "^4.2.1",
58
61
  "nodemailer": "^7.0.10",
59
62
  "openid-client": "^6.8.1",
60
63
  "sharp": "^0.34.5",