@profoundlogic/coderflow-server 0.4.1 → 0.4.2

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 (148) hide show
  1. package/dist/base-image/Dockerfile +2 -1
  2. package/dist/base-image/entrypoint.sh +11 -1
  3. package/dist/base-image/rewind-files.sh +197 -0
  4. package/dist/base-image/sync-repos.sh +53 -3
  5. package/dist/coder-server.js +1 -1
  6. package/dist/config.js +1 -1
  7. package/dist/lib/agent-keepalive.js +1 -1
  8. package/dist/lib/agent-models.js +1 -1
  9. package/dist/lib/api-keys.js +1 -1
  10. package/dist/lib/apiKeys.js +1 -1
  11. package/dist/lib/app-server-ports.js +1 -1
  12. package/dist/lib/auto-judge.js +1 -1
  13. package/dist/lib/basic-auth.js +1 -1
  14. package/dist/lib/build-history.js +1 -1
  15. package/dist/lib/build-output-service.js +1 -1
  16. package/dist/lib/build-scheduler.js +1 -1
  17. package/dist/lib/build-service.js +1 -1
  18. package/dist/lib/ca-certificates.js +1 -1
  19. package/dist/lib/claude-oauth-refresh.js +1 -1
  20. package/dist/lib/cli/build.js +1 -1
  21. package/dist/lib/cli/config-command.js +1 -1
  22. package/dist/lib/cli/config.js +1 -1
  23. package/dist/lib/cli/create-user.js +1 -1
  24. package/dist/lib/cli/init.js +1 -1
  25. package/dist/lib/cli/jira.js +1 -1
  26. package/dist/lib/cli/license.js +1 -1
  27. package/dist/lib/cli/server-manager.js +1 -1
  28. package/dist/lib/config-migration.js +1 -1
  29. package/dist/lib/container-credential-sync.js +1 -1
  30. package/dist/lib/container-tokens.js +1 -1
  31. package/dist/lib/data-dir.js +1 -1
  32. package/dist/lib/deployment-history.js +1 -1
  33. package/dist/lib/deployment-service.js +1 -1
  34. package/dist/lib/docker-utils.js +1 -1
  35. package/dist/lib/email.js +1 -1
  36. package/dist/lib/emailTemplates.js +1 -1
  37. package/dist/lib/entitlement.js +1 -1
  38. package/dist/lib/fetch-utils.js +1 -1
  39. package/dist/lib/git-commit-details-route.js +1 -1
  40. package/dist/lib/git-history-diff-guardrails.js +1 -1
  41. package/dist/lib/git-provider-service.js +1 -1
  42. package/dist/lib/git-provider-setup/github-setup-handler.js +1 -1
  43. package/dist/lib/git-provider-setup/index.js +1 -1
  44. package/dist/lib/git-provider-setup/setup-factory.js +1 -1
  45. package/dist/lib/git-provider-setup/setup-interface.js +1 -1
  46. package/dist/lib/git-providers/azure-devops-provider.js +1 -1
  47. package/dist/lib/git-providers/github-app-provider.js +1 -1
  48. package/dist/lib/git-providers/index.js +1 -1
  49. package/dist/lib/git-providers/provider-factory.js +1 -1
  50. package/dist/lib/git-providers/provider-interface.js +1 -1
  51. package/dist/lib/github-urls.js +1 -1
  52. package/dist/lib/group-objective-linking.js +1 -1
  53. package/dist/lib/jira-client.js +1 -1
  54. package/dist/lib/judge-blinding.js +1 -1
  55. package/dist/lib/logger.js +1 -1
  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 -0
  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/pin-cascade.js +1 -1
  63. package/dist/lib/provider-accounts.js +1 -1
  64. package/dist/lib/provider-oauth.js +1 -1
  65. package/dist/lib/provider-profile.js +1 -1
  66. package/dist/lib/provider-token-refresh.js +1 -1
  67. package/dist/lib/request-url.js +1 -1
  68. package/dist/lib/rewind.js +1 -1
  69. package/dist/lib/roles.js +1 -1
  70. package/dist/lib/secrets.js +1 -1
  71. package/dist/lib/setup-repo-git-auth.js +1 -1
  72. package/dist/lib/state-capture.js +1 -1
  73. package/dist/lib/static-files.js +1 -1
  74. package/dist/lib/task-name-format.js +1 -1
  75. package/dist/lib/task-name-generator.js +1 -1
  76. package/dist/lib/user-git-oauth.js +1 -1
  77. package/dist/lib/user-git-tokens.js +1 -1
  78. package/dist/lib/users.js +1 -1
  79. package/dist/middleware/requireAuth.js +1 -1
  80. package/dist/middleware/requireInit.js +1 -1
  81. package/dist/middleware/requirePermission.js +1 -1
  82. package/dist/package.json +1 -1
  83. package/dist/routes/apiKeys.js +1 -1
  84. package/dist/routes/auth-oidc.js +1 -1
  85. package/dist/routes/auth.js +1 -1
  86. package/dist/routes/build.js +1 -1
  87. package/dist/routes/containers.js +1 -1
  88. package/dist/routes/deploy-task.js +1 -1
  89. package/dist/routes/environment-management.js +1 -1
  90. package/dist/routes/environments.js +1 -1
  91. package/dist/routes/external-skills.js +1 -1
  92. package/dist/routes/git-credentials.js +1 -1
  93. package/dist/routes/git-oauth.js +1 -1
  94. package/dist/routes/git-provider-setup.js +1 -1
  95. package/dist/routes/health.js +1 -1
  96. package/dist/routes/jira.js +1 -1
  97. package/dist/routes/objective-management.js +1 -1
  98. package/dist/routes/password.js +1 -1
  99. package/dist/routes/prompt.js +1 -1
  100. package/dist/routes/provider-auth.js +1 -1
  101. package/dist/routes/qa.js +1 -1
  102. package/dist/routes/settings.js +1 -1
  103. package/dist/routes/skill-management.js +1 -1
  104. package/dist/routes/skills.js +1 -1
  105. package/dist/routes/tasks.js +1 -1
  106. package/dist/routes/templates.js +1 -1
  107. package/dist/routes/test-task.js +1 -1
  108. package/dist/routes/test.js +1 -1
  109. package/dist/routes/users.js +1 -1
  110. package/dist/routes/visualizations.js +1 -1
  111. package/dist/scripts/create-user.js +1 -1
  112. package/dist/scripts/migrate-config-to-data-dir.js +1 -1
  113. package/dist/shipped-skills/objective-management/SKILL.md +83 -0
  114. package/dist/start.js +1 -1
  115. package/dist/web-ui/public/activity-detail-modal.js +1 -1
  116. package/dist/web-ui/public/activity-feed.js +1 -1
  117. package/dist/web-ui/public/activity-formatters.js +1 -1
  118. package/dist/web-ui/public/agent-event-parser.js +1 -1
  119. package/dist/web-ui/public/app.js +1 -1
  120. package/dist/web-ui/public/approve-dialog.js +1 -1
  121. package/dist/web-ui/public/comments-widget.js +1 -1
  122. package/dist/web-ui/public/diff-utils.js +1 -1
  123. package/dist/web-ui/public/environments.js +1 -1
  124. package/dist/web-ui/public/feedback-widget.js +1 -1
  125. package/dist/web-ui/public/git-history-lazy-utils.js +1 -1
  126. package/dist/web-ui/public/git-history.js +1 -1
  127. package/dist/web-ui/public/git-status.js +1 -1
  128. package/dist/web-ui/public/index.html +21 -0
  129. package/dist/web-ui/public/index.js +1 -1
  130. package/dist/web-ui/public/login.js +1 -1
  131. package/dist/web-ui/public/markdown-editor.js +1 -1
  132. package/dist/web-ui/public/markdown-file-editor.js +1 -1
  133. package/dist/web-ui/public/modal-maximize.js +1 -1
  134. package/dist/web-ui/public/notifications.js +1 -1
  135. package/dist/web-ui/public/pr-dialog.js +1 -1
  136. package/dist/web-ui/public/server-health.js +1 -1
  137. package/dist/web-ui/public/settings.js +1 -1
  138. package/dist/web-ui/public/setup-password.js +1 -1
  139. package/dist/web-ui/public/skills.js +1 -1
  140. package/dist/web-ui/public/sse-client.js +1 -1
  141. package/dist/web-ui/public/sse-shared-worker.js +1 -1
  142. package/dist/web-ui/public/styles.css +80 -0
  143. package/dist/web-ui/public/task.js +1 -1
  144. package/dist/web-ui/public/terminal.js +1 -1
  145. package/dist/web-ui/public/theme.js +1 -1
  146. package/dist/web-ui/public/users.js +1 -1
  147. package/dist/web-ui/public/variant-grouping.js +1 -1
  148. package/package.json +1 -1
@@ -1 +1 @@
1
- const _0x2c91e6=_0x5e9d;function _0x5e9d(_0x784f05,_0x59c253){_0x784f05=_0x784f05-0x10c;const _0x41dc43=_0x41dc();let _0x5e9dd0=_0x41dc43[_0x784f05];if(_0x5e9d['UBshUf']===undefined){var _0x5e9d79=function(_0x62fdaf){const _0x4f304f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc28675='',_0x419d4e='';for(let _0x380125=0x0,_0x37b6ee,_0x390e06,_0x1ab6ea=0x0;_0x390e06=_0x62fdaf['charAt'](_0x1ab6ea++);~_0x390e06&&(_0x37b6ee=_0x380125%0x4?_0x37b6ee*0x40+_0x390e06:_0x390e06,_0x380125++%0x4)?_0xc28675+=String['fromCharCode'](0xff&_0x37b6ee>>(-0x2*_0x380125&0x6)):0x0){_0x390e06=_0x4f304f['indexOf'](_0x390e06);}for(let _0x5e2408=0x0,_0x1f13a2=_0xc28675['length'];_0x5e2408<_0x1f13a2;_0x5e2408++){_0x419d4e+='%'+('00'+_0xc28675['charCodeAt'](_0x5e2408)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x419d4e);};_0x5e9d['rbZPDY']=_0x5e9d79,_0x5e9d['XMTLva']={},_0x5e9d['UBshUf']=!![];}const _0x2b68e9=_0x41dc43[0x0],_0x5c020b=_0x784f05+_0x2b68e9,_0xab55c=_0x5e9d['XMTLva'][_0x5c020b];return!_0xab55c?(_0x5e9dd0=_0x5e9d['rbZPDY'](_0x5e9dd0),_0x5e9d['XMTLva'][_0x5c020b]=_0x5e9dd0):_0x5e9dd0=_0xab55c,_0x5e9dd0;}(function(_0xe47624,_0x1512d4){const _0x277d70=_0x5e9d,_0x5c6bfa=_0xe47624();while(!![]){try{const _0x42896e=-parseInt(_0x277d70(0x135))/0x1+parseInt(_0x277d70(0x155))/0x2+parseInt(_0x277d70(0x13c))/0x3*(parseInt(_0x277d70(0x142))/0x4)+parseInt(_0x277d70(0x170))/0x5+parseInt(_0x277d70(0x151))/0x6*(-parseInt(_0x277d70(0x10f))/0x7)+parseInt(_0x277d70(0x12c))/0x8+-parseInt(_0x277d70(0x157))/0x9*(parseInt(_0x277d70(0x13b))/0xa);if(_0x42896e===_0x1512d4)break;else _0x5c6bfa['push'](_0x5c6bfa['shift']());}catch(_0x431b44){_0x5c6bfa['push'](_0x5c6bfa['shift']());}}}(_0x41dc,0xb3def));function isSharedWorkerSupported(){const _0x1046ca=_0x5e9d;return typeof SharedWorker!==_0x1046ca(0x162);}function eventTypeToHandler(_0xc28675){const _0xdb32b9=_0x5e9d;if(_0xc28675===_0xdb32b9(0x12f))return _0xdb32b9(0x10e);if(_0xc28675===_0xdb32b9(0x149))return'onError';return'on'+_0xc28675[_0xdb32b9(0x16b)]('-')[_0xdb32b9(0x136)](_0x419d4e=>_0x419d4e[_0xdb32b9(0x159)](0x0)[_0xdb32b9(0x14e)]()+_0x419d4e['slice'](0x1))[_0xdb32b9(0x15f)]('');}function _0x41dc(){const _0xf0c2fc=['Cg9ZDe1LC3nHz2u','w1ntrsbdBgLLBNrDievYCM9YihbHCNnPBMCGDgfZAYa','y29UBMvJDgvK','x3vUC3vIC2nYAwjLvgfZA0rPCMvJDa','AxnvC2LUz1nOyxjLzfDVCMTLCG','Cg9YDa','l3rHC2TZlW','w1ntrsbdBgLLBNrDiezHAwXLzcb0BYbWyxjZzsa','nJe0nZe0CuzeyvvA','BwfW','x2vTAxq','C3rHDhvZ','y2HHBMDLzc1MAwXLCW','ywrK','ndy0otK5mgrPCLvnuG','ntq5owjICvnZzG','D29YA2vY','w1ntrsbdBgLLBNrDievYCM9YigLUihrHC2SG','v29YA2vYig1LC3nHz2uGzxjYB3i','Bwv0ywrHDge','x2vUC3vYzvDVCMTLCG','mZe2ruzIrMnL','CMvJB25Uzwn0qxr0zw1WDhm','yxbWlxnLCNzLCI1ZDgf0Dxm','igHHBMrSzxi6','yMLUza','C2v0','DhLWzq','zxjYB3i','z2v0','x3n1yNnJCMLIzvrHC2TeAxjLy3q','C3rHCNrZv2L0Aa','DxnLCKLK','Dg9vChbLCKnHC2u','x3nJAgvKDwXLuMvJB25Uzwn0','CgfYC2u','mtKYCNHxyxnr','zgLZy29UBMvJDa','C2L6zq','w1ntrsbdBgLLBNrDifvUA25VD24GBwvZC2fNzsb0ExbLoG','nJe1nZa0q2DVze9p','BwvZC2fNzq','mtHluwfcs2G','BMv3lxrHC2S','y2HHCKf0','ywn0AxzPDhK','DgfZA0LK','q29UBMvJDgLVBIbLCNjVCG','AgfUzgXLCNm','x2nVBM5Ly3reAxjLy3q','AM9PBG','CxvLDwuTCg9ZAxrPB24','B3bLBG','Dw5KzwzPBMvK','y2XLyxi','x3rHC2TtDwjjzenVDw50zxi','x2nVBM5Ly3rwAwfxB3jRzxi','w1ntrsbdBgLLBNrDifnOyxjLzfDVCMTLCIbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbKAxjLy3qGu1nfoG','Bg9N','BwLU','x3rHC2TtDwjZy3jPChrPB25Z','C3rHCNq','C3bSAxq','zxzLBNrtB3vYy2u','DxnLu2HHCMvKv29YA2vY','w1ntrsbdBgLLBNrDievYCM9YigLUia','x3n1yNnJCMLIzvrHC2TwAwfxB3jRzxi','nJK4mJi4mfvdB0L4AG','B2zM','y29UBMvJDa','zM9YrwfJAa','l3rHC2TZl3vWzgf0zxm','B25dB25Uzwn0zwq','mJi3nJK2uKzUCfbL','Bg9NCW','l3nZzs1ZAgfYzwqTD29YA2vYlMPZ','CMvJB25Uzwn0vgLTzw91Da','C3vIC2nYAwjLvgfZAW','B25fCNjVCG','y2HHBMDLrMLSDgvY','x2HHBMrSzvrHC2TtDhjLyw1nzxnZywDL','y2XVC2u','w1ntrsbdBgLLBNrDierPCMvJDcbtu0uGzxjYB3i6','DgfZAZO','Cg93','B25TzxnZywDL','D2fYBG','igrHDge6','zgLYzwn0','zgvSzxrL','ywrKrxzLBNrmAxn0zw5LCG','x3vUC3vIC2nYAwjLvgfZA1DVCMTLCG','C25HChnOB3q','w1ntrsbdBgLLBNrDifnJAgvKDwXPBMCGCMvJB25Uzwn0igLUia','Dw5ZDwjZy3jPyMvuyxnR','zgf0yq','BgLZDgvUzxjZ','x2HHBMrSzvDVCMTLCK1LC3nHz2u','CMvWBgfJzq','AgfZ','x2HHBMrSzurPCMvJDfntrq','AxndB25Uzwn0zwq','mte3odu5ntjrBwrSAgW'];_0x41dc=function(){return _0xf0c2fc;};return _0x41dc();}const TASK_STREAM_EVENTS=[_0x2c91e6(0x15a),_0x2c91e6(0x110),_0x2c91e6(0x140),'summary',_0x2c91e6(0x139),_0x2c91e6(0x144),'complete'];export class TaskUpdatesClient{constructor(){const _0x3a5d7d=_0x2c91e6;this[_0x3a5d7d(0x126)]=new Map(),this[_0x3a5d7d(0x13d)]=null,this[_0x3a5d7d(0x132)]=null,this[_0x3a5d7d(0x16c)]=null,this[_0x3a5d7d(0x14d)]=null,this['reconnectTimeout']=null,this[_0x3a5d7d(0x143)]=0x0,this[_0x3a5d7d(0x16d)]=isSharedWorkerSupported(),this[_0x3a5d7d(0x12f)]=![],this[_0x3a5d7d(0x169)]=new Map(),this[_0x3a5d7d(0x164)]=0x0,this[_0x3a5d7d(0x127)]=this[_0x3a5d7d(0x127)][_0x3a5d7d(0x146)](this),this[_0x3a5d7d(0x12a)]=this['_handleDirectSSE'][_0x3a5d7d(0x146)](this);}['on'](_0x380125,_0x37b6ee){const _0x5bcbf8=_0x2c91e6;return!this[_0x5bcbf8(0x126)][_0x5bcbf8(0x129)](_0x380125)&&this[_0x5bcbf8(0x126)][_0x5bcbf8(0x147)](_0x380125,new Set()),this[_0x5bcbf8(0x126)][_0x5bcbf8(0x14a)](_0x380125)['add'](_0x37b6ee),this;}[_0x2c91e6(0x171)](_0x390e06,_0x1ab6ea){const _0x29a9bb=_0x2c91e6;return this['listeners'][_0x29a9bb(0x129)](_0x390e06)&&this[_0x29a9bb(0x126)][_0x29a9bb(0x14a)](_0x390e06)[_0x29a9bb(0x11f)](_0x1ab6ea),this;}[_0x2c91e6(0x137)](_0x5e2408,_0x1f13a2){const _0x52706e=_0x2c91e6;this[_0x52706e(0x126)][_0x52706e(0x129)](_0x5e2408)&&this['listeners'][_0x52706e(0x14a)](_0x5e2408)['forEach'](_0x1f932f=>{const _0x1c193d=_0x52706e;try{_0x1f932f(_0x1f13a2);}catch(_0x32e3bd){console['error'](_0x1c193d(0x16e)+_0x5e2408+'\x20listener:',_0x32e3bd);}});}[_0x2c91e6(0x172)](_0x2efb5d='me'){const _0x5c6b48=_0x2c91e6;this[_0x5c6b48(0x14d)]=_0x2efb5d,this[_0x5c6b48(0x16d)]?this[_0x5c6b48(0x165)](_0x2efb5d):this[_0x5c6b48(0x15e)](_0x2efb5d);}['_connectViaWorker'](_0x113884){const _0x4bd190=_0x2c91e6;try{this[_0x4bd190(0x141)](),this['port'][_0x4bd190(0x12d)]({'action':_0x4bd190(0x172),'userId':_0x113884});}catch(_0x3d7dc3){console['error'](_0x4bd190(0x166),_0x3d7dc3),this['useSharedWorker']=![],this[_0x4bd190(0x15e)](_0x113884);}}[_0x2c91e6(0x141)](){const _0x30edb8=_0x2c91e6;!this['worker']&&(this['worker']=new SharedWorker(_0x30edb8(0x111)),this[_0x30edb8(0x132)]=this[_0x30edb8(0x13d)]['port'],this[_0x30edb8(0x132)][_0x30edb8(0x11b)]=this[_0x30edb8(0x127)],this[_0x30edb8(0x132)]['onmessageerror']=_0x4a3643=>{const _0x4bf251=_0x30edb8;console['error']('[SSE\x20Client]\x20Worker\x20message\x20error:',_0x4a3643),this[_0x4bf251(0x137)](_0x4bf251(0x149),{'error':_0x4bf251(0x13f)});},this['port'][_0x30edb8(0x16a)]());}[_0x2c91e6(0x127)](_0x444885){const _0x4d9d75=_0x2c91e6,_0x17bbcd=_0x444885[_0x4d9d75(0x125)];if(_0x17bbcd[_0x4d9d75(0x148)]&&_0x17bbcd[_0x4d9d75(0x148)][_0x4d9d75(0x14c)](_0x4d9d75(0x119))){this[_0x4d9d75(0x116)](_0x17bbcd);return;}switch(_0x17bbcd[_0x4d9d75(0x148)]){case _0x4d9d75(0x12f):this[_0x4d9d75(0x12f)]=!![],this[_0x4d9d75(0x137)](_0x4d9d75(0x12f),{});break;case _0x4d9d75(0x122):case'activity':case'status':case _0x4d9d75(0x158):case _0x4d9d75(0x160):try{const _0xc19d33=JSON[_0x4d9d75(0x150)](_0x17bbcd[_0x4d9d75(0x125)]);this[_0x4d9d75(0x137)](_0x17bbcd[_0x4d9d75(0x148)],_0xc19d33);}catch(_0x397d84){console[_0x4d9d75(0x149)](_0x4d9d75(0x134)+_0x17bbcd['type']+'\x20data:',_0x397d84);}break;case'error':this['connected']=![],this[_0x4d9d75(0x137)]('error',_0x17bbcd);break;default:console[_0x4d9d75(0x11c)](_0x4d9d75(0x154),_0x17bbcd[_0x4d9d75(0x148)]);}}[_0x2c91e6(0x116)](_0x560c54){const _0x5aea09=_0x2c91e6,{taskId:_0x174ddf,type:_0x455023,data:_0x1cd71d}=_0x560c54,_0x1917b2=this['_taskSubscriptions'][_0x5aea09(0x14a)](_0x174ddf);if(!_0x1917b2||_0x1917b2[_0x5aea09(0x153)]===0x0)return;const _0x1ec4ea=_0x455023[_0x5aea09(0x128)](_0x5aea09(0x119),''),_0x3e1bbc=eventTypeToHandler(_0x1ec4ea);_0x1917b2[_0x5aea09(0x10c)](_0x44ac09=>{const _0x47601a=_0x5aea09;if(_0x44ac09['handlers'][_0x3e1bbc])try{const _0x144bc0=typeof _0x1cd71d==='string'?JSON[_0x47601a(0x150)](_0x1cd71d):_0x1cd71d;_0x44ac09[_0x47601a(0x15d)][_0x3e1bbc](_0x144bc0);}catch(_0x3de5d8){console['error'](_0x47601a(0x13e)+_0x1ec4ea+_0x47601a(0x145),_0x3de5d8);}});}[_0x2c91e6(0x15e)](_0x34e793){const _0x1d2cc9=_0x2c91e6;this[_0x1d2cc9(0x16c)]&&(this[_0x1d2cc9(0x16c)][_0x1d2cc9(0x117)](),this[_0x1d2cc9(0x16c)]=null);const _0x300114=_0x34e793&&_0x34e793!=='me'?'?userId='+_0x34e793:'';try{this['eventSource']=new EventSource(_0x1d2cc9(0x10d)+_0x300114),this[_0x1d2cc9(0x16c)][_0x1d2cc9(0x120)]('open',()=>{const _0x4f72a8=_0x1d2cc9;this['connected']=!![],this[_0x4f72a8(0x143)]=0x0,this[_0x4f72a8(0x137)](_0x4f72a8(0x12f),{});}),this[_0x1d2cc9(0x16c)][_0x1d2cc9(0x120)](_0x1d2cc9(0x122),_0x2673f7=>{const _0x21c1b8=_0x1d2cc9;this[_0x21c1b8(0x12a)]('snapshot',_0x2673f7),this[_0x21c1b8(0x143)]=0x0;}),this[_0x1d2cc9(0x16c)]['addEventListener'](_0x1d2cc9(0x15a),_0x5d6171=>{const _0x1adc64=_0x1d2cc9;this[_0x1adc64(0x12a)](_0x1adc64(0x15a),_0x5d6171);}),this[_0x1d2cc9(0x16c)][_0x1d2cc9(0x120)](_0x1d2cc9(0x138),_0x45f369=>{const _0x3bad93=_0x1d2cc9;this[_0x3bad93(0x12a)](_0x3bad93(0x138),_0x45f369);}),this[_0x1d2cc9(0x16c)]['addEventListener']('new-task',_0x272b16=>{const _0x3c0812=_0x1d2cc9;this[_0x3c0812(0x12a)](_0x3c0812(0x158),_0x272b16);}),this[_0x1d2cc9(0x16c)][_0x1d2cc9(0x120)](_0x1d2cc9(0x160),_0x2a1f82=>{const _0x237bf1=_0x1d2cc9;this[_0x237bf1(0x12a)](_0x237bf1(0x160),_0x2a1f82);}),this[_0x1d2cc9(0x16c)]['addEventListener']('error',_0x3615e3=>{const _0x37b7e3=_0x1d2cc9;console[_0x37b7e3(0x149)](_0x37b7e3(0x118),_0x3615e3),this['connected']=![],this['_emit'](_0x37b7e3(0x149),{'error':_0x37b7e3(0x15c)}),this[_0x37b7e3(0x16c)]&&(this[_0x37b7e3(0x16c)][_0x37b7e3(0x117)](),this[_0x37b7e3(0x16c)]=null),this[_0x37b7e3(0x14f)]();});}catch(_0x43250e){console[_0x1d2cc9(0x149)]('[SSE\x20Client]\x20Failed\x20to\x20create\x20EventSource:',_0x43250e),this['_emit'](_0x1d2cc9(0x149),{'error':_0x43250e[_0x1d2cc9(0x156)]}),this['_scheduleReconnect']();}}['_handleDirectSSE'](_0xded6d0,_0x4fbf5c){const _0x2e5584=_0x2c91e6;try{const _0x4982e4=JSON[_0x2e5584(0x150)](_0x4fbf5c[_0x2e5584(0x125)]);this[_0x2e5584(0x137)](_0xded6d0,_0x4982e4);}catch(_0x355395){console[_0x2e5584(0x149)](_0x2e5584(0x134)+_0xded6d0+_0x2e5584(0x11d),_0x355395);}}[_0x2c91e6(0x14f)](){const _0x3782bf=_0x2c91e6;this[_0x3782bf(0x112)]&&clearTimeout(this[_0x3782bf(0x112)]);const _0x316c04=Math[_0x3782bf(0x168)](0x3e8*Math[_0x3782bf(0x11a)](0x2,this[_0x3782bf(0x143)]),0x7530);this[_0x3782bf(0x143)]++,console[_0x3782bf(0x167)](_0x3782bf(0x123)+_0x316c04+'ms'),this[_0x3782bf(0x112)]=setTimeout(()=>{const _0x2f4235=_0x3782bf;this['_connectDirect'](this[_0x2f4235(0x14d)]);},_0x316c04);}[_0x2c91e6(0x115)](_0x27fe63){const _0xcc4e8d=_0x2c91e6;if(_0x27fe63===this[_0xcc4e8d(0x14d)])return;this[_0xcc4e8d(0x14d)]=_0x27fe63;if(this[_0xcc4e8d(0x16d)]&&this['port'])this[_0xcc4e8d(0x132)]['postMessage']({'action':_0xcc4e8d(0x115),'userId':_0x27fe63});else this[_0xcc4e8d(0x16c)]&&this['_connectDirect'](_0x27fe63);}[_0x2c91e6(0x113)](_0x1a892d,_0x208df9){const _0x74420d=_0x2c91e6;return this[_0x74420d(0x16d)]?this[_0x74420d(0x16f)](_0x1a892d,_0x208df9):this[_0x74420d(0x14b)](_0x1a892d,_0x208df9);}[_0x2c91e6(0x124)](_0x552270){const _0x597967=_0x2c91e6;if(!_0x552270)return;_0x552270[_0x597967(0x148)]===_0x597967(0x13d)?this[_0x597967(0x121)](_0x552270):this[_0x597967(0x130)](_0x552270);}[_0x2c91e6(0x16f)](_0x16ddd1,_0x4cc1d1){const _0x44bf8d=_0x2c91e6;try{this['_ensureWorker']();}catch(_0x58da31){return console[_0x44bf8d(0x149)]('[SSE\x20Client]\x20SharedWorker\x20failed\x20for\x20task\x20sub,\x20falling\x20back:',_0x58da31),this[_0x44bf8d(0x16d)]=![],this[_0x44bf8d(0x14b)](_0x16ddd1,_0x4cc1d1);}const _0x45278b=++this[_0x44bf8d(0x164)],_0xd762c0={'type':'worker','taskId':_0x16ddd1,'handlers':_0x4cc1d1,'id':_0x45278b};return!this[_0x44bf8d(0x169)][_0x44bf8d(0x129)](_0x16ddd1)&&(this['_taskSubscriptions'][_0x44bf8d(0x147)](_0x16ddd1,new Set()),this[_0x44bf8d(0x132)][_0x44bf8d(0x12d)]({'action':_0x44bf8d(0x113),'taskId':_0x16ddd1})),this['_taskSubscriptions'][_0x44bf8d(0x14a)](_0x16ddd1)[_0x44bf8d(0x13a)](_0xd762c0),_0xd762c0;}[_0x2c91e6(0x121)](_0x453327){const _0x35e369=_0x2c91e6,{taskId:_0x35511d}=_0x453327,_0x5d5ef9=this[_0x35e369(0x169)]['get'](_0x35511d);if(_0x5d5ef9){_0x5d5ef9[_0x35e369(0x11f)](_0x453327);if(_0x5d5ef9[_0x35e369(0x153)]===0x0){this[_0x35e369(0x169)][_0x35e369(0x11f)](_0x35511d);try{this[_0x35e369(0x132)]&&this['port']['postMessage']({'action':_0x35e369(0x124),'taskId':_0x35511d});}catch(_0x772213){}}}}[_0x2c91e6(0x14b)](_0x42a491,_0x1d0e74){const _0x2452bb=_0x2c91e6,_0xdc9150=++this['_taskSubIdCounter'],_0xd8d348=new EventSource(_0x2452bb(0x133)+_0x42a491+'/stream'),_0x17356d={'type':_0x2452bb(0x11e),'taskId':_0x42a491,'handlers':_0x1d0e74,'id':_0xdc9150,'eventSource':_0xd8d348};!this[_0x2452bb(0x169)][_0x2452bb(0x129)](_0x42a491)&&this['_taskSubscriptions'][_0x2452bb(0x147)](_0x42a491,new Set());this[_0x2452bb(0x169)][_0x2452bb(0x14a)](_0x42a491)['add'](_0x17356d);for(const _0x592c93 of TASK_STREAM_EVENTS){const _0xb39d8=eventTypeToHandler(_0x592c93);_0xd8d348[_0x2452bb(0x120)](_0x592c93,_0x29470e=>{const _0x471819=_0x2452bb;if(_0x1d0e74[_0xb39d8])try{const _0x1207f7=JSON[_0x471819(0x150)](_0x29470e[_0x471819(0x125)]);_0x1d0e74[_0xb39d8](_0x1207f7);}catch(_0x365e2f){console[_0x471819(0x149)](_0x471819(0x12e)+_0x592c93+':',_0x365e2f);}});}return _0xd8d348[_0x2452bb(0x120)](_0x2452bb(0x161),()=>{const _0x561a24=_0x2452bb;if(_0x1d0e74[_0x561a24(0x10e)])_0x1d0e74['onConnected']();}),_0xd8d348[_0x2452bb(0x120)](_0x2452bb(0x149),()=>{const _0x2924eb=_0x2452bb;if(_0x1d0e74[_0x2924eb(0x114)])_0x1d0e74['onError']({'error':_0x2924eb(0x15c)});}),_0x17356d;}['_unsubscribeTaskDirect'](_0x14f650){const _0x5bb2f3=_0x2c91e6;_0x14f650['eventSource']&&(_0x14f650['eventSource'][_0x5bb2f3(0x117)](),_0x14f650['eventSource']=null);const _0x131a54=this['_taskSubscriptions'][_0x5bb2f3(0x14a)](_0x14f650[_0x5bb2f3(0x15b)]);_0x131a54&&(_0x131a54[_0x5bb2f3(0x11f)](_0x14f650),_0x131a54['size']===0x0&&this[_0x5bb2f3(0x169)][_0x5bb2f3(0x11f)](_0x14f650['taskId']));}[_0x2c91e6(0x152)](){const _0x4e2136=_0x2c91e6;this[_0x4e2136(0x112)]&&(clearTimeout(this['reconnectTimeout']),this['reconnectTimeout']=null);this['_taskSubscriptions'][_0x4e2136(0x10c)]((_0x263270,_0x151e3a)=>{_0x263270['forEach'](_0x49a132=>{const _0x3a2871=_0x5e9d;_0x49a132[_0x3a2871(0x148)]===_0x3a2871(0x11e)&&_0x49a132['eventSource']&&_0x49a132[_0x3a2871(0x16c)][_0x3a2871(0x117)]();});}),this[_0x4e2136(0x169)][_0x4e2136(0x163)]();if(this[_0x4e2136(0x16d)]&&this[_0x4e2136(0x132)])try{this['port']['postMessage']({'action':_0x4e2136(0x152)});}catch(_0x57b6cb){}this['eventSource']&&(this['eventSource'][_0x4e2136(0x117)](),this[_0x4e2136(0x16c)]=null),this['connected']=![];}[_0x2c91e6(0x12b)](){const _0x3d52d0=_0x2c91e6;return this[_0x3d52d0(0x12f)];}[_0x2c91e6(0x131)](){return this['useSharedWorker'];}}let globalClient=null;export function getTaskUpdatesClient(){return!globalClient&&(globalClient=new TaskUpdatesClient()),globalClient;}
1
+ const _0x2b6792=_0x39a3;(function(_0x344065,_0x2ee28a){const _0x521a2c=_0x39a3,_0x3c087f=_0x344065();while(!![]){try{const _0x468b03=-parseInt(_0x521a2c(0xad))/0x1+parseInt(_0x521a2c(0xc8))/0x2*(-parseInt(_0x521a2c(0x75))/0x3)+-parseInt(_0x521a2c(0xa0))/0x4*(parseInt(_0x521a2c(0xcd))/0x5)+-parseInt(_0x521a2c(0xca))/0x6+-parseInt(_0x521a2c(0x73))/0x7*(-parseInt(_0x521a2c(0xcf))/0x8)+parseInt(_0x521a2c(0xa5))/0x9+parseInt(_0x521a2c(0xb6))/0xa;if(_0x468b03===_0x2ee28a)break;else _0x3c087f['push'](_0x3c087f['shift']());}catch(_0xa6f1c5){_0x3c087f['push'](_0x3c087f['shift']());}}}(_0x5613,0x4f63e));function isSharedWorkerSupported(){return typeof SharedWorker!=='undefined';}function eventTypeToHandler(_0x519878){const _0x47a8df=_0x39a3;if(_0x519878===_0x47a8df(0xc4))return _0x47a8df(0xc0);if(_0x519878==='error')return'onError';return'on'+_0x519878['split']('-')[_0x47a8df(0x94)](_0x436b71=>_0x436b71[_0x47a8df(0xb3)](0x0)[_0x47a8df(0x8d)]()+_0x436b71[_0x47a8df(0x9d)](0x1))[_0x47a8df(0xbf)]('');}const TASK_STREAM_EVENTS=[_0x2b6792(0x83),_0x2b6792(0x96),_0x2b6792(0x8b),_0x2b6792(0x85),_0x2b6792(0x78),_0x2b6792(0x74),_0x2b6792(0xb1)];export class TaskUpdatesClient{constructor(){const _0x198768=_0x2b6792;this[_0x198768(0x70)]=new Map(),this[_0x198768(0x92)]=null,this[_0x198768(0xc9)]=null,this['eventSource']=null,this[_0x198768(0xb0)]=null,this[_0x198768(0xb2)]=null,this[_0x198768(0x91)]=0x0,this[_0x198768(0x95)]=isSharedWorkerSupported(),this[_0x198768(0xc4)]=![],this[_0x198768(0x9f)]=new Map(),this['_taskSubIdCounter']=0x0,this[_0x198768(0x7d)]=this['_handleWorkerMessage'][_0x198768(0xc1)](this),this[_0x198768(0xaf)]=this[_0x198768(0xaf)]['bind'](this);}['on'](_0x30aad0,_0xe2825d){const _0x5c8f11=_0x2b6792;return!this['listeners'][_0x5c8f11(0x90)](_0x30aad0)&&this[_0x5c8f11(0x70)][_0x5c8f11(0xa1)](_0x30aad0,new Set()),this[_0x5c8f11(0x70)][_0x5c8f11(0x71)](_0x30aad0)[_0x5c8f11(0xab)](_0xe2825d),this;}[_0x2b6792(0x99)](_0x3fb267,_0x40c420){const _0x20ed40=_0x2b6792;return this[_0x20ed40(0x70)][_0x20ed40(0x90)](_0x3fb267)&&this['listeners']['get'](_0x3fb267)[_0x20ed40(0xaa)](_0x40c420),this;}['_emit'](_0x488848,_0x5b9235){const _0x4c6582=_0x2b6792;this[_0x4c6582(0x70)][_0x4c6582(0x90)](_0x488848)&&this['listeners'][_0x4c6582(0x71)](_0x488848)['forEach'](_0x749155=>{const _0x55b9c9=_0x4c6582;try{_0x749155(_0x5b9235);}catch(_0x2d47ad){console[_0x55b9c9(0xa2)](_0x55b9c9(0x9b)+_0x488848+_0x55b9c9(0xac),_0x2d47ad);}});}[_0x2b6792(0xba)](_0x5933dd='me'){const _0x1b8f72=_0x2b6792;this['userId']=_0x5933dd,this[_0x1b8f72(0x95)]?this[_0x1b8f72(0x7c)](_0x5933dd):this[_0x1b8f72(0x8c)](_0x5933dd);}['_connectViaWorker'](_0x37b170){const _0x32122a=_0x2b6792;try{this[_0x32122a(0x76)](),this[_0x32122a(0xc9)]['postMessage']({'action':_0x32122a(0xba),'userId':_0x37b170});}catch(_0x2850ba){console[_0x32122a(0xa2)](_0x32122a(0xc5),_0x2850ba),this[_0x32122a(0x95)]=![],this['_connectDirect'](_0x37b170);}}[_0x2b6792(0x76)](){const _0x1aa109=_0x2b6792;!this[_0x1aa109(0x92)]&&(this[_0x1aa109(0x92)]=new SharedWorker(_0x1aa109(0xc2)),this[_0x1aa109(0xc9)]=this[_0x1aa109(0x92)][_0x1aa109(0xc9)],this[_0x1aa109(0xc9)]['onmessage']=this[_0x1aa109(0x7d)],this['port'][_0x1aa109(0x89)]=_0x1f40db=>{const _0x599e0f=_0x1aa109;console['error'](_0x599e0f(0xa7),_0x1f40db),this[_0x599e0f(0xbd)](_0x599e0f(0xa2),{'error':_0x599e0f(0x80)});},this['port']['start']());}[_0x2b6792(0x7d)](_0x327281){const _0x2822ca=_0x2b6792,_0x407534=_0x327281[_0x2822ca(0x7a)];if(_0x407534[_0x2822ca(0x9e)]&&_0x407534['type']['startsWith']('task:')){this['_handleTaskStreamMessage'](_0x407534);return;}switch(_0x407534['type']){case'connected':this[_0x2822ca(0xc4)]=!![],this[_0x2822ca(0xbd)](_0x2822ca(0xc4),{});break;case'snapshot':case _0x2822ca(0x83):case'status':case _0x2822ca(0xa9):case _0x2822ca(0xa4):try{const _0x54b231=JSON[_0x2822ca(0x98)](_0x407534[_0x2822ca(0x7a)]);this['_emit'](_0x407534['type'],_0x54b231);}catch(_0x12cac1){console[_0x2822ca(0xa2)]('[SSE\x20Client]\x20Failed\x20to\x20parse\x20'+_0x407534[_0x2822ca(0x9e)]+_0x2822ca(0x9c),_0x12cac1);}break;case _0x2822ca(0xa2):this['connected']=![],this[_0x2822ca(0xbd)](_0x2822ca(0xa2),_0x407534);break;default:console[_0x2822ca(0x72)](_0x2822ca(0xc3),_0x407534[_0x2822ca(0x9e)]);}}[_0x2b6792(0xb5)](_0x3e0e7d){const _0x27429f=_0x2b6792,{taskId:_0x43b686,type:_0x44ae56,data:_0x1f2570}=_0x3e0e7d,_0x57875f=this[_0x27429f(0x9f)][_0x27429f(0x71)](_0x43b686);if(!_0x57875f||_0x57875f[_0x27429f(0x97)]===0x0)return;const _0x36a3fb=_0x44ae56['replace']('task:',''),_0x15641e=eventTypeToHandler(_0x36a3fb);_0x57875f['forEach'](_0x318280=>{const _0x1cd900=_0x27429f;if(_0x318280['handlers'][_0x15641e])try{const _0x434038=typeof _0x1f2570==='string'?JSON[_0x1cd900(0x98)](_0x1f2570):_0x1f2570;_0x318280[_0x1cd900(0x7f)][_0x15641e](_0x434038);}catch(_0x369416){console[_0x1cd900(0xa2)](_0x1cd900(0xc7)+_0x36a3fb+_0x1cd900(0xc6),_0x369416);}});}[_0x2b6792(0x8c)](_0x1d4386){const _0x27cc05=_0x2b6792;this[_0x27cc05(0xce)]&&(this[_0x27cc05(0xce)][_0x27cc05(0x93)](),this[_0x27cc05(0xce)]=null);const _0x403ef3=_0x1d4386&&_0x1d4386!=='me'?_0x27cc05(0x8a)+_0x1d4386:'';try{this[_0x27cc05(0xce)]=new EventSource(_0x27cc05(0x8e)+_0x403ef3),this[_0x27cc05(0xce)][_0x27cc05(0x88)](_0x27cc05(0x82),()=>{const _0x23bfc2=_0x27cc05;this[_0x23bfc2(0xc4)]=!![],this[_0x23bfc2(0x91)]=0x0,this['_emit'](_0x23bfc2(0xc4),{});}),this[_0x27cc05(0xce)][_0x27cc05(0x88)](_0x27cc05(0x79),_0x38b667=>{const _0x37ec23=_0x27cc05;this[_0x37ec23(0xaf)](_0x37ec23(0x79),_0x38b667),this[_0x37ec23(0x91)]=0x0;}),this[_0x27cc05(0xce)]['addEventListener']('activity',_0x5012fc=>{const _0x345615=_0x27cc05;this[_0x345615(0xaf)]('activity',_0x5012fc);}),this['eventSource'][_0x27cc05(0x88)]('status',_0x3a8125=>{const _0x2ecafc=_0x27cc05;this[_0x2ecafc(0xaf)](_0x2ecafc(0x84),_0x3a8125);}),this[_0x27cc05(0xce)][_0x27cc05(0x88)]('new-task',_0x42bccb=>{this['_handleDirectSSE']('new-task',_0x42bccb);}),this[_0x27cc05(0xce)][_0x27cc05(0x88)](_0x27cc05(0xa4),_0x2f604b=>{const _0x5d8cb3=_0x27cc05;this[_0x5d8cb3(0xaf)](_0x5d8cb3(0xa4),_0x2f604b);}),this[_0x27cc05(0xce)][_0x27cc05(0x88)]('error',_0x4ef842=>{const _0x2b5af3=_0x27cc05;console[_0x2b5af3(0xa2)](_0x2b5af3(0x7e),_0x4ef842),this[_0x2b5af3(0xc4)]=![],this['_emit'](_0x2b5af3(0xa2),{'error':'Connection\x20error'}),this['eventSource']&&(this[_0x2b5af3(0xce)][_0x2b5af3(0x93)](),this['eventSource']=null),this[_0x2b5af3(0x81)]();});}catch(_0x31c1ee){console['error'](_0x27cc05(0xbb),_0x31c1ee),this[_0x27cc05(0xbd)](_0x27cc05(0xa2),{'error':_0x31c1ee['message']}),this[_0x27cc05(0x81)]();}}['_handleDirectSSE'](_0x58e1e6,_0x47179b){const _0x55816d=_0x2b6792;try{const _0x4b6f1b=JSON[_0x55816d(0x98)](_0x47179b[_0x55816d(0x7a)]);this[_0x55816d(0xbd)](_0x58e1e6,_0x4b6f1b);}catch(_0x32e635){console[_0x55816d(0xa2)](_0x55816d(0x7b)+_0x58e1e6+'\x20data:',_0x32e635);}}[_0x2b6792(0x81)](){const _0x588626=_0x2b6792;this[_0x588626(0xb2)]&&clearTimeout(this['reconnectTimeout']);const _0x37ca48=Math['min'](0x3e8*Math['pow'](0x2,this[_0x588626(0x91)]),0x7530);this[_0x588626(0x91)]++,console['log'](_0x588626(0x87)+_0x37ca48+'ms'),this[_0x588626(0xb2)]=setTimeout(()=>{this['_connectDirect'](this['userId']);},_0x37ca48);}[_0x2b6792(0xae)](_0x293298){const _0x1754f2=_0x2b6792;if(_0x293298===this['userId'])return;this[_0x1754f2(0xb0)]=_0x293298;if(this[_0x1754f2(0x95)]&&this[_0x1754f2(0xc9)])this[_0x1754f2(0xc9)][_0x1754f2(0x86)]({'action':_0x1754f2(0xae),'userId':_0x293298});else this[_0x1754f2(0xce)]&&this[_0x1754f2(0x8c)](_0x293298);}[_0x2b6792(0xb4)](_0x313e8f,_0x417307){const _0x7afcca=_0x2b6792;return this[_0x7afcca(0x95)]?this[_0x7afcca(0xcc)](_0x313e8f,_0x417307):this[_0x7afcca(0xb8)](_0x313e8f,_0x417307);}[_0x2b6792(0xa6)](_0x457f2a){const _0x189941=_0x2b6792;if(!_0x457f2a)return;_0x457f2a[_0x189941(0x9e)]==='worker'?this[_0x189941(0xbc)](_0x457f2a):this[_0x189941(0xb7)](_0x457f2a);}['_subscribeTaskViaWorker'](_0x4085fd,_0x3d2d5d){const _0x26a82c=_0x2b6792;try{this[_0x26a82c(0x76)]();}catch(_0x4e5176){return console[_0x26a82c(0xa2)](_0x26a82c(0x8f),_0x4e5176),this[_0x26a82c(0x95)]=![],this[_0x26a82c(0xb8)](_0x4085fd,_0x3d2d5d);}const _0x26fdac=++this['_taskSubIdCounter'],_0x2a481f={'type':_0x26a82c(0x92),'taskId':_0x4085fd,'handlers':_0x3d2d5d,'id':_0x26fdac};return!this[_0x26a82c(0x9f)][_0x26a82c(0x90)](_0x4085fd)&&(this[_0x26a82c(0x9f)][_0x26a82c(0xa1)](_0x4085fd,new Set()),this['port']['postMessage']({'action':_0x26a82c(0xb4),'taskId':_0x4085fd})),this[_0x26a82c(0x9f)]['get'](_0x4085fd)['add'](_0x2a481f),_0x2a481f;}[_0x2b6792(0xbc)](_0xaa50cc){const _0x11df03=_0x2b6792,{taskId:_0x507328}=_0xaa50cc,_0x4f7cdf=this[_0x11df03(0x9f)][_0x11df03(0x71)](_0x507328);if(_0x4f7cdf){_0x4f7cdf[_0x11df03(0xaa)](_0xaa50cc);if(_0x4f7cdf[_0x11df03(0x97)]===0x0){this[_0x11df03(0x9f)][_0x11df03(0xaa)](_0x507328);try{this[_0x11df03(0xc9)]&&this[_0x11df03(0xc9)][_0x11df03(0x86)]({'action':_0x11df03(0xa6),'taskId':_0x507328});}catch(_0x305ec0){}}}}[_0x2b6792(0xb8)](_0x20d489,_0x361e2b){const _0x15078c=_0x2b6792,_0x157564=++this[_0x15078c(0x77)],_0x48e28a=new EventSource(_0x15078c(0xbe)+_0x20d489+'/stream'),_0xb8fe8={'type':_0x15078c(0xa8),'taskId':_0x20d489,'handlers':_0x361e2b,'id':_0x157564,'eventSource':_0x48e28a};!this['_taskSubscriptions']['has'](_0x20d489)&&this['_taskSubscriptions']['set'](_0x20d489,new Set());this[_0x15078c(0x9f)][_0x15078c(0x71)](_0x20d489)[_0x15078c(0xab)](_0xb8fe8);for(const _0x220e3d of TASK_STREAM_EVENTS){const _0x3bd3d3=eventTypeToHandler(_0x220e3d);_0x48e28a['addEventListener'](_0x220e3d,_0x4f455f=>{const _0x1e49a9=_0x15078c;if(_0x361e2b[_0x3bd3d3])try{const _0x527a94=JSON[_0x1e49a9(0x98)](_0x4f455f[_0x1e49a9(0x7a)]);_0x361e2b[_0x3bd3d3](_0x527a94);}catch(_0x3c4f9e){console[_0x1e49a9(0xa2)]('[SSE\x20Client]\x20Error\x20parsing\x20task\x20'+_0x220e3d+':',_0x3c4f9e);}});}return _0x48e28a[_0x15078c(0x88)](_0x15078c(0x82),()=>{const _0x2f4399=_0x15078c;if(_0x361e2b[_0x2f4399(0xc0)])_0x361e2b[_0x2f4399(0xc0)]();}),_0x48e28a[_0x15078c(0x88)]('error',()=>{if(_0x361e2b['onError'])_0x361e2b['onError']({'error':'Connection\x20error'});}),_0xb8fe8;}[_0x2b6792(0xb7)](_0x2dccf9){const _0x1e8103=_0x2b6792;_0x2dccf9[_0x1e8103(0xce)]&&(_0x2dccf9[_0x1e8103(0xce)][_0x1e8103(0x93)](),_0x2dccf9[_0x1e8103(0xce)]=null);const _0x5c9ec6=this[_0x1e8103(0x9f)][_0x1e8103(0x71)](_0x2dccf9[_0x1e8103(0xa3)]);_0x5c9ec6&&(_0x5c9ec6[_0x1e8103(0xaa)](_0x2dccf9),_0x5c9ec6[_0x1e8103(0x97)]===0x0&&this[_0x1e8103(0x9f)][_0x1e8103(0xaa)](_0x2dccf9[_0x1e8103(0xa3)]));}[_0x2b6792(0x9a)](){const _0x1eeaf9=_0x2b6792;this[_0x1eeaf9(0xb2)]&&(clearTimeout(this[_0x1eeaf9(0xb2)]),this['reconnectTimeout']=null);this['_taskSubscriptions'][_0x1eeaf9(0xcb)]((_0x56bbc8,_0x4729ef)=>{const _0x20c455=_0x1eeaf9;_0x56bbc8[_0x20c455(0xcb)](_0x311d0f=>{const _0x535967=_0x20c455;_0x311d0f['type']===_0x535967(0xa8)&&_0x311d0f[_0x535967(0xce)]&&_0x311d0f['eventSource'][_0x535967(0x93)]();});}),this['_taskSubscriptions'][_0x1eeaf9(0xb9)]();if(this[_0x1eeaf9(0x95)]&&this[_0x1eeaf9(0xc9)])try{this[_0x1eeaf9(0xc9)][_0x1eeaf9(0x86)]({'action':_0x1eeaf9(0x9a)});}catch(_0x55d9ee){}this['eventSource']&&(this[_0x1eeaf9(0xce)]['close'](),this[_0x1eeaf9(0xce)]=null),this[_0x1eeaf9(0xc4)]=![];}['isConnected'](){const _0x493c6e=_0x2b6792;return this[_0x493c6e(0xc4)];}['isUsingSharedWorker'](){return this['useSharedWorker'];}}function _0x39a3(_0x21a52e,_0x3de6ca){_0x21a52e=_0x21a52e-0x70;const _0x56138f=_0x5613();let _0x39a35c=_0x56138f[_0x21a52e];if(_0x39a3['TaYnYb']===undefined){var _0x436bb8=function(_0xeebb8c){const _0x51361f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x519878='',_0x436b71='';for(let _0x30aad0=0x0,_0xe2825d,_0x3fb267,_0x40c420=0x0;_0x3fb267=_0xeebb8c['charAt'](_0x40c420++);~_0x3fb267&&(_0xe2825d=_0x30aad0%0x4?_0xe2825d*0x40+_0x3fb267:_0x3fb267,_0x30aad0++%0x4)?_0x519878+=String['fromCharCode'](0xff&_0xe2825d>>(-0x2*_0x30aad0&0x6)):0x0){_0x3fb267=_0x51361f['indexOf'](_0x3fb267);}for(let _0x488848=0x0,_0x5b9235=_0x519878['length'];_0x488848<_0x5b9235;_0x488848++){_0x436b71+='%'+('00'+_0x519878['charCodeAt'](_0x488848)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x436b71);};_0x39a3['lSoRmL']=_0x436bb8,_0x39a3['gLUeMV']={},_0x39a3['TaYnYb']=!![];}const _0x4fb161=_0x56138f[0x0],_0x568ada=_0x21a52e+_0x4fb161,_0x3fbe69=_0x39a3['gLUeMV'][_0x568ada];return!_0x3fbe69?(_0x39a35c=_0x39a3['lSoRmL'](_0x39a35c),_0x39a3['gLUeMV'][_0x568ada]=_0x39a35c):_0x39a35c=_0x3fbe69,_0x39a35c;}let globalClient=null;function _0x5613(){const _0x50255a=['zxjYB3i','DgfZA0LK','CxvLDwuTCg9ZAxrPB24','ndqZnZm1muXhvxDbwG','Dw5ZDwjZy3jPyMvuyxnR','w1ntrsbdBgLLBNrDifDVCMTLCIbTzxnZywDLigvYCM9YoG','zgLYzwn0','BMv3lxrHC2S','zgvSzxrL','ywrK','igXPC3rLBMvYoG','nte1mtG1ueLnwxjX','y2HHBMDLrMLSDgvY','x2HHBMrSzurPCMvJDfntrq','DxnLCKLK','y29TCgXLDgu','CMvJB25Uzwn0vgLTzw91Da','y2HHCKf0','C3vIC2nYAwjLvgfZAW','x2HHBMrSzvrHC2TtDhjLyw1nzxnZywDL','mtm3oti0mtb6CwTQvMK','x3vUC3vIC2nYAwjLvgfZA0rPCMvJDa','x3n1yNnJCMLIzvrHC2TeAxjLy3q','y2XLyxi','y29UBMvJDa','w1ntrsbdBgLLBNrDiezHAwXLzcb0BYbJCMvHDguGrxzLBNrtB3vYy2u6','x3vUC3vIC2nYAwjLvgfZA1DVCMTLCG','x2vTAxq','l3rHC2TZlW','AM9PBG','B25dB25Uzwn0zwq','yMLUza','l3nZzs1ZAgfYzwqTD29YA2vYlMPZ','w1ntrsbdBgLLBNrDifvUA25VD24GBwvZC2fNzsb0ExbLoG','y29UBMvJDgvK','w1ntrsbdBgLLBNrDifnOyxjLzfDVCMTLCIbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbKAxjLy3qGu1nfoG','igHHBMrSzxi6','w1ntrsbdBgLLBNrDievYCM9YigLUihrHC2SG','mtuZmZGYq2rbzu1Y','Cg9YDa','mZC5otmZofHMweryCG','zM9YrwfJAa','x3n1yNnJCMLIzvrHC2TwAwfxB3jRzxi','mtK1BNzcBwLs','zxzLBNrtB3vYy2u','otm2nZjiAxfly3O','BgLZDgvUzxjZ','z2v0','D2fYBG','mJHNr2nwtuq','yxbWlxnLCNzLCI1ZDgf0Dxm','mtjRC2DKs0W','x2vUC3vYzvDVCMTLCG','x3rHC2TtDwjjzenVDw50zxi','y2HHBMDLzc1MAwXLCW','C25HChnOB3q','zgf0yq','w1ntrsbdBgLLBNrDiezHAwXLzcb0BYbWyxjZzsa','x2nVBM5Ly3rwAwfxB3jRzxi','x2HHBMrSzvDVCMTLCK1LC3nHz2u','w1ntrsbdBgLLBNrDierPCMvJDcbtu0uGzxjYB3i6','AgfUzgXLCNm','v29YA2vYig1LC3nHz2uGzxjYB3i','x3nJAgvKDwXLuMvJB25Uzwn0','B3bLBG','ywn0AxzPDhK','C3rHDhvZ','C3vTBwfYEq','Cg9ZDe1LC3nHz2u','w1ntrsbdBgLLBNrDifnJAgvKDwXPBMCGCMvJB25Uzwn0igLUia','ywrKrxzLBNrmAxn0zw5LCG','B25TzxnZywDLzxjYB3i','p3vZzxjjzd0','Bwv0ywrHDge','x2nVBM5Ly3reAxjLy3q','Dg9vChbLCKnHC2u','l3rHC2TZl3vWzgf0zxm','w1ntrsbdBgLLBNrDifnOyxjLzfDVCMTLCIbMywLSzwqGzM9YihrHC2SGC3vIlcbMywXSAw5NigjHy2S6','AgfZ','CMvJB25Uzwn0qxr0zw1WDhm','D29YA2vY','y2XVC2u','BwfW','DxnLu2HHCMvKv29YA2vY','Bg9NCW','C2L6zq','CgfYC2u','B2zM','zgLZy29UBMvJDa','w1ntrsbdBgLLBNrDievYCM9YigLUia','igrHDge6','C2XPy2u','DhLWzq','x3rHC2TtDwjZy3jPChrPB25Z','mtqYmZjor2jmr0S','C2v0'];_0x5613=function(){return _0x50255a;};return _0x5613();}export function getTaskUpdatesClient(){return!globalClient&&(globalClient=new TaskUpdatesClient()),globalClient;}
@@ -1 +1 @@
1
- const _0x28b5b6=_0x1071;(function(_0x43de16,_0x1dd854){const _0x3f57cc=_0x1071,_0x42fe25=_0x43de16();while(!![]){try{const _0x4da22f=-parseInt(_0x3f57cc(0x12e))/0x1+-parseInt(_0x3f57cc(0x141))/0x2+-parseInt(_0x3f57cc(0x134))/0x3*(parseInt(_0x3f57cc(0x126))/0x4)+parseInt(_0x3f57cc(0x146))/0x5+parseInt(_0x3f57cc(0x10f))/0x6*(parseInt(_0x3f57cc(0x13b))/0x7)+-parseInt(_0x3f57cc(0x109))/0x8*(parseInt(_0x3f57cc(0x116))/0x9)+parseInt(_0x3f57cc(0x13c))/0xa*(parseInt(_0x3f57cc(0x11a))/0xb);if(_0x4da22f===_0x1dd854)break;else _0x42fe25['push'](_0x42fe25['shift']());}catch(_0x2fbae7){_0x42fe25['push'](_0x42fe25['shift']());}}}(_0x38c1,0xdc465));const ports=new Set();let eventSource=null,currentUserId=null,reconnectTimeout=null,reconnectAttempts=0x0;const MAX_RECONNECT_DELAY=0x7530,taskStreams=new Map(),TASK_STREAM_EVENTS=[_0x28b5b6(0x135),_0x28b5b6(0x138),'metadata',_0x28b5b6(0x119),_0x28b5b6(0x150),'app-server-status',_0x28b5b6(0x124)];function _0x38c1(){const _0x2d9a40=['C3rYAw5NAwz5','p3vZzxjjzd0','y2HHBMDLrMLSDgvY','l3n0CMvHBq','ndu5nJmXnxDovwT4CW','ywn0AxzPDhK','Cg93','zgf0yq','Bg9NCW','Bg9N','w1ntrsbxB3jRzxjDienVBM5Ly3rPB24GzxjYB3i6','mJqYmdi5ouzgqLHRBq','otCXme9Hz0L4Eq','w1ntrsbxB3jRzxjDifvUA25VD24Gywn0Aw9UoG','w1ntrsbxB3jRzxjDifnJAgvKDwXPBMCGDgfZAYbZDhjLyw0GCMvJB25Uzwn0igzVCIa','w1ntrsbxB3jRzxjDie5Vig1VCMuGy29UBMvJDgvKihbVCNrZlcbJBg9ZAw5Nifntrq','y29UBMvJDgvK','mJm5ndu2ngn5zNDwyG','q29UBMvJDgLVBIbLCNjVCG','B25JB25Uzwn0','DgfZAZPLCNjVCG','BwvZC2fNzq','mtu0nZq2mgfWtNzltW','q0Xpu0ve','BgvUz3rO','l3rHC2TZl3vWzgf0zxm','CxvLDwuTCg9ZAxrPB24','C3rHDhvZ','Cg9ZDe1LC3nHz2u','C3vIC2nYAwjLzfbVCNrZ','w1ntrsbxB3jRzxjDie5LDYbWB3j0ignVBM5Ly3rLzc4Gvg90ywWGCg9YDhm6ia','B25TzxnZywDL','y2HHBMDLzc1MAwXLCW','zxjYB3i','mJrtAK15Ahm','BMv3lxrHC2S','C2v0','DgfZAZPJB25Uzwn0zwq','z2v0','ChvZAa','nLbMt25uvq','ywrKrxzLBNrmAxn0zw5LCG','zgvSzxrL','zxzLBNrtB3vYy2u','ywrK','Dw5ZDwjZy3jPyMvuyxnR','B3bLBG','mZqXnta1owfUser5Aq','w1ntrsbxB3jRzxjDifbVCNqGzgLZy29UBMvJDgvKlIbuB3rHBcbWB3j0CZOG','AgfZ','C3vTBwfYEq','nJeYntLKCM1Ayxu','w1ntrsbxB3jRzxjDifbVCNqGBwvZC2fNzsbLCNjVCJO','C2L6zq','CMvHzhLtDgf0zq','CMvJB25Uzwn0vgLTzw91Da','w1ntrsbxB3jRzxjDifnJAgvKDwXPBMCGCMvJB25Uzwn0igLUia','CMvJB25Uzwn0qxr0zw1WDhm','y2XVC2u','zM9YrwfJAa','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbJCMvHDguGrxzLBNrtB3vYy2u6','y29TCgXLDgu','BxmGkgf0DgvTChqG','nhz4EwLQwq','C3vIC2nYAwjLvgfZAW','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbZzw5KihrVihbVCNqSihjLBw92Aw5NoG','B25TzxnZywDLzxjYB3i','BwLU','igLUia','zgLZy29UBMvJDa','C25HChnOB3q','mti5mJC2m09QCMf4rG','t1bftG'];_0x38c1=function(){return _0x2d9a40;};return _0x38c1();}function connect(_0x3932e6){const _0x5652f8=_0x28b5b6;eventSource&&currentUserId!==_0x3932e6&&(eventSource[_0x5652f8(0x121)](),eventSource=null);if(eventSource&&eventSource['readyState']!==EventSource[_0x5652f8(0x147)])return;currentUserId=_0x3932e6;const _0x3eee68=_0x3932e6&&_0x3932e6!=='me'?_0x5652f8(0x131)+_0x3932e6:'';try{eventSource=new EventSource(_0x5652f8(0x149)+_0x3eee68),eventSource[_0x5652f8(0x110)](_0x5652f8(0x12d),_0x397af7=>{const _0x1f49d1=_0x5652f8;broadcast({'type':_0x1f49d1(0x12d),'data':_0x397af7[_0x1f49d1(0x137)]}),reconnectAttempts=0x0;}),eventSource[_0x5652f8(0x110)](_0x5652f8(0x135),_0x55d87e=>{const _0x56a8d3=_0x5652f8;broadcast({'type':'activity','data':_0x55d87e[_0x56a8d3(0x137)]});}),eventSource['addEventListener'](_0x5652f8(0x14b),_0x2a76c0=>{const _0x434477=_0x5652f8;broadcast({'type':_0x434477(0x14b),'data':_0x2a76c0['data']});}),eventSource[_0x5652f8(0x110)](_0x5652f8(0x10a),_0x2c469e=>{const _0x3983f5=_0x5652f8;broadcast({'type':_0x3983f5(0x10a),'data':_0x2c469e['data']});}),eventSource['addEventListener'](_0x5652f8(0x14a),_0x53966d=>{const _0x2dd4b0=_0x5652f8;broadcast({'type':_0x2dd4b0(0x14a),'data':_0x53966d[_0x2dd4b0(0x137)]});}),eventSource[_0x5652f8(0x110)](_0x5652f8(0x115),()=>{const _0x125a66=_0x5652f8;broadcast({'type':_0x125a66(0x140)}),reconnectAttempts=0x0;}),eventSource['addEventListener'](_0x5652f8(0x151),_0x5f0aaa=>{const _0x51770b=_0x5652f8;console[_0x51770b(0x151)](_0x51770b(0x13a),_0x5f0aaa),broadcast({'type':_0x51770b(0x151),'error':_0x51770b(0x142)}),eventSource&&(eventSource['close'](),eventSource=null),scheduleReconnect();});}catch(_0x36ba83){console[_0x5652f8(0x151)](_0x5652f8(0x123),_0x36ba83),broadcast({'type':'error','error':_0x36ba83[_0x5652f8(0x145)]}),scheduleReconnect();}}function scheduleReconnect(){const _0x144854=_0x28b5b6;reconnectTimeout&&clearTimeout(reconnectTimeout);if(ports[_0x144854(0x11c)]===0x0)return;const _0x1f2a51=Math['min'](0x3e8*Math['pow'](0x2,reconnectAttempts),MAX_RECONNECT_DELAY);reconnectAttempts++,console[_0x144854(0x139)](_0x144854(0x11f)+_0x1f2a51+_0x144854(0x125)+reconnectAttempts+')'),reconnectTimeout=setTimeout(()=>{const _0x156918=_0x144854;ports[_0x156918(0x11c)]>0x0&&connect(currentUserId);},_0x1f2a51);}function broadcast(_0x913d5e){const _0x34a037=_0x28b5b6,_0x5bc971=[];ports[_0x34a037(0x122)](_0x3f40d0=>{const _0x161042=_0x34a037;try{_0x3f40d0['postMessage'](_0x913d5e);}catch(_0x258dfe){console['warn'](_0x161042(0x128),_0x258dfe),_0x5bc971[_0x161042(0x10e)](_0x3f40d0);}}),_0x5bc971[_0x34a037(0x148)]>0x0&&cleanUpDeadPorts(_0x5bc971),ports[_0x34a037(0x11c)]===0x0&&eventSource&&(console[_0x34a037(0x139)](_0x34a037(0x13f)),eventSource[_0x34a037(0x121)](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));}function _0x1071(_0x35d879,_0x22719c){_0x35d879=_0x35d879-0x109;const _0x38c1f6=_0x38c1();let _0x107188=_0x38c1f6[_0x35d879];if(_0x1071['lpthqu']===undefined){var _0x12a5ec=function(_0xb73fc6){const _0x56a9a6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3932e6='',_0x3eee68='';for(let _0x397af7=0x0,_0x55d87e,_0x2a76c0,_0x2c469e=0x0;_0x2a76c0=_0xb73fc6['charAt'](_0x2c469e++);~_0x2a76c0&&(_0x55d87e=_0x397af7%0x4?_0x55d87e*0x40+_0x2a76c0:_0x2a76c0,_0x397af7++%0x4)?_0x3932e6+=String['fromCharCode'](0xff&_0x55d87e>>(-0x2*_0x397af7&0x6)):0x0){_0x2a76c0=_0x56a9a6['indexOf'](_0x2a76c0);}for(let _0x53966d=0x0,_0x5f0aaa=_0x3932e6['length'];_0x53966d<_0x5f0aaa;_0x53966d++){_0x3eee68+='%'+('00'+_0x3932e6['charCodeAt'](_0x53966d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3eee68);};_0x1071['VxuJtX']=_0x12a5ec,_0x1071['SqVNjL']={},_0x1071['lpthqu']=!![];}const _0x5a376b=_0x38c1f6[0x0],_0x3152e6=_0x35d879+_0x5a376b,_0x312cb7=_0x1071['SqVNjL'][_0x3152e6];return!_0x312cb7?(_0x107188=_0x1071['VxuJtX'](_0x107188),_0x1071['SqVNjL'][_0x3152e6]=_0x107188):_0x107188=_0x312cb7,_0x107188;}function subscribeTask(_0x3ae7cd,_0x187382){const _0x37e8e4=_0x28b5b6;let _0x36e1dd=taskStreams[_0x37e8e4(0x10d)](_0x187382);!_0x36e1dd&&(_0x36e1dd={'eventSource':null,'reconnectTimeout':null,'reconnectAttempts':0x0,'subscribedPorts':new Set()},taskStreams[_0x37e8e4(0x10b)](_0x187382,_0x36e1dd));_0x36e1dd[_0x37e8e4(0x14d)][_0x37e8e4(0x113)](_0x3ae7cd);if(!_0x36e1dd[_0x37e8e4(0x112)]||_0x36e1dd[_0x37e8e4(0x112)][_0x37e8e4(0x11d)]===EventSource[_0x37e8e4(0x147)])connectTaskStream(_0x187382);else{if(_0x36e1dd[_0x37e8e4(0x112)][_0x37e8e4(0x11d)]===EventSource[_0x37e8e4(0x12f)])try{_0x3ae7cd[_0x37e8e4(0x14c)]({'type':_0x37e8e4(0x10c),'taskId':_0x187382});}catch(_0x25bbac){}}}function unsubscribeTask(_0x7c68e4,_0x467ef0){const _0x427d9f=_0x28b5b6,_0x811610=taskStreams[_0x427d9f(0x10d)](_0x467ef0);if(!_0x811610)return;_0x811610[_0x427d9f(0x14d)][_0x427d9f(0x111)](_0x7c68e4),_0x811610['subscribedPorts'][_0x427d9f(0x11c)]===0x0&&deferredCloseTaskStream(_0x467ef0);}function connectTaskStream(_0x5939d4){const _0x399eba=_0x28b5b6,_0x441547=taskStreams[_0x399eba(0x10d)](_0x5939d4);if(!_0x441547)return;_0x441547[_0x399eba(0x112)]&&(_0x441547[_0x399eba(0x112)][_0x399eba(0x121)](),_0x441547[_0x399eba(0x112)]=null);try{_0x441547[_0x399eba(0x112)]=new EventSource('/tasks/'+_0x5939d4+_0x399eba(0x133));for(const _0x45c25b of TASK_STREAM_EVENTS){_0x441547[_0x399eba(0x112)][_0x399eba(0x110)](_0x45c25b,_0x562d08=>{const _0x4bc722=_0x399eba;broadcastToTask(_0x5939d4,'task:'+_0x45c25b,_0x562d08[_0x4bc722(0x137)]),_0x441547['reconnectAttempts']=0x0;});}_0x441547['eventSource'][_0x399eba(0x110)](_0x399eba(0x115),()=>{const _0x10b28d=_0x399eba;broadcastToTask(_0x5939d4,_0x10b28d(0x10c),'{}'),_0x441547['reconnectAttempts']=0x0;}),_0x441547[_0x399eba(0x112)]['addEventListener'](_0x399eba(0x151),()=>{const _0x30cdf1=_0x399eba;broadcastToTask(_0x5939d4,_0x30cdf1(0x144),JSON[_0x30cdf1(0x130)]({'error':'Connection\x20error'})),_0x441547[_0x30cdf1(0x112)]&&(_0x441547['eventSource'][_0x30cdf1(0x121)](),_0x441547[_0x30cdf1(0x112)]=null),scheduleTaskReconnect(_0x5939d4);});}catch(_0xb92621){console[_0x399eba(0x151)]('[SSE\x20Worker]\x20Failed\x20to\x20create\x20task\x20EventSource\x20for\x20'+_0x5939d4+':',_0xb92621),broadcastToTask(_0x5939d4,_0x399eba(0x144),JSON[_0x399eba(0x130)]({'error':_0xb92621['message']})),scheduleTaskReconnect(_0x5939d4);}}function broadcastToTask(_0x213a2f,_0x272973,_0x522399){const _0x53ceb2=_0x28b5b6,_0x43e20c=taskStreams[_0x53ceb2(0x10d)](_0x213a2f);if(!_0x43e20c)return;const _0x400c0a=[];_0x43e20c[_0x53ceb2(0x14d)][_0x53ceb2(0x122)](_0x1db881=>{const _0x508c55=_0x53ceb2;try{_0x1db881[_0x508c55(0x14c)]({'type':_0x272973,'taskId':_0x213a2f,'data':_0x522399});}catch(_0x50f2f3){_0x400c0a[_0x508c55(0x10e)](_0x1db881);}}),_0x400c0a[_0x53ceb2(0x148)]>0x0&&(_0x400c0a[_0x53ceb2(0x122)](_0x1ffd48=>_0x43e20c['subscribedPorts'][_0x53ceb2(0x111)](_0x1ffd48)),cleanUpDeadPorts(_0x400c0a),_0x43e20c[_0x53ceb2(0x14d)][_0x53ceb2(0x11c)]===0x0&&closeTaskStream(_0x213a2f));}function closeTaskStream(_0x5bec06){const _0x450fde=_0x28b5b6,_0x4e1bb6=taskStreams[_0x450fde(0x10d)](_0x5bec06);if(!_0x4e1bb6)return;_0x4e1bb6[_0x450fde(0x112)]&&_0x4e1bb6['eventSource'][_0x450fde(0x121)](),_0x4e1bb6['reconnectTimeout']&&clearTimeout(_0x4e1bb6[_0x450fde(0x11e)]),taskStreams[_0x450fde(0x111)](_0x5bec06);}function deferredCloseTaskStream(_0x2ffb4c){setTimeout(()=>{const _0x5db349=_0x1071,_0x34f9ea=taskStreams[_0x5db349(0x10d)](_0x2ffb4c);_0x34f9ea&&_0x34f9ea['subscribedPorts'][_0x5db349(0x11c)]===0x0&&closeTaskStream(_0x2ffb4c);},0x0);}function scheduleTaskReconnect(_0x472044){const _0x311f79=_0x28b5b6,_0x3074c1=taskStreams[_0x311f79(0x10d)](_0x472044);if(!_0x3074c1||_0x3074c1[_0x311f79(0x14d)][_0x311f79(0x11c)]===0x0)return;_0x3074c1[_0x311f79(0x11e)]&&clearTimeout(_0x3074c1[_0x311f79(0x11e)]);const _0x115d76=Math[_0x311f79(0x12a)](0x3e8*Math[_0x311f79(0x136)](0x2,_0x3074c1[_0x311f79(0x120)]),MAX_RECONNECT_DELAY);_0x3074c1[_0x311f79(0x120)]++,console['log'](_0x311f79(0x13e)+_0x472044+_0x311f79(0x12b)+_0x115d76+'ms'),_0x3074c1[_0x311f79(0x11e)]=setTimeout(()=>{const _0x5061a2=_0x311f79;_0x3074c1[_0x5061a2(0x14d)]['size']>0x0&&connectTaskStream(_0x472044);},_0x115d76);}function cleanUpDeadPorts(_0x22e713){const _0xf713d1=_0x28b5b6;for(const _0x35c8e9 of _0x22e713){ports['delete'](_0x35c8e9),taskStreams[_0xf713d1(0x122)]((_0x53b4c8,_0x4f62bd)=>{const _0x269bd6=_0xf713d1;_0x53b4c8[_0x269bd6(0x14d)][_0x269bd6(0x111)](_0x35c8e9),_0x53b4c8[_0x269bd6(0x14d)]['size']===0x0&&closeTaskStream(_0x4f62bd);});}}function removePortFromAllTasks(_0x194a1d){const _0x3cc924=_0x28b5b6;taskStreams[_0x3cc924(0x122)]((_0x35cfed,_0x286525)=>{const _0x44b959=_0x3cc924;_0x35cfed[_0x44b959(0x14d)][_0x44b959(0x118)](_0x194a1d)&&(_0x35cfed['subscribedPorts'][_0x44b959(0x111)](_0x194a1d),_0x35cfed['subscribedPorts'][_0x44b959(0x11c)]===0x0&&closeTaskStream(_0x286525));});}self[_0x28b5b6(0x143)]=function(_0x1d18c7){const _0x32285f=_0x28b5b6,_0x4121dd=_0x1d18c7['ports'][0x0];ports[_0x32285f(0x113)](_0x4121dd),console['log'](_0x32285f(0x14e)+ports[_0x32285f(0x11c)]),_0x4121dd[_0x32285f(0x14f)]=function(_0x382c33){const _0x3f611c=_0x32285f,{action:_0xfc350b,userId:_0x256b0e,taskId:_0x827b17}=_0x382c33[_0x3f611c(0x137)];switch(_0xfc350b){case'connect':connect(_0x256b0e);eventSource&&eventSource[_0x3f611c(0x11d)]===EventSource[_0x3f611c(0x12f)]&&_0x4121dd['postMessage']({'type':'connected'});break;case _0x3f611c(0x12c):ports[_0x3f611c(0x111)](_0x4121dd),removePortFromAllTasks(_0x4121dd),console[_0x3f611c(0x139)](_0x3f611c(0x117)+ports['size']);ports[_0x3f611c(0x11c)]===0x0&&eventSource&&(eventSource[_0x3f611c(0x121)](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));break;case _0x3f611c(0x132):_0x256b0e!==currentUserId&&connect(_0x256b0e);break;case _0x3f611c(0x127):subscribeTask(_0x4121dd,_0x827b17);break;case _0x3f611c(0x114):unsubscribeTask(_0x4121dd,_0x827b17);break;default:console['warn'](_0x3f611c(0x13d),_0xfc350b);}},_0x4121dd[_0x32285f(0x129)]=function(_0x14b596){const _0xc9956b=_0x32285f;console[_0xc9956b(0x151)](_0xc9956b(0x11b),_0x14b596),ports[_0xc9956b(0x111)](_0x4121dd),removePortFromAllTasks(_0x4121dd);},_0x4121dd['start']();};
1
+ const _0x2491a8=_0x7c2b;(function(_0x97e1ad,_0x133f25){const _0x4e7359=_0x7c2b,_0x483409=_0x97e1ad();while(!![]){try{const _0x514f41=parseInt(_0x4e7359(0x1e8))/0x1+parseInt(_0x4e7359(0x20a))/0x2*(-parseInt(_0x4e7359(0x1c8))/0x3)+parseInt(_0x4e7359(0x200))/0x4*(-parseInt(_0x4e7359(0x1fd))/0x5)+-parseInt(_0x4e7359(0x1c9))/0x6*(parseInt(_0x4e7359(0x1f8))/0x7)+-parseInt(_0x4e7359(0x1e5))/0x8*(parseInt(_0x4e7359(0x1dd))/0x9)+parseInt(_0x4e7359(0x1e1))/0xa*(-parseInt(_0x4e7359(0x1e7))/0xb)+-parseInt(_0x4e7359(0x209))/0xc*(-parseInt(_0x4e7359(0x1db))/0xd);if(_0x514f41===_0x133f25)break;else _0x483409['push'](_0x483409['shift']());}catch(_0x38727d){_0x483409['push'](_0x483409['shift']());}}}(_0x348e,0xc3077));const ports=new Set();let eventSource=null,currentUserId=null,reconnectTimeout=null,reconnectAttempts=0x0;const MAX_RECONNECT_DELAY=0x7530,taskStreams=new Map(),TASK_STREAM_EVENTS=[_0x2491a8(0x1e9),'logs',_0x2491a8(0x1ca),_0x2491a8(0x1d0),_0x2491a8(0x203),'app-server-status',_0x2491a8(0x1cc)];function connect(_0x2e3313){const _0x52bc2c=_0x2491a8;eventSource&&currentUserId!==_0x2e3313&&(eventSource[_0x52bc2c(0x1fc)](),eventSource=null);if(eventSource&&eventSource[_0x52bc2c(0x1ec)]!==EventSource[_0x52bc2c(0x1d6)])return;currentUserId=_0x2e3313;const _0xed9536=_0x2e3313&&_0x2e3313!=='me'?'?userId='+_0x2e3313:'';try{eventSource=new EventSource('/tasks/updates'+_0xed9536),eventSource[_0x52bc2c(0x1fe)](_0x52bc2c(0x20d),_0x4916d4=>{const _0x2dfee3=_0x52bc2c;broadcast({'type':_0x2dfee3(0x20d),'data':_0x4916d4[_0x2dfee3(0x1d5)]}),reconnectAttempts=0x0;}),eventSource['addEventListener']('activity',_0x53daef=>{const _0x13564a=_0x52bc2c;broadcast({'type':_0x13564a(0x1e9),'data':_0x53daef[_0x13564a(0x1d5)]});}),eventSource[_0x52bc2c(0x1fe)](_0x52bc2c(0x1f0),_0x7b080c=>{const _0xa54159=_0x52bc2c;broadcast({'type':_0xa54159(0x1f0),'data':_0x7b080c[_0xa54159(0x1d5)]});}),eventSource[_0x52bc2c(0x1fe)](_0x52bc2c(0x1ee),_0x250909=>{const _0x247b9f=_0x52bc2c;broadcast({'type':_0x247b9f(0x1ee),'data':_0x250909['data']});}),eventSource['addEventListener'](_0x52bc2c(0x20e),_0x3f70d9=>{const _0x3f3457=_0x52bc2c;broadcast({'type':_0x3f3457(0x20e),'data':_0x3f70d9[_0x3f3457(0x1d5)]});}),eventSource[_0x52bc2c(0x1fe)](_0x52bc2c(0x201),()=>{const _0x5caa69=_0x52bc2c;broadcast({'type':_0x5caa69(0x1ef)}),reconnectAttempts=0x0;}),eventSource[_0x52bc2c(0x1fe)]('error',_0x3fc9dd=>{const _0x4a5af8=_0x52bc2c;console[_0x4a5af8(0x1e0)](_0x4a5af8(0x1da),_0x3fc9dd),broadcast({'type':_0x4a5af8(0x1e0),'error':_0x4a5af8(0x1d7)}),eventSource&&(eventSource[_0x4a5af8(0x1fc)](),eventSource=null),scheduleReconnect();});}catch(_0x585997){console[_0x52bc2c(0x1e0)](_0x52bc2c(0x1f2),_0x585997),broadcast({'type':'error','error':_0x585997[_0x52bc2c(0x207)]}),scheduleReconnect();}}function scheduleReconnect(){const _0x541640=_0x2491a8;reconnectTimeout&&clearTimeout(reconnectTimeout);if(ports[_0x541640(0x1df)]===0x0)return;const _0x193b90=Math['min'](0x3e8*Math['pow'](0x2,reconnectAttempts),MAX_RECONNECT_DELAY);reconnectAttempts++,console[_0x541640(0x205)](_0x541640(0x1f9)+_0x193b90+_0x541640(0x1ed)+reconnectAttempts+')'),reconnectTimeout=setTimeout(()=>{const _0x176fe3=_0x541640;ports[_0x176fe3(0x1df)]>0x0&&connect(currentUserId);},_0x193b90);}function broadcast(_0x5d1313){const _0x325d0c=_0x2491a8,_0x11feb2=[];ports[_0x325d0c(0x1f1)](_0x3023a5=>{const _0x482a63=_0x325d0c;try{_0x3023a5[_0x482a63(0x20c)](_0x5d1313);}catch(_0x40c124){console['warn']('[SSE\x20Worker]\x20Failed\x20to\x20send\x20to\x20port,\x20removing:',_0x40c124),_0x11feb2[_0x482a63(0x1f7)](_0x3023a5);}}),_0x11feb2[_0x325d0c(0x1e2)]>0x0&&cleanUpDeadPorts(_0x11feb2),ports[_0x325d0c(0x1df)]===0x0&&eventSource&&(console[_0x325d0c(0x205)](_0x325d0c(0x1f3)),eventSource[_0x325d0c(0x1fc)](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));}function _0x7c2b(_0x31ad24,_0x416249){_0x31ad24=_0x31ad24-0x1c8;const _0x348ee2=_0x348e();let _0x7c2b15=_0x348ee2[_0x31ad24];if(_0x7c2b['hvDjFp']===undefined){var _0x2f4fe4=function(_0x83cf97){const _0x114ea1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e3313='',_0xed9536='';for(let _0x4916d4=0x0,_0x53daef,_0x7b080c,_0x250909=0x0;_0x7b080c=_0x83cf97['charAt'](_0x250909++);~_0x7b080c&&(_0x53daef=_0x4916d4%0x4?_0x53daef*0x40+_0x7b080c:_0x7b080c,_0x4916d4++%0x4)?_0x2e3313+=String['fromCharCode'](0xff&_0x53daef>>(-0x2*_0x4916d4&0x6)):0x0){_0x7b080c=_0x114ea1['indexOf'](_0x7b080c);}for(let _0x3f70d9=0x0,_0x3fc9dd=_0x2e3313['length'];_0x3f70d9<_0x3fc9dd;_0x3f70d9++){_0xed9536+='%'+('00'+_0x2e3313['charCodeAt'](_0x3f70d9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xed9536);};_0x7c2b['JlmAfc']=_0x2f4fe4,_0x7c2b['OCAEDc']={},_0x7c2b['hvDjFp']=!![];}const _0x33910e=_0x348ee2[0x0],_0x485102=_0x31ad24+_0x33910e,_0x552cc2=_0x7c2b['OCAEDc'][_0x485102];return!_0x552cc2?(_0x7c2b15=_0x7c2b['JlmAfc'](_0x7c2b15),_0x7c2b['OCAEDc'][_0x485102]=_0x7c2b15):_0x7c2b15=_0x552cc2,_0x7c2b15;}function subscribeTask(_0x240cf8,_0x36b57d){const _0x4382ba=_0x2491a8;let _0x3462e6=taskStreams[_0x4382ba(0x1cd)](_0x36b57d);!_0x3462e6&&(_0x3462e6={'eventSource':null,'reconnectTimeout':null,'reconnectAttempts':0x0,'subscribedPorts':new Set()},taskStreams['set'](_0x36b57d,_0x3462e6));_0x3462e6['subscribedPorts']['add'](_0x240cf8);if(!_0x3462e6[_0x4382ba(0x1e3)]||_0x3462e6[_0x4382ba(0x1e3)][_0x4382ba(0x1ec)]===EventSource[_0x4382ba(0x1d6)])connectTaskStream(_0x36b57d);else{if(_0x3462e6[_0x4382ba(0x1e3)][_0x4382ba(0x1ec)]===EventSource[_0x4382ba(0x1fb)])try{_0x240cf8['postMessage']({'type':'task:connected','taskId':_0x36b57d});}catch(_0x23b2ab){}}}function unsubscribeTask(_0x1eb0eb,_0x487bb4){const _0x15fe03=_0x2491a8,_0x3d2a8b=taskStreams[_0x15fe03(0x1cd)](_0x487bb4);if(!_0x3d2a8b)return;_0x3d2a8b['subscribedPorts'][_0x15fe03(0x1eb)](_0x1eb0eb),_0x3d2a8b['subscribedPorts'][_0x15fe03(0x1df)]===0x0&&deferredCloseTaskStream(_0x487bb4);}function connectTaskStream(_0xc0599c){const _0x7dd47e=_0x2491a8,_0x21166d=taskStreams[_0x7dd47e(0x1cd)](_0xc0599c);if(!_0x21166d)return;_0x21166d[_0x7dd47e(0x1e3)]&&(_0x21166d[_0x7dd47e(0x1e3)][_0x7dd47e(0x1fc)](),_0x21166d[_0x7dd47e(0x1e3)]=null);try{_0x21166d[_0x7dd47e(0x1e3)]=new EventSource(_0x7dd47e(0x20b)+_0xc0599c+_0x7dd47e(0x1d9));for(const _0x39d1df of TASK_STREAM_EVENTS){_0x21166d[_0x7dd47e(0x1e3)][_0x7dd47e(0x1fe)](_0x39d1df,_0x1fa47b=>{const _0x51c1e8=_0x7dd47e;broadcastToTask(_0xc0599c,_0x51c1e8(0x1e6)+_0x39d1df,_0x1fa47b[_0x51c1e8(0x1d5)]),_0x21166d[_0x51c1e8(0x1dc)]=0x0;});}_0x21166d['eventSource'][_0x7dd47e(0x1fe)](_0x7dd47e(0x201),()=>{const _0x5038ca=_0x7dd47e;broadcastToTask(_0xc0599c,'task:connected','{}'),_0x21166d[_0x5038ca(0x1dc)]=0x0;}),_0x21166d['eventSource'][_0x7dd47e(0x1fe)](_0x7dd47e(0x1e0),()=>{const _0x33f8ae=_0x7dd47e;broadcastToTask(_0xc0599c,'task:error',JSON[_0x33f8ae(0x1d1)]({'error':_0x33f8ae(0x1d7)})),_0x21166d[_0x33f8ae(0x1e3)]&&(_0x21166d[_0x33f8ae(0x1e3)][_0x33f8ae(0x1fc)](),_0x21166d[_0x33f8ae(0x1e3)]=null),scheduleTaskReconnect(_0xc0599c);});}catch(_0x139796){console[_0x7dd47e(0x1e0)](_0x7dd47e(0x1f6)+_0xc0599c+':',_0x139796),broadcastToTask(_0xc0599c,_0x7dd47e(0x1d3),JSON[_0x7dd47e(0x1d1)]({'error':_0x139796[_0x7dd47e(0x207)]})),scheduleTaskReconnect(_0xc0599c);}}function broadcastToTask(_0x4c4e9b,_0x404fdd,_0x746dd0){const _0x3d2a17=_0x2491a8,_0x49ac7e=taskStreams[_0x3d2a17(0x1cd)](_0x4c4e9b);if(!_0x49ac7e)return;const _0x59be1e=[];_0x49ac7e[_0x3d2a17(0x1d8)][_0x3d2a17(0x1f1)](_0x1d2102=>{const _0x2fc197=_0x3d2a17;try{_0x1d2102['postMessage']({'type':_0x404fdd,'taskId':_0x4c4e9b,'data':_0x746dd0});}catch(_0x5b5323){_0x59be1e[_0x2fc197(0x1f7)](_0x1d2102);}}),_0x59be1e[_0x3d2a17(0x1e2)]>0x0&&(_0x59be1e['forEach'](_0x50a82f=>_0x49ac7e['subscribedPorts'][_0x3d2a17(0x1eb)](_0x50a82f)),cleanUpDeadPorts(_0x59be1e),_0x49ac7e['subscribedPorts']['size']===0x0&&closeTaskStream(_0x4c4e9b));}function closeTaskStream(_0x1181b5){const _0x3c43b9=_0x2491a8,_0xfa11ce=taskStreams['get'](_0x1181b5);if(!_0xfa11ce)return;_0xfa11ce[_0x3c43b9(0x1e3)]&&_0xfa11ce[_0x3c43b9(0x1e3)][_0x3c43b9(0x1fc)](),_0xfa11ce[_0x3c43b9(0x1ea)]&&clearTimeout(_0xfa11ce['reconnectTimeout']),taskStreams['delete'](_0x1181b5);}function deferredCloseTaskStream(_0x591213){setTimeout(()=>{const _0x247f2e=_0x7c2b,_0x410dbb=taskStreams[_0x247f2e(0x1cd)](_0x591213);_0x410dbb&&_0x410dbb[_0x247f2e(0x1d8)]['size']===0x0&&closeTaskStream(_0x591213);},0x0);}function scheduleTaskReconnect(_0x34912f){const _0x59a955=_0x2491a8,_0x24ef8a=taskStreams['get'](_0x34912f);if(!_0x24ef8a||_0x24ef8a['subscribedPorts'][_0x59a955(0x1df)]===0x0)return;_0x24ef8a[_0x59a955(0x1ea)]&&clearTimeout(_0x24ef8a[_0x59a955(0x1ea)]);const _0x232536=Math[_0x59a955(0x1f5)](0x3e8*Math['pow'](0x2,_0x24ef8a[_0x59a955(0x1dc)]),MAX_RECONNECT_DELAY);_0x24ef8a[_0x59a955(0x1dc)]++,console[_0x59a955(0x205)](_0x59a955(0x1cb)+_0x34912f+_0x59a955(0x1e4)+_0x232536+'ms'),_0x24ef8a[_0x59a955(0x1ea)]=setTimeout(()=>{const _0x464d54=_0x59a955;_0x24ef8a['subscribedPorts'][_0x464d54(0x1df)]>0x0&&connectTaskStream(_0x34912f);},_0x232536);}function cleanUpDeadPorts(_0x27a409){const _0x3e764a=_0x2491a8;for(const _0x15a619 of _0x27a409){ports[_0x3e764a(0x1eb)](_0x15a619),taskStreams[_0x3e764a(0x1f1)]((_0x18b4d8,_0x476347)=>{const _0x45714b=_0x3e764a;_0x18b4d8[_0x45714b(0x1d8)]['delete'](_0x15a619),_0x18b4d8[_0x45714b(0x1d8)][_0x45714b(0x1df)]===0x0&&closeTaskStream(_0x476347);});}}function removePortFromAllTasks(_0x434b28){const _0x96b409=_0x2491a8;taskStreams[_0x96b409(0x1f1)]((_0x144bdc,_0x390151)=>{const _0x4f29fe=_0x96b409;_0x144bdc[_0x4f29fe(0x1d8)]['has'](_0x434b28)&&(_0x144bdc['subscribedPorts'][_0x4f29fe(0x1eb)](_0x434b28),_0x144bdc['subscribedPorts'][_0x4f29fe(0x1df)]===0x0&&closeTaskStream(_0x390151));});}self['onconnect']=function(_0x53eaf0){const _0x2ee514=_0x2491a8,_0x37d319=_0x53eaf0['ports'][0x0];ports[_0x2ee514(0x1fa)](_0x37d319),console[_0x2ee514(0x205)](_0x2ee514(0x1de)+ports[_0x2ee514(0x1df)]),_0x37d319[_0x2ee514(0x202)]=function(_0x243875){const _0xd5be0=_0x2ee514,{action:_0x572734,userId:_0xa9bbb0,taskId:_0x56ee58}=_0x243875[_0xd5be0(0x1d5)];switch(_0x572734){case'connect':connect(_0xa9bbb0);eventSource&&eventSource[_0xd5be0(0x1ec)]===EventSource['OPEN']&&_0x37d319[_0xd5be0(0x20c)]({'type':'connected'});break;case _0xd5be0(0x1ce):ports[_0xd5be0(0x1eb)](_0x37d319),removePortFromAllTasks(_0x37d319),console[_0xd5be0(0x205)](_0xd5be0(0x1cf)+ports[_0xd5be0(0x1df)]);ports['size']===0x0&&eventSource&&(eventSource[_0xd5be0(0x1fc)](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));break;case _0xd5be0(0x204):_0xa9bbb0!==currentUserId&&connect(_0xa9bbb0);break;case _0xd5be0(0x208):subscribeTask(_0x37d319,_0x56ee58);break;case _0xd5be0(0x1f4):unsubscribeTask(_0x37d319,_0x56ee58);break;default:console[_0xd5be0(0x1d4)](_0xd5be0(0x206),_0x572734);}},_0x37d319['onmessageerror']=function(_0x24e247){const _0x6dff77=_0x2ee514;console['error'](_0x6dff77(0x1d2),_0x24e247),ports['delete'](_0x37d319),removePortFromAllTasks(_0x37d319);},_0x37d319[_0x2ee514(0x1ff)]();};function _0x348e(){const _0x4f35f3=['ywrK','t1bftG','y2XVC2u','nJbfvfjzD1a','ywrKrxzLBNrmAxn0zw5LCG','C3rHCNq','mtK0mJy4CMDwrxbw','B3bLBG','B25TzxnZywDL','y2HHBMDLzc1MAwXLCW','y2HHBMDLrMLSDgvY','Bg9N','w1ntrsbxB3jRzxjDifvUA25VD24Gywn0Aw9UoG','BwvZC2fNzq','C3vIC2nYAwjLvgfZAW','mtm5ndG3nZz0ten3Bfa','ota0odG0D0rlBLju','l3rHC2TZlW','Cg9ZDe1LC3nHz2u','C25HChnOB3q','CxvLDwuTCg9ZAxrPB24','oxPowwjTAa','mZmWvNjVAxf4','Bwv0ywrHDge','w1ntrsbxB3jRzxjDifnJAgvKDwXPBMCGDgfZAYbZDhjLyw0GCMvJB25Uzwn0igzVCIa','y29TCgXLDgu','z2v0','zgLZy29UBMvJDa','w1ntrsbxB3jRzxjDifbVCNqGzgLZy29UBMvJDgvKlIbuB3rHBcbWB3j0CZOG','C3vTBwfYEq','C3rYAw5NAwz5','w1ntrsbxB3jRzxjDifbVCNqGBwvZC2fNzsbLCNjVCJO','DgfZAZPLCNjVCG','D2fYBG','zgf0yq','q0Xpu0ve','q29UBMvJDgLVBIbLCNjVCG','C3vIC2nYAwjLzfbVCNrZ','l3n0CMvHBq','w1ntrsbxB3jRzxjDienVBM5Ly3rPB24GzxjYB3i6','ntjmrKfbr3i','CMvJB25Uzwn0qxr0zw1WDhm','ntu0mta1n0PpCuDcCa','w1ntrsbxB3jRzxjDie5LDYbWB3j0ignVBM5Ly3rLzc4Gvg90ywWGCg9YDhm6ia','C2L6zq','zxjYB3i','ndCWEgHgy090','BgvUz3rO','zxzLBNrtB3vYy2u','igLUia','mtzJDfP4DvC','DgfZAZO','mty5mZm0sMruu1vZ','mJy4mJu2rgf3vLbj','ywn0AxzPDhK','CMvJB25Uzwn0vgLTzw91Da','zgvSzxrL','CMvHzhLtDgf0zq','BxmGkgf0DgvTChqG','BMv3lxrHC2S','y29UBMvJDgvK','C3rHDhvZ','zM9YrwfJAa','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbJCMvHDguGrxzLBNrtB3vYy2u6','w1ntrsbxB3jRzxjDie5Vig1VCMuGy29UBMvJDgvKihbVCNrZlcbJBg9ZAw5Nifntrq','Dw5ZDwjZy3jPyMvuyxnR','BwLU','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbJCMvHDguGDgfZAYbfDMvUDfnVDxjJzsbMB3iG','ChvZAa','mJG1mtfRsMHrD3O','w1ntrsbxB3jRzxjDifnJAgvKDwXPBMCGCMvJB25Uzwn0igLUia'];_0x348e=function(){return _0x4f35f3;};return _0x348e();}
@@ -16179,6 +16179,85 @@ select option[value=""] {
16179
16179
  color: var(--color-text-muted);
16180
16180
  }
16181
16181
 
16182
+ /* Launch Notes */
16183
+ .launch-notes-toggle {
16184
+ display: flex;
16185
+ align-items: center;
16186
+ gap: 6px;
16187
+ background: none;
16188
+ border: none;
16189
+ cursor: pointer;
16190
+ padding: 4px 0;
16191
+ color: var(--color-text);
16192
+ font-size: 13px;
16193
+ width: 100%;
16194
+ text-align: left;
16195
+ }
16196
+
16197
+ .launch-notes-toggle:hover {
16198
+ color: var(--color-accent);
16199
+ }
16200
+
16201
+ #objective-launch-notes-field > .collapsible-content {
16202
+ display: flex;
16203
+ flex-direction: column;
16204
+ gap: 8px;
16205
+ padding-top: 8px;
16206
+ }
16207
+
16208
+ .launch-notes-chips {
16209
+ display: flex;
16210
+ flex-wrap: wrap;
16211
+ gap: 6px;
16212
+ }
16213
+
16214
+ .launch-note-chip {
16215
+ padding: 4px 10px;
16216
+ font-size: 12px;
16217
+ font-family: inherit;
16218
+ border: 1px solid var(--color-border);
16219
+ border-radius: 12px;
16220
+ background: var(--color-bg-secondary);
16221
+ color: var(--color-text-secondary);
16222
+ cursor: pointer;
16223
+ transition: all 0.15s ease;
16224
+ white-space: nowrap;
16225
+ }
16226
+
16227
+ .launch-note-chip:hover {
16228
+ border-color: var(--color-accent);
16229
+ color: var(--color-accent);
16230
+ }
16231
+
16232
+ .launch-note-chip.selected {
16233
+ background: var(--color-accent);
16234
+ border-color: var(--color-accent);
16235
+ color: #fff;
16236
+ }
16237
+
16238
+ .launch-notes-textarea {
16239
+ width: 100%;
16240
+ padding: 8px 12px;
16241
+ border: 1px solid var(--color-border);
16242
+ border-radius: var(--radius-small);
16243
+ font-size: 13px;
16244
+ font-family: inherit;
16245
+ background: var(--color-surface);
16246
+ color: var(--color-text);
16247
+ resize: vertical;
16248
+ min-height: 60px;
16249
+ box-sizing: border-box;
16250
+ }
16251
+
16252
+ .launch-notes-textarea:focus {
16253
+ outline: 2px solid rgba(63,114,255,0.25);
16254
+ border-color: var(--color-accent);
16255
+ }
16256
+
16257
+ .launch-notes-textarea::placeholder {
16258
+ color: var(--color-text-muted);
16259
+ }
16260
+
16182
16261
  .objective-name-input {
16183
16262
  padding: 8px 12px;
16184
16263
  border: 1px solid var(--color-border);
@@ -16517,6 +16596,7 @@ input.generating::placeholder {
16517
16596
  #objective-modal.instructions-maximized #objective-agents-field,
16518
16597
  #objective-modal.instructions-maximized #objective-model-config-field,
16519
16598
  #objective-modal.instructions-maximized #objective-comments-field,
16599
+ #objective-modal.instructions-maximized #objective-launch-notes-field,
16520
16600
  #objective-modal.instructions-maximized .objective-modal-actions {
16521
16601
  display: none;
16522
16602
  }