gestalt-mobile 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +133 -0
  3. package/dist/client/assets/index-0wjiXBGW.js +10 -0
  4. package/dist/client/assets/index-CfoipqOl.css +1 -0
  5. package/dist/client/branding/dyne-logotype-black.svg +17 -0
  6. package/dist/client/branding/dyne-logotype-white.svg +17 -0
  7. package/dist/client/branding/p_glogo_grey.svg +8 -0
  8. package/dist/client/branding/p_glogo_white.svg +8 -0
  9. package/dist/client/branding/t_glogo_grey.svg +9 -0
  10. package/dist/client/branding/t_glogo_white.svg +9 -0
  11. package/dist/client/index.html +19 -0
  12. package/dist/server/server/app.js +148 -0
  13. package/dist/server/server/cli/list-sessions.js +13 -0
  14. package/dist/server/server/cli.js +126 -0
  15. package/dist/server/server/composition.js +237 -0
  16. package/dist/server/server/config.js +37 -0
  17. package/dist/server/server/features/catalog/application/ports.js +6 -0
  18. package/dist/server/server/features/catalog/get-bootstrap/endpoint.js +9 -0
  19. package/dist/server/server/features/catalog/get-bootstrap/request.js +6 -0
  20. package/dist/server/server/features/catalog/get-bootstrap/response.js +6 -0
  21. package/dist/server/server/features/catalog/get-bootstrap/use-case.js +19 -0
  22. package/dist/server/server/features/git/checkout-branch/endpoint.js +27 -0
  23. package/dist/server/server/features/git/clone-repository/endpoint.js +19 -0
  24. package/dist/server/server/features/git/get-summary/endpoint.js +13 -0
  25. package/dist/server/server/features/git/pull-rebase/endpoint.js +22 -0
  26. package/dist/server/server/features/git/push-policy.js +14 -0
  27. package/dist/server/server/features/git/push-upstream/endpoint.js +29 -0
  28. package/dist/server/server/features/git/refresh/endpoint.js +24 -0
  29. package/dist/server/server/features/git/refresh-policy.js +8 -0
  30. package/dist/server/server/features/health/get-health/endpoint.js +8 -0
  31. package/dist/server/server/features/health/get-health/request.js +6 -0
  32. package/dist/server/server/features/health/get-health/response.js +6 -0
  33. package/dist/server/server/features/sessions/application/ports.js +6 -0
  34. package/dist/server/server/features/sessions/application/resume-command.js +22 -0
  35. package/dist/server/server/features/sessions/application/start-settings.js +6 -0
  36. package/dist/server/server/features/sessions/forget-session/endpoint.js +15 -0
  37. package/dist/server/server/features/sessions/get-history/endpoint.js +20 -0
  38. package/dist/server/server/features/sessions/get-history/history-mapper.js +82 -0
  39. package/dist/server/server/features/sessions/get-session/endpoint.js +17 -0
  40. package/dist/server/server/features/sessions/history/use-case.js +8 -0
  41. package/dist/server/server/features/sessions/interaction/kind.js +8 -0
  42. package/dist/server/server/features/sessions/interaction/response-guard.js +8 -0
  43. package/dist/server/server/features/sessions/interaction/response-validator.js +35 -0
  44. package/dist/server/server/features/sessions/interrupt-turn/endpoint.js +19 -0
  45. package/dist/server/server/features/sessions/interrupt-turn/use-case.js +10 -0
  46. package/dist/server/server/features/sessions/lifecycle/use-case.js +15 -0
  47. package/dist/server/server/features/sessions/list-recent-threads/endpoint.js +11 -0
  48. package/dist/server/server/features/sessions/list-sessions/endpoint.js +12 -0
  49. package/dist/server/server/features/sessions/list-sessions/use-case.js +8 -0
  50. package/dist/server/server/features/sessions/model/errors.js +13 -0
  51. package/dist/server/server/features/sessions/model/events.js +6 -0
  52. package/dist/server/server/features/sessions/model/relay-session.js +122 -0
  53. package/dist/server/server/features/sessions/model/value-objects.js +22 -0
  54. package/dist/server/server/features/sessions/promote-recent-thread/endpoint.js +29 -0
  55. package/dist/server/server/features/sessions/promote-recent-thread/use-case.js +26 -0
  56. package/dist/server/server/features/sessions/release-session/endpoint.js +25 -0
  57. package/dist/server/server/features/sessions/release-session/use-case.js +9 -0
  58. package/dist/server/server/features/sessions/respond-interaction/endpoint.js +24 -0
  59. package/dist/server/server/features/sessions/restore-session/endpoint.js +27 -0
  60. package/dist/server/server/features/sessions/restore-session/use-case.js +17 -0
  61. package/dist/server/server/features/sessions/session-events/endpoint.js +44 -0
  62. package/dist/server/server/features/sessions/start-session/endpoint.js +37 -0
  63. package/dist/server/server/features/sessions/start-session/request.js +22 -0
  64. package/dist/server/server/features/sessions/start-session/use-case.js +29 -0
  65. package/dist/server/server/features/sessions/start-turn/endpoint.js +20 -0
  66. package/dist/server/server/features/sessions/stop-session/endpoint.js +25 -0
  67. package/dist/server/server/features/sessions/stop-session/use-case.js +9 -0
  68. package/dist/server/server/features/sessions/turn/start-policy.js +8 -0
  69. package/dist/server/server/index.js +7 -0
  70. package/dist/server/server/main.js +14 -0
  71. package/dist/server/server/platform/catalog/codex-profile-catalog.js +42 -0
  72. package/dist/server/server/platform/catalog/filesystem-workspace-catalog.js +60 -0
  73. package/dist/server/server/platform/catalog/profile-command.js +19 -0
  74. package/dist/server/server/platform/catalog/workspace-id.js +9 -0
  75. package/dist/server/server/platform/codex/approval-policy.js +8 -0
  76. package/dist/server/server/platform/codex/codex-process-launcher.js +27 -0
  77. package/dist/server/server/platform/codex/error-code.js +10 -0
  78. package/dist/server/server/platform/codex/json-rpc-client.js +71 -0
  79. package/dist/server/server/platform/codex/normalizer.js +81 -0
  80. package/dist/server/server/platform/codex/protocol-compatibility.js +12 -0
  81. package/dist/server/server/platform/codex/recent-thread-lister.js +49 -0
  82. package/dist/server/server/platform/codex/server-request.js +14 -0
  83. package/dist/server/server/platform/codex/session-runtime.js +142 -0
  84. package/dist/server/server/platform/codex/thread-id.js +10 -0
  85. package/dist/server/server/platform/events/replay.js +12 -0
  86. package/dist/server/server/platform/events/session-event-bus.js +17 -0
  87. package/dist/server/server/platform/events/slow-client.js +9 -0
  88. package/dist/server/server/platform/events/websocket-heartbeat.js +20 -0
  89. package/dist/server/server/platform/git/command.js +13 -0
  90. package/dist/server/server/platform/git/git-fetch-coordinator.js +40 -0
  91. package/dist/server/server/platform/git/git-inspector.js +116 -0
  92. package/dist/server/server/platform/git/git-summary-cache.js +26 -0
  93. package/dist/server/server/platform/git/git-summary.js +8 -0
  94. package/dist/server/server/platform/http/idempotency.js +9 -0
  95. package/dist/server/server/platform/http/problem-handler.js +32 -0
  96. package/dist/server/server/platform/http/problem.js +15 -0
  97. package/dist/server/server/platform/observability/safe-log.js +9 -0
  98. package/dist/server/server/platform/persistence/migrate.js +9 -0
  99. package/dist/server/server/platform/persistence/retention.js +9 -0
  100. package/dist/server/server/platform/persistence/sqlite-event-journal.js +50 -0
  101. package/dist/server/server/platform/persistence/sqlite-idempotency-store.js +22 -0
  102. package/dist/server/server/platform/persistence/sqlite-pending-interaction-store.js +33 -0
  103. package/dist/server/server/platform/persistence/sqlite-session-repository.js +43 -0
  104. package/dist/server/server/platform/persistence/sqlite.js +14 -0
  105. package/dist/server/server/platform/persistence/state-path.js +16 -0
  106. package/dist/server/server/platform/runtime/clock.js +9 -0
  107. package/dist/server/server/platform/runtime/concurrency.js +15 -0
  108. package/dist/server/server/platform/runtime/retry-policy.js +9 -0
  109. package/dist/server/server/platform/runtime/session-supervisor.js +41 -0
  110. package/dist/server/shared/contracts/problem.js +6 -0
  111. package/dist/server/shared/contracts/session-event.js +6 -0
  112. package/package.json +78 -0
package/README.md ADDED
@@ -0,0 +1,133 @@
1
+ # Gestalt Mobile
2
+
3
+ Mobile-first web relay for [Gestalt](https://dyne.org/gestalt) orchestrated
4
+ development with durable Codex sessions.
5
+
6
+ ## Prerequisites
7
+
8
+ - Node.js 24 or newer.
9
+ - The `codex` CLI installed, available on `PATH`, and authenticated.
10
+ - Optionally, `codex-profile` and a `~/.codex-gestalt` home. When both exist,
11
+ sessions use `codex-profile cli gestalt app-server --stdio`; otherwise they
12
+ fall back automatically to `codex app-server --stdio`.
13
+
14
+ ## Install and run
15
+
16
+ Run the latest release without a permanent installation:
17
+
18
+ ```sh
19
+ npx gestalt-mobile --cwd .
20
+ npx --yes gestalt-mobile@latest --cwd ~/devel --port 3000
21
+ ```
22
+
23
+ For frequent use, install the executable globally:
24
+
25
+ ```sh
26
+ npm install --global gestalt-mobile
27
+ gestalt-mobile --cwd .
28
+ ```
29
+
30
+ The command prints the loopback URL when it is ready. Open that URL in a
31
+ browser. Press Ctrl-C, or send SIGINT or SIGTERM, to stop the HTTP server,
32
+ active Codex subprocesses, and database cleanly.
33
+
34
+ ## Command-line options
35
+
36
+ | Option | Default | Purpose |
37
+ | ------------------- | ------------------- | -------------------------------------------- |
38
+ | `--cwd <path>` | Current directory | Root containing selectable workspaces |
39
+ | `--host <address>` | `127.0.0.1` | HTTP listen address |
40
+ | `--port <number>` | `3000` | HTTP listen port, from 1 through 65535 |
41
+ | `--data-dir <path>` | XDG state directory | Directory containing `relay.sqlite` |
42
+ | `--help` | | Print usage without starting the application |
43
+ | `--version` | | Print the installed package version |
44
+
45
+ `--cwd` may be relative to the directory where the command is invoked. Its
46
+ immediate child directories are the workspaces offered by the application.
47
+
48
+ Gestalt Mobile has no built-in authentication or TLS. The loopback default is
49
+ safe for use on the same computer. `--host 0.0.0.0` exposes the relay and its
50
+ Codex controls on every network interface; use it only behind a trusted private
51
+ VPN or an authenticated, encrypted reverse proxy.
52
+
53
+ ## Persistent state
54
+
55
+ With `--data-dir <path>`, state is stored in `<path>/relay.sqlite`; a relative
56
+ path is resolved from the command's working directory. Without it, state is
57
+ stored below `$XDG_STATE_HOME/gestalt-mobile/<workspace-hash>/relay.sqlite`, or
58
+ `~/.local/state/gestalt-mobile/<workspace-hash>/relay.sqlite` when
59
+ `XDG_STATE_HOME` is unset. A matching legacy `codex-relay` database is reused
60
+ when present.
61
+
62
+ ## Sessions
63
+
64
+ Use **Open** to relaunch a released, stopped, or attention-required
65
+ relay session from the browser.
66
+
67
+ The relay keeps SQLite state under the supplied data directory, or
68
+ under the root-hashed XDG state directory when `--data-dir` is
69
+ omitted. Active durable threads are resumed after a relay restart. A
70
+ failed child process is retried with bounded backoff before the
71
+ session is marked as requiring attention.
72
+
73
+ ## Mobile recovery
74
+
75
+ The browser stores the selected session, its replay cursor, and per-session
76
+ composer drafts. On a dropped connection it replays retained events; if the
77
+ server has pruned the gap, it reloads canonical Codex thread history.
78
+
79
+ ## Git
80
+
81
+ The Git tab reports branch divergence, dirty counts, and recent commits. It can
82
+ also clone a Git address into a selected workspace directory below `--cwd`.
83
+ Pull
84
+ uses `git pull --rebase`. Push is available only for a branch that has an
85
+ upstream, is ahead, and is not behind; it never creates an upstream or
86
+ force-pushes.
87
+
88
+ ## Versions and upgrades
89
+
90
+ Inspect the executable and registry versions with:
91
+
92
+ ```sh
93
+ gestalt-mobile --version
94
+ npm view gestalt-mobile version
95
+ ```
96
+
97
+ `npx --yes gestalt-mobile@latest` fetches the current release according to npm's
98
+ cache rules. Upgrade a global installation with:
99
+
100
+ ```sh
101
+ npm install --global gestalt-mobile@latest
102
+ ```
103
+
104
+ If startup reports an incompatible Codex protocol, upgrade Gestalt Mobile or
105
+ install the Codex CLI version supported by that release. If session startup
106
+ fails, first confirm `codex --version` works in the same shell and that Codex is
107
+ authenticated. Use `gestalt-mobile --help` to diagnose rejected options without
108
+ starting the server.
109
+
110
+ ## Run from source
111
+
112
+ ```sh
113
+ npm ci
114
+ npm run build
115
+ npm start -- --cwd <relay-root>
116
+ ```
117
+
118
+ ## Development
119
+
120
+ Run `npm run check`, `npm test`, `npm run lint`, and `npm run build`.
121
+
122
+ Maintainers should follow the [npm release operations guide](docs/releasing.md)
123
+ when configuring GitHub, rotating credentials, or recovering a partial release.
124
+
125
+ ## Copyright and license
126
+
127
+ Copyright (C) 2026 Dyne.org foundation
128
+ Designed by Denis Roio <jaromil@dyne.org>
129
+
130
+ SPDX-License-Identifier: AGPL-3.0-or-later
131
+
132
+ Gestalt Mobile is distributed under the GNU Affero General Public License
133
+ version 3 or, at your option, any later version. See [LICENSE](LICENSE).
@@ -0,0 +1,10 @@
1
+ (function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e=Array.isArray,t=Array.prototype.indexOf,n=Array.prototype.includes,r=Array.from,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyDescriptors,s=Object.prototype,c=Array.prototype,l=Object.getPrototypeOf,u=Object.isExtensible,d=()=>{};function f(e){for(var t=0;t<e.length;t++)e[t]()}function p(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var m=1024,h=2048,g=4096,_=8192,v=16384,y=32768,b=1<<25,x=65536,S=1<<18,ee=1<<19,te=1<<20,ne=1<<25,re=65536,ie=1<<21,ae=1<<22,oe=1<<23,se=Symbol(`$state`),ce=Symbol(``),le=Symbol(`attributes`),ue=Symbol(`class`),de=Symbol(`style`),fe=Symbol(`text`),C=Symbol(`form reset`),pe=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},w=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function me(e){throw Error(`https://svelte.dev/e/lifecycle_outside_component`)}function T(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function he(e,t,n){throw Error(`https://svelte.dev/e/each_key_duplicate`)}function ge(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function _e(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function ve(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function ye(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function be(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function xe(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function Se(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function Ce(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}var we={},E=Symbol(`uninitialized`),Te=`http://www.w3.org/1999/xhtml`;function Ee(){console.warn(`https://svelte.dev/e/derived_inert`)}function De(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function Oe(){console.warn(`https://svelte.dev/e/select_multiple_invalid_value`)}function ke(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var D=!1;function Ae(e){D=e}var O;function k(e){if(e===null)throw De(),we;return O=e}function je(){return k(tn(O))}function A(e){if(D){if(tn(O)!==null)throw De(),we;O=e}}function Me(e=1){if(D){for(var t=e,n=O;t--;)n=tn(n);O=n}}function Ne(e=!0){for(var t=0,n=O;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else(r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=tn(n);e&&n.remove(),n=i}}function Pe(e){if(!e||e.nodeType!==8)throw De(),we;return e.data}function Fe(e){return e===this.v}function Ie(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function Le(e){return!Ie(e,this.v)}var j=null;function Re(e){j=e}function ze(e,t=!1,n){j={p:j,i:!1,c:null,e:null,s:e,x:null,r:W,l:null}}function Be(e){var t=j,n=t.e;if(n!==null){t.e=null;for(var r of n)vn(r)}return e!==void 0&&(t.x=e),t.i=!0,j=t.p,e??{}}function Ve(){return!0}var He=[];function Ue(){var e=He;He=[],f(e)}function We(e){if(He.length===0&&!bt){var t=He;queueMicrotask(()=>{t===He&&Ue()})}He.push(e)}function Ge(){for(;He.length>0;)Ue()}function Ke(e){var t=W;if(t===null)return U.f|=oe,e;if(!(t.f&32768)&&!(t.f&4))throw e;qe(e,t)}function qe(e,t){if(!(t!==null&&t.f&16384)){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}}var Je=~(h|g|m);function M(e,t){e.f=e.f&Je|t}function Ye(e){e.f&512||e.deps===null?M(e,m):M(e,g)}function Xe(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=re,Xe(t.deps))}function Ze(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),Xe(e.deps),M(e,m)}function Qe(e){let t=0,n=zt(0),r;return()=>{hn()&&(K(n),Sn(()=>(t===0&&(r=or(()=>e(()=>Ut(n)))),t+=1,()=>{We(()=>{--t,t===0&&(r?.(),r=void 0,Ut(n))})})))}}var $e=x|ee;function et(e,t,n,r){new tt(e,t,n,r)}var tt=class{parent;is_pending=!1;transform_error;#e;#t=D?O:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=Qe(()=>(this.#m=zt(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=W;t.b=this,t.f|=128,n(e)},this.parent=W.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=Cn(()=>{if(D){let e=this.#t;je();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#v():this.#g()}else this.#y()},$e),D&&(this.#e=O)}#g(){try{this.#a=V(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed;t&&(this.#s=V(()=>{t(this.#e,()=>e,()=>()=>{})}))}#v(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=V(()=>e(this.#e)),We(()=>{var e=this.#c=document.createDocumentFragment(),t=I();e.append(t),this.#a=this.#x(()=>V(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,kn(this.#o,()=>{this.#o=null}),this.#b(N))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=V(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();Nn(this.#a,e);let t=this.#n.pending;this.#o=V(()=>t(this.#e))}else this.#b(N)}catch(e){this.error(e)}}#b(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){Ze(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#x(e){var t=W,n=U,r=j;Bn(this.#i),zn(this.#i),Re(this.#i.ctx);try{return Et.ensure(),e()}catch(e){return Ke(e),null}finally{Bn(t),zn(n),Re(r)}}#S(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#S(e,t);return}this.#u+=e,this.#u===0&&(this.#b(t),this.#o&&kn(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#S(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,We(()=>{this.#d=!1,this.#m&&Vt(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),K(this.#m)}error(e){if(!this.#n.onerror&&!this.#n.failed)throw e;N?.is_fork?(this.#a&&N.skip_effect(this.#a),this.#o&&N.skip_effect(this.#o),this.#s&&N.skip_effect(this.#s),N.oncommit(()=>{this.#C(e)})):this.#C(e)}#C(e){this.#a&&=(H(this.#a),null),this.#o&&=(H(this.#o),null),this.#s&&=(H(this.#s),null),D&&(k(this.#t),Me(),k(Ne()));var t=this.#n.onerror;let n=this.#n.failed;var r=!1,i=!1;let a=()=>{if(r){ke();return}r=!0,i&&Ce(),this.#s!==null&&kn(this.#s,()=>{this.#s=null}),this.#x(()=>{this.#y()})},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(e){qe(e,this.#i&&this.#i.parent)}n&&(this.#s=this.#x(()=>{try{return V(()=>{var t=W;t.b=this,t.f|=128,n(this.#e,()=>e,()=>a)})}catch(e){return qe(e,this.#i.parent),null}}))};We(()=>{var t;try{t=this.transform_error(e)}catch(e){qe(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(o,e=>qe(e,this.#i&&this.#i.parent)):o(t)})}};function nt(e,t,n,r){let i=Ve()?ot:ut;var a=e.filter(e=>!e.settled),o=t.map(i);if(n.length===0&&a.length===0){r(o);return}var s=W,c=rt(),l=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function u(e){if(!(s.f&16384)){c();try{r([...o,...e])}catch(e){qe(e,s)}it()}}var d=at();if(n.length===0){l.then(()=>u([])).finally(d);return}function f(){Promise.all(n.map(e=>ct(e))).then(u).catch(e=>qe(e,s)).finally(d)}l?l.then(()=>{c(),f(),it()}):f()}function rt(){var e=W,t=U,n=j,r=N;return function(i=!0){Bn(e),zn(t),Re(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function it(e=!0){Bn(null),zn(null),Re(null),e&&N?.deactivate()}function at(){var e=W,t=e.b,n=N,r=!!t?.is_rendered();return t?.update_pending_count(1,n),n.increment(r,e),()=>{t?.update_pending_count(-1,n),n.decrement(r,e)}}function ot(e){var t=2|h;return W!==null&&(W.f|=ee),{ctx:j,deps:null,effects:null,equals:Fe,f:t,fn:e,reactions:null,rv:0,v:E,wv:0,parent:W,ac:null}}var st=Symbol(`obsolete`);function ct(e,t,n){let r=W;r===null&&T();var i=void 0,a=zt(E),o=!U,s=new Set;return xn(()=>{var t=W,n=p();i=n.promise;try{Promise.resolve(e()).then(n.resolve,e=>{e!==pe&&n.reject(e)}).finally(it)}catch(e){n.reject(e),it()}var c=N;if(o){if(t.f&32768)var l=at();if(r.b?.is_rendered())c.async_deriveds.get(t)?.reject(st);else for(let e of s.values())e.reject(st);s.add(n),c.async_deriveds.set(t,n)}let u=(e,t=void 0)=>{l?.(),s.delete(n),t!==st&&(c.activate(),t?(a.f|=oe,Vt(a,t)):(a.f&8388608&&(a.f^=oe),Vt(a,e)),c.deactivate())};n.promise.then(u,e=>u(null,e||`unknown`))}),gn(()=>{for(let e of s)e.reject(st)}),new Promise(e=>{function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}t(i)})}function lt(e){let t=ot(e);return Hn(t),t}function ut(e){let t=ot(e);return t.equals=Le,t}function dt(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)H(t[n])}}function ft(e){var t,n=W,r=e.parent;if(!In&&r!==null&&e.v!==E&&r.f&24576)return Ee(),e.v;Bn(r);try{e.f&=~re,dt(e),t=$n(e)}finally{Bn(n)}return t}function pt(e){var t=ft(e);if(!e.equals(t)&&(e.wv=Xn(),(!N?.is_fork||e.deps===null)&&(N===null?e.v=t:(N.capture(e,t,!0),_t?.capture(e,t,!0)),e.deps===null))){M(e,m);return}In||(vt===null?Ye(e):(hn()||N?.is_fork)&&vt.set(e,t))}function mt(e){if(e.effects!==null)for(let t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(pe),t.fn!==null&&(t.teardown=d),t.ac=null,tr(t,0),Tn(t))}function ht(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&t.fn!==null&&nr(t)}var gt=null,N=null,_t=null,vt=null,yt=null,bt=!1,xt=!1,St=null,Ct=null,wt=0,Tt=1,Et=class e{id=Tt++;#e=!1;linked=!0;#t=null;#n=null;async_deriveds=new Map;current=new Map;previous=new Map;#r=new Set;#i=new Set;#a=0;#o=new Map;#s=null;#c=[];#l=[];#u=new Set;#d=new Set;#f=new Map;#p=new Set;is_fork=!1;#m=!1;constructor(){gt===null?gt=this:(gt.#n=this,this.#t=gt),gt=this}#h(){if(this.is_fork)return!0;for(let n of this.#o.keys()){for(var e=n,t=!1;e.parent!==null;){if(this.#f.has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1}skip_effect(e){this.#f.has(e)||this.#f.set(e,{d:[],m:[]}),this.#p.delete(e)}unskip_effect(e,t=e=>this.schedule(e)){var n=this.#f.get(e);if(n){this.#f.delete(e);for(var r of n.d)M(r,h),t(r);for(r of n.m)M(r,g),t(r)}this.#p.add(e)}#g(){this.#e=!0,wt++>1e3&&(this.#x(),Ot());for(let e of this.#u)this.#d.delete(e),M(e,h),this.schedule(e);for(let e of this.#d)M(e,g),this.schedule(e);let t=this.#c;this.#c=[],this.apply();var n=St=[],r=[],i=Ct=[];for(let e of t)try{this.#_(e,n,r)}catch(t){throw Ft(e),this.#h()||this.discard(),t}if(N=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(St=null,Ct=null,this.#h()){this.#b(r),this.#b(n);for(let[e,t]of this.#f)Pt(e,t);i.length>0&&N.#g();return}let o=this.#v();if(o){this.#b(r),this.#b(n),o.#y(this);return}this.#u.clear(),this.#d.clear();for(let e of this.#r)e(this);this.#r.clear(),_t=this,At(r),At(n),_t=null,this.#s?.resolve();var s=N;if(this.#a===0&&(this.#c.length===0||s!==null)&&this.#x(),this.#c.length>0)if(s!==null){let e=s;e.#c.push(...this.#c.filter(t=>!e.#c.includes(t)))}else s=this;s!==null&&s.#g()}#_(e,t,n){e.f^=m;for(var r=e.first;r!==null;){var i=r.f,a=(i&96)!=0;if(!(a&&i&1024||i&8192||this.#f.has(r))&&r.fn!==null){a?r.f^=m:i&4?t.push(r):Zn(r)&&(i&16&&this.#d.add(r),nr(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#v(){for(var e=this.#t;e!==null;){if(!e.is_fork){for(let[t,[,n]]of this.current)if(e.current.has(t)&&!n)return e}e=e.#t}return null}#y(e){for(let[t,n]of e.current)!this.previous.has(t)&&e.previous.has(t)&&this.previous.set(t,e.previous.get(t)),this.current.set(t,n);for(let[t,n]of e.async_deriveds){let e=this.async_deriveds.get(t);e&&n.promise.then(e.resolve).catch(e.reject)}e.async_deriveds.clear(),this.transfer_effects(e.#u,e.#d);let t=e=>{var n=e.reactions;if(n!==null)for(let e of n){var r=e.f;if(r&2)t(e);else{var i=e;r&4194320&&!this.async_deriveds.has(i)&&(this.#d.delete(i),M(i,h),this.schedule(i))}}};for(let e of this.current.keys())t(e);this.oncommit(()=>e.discard()),e.#x(),N=this,this.#g()}#b(e){for(var t=0;t<e.length;t+=1)Ze(e[t],this.#u,this.#d)}capture(e,t,n=!1){e.v!==E&&!this.previous.has(e)&&this.previous.set(e,e.v),e.f&8388608||(this.current.set(e,[t,n]),vt?.set(e,t)),this.is_fork||(e.v=t)}activate(){N=this}deactivate(){N=null,vt=null}flush(){try{xt=!0,N=this,this.#g()}finally{wt=0,yt=null,St=null,Ct=null,xt=!1,N=null,vt=null,Lt.clear()}}discard(){for(let e of this.#i)e(this);this.#i.clear();for(let e of this.async_deriveds.values())e.reject(st);this.#x(),this.#s?.resolve()}register_created_effect(e){this.#l.push(e)}increment(e,t){if(this.#a+=1,e){let e=this.#o.get(t)??0;this.#o.set(t,e+1)}}decrement(e,t){if(--this.#a,e){let e=this.#o.get(t)??0;e===1?this.#o.delete(t):this.#o.set(t,e-1)}this.#m||(this.#m=!0,We(()=>{this.#m=!1,this.linked&&this.flush()}))}transfer_effects(e,t){for(let t of e)this.#u.add(t);for(let e of t)this.#d.add(e);e.clear(),t.clear()}oncommit(e){this.#r.add(e)}ondiscard(e){this.#i.add(e)}settled(){return(this.#s??=p()).promise}static ensure(){if(N===null){let t=N=new e;!xt&&!bt&&We(()=>{t.#e||t.flush()})}return N}apply(){vt=null}schedule(e){if(yt=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(St!==null&&t===W&&(U===null||!(U.f&2)))return;if(n&96){if(!(n&1024))return;t.f^=m}}this.#c.push(t)}#x(){if(this.linked){var e=this.#t,t=this.#n;e===null||(e.#n=t),t===null?gt=e:t.#t=e,this.linked=!1}}};function Dt(e){var t=bt;bt=!0;try{var n;for(e&&(N!==null&&!N.is_fork&&N.flush(),n=e());;){if(Ge(),N===null)return n;N.flush()}}finally{bt=t}}function Ot(){try{ye()}catch(e){qe(e,yt)}}var kt=null;function At(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&24576)&&Zn(r)&&(kt=new Set,nr(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&On(r),kt?.size>0)){Lt.clear();for(let e of kt){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)kt.has(n)&&(kt.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||nr(n)}}kt.clear()}}kt=null}}function jt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?jt(i,t,n,r):e&4194320&&!(e&2048)&&Mt(i,t,r)&&(M(i,h),Nt(i))}}function Mt(e,t,r){let i=r.get(e);if(i!==void 0)return i;if(e.deps!==null)for(let i of e.deps){if(n.call(t,i))return!0;if(i.f&2&&Mt(i,t,r))return r.set(i,!0),!0}return r.set(e,!1),!1}function Nt(e){N.schedule(e)}function Pt(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),M(e,m);for(var n=e.first;n!==null;)Pt(n,t),n=n.next}}function Ft(e){M(e,m);for(var t=e.first;t!==null;)Ft(t),t=t.next}var It=new Set,Lt=new Map,Rt=!1;function zt(e,t){return{f:0,v:e,reactions:null,equals:Fe,rv:0,wv:0}}function P(e,t){let n=zt(e,t);return Hn(n),n}function Bt(e,t=!1,n=!0){let r=zt(e);return t||(r.equals=Le),r}function F(e,t,n=!1){return U!==null&&(!Rn||U.f&131072)&&Ve()&&U.f&4325394&&(Vn===null||!Vn.has(e))&&Se(),Vt(e,n?Gt(t):t,Ct)}function Vt(e,t,n=null){if(!e.equals(t)){Lt.set(e,In?t:e.v);var r=Et.ensure();if(r.capture(e,t),e.f&2){let t=e;e.f&2048&&ft(t),vt===null&&Ye(t)}e.wv=Xn(),Wt(e,h,n),Ve()&&W!==null&&W.f&1024&&!(W.f&96)&&(Wn===null?Gn([e]):Wn.push(e)),!r.is_fork&&It.size>0&&!Rt&&Ht()}return t}function Ht(){Rt=!1;for(let e of It){e.f&1024&&M(e,g);let t;try{t=Zn(e)}catch{t=!0}t&&nr(e)}It.clear()}function Ut(e){F(e,e.v+1)}function Wt(e,t,n){var r=e.reactions;if(r!==null)for(var i=Ve(),a=r.length,o=0;o<a;o++){var s=r[o],c=s.f;if(!(!i&&s===W)){var l=(c&h)===0;if(l&&M(s,t),c&131072)It.add(s);else if(c&2){var u=s;vt?.delete(u),c&65536||(c&512&&(W===null||!(W.f&2097152))&&(s.f|=re),Wt(u,g,n))}else if(l){var d=s;c&16&&kt!==null&&kt.add(d),n===null?Nt(d):n.push(d)}}}}function Gt(t){if(typeof t!=`object`||!t||se in t)return t;let n=l(t);if(n!==s&&n!==c)return t;var r=new Map,i=e(t),o=P(0),u=null,d=Jn,f=e=>{if(Jn===d)return e();var t=U,n=Jn;zn(null),Yn(d);var r=e();return zn(t),Yn(n),r};return i&&r.set(`length`,P(t.length,u)),new Proxy(t,{defineProperty(e,t,n){(!(`value`in n)||n.configurable===!1||n.enumerable===!1||n.writable===!1)&&be();var i=r.get(t);return i===void 0?f(()=>{var e=P(n.value,u);return r.set(t,e),e}):F(i,n.value,!0),!0},deleteProperty(e,t){var n=r.get(t);if(n===void 0){if(t in e){let e=f(()=>P(E,u));r.set(t,e),Ut(o)}}else F(n,E),Ut(o);return!0},get(e,n,i){if(n===se)return t;var o=r.get(n),s=n in e;if(o===void 0&&(!s||a(e,n)?.writable)&&(o=f(()=>P(Gt(s?e[n]:E),u)),r.set(n,o)),o!==void 0){var c=K(o);return c===E?void 0:c}return Reflect.get(e,n,i)},getOwnPropertyDescriptor(e,t){var n=Reflect.getOwnPropertyDescriptor(e,t);if(n&&`value`in n){var i=r.get(t);i&&(n.value=K(i))}else if(n===void 0){var a=r.get(t),o=a?.v;if(a!==void 0&&o!==E)return{enumerable:!0,configurable:!0,value:o,writable:!0}}return n},has(e,t){if(t===se)return!0;var n=r.get(t),i=n!==void 0&&n.v!==E||Reflect.has(e,t);return(n!==void 0||W!==null&&(!i||a(e,t)?.writable))&&(n===void 0&&(n=f(()=>P(i?Gt(e[t]):E,u)),r.set(t,n)),K(n)===E)?!1:i},set(e,t,n,s){var c=r.get(t),l=t in e;if(i&&t===`length`)for(var d=n;d<c.v;d+=1){var p=r.get(d+``);p===void 0?d in e&&(p=f(()=>P(E,u)),r.set(d+``,p)):F(p,E)}if(c===void 0)(!l||a(e,t)?.writable)&&(c=f(()=>P(void 0,u)),F(c,Gt(n)),r.set(t,c));else{l=c.v!==E;var m=f(()=>Gt(n));F(c,m)}var h=Reflect.getOwnPropertyDescriptor(e,t);if(h?.set&&h.set.call(s,n),!l){if(i&&typeof t==`string`){var g=r.get(`length`),_=Number(t);Number.isInteger(_)&&_>=g.v&&F(g,_+1)}Ut(o)}return!0},ownKeys(e){K(o);var t=Reflect.ownKeys(e).filter(e=>{var t=r.get(e);return t===void 0||t.v!==E});for(var[n,i]of r)i.v!==E&&!(n in e)&&t.push(n);return t},setPrototypeOf(){xe()}})}function Kt(e){try{if(typeof e==`object`&&e&&se in e)return e[se]}catch{}return e}function qt(e,t){return Object.is(Kt(e),Kt(t))}var Jt,Yt,Xt,Zt,Qt;function $t(){if(Jt===void 0){Jt=window,Yt=document,Xt=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Zt=a(t,`firstChild`).get,Qt=a(t,`nextSibling`).get,u(e)&&(e[ue]=void 0,e[le]=null,e[de]=void 0,e.__e=void 0),u(n)&&(n[fe]=void 0)}}function I(e=``){return document.createTextNode(e)}function en(e){return Zt.call(e)}function tn(e){return Qt.call(e)}function L(e,t){if(!D)return en(e);var n=en(O);if(n===null)n=O.appendChild(I());else if(t&&n.nodeType!==3){var r=I();return n?.before(r),k(r),r}return t&&on(n),k(n),n}function R(e,t=!1){if(!D){var n=en(e);return n instanceof Comment&&n.data===``?tn(n):n}if(t){if(O?.nodeType!==3){var r=I();return O?.before(r),k(r),r}on(O)}return O}function z(e,t=1,n=!1){let r=D?O:e;for(var i;t--;)i=r,r=tn(r);if(!D)return r;if(n){if(r?.nodeType!==3){var a=I();return r===null?i?.after(a):r.before(a),k(a),a}on(r)}return k(r),r}function nn(e){e.textContent=``}function rn(){return!1}function an(e,t,n){return t==null||t===`http://www.w3.org/1999/xhtml`?n?document.createElement(e,{is:n}):document.createElement(e):n?document.createElementNS(t,e,{is:n}):document.createElementNS(t,e)}function on(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function sn(e){D&&en(e)!==null&&nn(e)}var cn=!1;function ln(){cn||(cn=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t[C]?.()})},{capture:!0}))}function un(e){var t=U,n=W;zn(null),Bn(null);try{return e()}finally{zn(t),Bn(n)}}function dn(e,t,n,r=n){e.addEventListener(t,()=>un(n));let i=e[C];i?e[C]=()=>{i(),r(!0)}:e[C]=()=>r(!0),ln()}function fn(e){W===null&&(U===null&&ve(e),_e()),In&&ge(e)}function pn(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function mn(e,t){var n=W;n!==null&&n.f&8192&&(e|=_);var r={ctx:j,deps:null,nodes:null,f:e|h|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};N?.register_created_effect(r);var i=r;if(e&4)St===null?Et.ensure().schedule(r):St.push(r);else if(t!==null){try{nr(r)}catch(e){throw H(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=x))}if(i!==null&&(i.parent=n,n!==null&&pn(i,n),U!==null&&U.f&2&&!(e&64))){var a=U;(a.effects??=[]).push(i)}return r}function hn(){return U!==null&&!Rn}function gn(e){let t=mn(8,null);return M(t,m),t.teardown=e,t}function _n(e){fn(`$effect`);var t=W.f;if(!U&&t&32&&j!==null&&!j.i){var n=j;(n.e??=[]).push(e)}else return vn(e)}function vn(e){return mn(4|te,e)}function yn(e){Et.ensure();let t=mn(64|ee,e);return(e={})=>new Promise(n=>{e.outro?kn(t,()=>{H(t),n(void 0)}):(H(t),n(void 0))})}function bn(e){return mn(4,e)}function xn(e){return mn(ae|ee,e)}function Sn(e,t=0){return mn(8|t,e)}function B(e,t=[],n=[],r=[]){nt(r,t,n,t=>{mn(8,()=>{e(...t.map(K))})})}function Cn(e,t=0){return mn(16|t,e)}function V(e){return mn(32|ee,e)}function wn(e){var t=e.teardown;if(t!==null){let e=In,n=U;Ln(!0),zn(null);try{t.call(null)}finally{Ln(e),zn(n)}}}function Tn(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&un(()=>{e.abort(pe)});var r=n.next;n.f&64?n.parent=null:H(n,t),n=r}}function En(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||H(t),t=n}}function H(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(Dn(e.nodes.start,e.nodes.end),n=!0),e.f|=b,Tn(e,t&&!n),tr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();wn(e),e.f^=b,e.f|=v;var i=e.parent;i!==null&&i.first!==null&&On(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function Dn(e,t){for(;e!==null;){var n=e===t?null:tn(e);e.remove(),e=n}}function On(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function kn(e,t,n=!0){var r=[];An(e,r,!0);var i=()=>{n&&H(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function An(e,t,n){if(!(e.f&8192)){e.f^=_;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next;if(!(i.f&64)){var o=(i.f&65536)!=0||(i.f&32)!=0&&(e.f&16)!=0;An(i,t,o?n:!1)}i=a}}}function jn(e){Mn(e,!0)}function Mn(e,t){if(e.f&8192){e.f^=_,e.f&1024||(M(e,h),Et.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&65536)!=0||(n.f&32)!=0;Mn(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function Nn(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:tn(n);t.append(n),n=i}}var Pn=null,Fn=!1,In=!1;function Ln(e){In=e}var U=null,Rn=!1;function zn(e){U=e}var W=null;function Bn(e){W=e}var Vn=null;function Hn(e){U!==null&&(Vn??=new Set).add(e)}var G=null,Un=0,Wn=null;function Gn(e){Wn=e}var Kn=1,qn=0,Jn=qn;function Yn(e){Jn=e}function Xn(){return++Kn}function Zn(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~re),t&4096){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(Zn(a)&&pt(a),a.wv>e.wv)return!0}t&512&&vt===null&&M(e,m)}return!1}function Qn(e,t,n=!0){var r=e.reactions;if(r!==null&&!(Vn!==null&&Vn.has(e)))for(var i=0;i<r.length;i++){var a=r[i];a.f&2?Qn(a,t,!1):t===a&&(n?M(a,h):a.f&1024&&M(a,g),Nt(a))}}function $n(e){var t=G,n=Un,r=Wn,i=U,a=Vn,o=j,s=Rn,c=Jn,l=e.f;G=null,Un=0,Wn=null,U=l&96?null:e,Vn=null,Re(e.ctx),Rn=!1,Jn=++qn,e.ac!==null&&(un(()=>{e.ac.abort(pe)}),e.ac=null);try{e.f|=ie;var u=e.fn,d=u();e.f|=y;var f=e.deps,p=N?.is_fork;if(G!==null){var m;if(p||tr(e,Un),f!==null&&Un>0)for(f.length=Un+G.length,m=0;m<G.length;m++)f[Un+m]=G[m];else e.deps=f=G;if(hn()&&e.f&512)for(m=Un;m<f.length;m++)(f[m].reactions??=[]).push(e)}else!p&&f!==null&&Un<f.length&&(tr(e,Un),f.length=Un);if(Ve()&&Wn!==null&&!Rn&&f!==null&&!(e.f&6146))for(m=0;m<Wn.length;m++)Qn(Wn[m],e);if(i!==null&&i!==e){if(qn++,i.deps!==null)for(let e=0;e<n;e+=1)i.deps[e].rv=qn;if(t!==null)for(let e of t)e.rv=qn;Wn!==null&&(r===null?r=Wn:r.push(...Wn))}return e.f&8388608&&(e.f^=oe),d}catch(e){return Ke(e)}finally{e.f^=ie,G=t,Un=n,Wn=r,U=i,Vn=a,Re(o),Rn=s,Jn=c}}function er(e,r){let i=r.reactions;if(i!==null){var a=t.call(i,e);if(a!==-1){var o=i.length-1;o===0?i=r.reactions=null:(i[a]=i[o],i.pop())}}if(i===null&&r.f&2&&(G===null||!n.call(G,r))){var s=r;s.f&512&&(s.f^=512,s.f&=~re),s.v!==E&&Ye(s),mt(s),tr(s,0)}}function tr(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)er(e,n[r])}function nr(e){var t=e.f;if(!(t&16384)){M(e,m);var n=W,r=Fn;W=e,Fn=!0;try{t&16777232?En(e):Tn(e),wn(e);var i=$n(e);e.teardown=typeof i==`function`?i:null,e.wv=Kn}finally{Fn=r,W=n}}}async function rr(){await Promise.resolve(),Dt()}function K(e){var t=(e.f&2)!=0;if(Pn?.add(e),U!==null&&!Rn&&!(W!==null&&W.f&16384)&&(Vn===null||!Vn.has(e))){var r=U.deps;if(U.f&2097152)e.rv<qn&&(e.rv=qn,G===null&&r!==null&&r[Un]===e?Un++:G===null?G=[e]:G.push(e));else{U.deps??=[],n.call(U.deps,e)||U.deps.push(e);var i=e.reactions;i===null?e.reactions=[U]:n.call(i,U)||i.push(U)}}if(In&&Lt.has(e))return Lt.get(e);if(t){var a=e;if(In){var o=a.v;return(!(a.f&1024)&&a.reactions!==null||ar(a))&&(o=ft(a)),Lt.set(a,o),o}var s=(a.f&512)==0&&!Rn&&U!==null&&(Fn||(U.f&512)!=0),c=(a.f&y)===0;Zn(a)&&(s&&(a.f|=512),pt(a)),s&&!c&&(ht(a),ir(a))}if(vt?.has(e))return vt.get(e);if(e.f&8388608)throw e.v;return e.v}function ir(e){if(e.f|=512,e.deps!==null)for(let t of e.deps)(t.reactions??=[]).push(e),t.f&2&&!(t.f&512)&&(ht(t),ir(t))}function ar(e){if(e.v===E)return!0;if(e.deps===null)return!1;for(let t of e.deps)if(Lt.has(t)||t.f&2&&ar(t))return!0;return!1}function or(e){var t=Rn;try{return Rn=!0,e()}finally{Rn=t}}[...`allowfullscreen.async.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected.webkitdirectory.defer.disablepictureinpicture.disableremoteplayback`.split(`.`)];var sr=[`touchstart`,`touchmove`];function cr(e){return sr.includes(e)}var lr=Symbol(`events`),ur=new Set,dr=new Set;function fr(e,t,n,r={}){function i(e){if(r.capture||gr.call(t,e),!e.cancelBubble)return un(()=>n?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?We(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function pr(e,t,n,r,i){var a={capture:r,passive:i},o=fr(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&gn(()=>{t.removeEventListener(e,o,a)})}function q(e,t,n){(t[lr]??={})[e]=n}function mr(e){for(var t=0;t<e.length;t++)ur.add(e[t]);for(var n of dr)n(e)}var hr=null;function gr(e){var t=this,n=t.ownerDocument,r=e.type,a=e.composedPath?.()||[],o=a[0]||e.target;hr=e;var s=0,c=hr===e&&e[lr];if(c){var l=a.indexOf(c);if(l!==-1&&(t===document||t===window)){e[lr]=t;return}var u=a.indexOf(t);if(u===-1)return;l<=u&&(s=l)}if(o=a[s]||e.target,o!==t){i(e,`currentTarget`,{configurable:!0,get(){return o||n}});var d=U,f=W;zn(null),Bn(null);try{for(var p,m=[];o!==null&&o!==t;){try{var h=o[lr]?.[r];h!=null&&(!o.disabled||e.target===o)&&h.call(o,e)}catch(e){p?m.push(e):p=e}if(e.cancelBubble)break;s++,o=s<a.length?a[s]:null}if(p){for(let e of m)queueMicrotask(()=>{throw e});throw p}}finally{e[lr]=t,delete e.currentTarget,zn(d),Bn(f)}}}var _r=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function vr(e){return _r?.createHTML(e)??e}function yr(e){var t=an(`template`);return t.innerHTML=vr(e.replaceAll(`<!>`,`<!---->`)),t.content}function br(e,t){var n=W;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function J(e,t){var n=(t&1)!=0,r=(t&2)!=0,i,a=!e.startsWith(`<!>`);return()=>{if(D)return br(O,null),O;i===void 0&&(i=yr(a?e:`<!>`+e),n||(i=en(i)));var t=r||Xt?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=en(t),s=t.lastChild;br(o,s)}else br(t,t);return t}}function xr(e=``){if(!D){var t=I(e+``);return br(t,t),t}var n=O;return n.nodeType===3?on(n):(n.before(n=I()),k(n)),br(n,n),n}function Sr(){if(D)return br(O,null),O;var e=document.createDocumentFragment(),t=document.createComment(``),n=I();return e.append(t,n),br(t,n),e}function Y(e,t){if(D){var n=W;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=O),je();return}e!==null&&e.before(t)}function X(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e[fe]??=e.nodeValue)&&(e[fe]=n,e.nodeValue=`${n}`)}function Cr(e,t){return Tr(e,t)}var wr=new Map;function Tr(e,{target:t,anchor:n,props:i={},events:a,context:o,intro:s=!0,transformError:c}){$t();var l=void 0,u=yn(()=>{var s=n??t.appendChild(I());et(s,{pending:()=>{}},t=>{ze({});var n=j;if(o&&(n.c=o),a&&(i.$$events=a),D&&br(t,null),l=e(t,i)||{},D&&(W.nodes.end=O,O===null||O.nodeType!==8||O.data!==`]`))throw De(),we;Be()},c);var u=new Set,d=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!u.has(r)){u.add(r);var i=cr(r);for(let e of[t,document]){var a=wr.get(e);a===void 0&&(a=new Map,wr.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,gr,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return d(r(ur)),dr.add(d),()=>{for(var e of u)for(let n of[t,document]){var r=wr.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,gr),r.delete(e),r.size===0&&wr.delete(n)):r.set(e,i)}dr.delete(d),s!==n&&s.parentNode?.removeChild(s)}});return Er.set(l,u),l}var Er=new WeakMap,Dr=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)jn(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(jn(r.effect),this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(H(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();Nn(r,t),t.append(I()),this.#n.set(e,{effect:r,fragment:t})}else H(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),kn(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(H(n.effect),this.#n.delete(e))};ensure(e,t){var n=N,r=rn();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=I();i.append(a),this.#n.set(e,{effect:V(()=>t(a)),fragment:i})}else this.#t.set(e,V(()=>t(this.anchor)));if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else D&&(this.anchor=O),this.#a(n)}};function Z(e,t,n=!1){var r;D&&(r=O,je());var i=new Dr(e),a=n?x:0;function o(e,t){if(D){var n=Pe(r);if(e!==parseInt(n.substring(1))){var a=Ne();k(a),i.anchor=a,Ae(!1),i.ensure(e,t),Ae(!0);return}}i.ensure(e,t)}Cn(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function Or(e,t){return t}function kr(e,t,n){for(var i=[],a=t.length,o,s=t.length,c=0;c<a;c++){let n=t[c];kn(n,()=>{if(o){if(o.pending.delete(n),o.done.add(n),o.pending.size===0){var t=e.outrogroups;Ar(e,r(o.done)),t.delete(o),t.size===0&&(e.outrogroups=null)}}else--s},!1)}if(s===0){var l=i.length===0&&n!==null;if(l){var u=n,d=u.parentNode;nn(d),d.append(u),e.items.clear()}Ar(e,t,!l)}else o={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(o)}function Ar(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(let t of e.pending.values())for(let n of t)r.add(e.items.get(n).e)}for(var i=0;i<t.length;i++){var a=t[i];r?.has(a)?(a.f|=ne,Nn(a,document.createDocumentFragment())):H(t[i],n)}}var jr;function Q(t,n,i,a,o,s=null){var c=t,l=new Map;if(n&4){var u=t;c=D?k(en(u)):u.appendChild(I())}D&&je();var d=null,f=ut(()=>{var t=i();return e(t)?t:t==null?[]:r(t)}),p,m=new Map,h=!0;function g(e){v.effect.f&16384||(v.pending.delete(e),v.fallback=d,Nr(v,p,c,n,a),d!==null&&(p.length===0?d.f&33554432?(d.f^=ne,Fr(d,null,c)):jn(d):kn(d,()=>{d=null})))}function _(e){v.pending.delete(e)}var v={effect:Cn(()=>{p=K(f);var e=p.length;let t=!1;D&&Pe(c)===`[!`!=(e===0)&&(c=Ne(),k(c),Ae(!1),t=!0);for(var r=new Set,u=N,v=rn(),y=0;y<e;y+=1){D&&O.nodeType===8&&O.data===`]`&&(c=O,t=!0,Ae(!1));var b=p[y],x=a(b,y),S=h?null:l.get(x);S?(S.v&&Vt(S.v,b),S.i&&Vt(S.i,y),v&&u.unskip_effect(S.e)):(S=Pr(l,h?c:jr??=I(),b,x,y,o,n,i),h||(S.e.f|=ne),l.set(x,S)),r.add(x)}if(e===0&&s&&!d&&(h?d=V(()=>s(c)):(d=V(()=>s(jr??=I())),d.f|=ne)),e>r.size&&he(``,``,``),D&&e>0&&k(Ne()),!h)if(m.set(u,r),v){for(let[e,t]of l)r.has(e)||u.skip_effect(t.e);u.oncommit(g),u.ondiscard(_)}else g(u);t&&Ae(!0),K(f)}),flags:n,items:l,pending:m,outrogroups:null,fallback:d};h=!1,D&&(c=O)}function Mr(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function Nr(e,t,n,i,a){var o=(i&8)!=0,s=t.length,c=e.items,l=Mr(e.effect.first),u,d=null,f,p=[],m=[],h,g,_,v;if(o)for(v=0;v<s;v+=1)h=t[v],g=a(h,v),_=c.get(g).e,_.f&33554432||(_.nodes?.a?.measure(),(f??=new Set).add(_));for(v=0;v<s;v+=1){if(h=t[v],g=a(h,v),_=c.get(g).e,e.outrogroups!==null)for(let t of e.outrogroups)t.pending.delete(_),t.done.delete(_);if(_.f&8192&&(jn(_),o&&(_.nodes?.a?.unfix(),(f??=new Set).delete(_))),_.f&33554432)if(_.f^=ne,_===l)Fr(_,null,n);else{var y=d?d.next:l;_===e.effect.last&&(e.effect.last=_.prev),_.prev&&(_.prev.next=_.next),_.next&&(_.next.prev=_.prev),Ir(e,d,_),Ir(e,_,y),Fr(_,y,n),d=_,p=[],m=[],l=Mr(d.next);continue}if(_!==l){if(u!==void 0&&u.has(_)){if(p.length<m.length){var b=m[0],x;d=b.prev;var S=p[0],ee=p[p.length-1];for(x=0;x<p.length;x+=1)Fr(p[x],b,n);for(x=0;x<m.length;x+=1)u.delete(m[x]);Ir(e,S.prev,ee.next),Ir(e,d,S),Ir(e,ee,b),l=b,d=ee,--v,p=[],m=[]}else u.delete(_),Fr(_,l,n),Ir(e,_.prev,_.next),Ir(e,_,d===null?e.effect.first:d.next),Ir(e,d,_),d=_;continue}for(p=[],m=[];l!==null&&l!==_;)(u??=new Set).add(l),m.push(l),l=Mr(l.next);if(l===null)continue}_.f&33554432||p.push(_),d=_,l=Mr(_.next)}if(e.outrogroups!==null){for(let t of e.outrogroups)t.pending.size===0&&(Ar(e,r(t.done)),e.outrogroups?.delete(t));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||u!==void 0){var te=[];if(u!==void 0)for(_ of u)_.f&8192||te.push(_);for(;l!==null;)!(l.f&8192)&&l!==e.fallback&&te.push(l),l=Mr(l.next);var re=te.length;if(re>0){var ie=i&4&&s===0?n:null;if(o){for(v=0;v<re;v+=1)te[v].nodes?.a?.measure();for(v=0;v<re;v+=1)te[v].nodes?.a?.fix()}kr(e,te,ie)}}o&&We(()=>{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function Pr(e,t,n,r,i,a,o,s){var c=o&1?o&16?zt(n):Bt(n,!1,!1):null,l=o&2?zt(i):null;return{v:c,i:l,e:V(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function Fr(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&!(t.f&33554432)?t.nodes.start:n;r!==null;){var o=tn(r);if(a.before(r),r===i)return;r=o}}function Ir(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function Lr(e,t){let n=null,r=D;var i;if(D){n=O;for(var a=en(document.head);a!==null&&(a.nodeType!==8||a.data!==e);)a=tn(a);if(a===null)Ae(!1);else{var o=tn(a);a.remove(),k(o)}}D||(i=document.head.appendChild(I()));try{Cn(()=>{var e=V(()=>t(i));e.f|=S})}finally{r&&(Ae(!0),k(n))}}var Rr=[...`
2
+ \r\f\xA0\v`];function zr(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||Rr.includes(r[o-1]))&&(s===r.length||Rr.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function Br(e,t,n,r,i,a){var o=e[ue];if(D||o!==n||o===void 0){var s=zr(n,r,a);(!D||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e[ue]=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}function Vr(t,n,r=!1){if(t.multiple){if(n==null)return;if(!e(n))return Oe();for(var i of t.options)i.selected=n.includes(Wr(i));return}for(i of t.options)if(qt(Wr(i),n)){i.selected=!0;return}(!r||n!==void 0)&&(t.selectedIndex=-1)}function Hr(e){var t=new MutationObserver(()=>{Vr(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`value`]}),gn(()=>{t.disconnect()})}function Ur(e,t,n=t){var r=new WeakSet,i=!0;dn(e,`change`,t=>{var i=t?`[selected]`:`:checked`,a;if(e.multiple)a=[].map.call(e.querySelectorAll(i),Wr);else{var o=e.querySelector(i)??e.querySelector(`option:not([disabled])`);a=o&&Wr(o)}n(a),e.__value=a,N!==null&&r.add(N)}),bn(()=>{var a=t();if(e===document.activeElement){var o=N;if(r.has(o))return}if(Vr(e,a,i),i&&a===void 0){var s=e.querySelector(`:checked`);s!==null&&(a=Wr(s),n(a))}e.__value=a,i=!1}),Hr(e)}function Wr(e){return`__value`in e?e.__value:e.value}var Gr=Symbol(`is custom element`),Kr=Symbol(`is html`),qr=w?`link`:`LINK`,Jr=w?`progress`:`PROGRESS`;function Yr(e){if(D){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;$(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;$(e,`checked`,null),e.checked=r}}};e[C]=n,We(n),ln()}}function Xr(e,t){var n=Zr(e);n.value===(n.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==Jr)||(e.value=t??``)}function $(e,t,n,r){var i=Zr(e);D&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===qr)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[ce]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&$r(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Zr(e){return e[le]??={[Gr]:e.nodeName.includes(`-`),[Kr]:e.namespaceURI===Te}}var Qr=new Map;function $r(e){var t=e.getAttribute(`is`)||e.nodeName,n=Qr.get(t);if(n)return n;Qr.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var s in r=o(i),r)r[s].set&&s!==`innerHTML`&&s!==`textContent`&&s!==`innerText`&&n.push(s);i=l(i)}return n}function ei(e,t,n=t){var r=new WeakSet;dn(e,`input`,async i=>{var a=i?e.defaultValue:e.value;if(a=ti(e)?ni(a):a,n(a),N!==null&&r.add(N),await rr(),a!==(a=t())){var o=e.selectionStart,s=e.selectionEnd,c=e.value.length;if(e.value=a??``,s!==null){var l=e.value.length;o===s&&s===c&&l>c?(e.selectionStart=l,e.selectionEnd=l):(e.selectionStart=o,e.selectionEnd=Math.min(s,l))}}}),(D&&e.defaultValue!==e.value||or(t)==null&&e.value)&&(n(ti(e)?ni(e.value):e.value),N!==null&&r.add(N)),Sn(()=>{var n=t();if(e===document.activeElement){var i=N;if(r.has(i))return}ti(e)&&n===ni(e.value)||e.type===`date`&&!n&&!e.value||n!==e.value&&(e.value=n??``)})}function ti(e){var t=e.type;return t===`number`||t===`range`}function ni(e){return e===``?null:+e}function ri(e,t){return e===t||e?.[se]===t}function ii(e={},t,n,r){var i=j.r,a=W;return bn(()=>{var o,s;return Sn(()=>{o=s,s=r?.()||[],or(()=>{ri(n(...s),e)||(t(e,...s),o&&ri(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&ri(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}function ai(e){j===null&&me(`onMount`),_n(()=>{let t=or(e);if(typeof t==`function`)return t})}function oi(e){j===null&&me(`onDestroy`),ai(()=>()=>or(e))}typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`);var si=J(`<header class="app-header"><a class="brand" href="/" aria-label="Gestalt Mobile"><img class="brand-icon light-asset" src="/branding/p_glogo_grey.svg" alt=""/> <img class="brand-icon dark-asset" src="/branding/p_glogo_white.svg" alt=""/> <img class="brand-logotype light-asset" src="/branding/t_glogo_grey.svg" alt=""/> <img class="brand-logotype dark-asset" src="/branding/t_glogo_white.svg" alt=""/></a> <button class="menu-trigger" type="button" popovertarget="configuration-panel" aria-label="Open configuration"><span class="menu-lines" aria-hidden="true"><span></span><span></span><span></span></span></button></header> <div id="configuration-panel" class="configuration-panel" popover="auto"><div class="configuration-brand" aria-label="Dyne"><img class="configuration-logo light-asset" src="/branding/dyne-logotype-black.svg" alt=""/> <img class="configuration-logo dark-asset" src="/branding/dyne-logotype-white.svg" alt=""/></div> <label class="appearance-control" for="appearance"><span aria-hidden="true">aA</span> <select id="appearance" aria-label="Appearance"><option>System</option><option>Light</option><option>Dark</option></select></label></div>`,1);function ci(e,t){ze(t,!0);var n=si(),r=z(R(n),2),i=z(L(r),2),a=z(L(i),2),o=L(a);o.value=o.__value=`system`;var s=z(o);s.value=s.__value=`light`;var c=z(s);c.value=c.__value=`dark`,A(a);var l;Hr(a),A(i),A(r),B(()=>{l!==(l=t.theme)&&(a.value=(a.__value=t.theme)??``,Vr(a,t.theme))}),q(`change`,a,e=>t.onthemechange(e.currentTarget.value)),Y(e,n),Be()}mr([`change`]);var li=J(`<details><summary> </summary><pre> </pre></details>`),ui=J(`<section aria-labelledby="activities-title"><h3 id="activities-title">Activity</h3> <!></section>`);function di(e,t){ze(t,!0);var n=Sr(),r=R(n),i=e=>{var n=ui();Q(z(L(n),2),17,()=>t.activities,e=>e.id,(e,t)=>{var n=li(),r=L(n),i=L(r,!0);A(r);var a=z(r),o=L(a,!0);A(a),A(n),B(()=>{X(i,K(t).label),X(o,K(t).detail)}),Y(e,n)}),A(n),Y(e,n)};Z(r,e=>{t.activities.length&&e(i)}),Y(e,n),Be()}function fi(e){return!mi(e)||!Array.isArray(e.questions)?[]:e.questions.flatMap(e=>!mi(e)||typeof e.id!=`string`||typeof e.header!=`string`||typeof e.question!=`string`?[]:[{id:e.id,header:e.header,question:e.question,isSecret:e.isSecret===!0,options:Array.isArray(e.options)?e.options.flatMap(e=>mi(e)&&typeof e.label==`string`&&typeof e.description==`string`?[{label:e.label,description:e.description}]:[]):[]}])}function pi(e){return{answers:Object.fromEntries(e.filter(e=>e.answer.trim()).map(e=>[e.id,{answers:[e.answer]}]))}}function mi(e){return typeof e==`object`&&!!e}var hi=J(`<button type="button"> </button>`),gi=J(`<label> </label> <input/> <!>`,1),_i=J(`<form><!> <button type="submit">Send answers</button></form>`),vi=J(`<p>Grant the requested permissions for this turn only.</p><button type="button">Approve</button>`,1),yi=J(`<button type="button">Approve</button><button type="button">Deny</button>`,1),bi=J(`<article><p> </p> <!></article>`),xi=J(`<section aria-labelledby="interactions-title"><h3 id="interactions-title">Codex needs your decision</h3> <!></section>`);function Si(e,t){ze(t,!0);var n=Sr(),r=R(n),i=e=>{var n=xi();Q(z(L(n),2),17,()=>t.interactions,e=>e.requestId,(e,n)=>{var r=bi(),i=L(r),a=L(i,!0);A(i);var o=z(i,2),s=e=>{let r=lt(()=>fi(K(n).payload));var i=_i(),a=L(i);Q(a,17,()=>K(r),e=>e.id,(e,r)=>{var i=gi(),a=R(i),o=L(a);A(a);var s=z(a,2);Yr(s),Q(z(s,2),17,()=>K(r).options,e=>e.label,(e,n)=>{var i=hi(),a=L(i,!0);A(i),B(()=>X(a,K(n).label)),q(`click`,i,()=>t.onanswer(K(r).id,K(n).label)),Y(e,i)}),B(()=>{$(a,`for`,`${K(n).requestId}-${K(r).id}`),X(o,`${K(r).header??``}: ${K(r).question??``}`),$(s,`id`,`${K(n).requestId}-${K(r).id}`),$(s,`type`,K(r).isSecret?`password`:`text`),Xr(s,t.answers[K(r).id]??``)}),q(`input`,s,e=>t.onanswer(K(r).id,e.currentTarget.value)),Y(e,i)});var o=z(a,2);A(i),B(()=>o.disabled=!K(r).length),pr(`submit`,i,e=>{e.preventDefault(),t.onuserinput(K(n))}),Y(e,i)},c=e=>{var r=vi();q(`click`,z(R(r)),()=>t.onpermission(K(n))),Y(e,r)},l=e=>{var r=yi(),i=R(r),a=z(i);q(`click`,i,()=>t.ondecision(K(n).requestId,`accept`)),q(`click`,a,()=>t.ondecision(K(n).requestId,`decline`)),Y(e,r)};Z(o,e=>{K(n).kind===`userInput`?e(s):K(n).kind===`permissionsApproval`?e(c,1):e(l,-1)}),A(r),B(()=>X(a,K(n).kind)),Y(e,r)}),A(n),Y(e,n)};Z(r,e=>{t.interactions.length&&e(i)}),Y(e,n),Be()}mr([`input`,`click`]);function Ci(e){return e.key===`Enter`&&!e.shiftKey&&!e.ctrlKey&&!e.isComposing}var wi=J(`<button type="button">Interrupt</button>`),Ti=J(`<form class="svelte-1264sfg"><p role="status" class="svelte-1264sfg"> </p> <div class="prompt-row svelte-1264sfg"><textarea id="message" aria-label="Prompt" placeholder="Prompt" rows="1" required="" class="svelte-1264sfg"></textarea> <button type="submit" aria-label="Send prompt" class="svelte-1264sfg"><span aria-hidden="true">↑</span></button></div> <!></form>`);function Ei(e,t){ze(t,!0);function n(e){!Ci(e)||t.activeTurnId||t.starting||!t.message.trim()||(e.preventDefault(),t.onsend())}var r=Ti(),i=L(r),a=L(i,!0);A(i);var o=z(i,2),s=L(o);sn(s);var c=z(s,2);A(o);var l=z(o,2),u=e=>{var n=wi();q(`click`,n,function(...e){t.oninterrupt?.apply(this,e)}),Y(e,n)};Z(l,e=>{t.activeTurnId&&e(u)}),A(r),B(e=>{X(a,t.status),Xr(s,t.message),c.disabled=e},[()=>!!t.activeTurnId||t.starting||!t.message.trim()]),pr(`submit`,r,e=>{e.preventDefault(),t.onsend()}),q(`input`,s,e=>t.onchange(e.currentTarget.value)),q(`keydown`,s,n),Y(e,r),Be()}mr([`input`,`keydown`,`click`]);function Di(e){let t=[],n=[],r=()=>{n.length&&(t.push({id:n.at(-1).id,kind:`assistant`,commentary:n.map(e=>e.text).join(`
3
+
4
+ `),answer:null,...n.at(-1)?.occurredAt?{occurredAt:n.at(-1).occurredAt}:{}}),n=[])};for(let i of e){if(i.role===`user`){r(),t.push({id:i.id,kind:`user`,text:i.text,...i.occurredAt?{occurredAt:i.occurredAt}:{}});continue}if(i.phase===`commentary`){n.push(i);continue}t.push({id:i.id,kind:`assistant`,commentary:n.length?n.map(e=>e.text).join(`
5
+
6
+ `):null,answer:i.text,...i.occurredAt?{occurredAt:i.occurredAt}:{}}),n=[]}return r(),t}function Oi(e,t){if(e===void 0||t===void 0)return null;let n=Math.floor(Math.max(0,t-e)/6e4);if(n<1)return`moments later`;if(n<60)return`${n} minute${n===1?``:`s`} later`;let r=Math.floor(n/60);if(r<24)return`${r} hour${r===1?``:`s`} later`;let i=Math.floor(r/24);return`${i} day${i===1?``:`s`} later`}function ki(e){return new Intl.DateTimeFormat(void 0,{hour:`2-digit`,minute:`2-digit`}).format(e)}function Ai(e){let t=[],n=/```[^\n]*\n([\s\S]*?)```/g,r=0;for(let i of e.matchAll(n)){let n=e.slice(r,i.index);n&&t.push(...ji(n)),t.push({kind:`code`,text:i[1]??``}),r=(i.index??0)+i[0].length}let i=e.slice(r);return(i||!t.length)&&t.push(...ji(i)),t}function ji(e){let t=[],n=e.split(`
7
+ `),r=0,i=e=>{let i=n.slice(r,e).join(`
8
+ `);i&&t.push({kind:`text`,parts:Pi(i)})};for(let e=0;e<n.length-1;e+=1){let a=Mi(n[e]??``),o=Mi(n[e+1]??``);if(!a||!o||a.length!==o.length||!o.every(Ni))continue;i(e),e+=2;let s=[];for(;e<n.length;){let t=Mi(n[e]??``);if(!t||t.length!==a.length)break;s.push(t),e+=1}t.push({kind:`table`,headers:a.map(Pi),rows:s.map(e=>e.map(Pi))}),r=e,--e}return i(n.length),t.length?t:[{kind:`text`,parts:Pi(e)}]}function Mi(e){let t=e.trim();if(!t.includes(`|`))return null;let n=t.replace(/^\|/,``).replace(/\|$/,``).split(`|`).map(e=>e.trim());return n.length>1&&n.every(Boolean)?n:null}function Ni(e){return/^:?-{3,}:?$/.test(e)}function Pi(e){let t=[],n=/\[([^\]]+)\]\((https?:\/\/[^\s)]+|codex:\/\/[^\s)]+|\/[^\s)]+)\)|`([^`]+)`/g,r=0;for(let i of e.matchAll(n)){let n=e.slice(r,i.index);n&&t.push({kind:`text`,text:n}),t.push(i[3]?{kind:`code`,text:i[3]}:{kind:`link`,text:i[1]??``,href:i[2]??``}),r=(i.index??0)+i[0].length}let i=e.slice(r);return i&&t.push({kind:`text`,text:i}),t}var Fi=(e,t=d)=>{var n=Sr();Q(R(n),17,t,Or,(e,t)=>{var n=Sr(),r=R(n),i=e=>{var n=Li(),r=L(n,!0);A(n),B(()=>{$(n,`href`,K(t).href),X(r,K(t).text)}),Y(e,n)},a=e=>{var n=Ri(),r=L(n,!0);A(n),B(()=>X(r,K(t).text)),Y(e,n)},o=e=>{var n=xr();B(()=>X(n,K(t).text)),Y(e,n)};Z(r,e=>{K(t).kind===`link`?e(i):K(t).kind===`code`?e(a,1):e(o,-1)}),Y(e,n)}),Y(e,n)},Ii=(e,t=d)=>{var n=Sr();Q(R(n),17,()=>Ai(t()),Or,(e,t)=>{var n=Sr(),r=R(n),i=e=>{var n=zi(),r=L(n),i=L(r,!0);A(r),A(n),B(()=>X(i,K(t).text)),Y(e,n)},a=e=>{var n=Ui(),r=L(n),i=L(r),a=L(i);Q(a,21,()=>K(t).headers,Or,(e,t)=>{var n=Bi();Fi(L(n),()=>K(t)),A(n),Y(e,n)}),A(a),A(i);var o=z(i);Q(o,21,()=>K(t).rows,Or,(e,t)=>{var n=Hi();Q(n,21,()=>K(t),Or,(e,t)=>{var n=Vi();Fi(L(n),()=>K(t)),A(n),Y(e,n)}),A(n),Y(e,n)}),A(o),A(r),A(n),Y(e,n)},o=e=>{var n=Wi();Fi(L(n),()=>K(t).parts),A(n),Y(e,n)};Z(r,e=>{K(t).kind===`code`?e(i):K(t).kind===`table`?e(a,1):e(o,-1)}),Y(e,n)}),Y(e,n)},Li=J(`<a target="_blank" rel="noreferrer"> </a>`),Ri=J(`<code class="svelte-1im954t"> </code>`),zi=J(`<pre class="svelte-1im954t"><code class="svelte-1im954t"> </code></pre>`),Bi=J(`<th scope="col" class="svelte-1im954t"><!></th>`),Vi=J(`<td class="svelte-1im954t"><!></td>`),Hi=J(`<tr></tr>`),Ui=J(`<div class="table-scroll svelte-1im954t"><table class="svelte-1im954t"><thead><tr></tr></thead><tbody></tbody></table></div>`),Wi=J(`<div><!></div>`),Gi=J(`<time class="svelte-1im954t"> <!></time>`),Ki=J(`<div class="entry-heading svelte-1im954t"><strong>prompt</strong> <!></div> <div class="entry-content svelte-1im954t"><!></div>`,1),qi=J(`<details><summary>commentary</summary> <!></details>`),Ji=J(`<section class="answer-turn"><div class="entry-heading svelte-1im954t"><strong>answer</strong> <!></div> <div class="entry-content svelte-1im954t"><!></div> <!></section>`),Yi=J(`<li class="svelte-1im954t"><!></li>`),Xi=J(`<ol aria-label="Chat messages"></ol>`);function Zi(e,t){ze(t,!0);let n=lt(()=>Di(t.messages));var r=Xi();Q(r,23,()=>K(n),e=>e.id,(e,t,r)=>{var i=Yi(),a=L(i),o=e=>{var i=Ki(),a=R(i),o=z(L(a),2),s=e=>{var i=Gi(),a=L(i),o=z(a),s=e=>{var i=xr();B(e=>X(i,`· ${e??``}`),[()=>Oi(K(n)[K(r)-1]?.occurredAt,K(t).occurredAt)]),Y(e,i)},c=lt(()=>Oi(K(n)[K(r)-1]?.occurredAt,K(t).occurredAt));Z(o,e=>{K(c)&&e(s)}),A(i),B((e,t)=>{$(i,`datetime`,e),X(a,`${t??``} `)},[()=>new Date(K(t).occurredAt).toISOString(),()=>ki(K(t).occurredAt)]),Y(e,i)};Z(o,e=>{K(t).occurredAt&&e(s)}),A(a);var c=z(a,2);Ii(L(c),()=>K(t).text),A(c),Y(e,i)},s=e=>{var i=Ji(),a=L(i),o=z(L(a),2),s=e=>{var i=Gi(),a=L(i),o=z(a),s=e=>{var i=xr();B(e=>X(i,`· ${e??``}`),[()=>Oi(K(n)[K(r)-1]?.occurredAt,K(t).occurredAt)]),Y(e,i)},c=lt(()=>Oi(K(n)[K(r)-1]?.occurredAt,K(t).occurredAt));Z(o,e=>{K(c)&&e(s)}),A(i),B((e,t)=>{$(i,`datetime`,e),X(a,`${t??``} `)},[()=>new Date(K(t).occurredAt).toISOString(),()=>ki(K(t).occurredAt)]),Y(e,i)};Z(o,e=>{K(t).occurredAt&&e(s)}),A(a);var c=z(a,2);Ii(L(c),()=>K(t).answer),A(c);var l=z(c,2),u=e=>{var n=qi();Ii(z(L(n),2),()=>K(t).commentary),A(n),Y(e,n)};Z(l,e=>{K(t).commentary&&e(u)}),A(i),Y(e,i)},c=e=>{var n=qi();Ii(z(L(n),2),()=>K(t).commentary),A(n),Y(e,n)};Z(a,e=>{K(t).kind===`user`?e(o):K(t).answer?e(s,1):K(t).commentary&&e(c,2)}),A(i),Y(e,i)}),A(r),Y(e,r),Be()}async function Qi(e=fetch){let t=await e(`/api/bootstrap`);if(!t.ok)throw Error(`BOOTSTRAP_FAILED`);return t.json()}function $i(e){if(typeof e.id!=`string`)return null;if(e.kind===`reasoning`&&Array.isArray(e.summary)){let t=e.summary.filter(e=>typeof e==`string`).join(`
9
+ `);return t?{id:e.id,label:`Reasoning summary`,detail:t}:null}return e.kind===`plan`&&typeof e.text==`string`?{id:e.id,label:`Plan`,detail:e.text}:e.kind===`command`&&typeof e.command==`string`?{id:e.id,label:`Command · ${String(e.status??`unknown`)}`,detail:e.command}:e.kind===`fileChange`&&Array.isArray(e.paths)?{id:e.id,label:`File change · ${String(e.status??`unknown`)}`,detail:e.paths.join(`
10
+ `)}:e.kind===`tool`&&typeof e.name==`string`?{id:e.id,label:`Tool · ${String(e.status??`unknown`)}`,detail:e.name}:null}var ea=`gestalt-mobile`,ta=2,na=[`settings`,`drafts`,`cursors`,`messages`];function ra(e){return new Promise((t,n)=>{let r=e.open(ea,ta);r.onupgradeneeded=()=>{for(let e of na)r.result.objectStoreNames.contains(e)||r.result.createObjectStore(e)},r.onsuccess=()=>t(r.result),r.onerror=()=>n(r.error)})}function ia(e,t,n){return sa(e.transaction(t,`readonly`).objectStore(t).get(n))}function aa(e,t,n,r){return sa(e.transaction(t,`readwrite`).objectStore(t).put(r,n))}function oa(e,t,n){return sa(e.transaction(t,`readwrite`).objectStore(t).delete(n))}function sa(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}var ca=`messages`;function la(e){return e.slice(-200)}function ua(e=globalThis.indexedDB){if(!e)return{read:async()=>[],write:async()=>{}};let t=ra(e);return{async read(e){try{return await ia(await t,ca,e)??[]}catch{return[]}},async write(e,n){try{await aa(await t,ca,e,la(n))}catch{}}}}function da(e,t=Date.now()){if(!e)return`Not fetched yet`;let n=Math.max(0,t-new Date(e).getTime()),r=Math.floor(n/6e4);if(r<1)return`Fetched just now`;if(r<60)return`Fetched ${r}m ago`;let i=Math.floor(r/60);return i<24?`Fetched ${i}h ago`:`Fetched ${Math.floor(i/24)}d ago`}function fa(e,t=Date.now()){let n=Date.parse(e);if(!Number.isFinite(n))return`unknown time`;let r=Math.round((n-t)/1e3),i=[[`year`,31536e3],[`month`,2592e3],[`week`,604800],[`day`,86400],[`hour`,3600],[`minute`,60],[`second`,1]],[a,o]=i.find(([,e])=>Math.abs(r)>=e)??i.at(-1);return new Intl.RelativeTimeFormat(void 0,{numeric:`auto`}).format(Math.round(r/o),a)}var pa=J(`<option> </option>`),ma=J(`<p class="clone-status svelte-pudr3t" role="status"> </p>`),ha=J(`<p role="alert"> </p>`),ga=J(`<section aria-label="Confirm push"><p> </p> <button type="button">Confirm push</button> <button type="button">Cancel</button></section>`),_a=J(`<li class="commit-entry svelte-pudr3t"><div class="commit-subject svelte-pudr3t"><code class="svelte-pudr3t"> </code><span> </span></div> <div class="commit-meta svelte-pudr3t"><span> </span><time class="svelte-pudr3t"> </time></div></li>`),va=J(`<section class="commit-history svelte-pudr3t" aria-labelledby="recent-commits-title"><h3 id="recent-commits-title" class="svelte-pudr3t">Recent commits</h3> <ol class="commit-list svelte-pudr3t" aria-label="Recent commits"></ol></section>`),ya=J(`<div class="git-overview svelte-pudr3t"><div class="git-status svelte-pudr3t"><label for="git-branch">Branch</label> <select id="git-branch"></select> <p class="svelte-pudr3t"> </p> <p class="svelte-pudr3t"> </p> <p class="svelte-pudr3t"><time> </time></p> <p class="svelte-pudr3t"> </p></div> <div class="git-actions svelte-pudr3t"><button type="button" class="svelte-pudr3t"><span aria-hidden="true">↑</span> Push</button> <button type="button" class="svelte-pudr3t"><span aria-hidden="true">↓</span> </button></div></div> <!> <!> <!>`,1),ba=J(`<p>This workspace is not a Git repository.</p>`),xa=J(`<p>Select a session to view its workspace status.</p>`),Sa=J(`<section class="git-view svelte-pudr3t" aria-labelledby="git-title"><h2 id="git-title" class="visually-hidden">Git</h2> <form class="clone-form svelte-pudr3t"><div class="clone-controls svelte-pudr3t"><div class="clone-field clone-workspace svelte-pudr3t"><label for="git-clone-workspace">Destination workspace</label> <select id="git-clone-workspace" name="workspaceId" required=""></select></div> <div class="clone-field svelte-pudr3t"><label for="git-clone-address">Git address</label> <input id="git-clone-address" name="address" required="" autocomplete="url" inputmode="url" enterkeyhint="done" placeholder="https://example.com/owner/repository.git" aria-describedby="clone-help"/></div> <button type="submit" class="svelte-pudr3t"> </button></div> <p id="clone-help" class="svelte-pudr3t">The repository is cloned inside the selected workspace.</p> <!></form> <!></section>`);function Ca(e,t){ze(t,!0);let n=P(``),r=P(``),i=lt(()=>t.workspaces.filter(e=>e.name!==`/`));_n(()=>{K(i).some(e=>e.id===K(r))||F(r,K(i).find(e=>e.id===t.cloneWorkspaceId)?.id??K(i)[0]?.id??``,!0)});function a(e){e.preventDefault(),!(!K(n).trim()||!K(r)||t.cloning)&&t.onclone(K(r),K(n).trim())}var o=Sa(),s=z(L(o),2),c=L(s),l=L(c),u=z(L(l),2);Q(u,21,()=>K(i),e=>e.id,(e,t)=>{var n=pa(),r=L(n,!0);A(n);var i={};B(()=>{X(r,K(t).name),i!==(i=K(t).id)&&(n.value=(n.__value=K(t).id)??``)}),Y(e,n)}),A(u),A(l);var d=z(l,2),f=z(L(d),2);Yr(f),A(d);var p=z(d,2),m=L(p,!0);A(p),A(c);var h=z(c,4),g=e=>{var n=ma(),r=L(n,!0);A(n),B(()=>X(r,t.cloneStatus)),Y(e,n)};Z(h,e=>{t.cloneStatus&&e(g)}),A(s);var _=z(s,2),v=e=>{var n=Sr(),r=R(n),i=e=>{var n=Sr(),r=R(n),i=e=>{var n=ya(),r=R(n),i=L(r),a=z(L(i),2);Q(a,20,()=>t.summary.branches??[],e=>e,(e,t)=>{var n=pa(),r=L(n,!0);A(n);var i={};B(()=>{X(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),Y(e,n)}),A(a);var o;Hr(a);var s=z(a,2),c=L(s);A(s);var l=z(s,2),u=L(l);A(l);var d=z(l,2),f=L(d),p=L(f,!0);A(f),A(d);var m=z(d,2),h=L(m);A(m),A(i);var g=z(i,2),_=L(g),v=z(_,2),y=z(L(v));A(v),A(g),A(r);var b=z(r,2),x=e=>{var n=ha(),r=L(n,!0);A(n),B(()=>X(r,t.error)),Y(e,n)};Z(b,e=>{t.error&&e(x)});var S=z(b,2),ee=e=>{var n=ga(),r=L(n),i=L(r);A(r);var a=z(r,2),o=z(a,2);A(n),B(()=>X(i,`Push HEAD to ${t.summary.upstream??``}?`)),q(`click`,a,function(...e){t.onpush?.apply(this,e)}),q(`click`,o,function(...e){t.oncancelpush?.apply(this,e)}),Y(e,n)};Z(S,e=>{t.confirmingPush&&e(ee)});var te=z(S,2),ne=e=>{var n=va(),r=z(L(n),2);Q(r,21,()=>t.summary.commits,e=>e.hash,(e,t)=>{var n=_a(),r=L(n),i=L(r),a=L(i,!0);A(i);var o=z(i),s=L(o,!0);A(o),A(r);var c=z(r,2),l=L(c),u=L(l,!0);A(l);var d=z(l),f=L(d,!0);A(d),A(c),A(n),B(e=>{$(i,`title`,K(t).hash),X(a,K(t).shortHash),X(s,K(t).subject),X(u,K(t).author),$(d,`datetime`,K(t).authoredAt),$(d,`title`,K(t).authoredAt),X(f,e)},[()=>fa(K(t).authoredAt)]),Y(e,n)}),A(r),A(n),Y(e,n)};Z(te,e=>{t.summary.commits.length&&e(ne)}),B(e=>{a.disabled=t.refreshing||t.checkingOut||!t.summary.branches?.length,o!==(o=t.summary.branch??``)&&(a.value=(a.__value=t.summary.branch??``)??``,Vr(a,t.summary.branch??``)),X(c,`Upstream: ${t.summary.upstream??`none`??``}`),X(u,`Ahead ${t.summary.ahead??``}; behind ${t.summary.behind??``}.`),$(f,`datetime`,t.summary.fetchedAt??void 0),X(p,e),X(h,`Changes: ${t.summary.dirty.staged??``} staged, ${t.summary.dirty.unstaged??``} unstaged, ${t.summary.dirty.untracked??``} untracked.`),_.disabled=t.refreshing||t.checkingOut||!t.summary.upstream||t.summary.ahead<1||t.summary.behind>0,v.disabled=t.refreshing||t.checkingOut,X(y,` ${t.refreshing?`Pulling…`:`Pull`}`)},[()=>da(t.summary.fetchedAt)]),q(`change`,a,e=>t.oncheckout(e.currentTarget.value)),q(`click`,_,function(...e){t.onopenpushconfirmation?.apply(this,e)}),q(`click`,v,function(...e){t.onpull?.apply(this,e)}),Y(e,n)},a=e=>{Y(e,ba())};Z(r,e=>{t.summary.available?e(i):e(a,-1)}),Y(e,n)};Z(r,e=>{t.summary&&e(i)}),Y(e,n)},y=e=>{Y(e,xa())};Z(_,e=>{t.sessionId?e(v):e(y,-1)}),A(o),B(()=>{u.disabled=t.cloning||!K(i).length,p.disabled=t.cloning,X(m,t.cloning?`Cloning…`:`Clone`)}),pr(`submit`,s,a),Ur(u,()=>K(r),e=>F(r,e)),ei(f,()=>K(n),e=>F(n,e)),Y(e,o),Be()}mr([`change`,`click`]);function wa(e,t,n,r){return[...e,{id:t,role:`user`,text:n,...r?{occurredAt:r}:{},complete:!0}]}function Ta(e,t,n,r){return e.find(e=>e.id===t)?e.map(e=>e.id===t?{...e,text:e.text+n}:e):[...e,{id:t,role:`assistant`,phase:`commentary`,text:n,...r?{occurredAt:r}:{},complete:!1}]}function Ea(e,t){return e.map(e=>e.id===t?{...e,complete:!0}:e)}function Da(e){if(typeof e!=`object`||!e)return null;let t=e.permissions;if(typeof t!=`object`||!t)return null;let n=t;return{permissions:{...n.network===null||n.network===void 0?{}:{network:n.network},...n.fileSystem===null||n.fileSystem===void 0?{}:{fileSystem:n.fileSystem}},scope:`turn`}}function Oa(e=fetch){async function t(e){let t=await e.json().catch(()=>null),n=typeof t?.detail==`string`?t.detail:typeof t?.title==`string`?t.title:`Relay request failed (${e.status}).`;return Error(n)}async function n(n,r,i={}){let a=await e(n,{method:`POST`,headers:{"content-type":`application/json`,...i},body:JSON.stringify(r)});if(!a.ok)throw await t(a);return a.json()}async function r(n){let r=await e(n);if(!r.ok)throw await t(r);return r.json()}return{listSessions:()=>r(`/api/sessions`),listRecentSessions:()=>r(`/api/sessions/recent-threads`),openRecentSession:(e,t)=>n(`/api/sessions/recent-threads/open`,{threadId:e,cwd:t}),startSession:(e,t={},r)=>n(`/api/sessions`,{workspaceId:e,profile:`default`,...t},r?{"idempotency-key":r}:{}),startTurn:(e,t)=>n(`/api/sessions/${encodeURIComponent(e)}/turns`,{text:t}),interruptTurn:(e,t)=>n(`/api/sessions/${encodeURIComponent(e)}/turns/${encodeURIComponent(t)}/interrupt`,{}),restoreSession:e=>n(`/api/sessions/${encodeURIComponent(e)}/restore`,{}),releaseSession:e=>n(`/api/sessions/${encodeURIComponent(e)}/release`,{}),forgetSession:n=>e(`/api/sessions/${encodeURIComponent(n)}`,{method:`DELETE`}).then(async e=>{if(!e.ok)throw await t(e)}),getHistory:e=>r(`/api/sessions/${encodeURIComponent(e)}/history`),getGitSummary:e=>r(`/api/sessions/${encodeURIComponent(e)}/git`),cloneGitRepository:(e,t)=>n(`/api/git/clone`,{workspaceId:e,address:t}),pullGit:(e,t)=>n(`/api/sessions/${encodeURIComponent(e)}/git/pull`,{},t?{"idempotency-key":t}:{}),checkoutGitBranch:(e,t)=>n(`/api/sessions/${encodeURIComponent(e)}/git/checkout`,{branch:t}),pushGit:(e,t)=>n(`/api/sessions/${encodeURIComponent(e)}/git/push`,{},t?{"idempotency-key":t}:{}),respondInteraction:(e,t,r)=>n(`/api/sessions/${encodeURIComponent(e)}/interactions/${encodeURIComponent(t)}`,r)}}async function ka(e,t=globalThis.navigator?.clipboard,n=ja){if(!t)return Aa(e,n);try{return await t.writeText(e),!0}catch{return Aa(e,n)}}function Aa(e,t){try{return t(e)}catch{return!1}}function ja(e){if(typeof document>`u`||!document.body)return!1;let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.cssText=`position:fixed;opacity:0`,document.body.append(t),t.select();let n=document.execCommand(`copy`);return t.remove(),n}function Ma(e=globalThis.crypto,t=Date.now,n=Math.random){return typeof e?.randomUUID==`function`?e.randomUUID():`k-${t().toString(36)}-${Math.floor(n()*4294967296).toString(36)}`}function Na(e,t,n,r=()=>{}){if(t.type!==`relay.event`||!t.event||t.event.sequence<=e)return e;if(t.event.sequence>e+1)return r(t.event.sequence),e;if(t.event.type===`agentMessageDelta`){let e=t.event.payload.text;e&&n(e)}return t.event.sequence}function Pa(e){return e?`Codex is working…`:`Ready for your next instruction.`}function Fa(e,t=Math.random){let n=[500,1e3,2e3,5e3,1e4];return Math.round((n[Math.min(e,n.length-1)]??1e4)*(.8+t()*.4))}var Ia=`settings`,La=`drafts`,Ra=`cursors`,za=`selected-session`;function Ba(e=globalThis.indexedDB){if(!e)return Va;let t=ra(e);return{async readSelectedSession(){try{return await ia(await t,Ia,za)??null}catch{return null}},async saveSelectedSession(e){try{let n=await t;e?await aa(n,Ia,za,e):await oa(n,Ia,za)}catch{}},async readDraft(e){try{return await ia(await t,La,e)??``}catch{return``}},async saveDraft(e,n){try{await aa(await t,La,e,n)}catch{}},async readCursor(e){try{let n=await ia(await t,Ra,e);return typeof n==`number`&&Number.isSafeInteger(n)&&n>=0?n:0}catch{return 0}},async saveCursor(e,n){try{await aa(await t,Ra,e,n)}catch{}}}}var Va={readSelectedSession:async()=>null,saveSelectedSession:async()=>{},readDraft:async()=>``,saveDraft:async()=>{},readCursor:async()=>0,saveCursor:async()=>{}};function Ha(e,t=Date.now()){if(e===null)return`Unknown activity time`;let n=Math.max(0,t-e),r=Math.floor(n/(3600*1e3));if(r<1)return`Less than an hour ago`;if(r<24)return`${r} hour${r===1?``:`s`} ago`;let i=Math.floor(r/24);return`${i} day${i===1?``:`s`} ago`}function Ua(e){let t=e.updatedAt?Date.parse(e.updatedAt):NaN;return{threadId:e.threadId??null,workspacePath:e.workspacePath??`Workspace unavailable`,updatedAt:Number.isFinite(t)?t:null}}var Wa=J(`<time> </time>`),Ga=J(`<div> </div>`),Ka=J(`<span>running</span>`),qa=J(`<button type="button">Copy</button>`),Ja=J(`<li class="managed-session svelte-hxb22h"><div class="session-details svelte-hxb22h"><!> <div class="workspace-path svelte-hxb22h"> </div> <!></div> <div class="session-actions svelte-hxb22h"><button type="button">Open</button> <!> <button type="button">Forget</button></div></li>`),Ya=J(`<ul class="session-list svelte-hxb22h" aria-label="Saved sessions"></ul>`),Xa=J(`<p>No saved sessions yet.</p>`),Za=J(`<option> </option>`),Qa=J(`<li class="recent-session svelte-hxb22h"><div class="session-details svelte-hxb22h"><!> <div class="workspace-path svelte-hxb22h"> </div></div> <button type="button">Open</button></li>`),$a=J(`<ul class="session-list recent-session-list svelte-hxb22h" aria-label="Recent sessions"></ul>`),eo=J(`<p>No recent Codex sessions found.</p>`),to=J(`<section aria-labelledby="sessions-title"><h2 id="sessions-title" class="visually-hidden">Sessions</h2> <!> <form><div class="form-row svelte-hxb22h"><label for="workspace">Workspace</label> <select id="workspace" required=""></select></div> <div class="form-row svelte-hxb22h"><label for="sandbox">Sandbox</label> <label for="approval-policy">Approval policy</label> <select id="sandbox"><option>Codex default</option><option>read-only</option><option>workspace-write</option><option>danger-full-access</option></select> <select id="approval-policy"><option>untrusted</option><option>on-request</option><option>never</option></select></div> <button type="submit"> </button></form> <section aria-labelledby="recent-sessions-title"><h3 id="recent-sessions-title">Recent sessions</h3> <!></section></section>`);function no(e,t){ze(t,!0);var n=to(),r=z(L(n),2),i=e=>{var n=Ya();Q(n,21,()=>t.sessions,e=>e.id,(e,n)=>{let r=lt(()=>Ua(K(n)));var i=Ja(),a=L(i),o=L(a),s=e=>{var t=Wa(),n=L(t,!0);A(t),B((e,r)=>{$(t,`datetime`,e),X(n,r)},[()=>new Date(K(r).updatedAt).toISOString(),()=>Ha(K(r).updatedAt)]),Y(e,t)},c=e=>{var t=Ga(),n=L(t,!0);A(t),B(e=>X(n,e),[()=>Ha(null)]),Y(e,t)};Z(o,e=>{K(r).updatedAt===null?e(c,-1):e(s)});var l=z(o,2),u=L(l,!0);A(l);var d=z(l,2),f=e=>{Y(e,Ka())};Z(d,e=>{(K(n).state===`ready`||K(n).state===`turnActive`)&&e(f)}),A(a);var p=z(a,2),m=L(p),h=z(m,2),g=e=>{var r=qa();q(`click`,r,()=>t.oncopyresume(K(n).resumeCommand??``)),Y(e,r)};Z(h,e=>{K(n).resumeCommand&&e(g)});var _=z(h,2);A(p),A(i),B(()=>X(u,K(r).workspacePath)),q(`click`,m,()=>t.onopen(K(n).id)),q(`click`,_,()=>t.onforget(K(n).id)),Y(e,i)}),A(n),Y(e,n)},a=e=>{Y(e,Xa())};Z(r,e=>{t.sessions.length?e(i):e(a,-1)});var o=z(r,2),s=L(o),c=z(L(s),2);Q(c,21,()=>t.workspaces,e=>e.id,(e,t)=>{var n=Za(),r=L(n,!0);A(n);var i={};B(()=>{X(r,K(t).name),i!==(i=K(t).id)&&(n.value=(n.__value=K(t).id)??``)}),Y(e,n)}),A(c);var l;Hr(c),A(s);var u=z(s,2),d=z(L(u),4),f=L(d);f.value=f.__value=``;var p=z(f);p.value=p.__value=`read-only`;var m=z(p);m.value=m.__value=`workspace-write`;var h=z(m);h.value=h.__value=`danger-full-access`,A(d);var g;Hr(d);var _=z(d,2),v=L(_);v.value=v.__value=`untrusted`;var y=z(v);y.value=y.__value=`on-request`;var b=z(y);b.value=b.__value=`never`,A(_);var x;Hr(_),A(u);var S=z(u,2),ee=L(S,!0);A(S),A(o);var te=z(o,2),ne=z(L(te),2),re=e=>{var n=$a();Q(n,21,()=>t.recentSessions,e=>e.id,(e,n)=>{var r=Qa(),i=L(r),a=L(i),o=e=>{var t=Wa(),r=L(t,!0);A(t),B((e,n)=>{$(t,`datetime`,e),X(r,n)},[()=>new Date(K(n).recencyAt*1e3).toISOString(),()=>Ha(K(n).recencyAt*1e3)]),Y(e,t)},s=e=>{var t=Ga(),n=L(t,!0);A(t),B(e=>X(n,e),[()=>Ha(null)]),Y(e,t)};Z(a,e=>{K(n).recencyAt===null?e(s,-1):e(o)});var c=z(a,2),l=L(c,!0);A(c),A(i);var u=z(i,2);A(r),B(()=>X(l,K(n).cwd)),q(`click`,u,()=>t.onopenrecent(K(n))),Y(e,r)}),A(n),Y(e,n)},ie=e=>{Y(e,eo())};Z(ne,e=>{t.recentSessions.length?e(re):e(ie,-1)}),A(te),A(n),B(()=>{l!==(l=t.workspaceId)&&(c.value=(c.__value=t.workspaceId)??``,Vr(c,t.workspaceId)),g!==(g=t.sandbox)&&(d.value=(d.__value=t.sandbox)??``,Vr(d,t.sandbox)),x!==(x=t.approvalPolicy)&&(_.value=(_.__value=t.approvalPolicy)??``,Vr(_,t.approvalPolicy)),S.disabled=!t.workspaceId||t.startingSession,X(ee,t.startingSession?`Starting…`:`New session`)}),pr(`submit`,o,e=>{e.preventDefault(),t.onstart()}),q(`change`,c,e=>t.onworkspacechange(e.currentTarget.value)),q(`change`,d,e=>t.onsandboxchange(e.currentTarget.value)),q(`change`,_,e=>t.onapprovalpolicychange(e.currentTarget.value)),Y(e,n),Be()}mr([`click`,`change`]);function ro(e){let t={};return e.workspaceId||(t.workspaceId=`Choose a workspace.`),e.profile||(t.profile=`Choose a profile.`),e.profile&&e.profileState&&e.profileState!==`ok`&&(t.profile=`Sign in to this profile before starting Codex.`),t}function io(e,t){let n=[`chat`,`git`,`sessions`];return n[(n.indexOf(e)+t+n.length)%n.length]}var ao=J(`<nav class="bottom-navigation" aria-label="Primary"><button>Chat</button> <button>Git</button> <button>Sessions</button></nav>`);function oo(e,t){ze(t,!0);let n={};function r(e){let r=e.key===`ArrowRight`?1:e.key===`ArrowLeft`?-1:null;if(r===null)return;e.preventDefault();let i=io(t.activeTab,r);t.onselect(i),n[i]?.focus()}var i=ao(),a=L(i);ii(a,e=>n.chat=e,()=>n?.chat);var o=z(a,2);ii(o,e=>n.git=e,()=>n?.git);var s=z(o,2);ii(s,e=>n.sessions=e,()=>n?.sessions),A(i),B(()=>{$(a,`aria-pressed`,t.activeTab===`chat`),$(o,`aria-pressed`,t.activeTab===`git`),$(s,`aria-pressed`,t.activeTab===`sessions`)}),q(`keydown`,a,r),q(`click`,a,()=>t.onselect(`chat`)),q(`keydown`,o,r),q(`click`,o,()=>t.onselect(`git`)),q(`keydown`,s,r),q(`click`,s,()=>t.onselect(`sessions`)),Y(e,i),Be()}mr([`keydown`,`click`]);var so=J(`<p> </p> <!> <!> <!> <!>`,1),co=J(`<p>Start a session from the Sessions tab to chat with Codex.</p>`),lo=J(`<section aria-labelledby="chat-title"><h2 id="chat-title" class="visually-hidden">Chat</h2> <!></section>`),uo=J(`<main><!> <!> <!></main>`);function fo(e,t){ze(t,!0);let n=P(`chat`),r=P(`Loading relay…`),i=P(`system`),a=P(Gt([])),o=P(null),s=P(Gt([])),c=P(Gt([])),l=P(``),u=P(``),d=P(`on-request`),f=P(null),p=P(!1),m=P(``),h=P(null),g=P(!1),_=P(Gt([])),v=P(Gt([])),y=P(0),b=null,x=null,S=null,ee=null,te=!1,ne=0,re=0,ie=P(null),ae=P(!1),oe=P(!1),se=P(!1),ce=P(!1),le=P(null),ue=P(null),de=P(null),fe=P(null),C=P(Gt([])),pe=Gt({}),w=Oa(),me=ua(),T=Ba();ai(async()=>{let e=localStorage.getItem(`gestalt-mobile.theme`);(e===`light`||e===`dark`||e===`system`)&&he(e),ee=setInterval(Ee,2e3),document.addEventListener(`visibilitychange`,Ee),window.addEventListener(`focus`,Ee);try{let e=await Qi();F(a,e.workspaces,!0),F(l,K(a)[0]?.id??``,!0);let t=await T.readSelectedSession();F(o,e.sessions.some(e=>e.id===t)?t:e.sessions[0]?.id??null,!0),K(o)&&F(y,await T.readCursor(K(o)),!0),K(o)&&F(m,await T.readDraft(K(o)),!0),K(o)&&F(_,await me.read(K(o)),!0),F(s,e.sessions,!0),F(C,K(s).find(e=>e.id===K(o))?.pendingInteractions??[],!0),ve(),F(h,K(s).find(e=>e.id===K(o))?.activeTurnId??null,!0),F(r,K(o)?Pa(K(h)):`Choose a workspace and start a session.`,!0),K(o)&&(await Te(K(o)),Le(K(o)))}catch{F(r,`Relay unavailable. Check the server connection.`)}});function he(e){F(i,e,!0),e===`system`?document.documentElement.removeAttribute(`data-theme`):document.documentElement.dataset.theme=e,localStorage.setItem(`gestalt-mobile.theme`,e)}oi(()=>{x&&clearTimeout(x),S&&clearTimeout(S),ee&&clearInterval(ee),document.removeEventListener(`visibilitychange`,Ee),window.removeEventListener(`focus`,Ee),b?.close()});async function ge(){if(!K(l)||K(p))return;let e=ro({workspaceId:K(l),profile:`default`,profileState:`ok`});if(e.profile){F(r,e.profile,!0);return}F(f,K(f)??Ma(),!0),F(p,!0),F(r,`Starting session…`);try{let e=await w.startSession(K(l),{sandbox:K(u)||void 0,approvalPolicy:K(d)},K(f));F(f,null),F(o,e.id,!0),F(h,null),T.saveSelectedSession(e.id),await _e(),F(_,[],!0),Fe(e.id),F(v,[],!0),F(y,0),F(m,await T.readDraft(e.id),!0),Le(e.id),F(n,`chat`),F(r,`Session started.`)}catch(e){F(r,`Could not start session: ${e instanceof Error?e.message:`Unknown relay error.`}`)}finally{F(p,!1)}}async function _e(){F(s,await w.listSessions(),!0)}async function ve(){try{F(c,await w.listRecentSessions(),!0)}catch{F(c,[],!0)}}async function ye(){try{await Promise.all([_e(),ve()])}catch(e){F(r,`Could not refresh sessions: ${Ie(e)}`)}}async function be(e){let t=K(s).find(t=>t.id===e);t&&t.state!==`ready`&&t.state!==`turnActive`&&(await w.restoreSession(e),await _e()),F(o,e,!0),T.saveSelectedSession(e),F(_,await me.read(e),!0),F(v,[],!0),F(y,0),F(m,await T.readDraft(e),!0),F(h,K(s).find(t=>t.id===e)?.activeTurnId??null,!0),F(C,K(s).find(t=>t.id===e)?.pendingInteractions??[],!0),F(n,`chat`);try{await Te(e),Le(e)}catch(e){F(r,`Could not open session: ${Ie(e)}`)}}async function xe(e){F(r,`Opening recent session…`);try{let t=await w.openRecentSession(e.id,e.cwd);await ye(),await be(t.id)}catch(e){F(r,`Could not open recent session: ${Ie(e)}`)}}async function Se(e){try{await w.forgetSession(e),K(o)===e&&(b?.close(),F(o,null),F(h,null),T.saveSelectedSession(null)),await ye()}catch(e){F(r,`Could not forget session: ${Ie(e)}`)}}async function Ce(e){F(r,await ka(e)?`SSH resume command copied.`:`Could not copy the SSH resume command.`,!0)}async function we(){if(!K(o)||!K(m).trim()||K(h)||K(g))return;let e=K(m).trim();F(g,!0);try{let t=await w.startTurn(K(o),e);F(h,t.activeTurnId??null,!0),F(_,wa(K(_),`user-${t.activeTurnId??Date.now().toString()}`,e,Date.now()),!0),Fe(K(o)),F(m,``),T.saveDraft(K(o),``),F(r,Pa(K(h)),!0)}catch{F(r,`Message was not sent. Your draft is preserved.`)}finally{F(g,!1)}}async function E(){if(!(!K(o)||!K(h)))try{await w.interruptTurn(K(o),K(h)),F(h,null),F(r,`Codex turn interrupted.`)}catch(e){F(r,`Could not interrupt Codex: ${Ie(e)}`)}}async function Te(e,t=0){let n=await w.getHistory(e);if(K(o)!==e)return;let i=n.items.filter(e=>(e.kind===`user`||e.kind===`agent`)&&e.text).map(e=>({id:e.id,role:e.kind===`user`?`user`:`assistant`,text:e.text,...typeof e.occurredAt==`number`?{occurredAt:e.occurredAt}:{},...e.phase===`commentary`||e.phase===`final_answer`?{phase:e.phase}:{},complete:!0})),a=K(_).filter(e=>!e.complete);F(_,[...i,...a],!0),Fe(e);let c=n.items.flatMap(e=>{let t=$i(e);return t?[t]:[]});F(v,[...c,...K(v).filter(e=>!c.some(t=>t.id===e.id))],!0),`activeTurnId`in n&&(F(h,n.activeTurnId??null,!0),F(s,K(s).map(t=>t.id===e?{...t,activeTurnId:K(h)}:t),!0)),F(y,Math.max(K(y),n.currentSequence??t),!0),T.saveCursor(e,K(y)),F(r,Pa(K(h)),!0)}function Ee(){K(n)!==`chat`||!K(o)||document.visibilityState!==`visible`||te||(te=!0,Te(K(o)).catch(()=>void 0).finally(()=>{te=!1}))}function De(e){F(n,e,!0),e===`chat`&&Ee(),e===`git`&&Oe(),e===`sessions`&&ye()}async function Oe(){K(o)&&F(ie,await w.getGitSummary(K(o)),!0)}async function ke(){if(K(o)){F(de,K(de)??Ma(),!0),F(oe,!0),F(le,null);try{await w.pullGit(K(o),K(de)),await Oe(),F(de,null)}catch(e){F(le,e instanceof Error?e.message:`Git pull --rebase failed.`,!0)}finally{F(oe,!1)}}}async function D(e,t){if(!K(ce)){F(ce,!0),F(le,null),F(ue,null);try{await w.cloneGitRepository(e,t);let n=await Qi();F(a,n.workspaces,!0),F(ue,`Repository cloned into the selected workspace.`)}catch(e){F(le,`Could not clone repository: ${Ie(e)}`)}finally{F(ce,!1)}}}async function Ae(e){if(!(!K(o)||e===K(ie)?.branch)){F(se,!0),F(le,null);try{await w.checkoutGitBranch(K(o),e),await Oe()}catch(e){F(le,e instanceof Error?e.message:`Git checkout failed.`,!0)}finally{F(se,!1)}}}async function O(){if(K(o)){F(fe,K(fe)??Ma(),!0),F(le,null);try{await w.pushGit(K(o),K(fe)),F(ae,!1),await Oe(),F(fe,null)}catch{F(le,`Push failed. Refresh the branch status and resolve remote divergence first.`)}}}async function k(e,t){K(o)&&(await w.respondInteraction(K(o),e,{decision:t}),F(C,K(C).filter(t=>t.requestId!==e),!0))}async function je(e){if(!K(o))return;let t=pi(fi(e.payload).map(e=>({id:e.id,answer:pe[e.id]??``})));await w.respondInteraction(K(o),e.requestId,t),F(C,K(C).filter(t=>t.requestId!==e.requestId),!0)}async function Me(e){if(!K(o))return;let t=Da(e.payload);if(!t){F(r,`Codex sent an invalid permission request.`);return}await w.respondInteraction(K(o),e.requestId,t),F(C,K(C).filter(t=>t.requestId!==e.requestId),!0)}function Ne(e,t){pe[e]=t}function Pe(e){F(m,e,!0),K(o)&&T.saveDraft(K(o),e)}function Fe(e){me.write(e,K(_))}function Ie(e){return e instanceof Error?e.message:`Unknown relay error.`}function Le(e){x&&clearTimeout(x),S&&clearTimeout(S),b?.close();let t=++re,n=location.protocol===`https:`?`wss:`:`ws:`;b=new WebSocket(`${n}//${location.host}/api/sessions/${encodeURIComponent(e)}/events?after=${K(y)}`),b.onopen=()=>{t!==re||K(o)!==e||(F(r,Pa(K(h)),!0),Ee(),S=setTimeout(()=>{ne=0},3e4))},b.onmessage=t=>{let n=JSON.parse(String(t.data));if(n.type===`relay.resyncRequired`){Te(e,typeof n.currentSequence==`number`?n.currentSequence:0);return}if(n.type===`relay.event`&&n.event?.type===`interaction.requested`){let e=n.event.payload;K(C).some(t=>t.requestId===e.requestId)||F(C,[...K(C),e],!0)}if(n.type===`relay.event`&&n.event?.type===`turnCompleted`&&(F(h,null),F(r,Pa(K(h)),!0),F(_,Ea(K(_),`assistant-${e}`),!0),Fe(e),Te(e).catch(()=>void 0)),n.type===`relay.event`&&n.event?.type===`session.updated`){let t=n.event.payload;if(typeof t==`object`&&t&&t.id===e){let n=t,i=K(h);F(h,typeof n.activeTurnId==`string`?n.activeTurnId:null,!0),i&&!K(h)&&F(r,Pa(K(h)),!0),F(s,K(s).map(t=>t.id===e?{...t,...n}:t),!0)}}if(n.type===`relay.event`&&n.event?.type===`interaction.resolved`){let{requestId:e}=n.event.payload;F(C,K(C).filter(t=>t.requestId!==e),!0)}if(n.type===`relay.event`&&n.event?.type===`activity.updated`){let e=n.event.payload;typeof e.id==`string`&&typeof e.label==`string`&&typeof e.detail==`string`&&F(v,[...K(v).filter(t=>t.id!==e.id),e],!0)}F(y,Na(K(y),n,t=>{F(_,Ta(K(_),`assistant-${e}`,t,Date.now()),!0),Fe(e)},()=>{Te(e)}),!0),T.saveCursor(e,K(y))},b.onclose=()=>{t!==re||K(o)!==e||(S&&clearTimeout(S),F(r,`Connection interrupted. Reconnecting…`),x=setTimeout(()=>Le(e),Fa(ne++)))}}var j=uo();Lr(`y74n0s`,e=>{bn(()=>{Yt.title=`Gestalt Mobile`})});let Re;var Ve=L(j);ci(Ve,{get theme(){return K(i)},onthemechange:he});var He=z(Ve,2),Ue=e=>{var t=lo(),n=z(L(t),2),i=e=>{var t=so(),n=R(t),i=L(n);A(n);var a=z(n,2);Zi(a,{get messages(){return K(_)}});var c=z(a,2);di(c,{get activities(){return K(v)}});var l=z(c,2);Si(l,{get interactions(){return K(C)},get answers(){return pe},onanswer:Ne,onuserinput:e=>void je(e),onpermission:e=>void Me(e),ondecision:(e,t)=>void k(e,t)}),Ei(z(l,2),{get status(){return K(r)},get message(){return K(m)},get activeTurnId(){return K(h)},get starting(){return K(g)},onchange:Pe,onsend:()=>void we(),oninterrupt:()=>void E()}),B(e=>X(i,`Connected Codex session: ${e??``}`),[()=>K(s).find(e=>e.id===K(o))?.threadId??`starting…`]),Y(e,t)},a=e=>{Y(e,co())};Z(n,e=>{K(o)?e(i):e(a,-1)}),A(t),Y(e,t)},We=e=>{Ca(e,{get sessionId(){return K(o)},get workspaces(){return K(a)},get cloneWorkspaceId(){return K(l)},get summary(){return K(ie)},get refreshing(){return K(oe)},get checkingOut(){return K(se)},get cloning(){return K(ce)},get error(){return K(le)},get cloneStatus(){return K(ue)},get confirmingPush(){return K(ae)},onpull:()=>void ke(),oncheckout:e=>void Ae(e),onopenpushconfirmation:()=>F(ae,!0),onpush:()=>void O(),oncancelpush:()=>F(ae,!1),onclone:(e,t)=>void D(e,t)})},Ge=e=>{no(e,{get sessions(){return K(s)},get recentSessions(){return K(c)},get workspaces(){return K(a)},get workspaceId(){return K(l)},get sandbox(){return K(u)},get approvalPolicy(){return K(d)},get startingSession(){return K(p)},onworkspacechange:e=>F(l,e,!0),onsandboxchange:e=>F(u,e,!0),onapprovalpolicychange:e=>F(d,e,!0),onopen:be,onopenrecent:e=>void xe(e),onforget:e=>void Se(e),oncopyresume:e=>void Ce(e),onstart:()=>void ge()})};Z(He,e=>{K(n)===`chat`?e(Ue):K(n)===`git`?e(We,1):e(Ge,-1)}),oo(z(He,2),{get activeTab(){return K(n)},onselect:De}),A(j),B(()=>Re=Br(j,1,``,null,Re,{"git-mode":K(n)===`git`})),Y(e,j),Be()}var po=document.getElementById(`app`);if(!po)throw Error(`Missing application mount target`);Cr(fo,{target:po});
@@ -0,0 +1 @@
1
+ form.svelte-1264sfg>[role=status]:where(.svelte-1264sfg){text-align:end;margin-block:0 .35rem}.prompt-row.svelte-1264sfg{align-items:end;gap:.5rem;display:flex}textarea.svelte-1264sfg{resize:vertical;flex:auto;min-block-size:2.75rem}.prompt-row.svelte-1264sfg button:where(.svelte-1264sfg){flex:none;min-block-size:2.75rem;inline-size:2.75rem;padding:0;font-size:1.4rem}li.svelte-1im954t{white-space:pre-wrap;margin-block-end:0}li.svelte-1im954t+li:where(.svelte-1im954t){margin-block-start:1.5rem}.entry-heading.svelte-1im954t{justify-content:space-between;gap:.75rem;display:flex}time.svelte-1im954t{color:#666;white-space:nowrap;font-size:.875em}.entry-content.svelte-1im954t{margin-block:.125rem 0;margin-inline-start:1rem}pre.svelte-1im954t,code.svelte-1im954t{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}pre.svelte-1im954t{white-space:pre;overflow-x:auto}.table-scroll.svelte-1im954t{margin-block:.75rem;overflow-x:auto}table.svelte-1im954t{border-collapse:collapse;white-space:normal;width:max-content;min-width:100%}th.svelte-1im954t,td.svelte-1im954t{text-align:left;vertical-align:top;padding:.25rem .5rem}th.svelte-1im954t{font-weight:600}.git-view.svelte-pudr3t{inline-size:100%}.clone-form.svelte-pudr3t{gap:.35rem;margin-block-end:1.5rem;display:grid}.clone-controls.svelte-pudr3t{grid-template-columns:minmax(10rem,.45fr) minmax(0,1fr) auto;align-items:end;gap:.5rem;display:grid}.clone-field.svelte-pudr3t{gap:.35rem;display:grid}.clone-controls.svelte-pudr3t button:where(.svelte-pudr3t){min-inline-size:5.75rem}.clone-form.svelte-pudr3t p:where(.svelte-pudr3t){color:color-mix(in srgb, CanvasText 70%, Canvas);margin:0;font-size:.875rem}.clone-status.svelte-pudr3t{font-weight:600;color:canvastext!important}.git-overview.svelte-pudr3t{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;display:grid}.git-status.svelte-pudr3t p:where(.svelte-pudr3t){margin-block:.5rem}.git-actions.svelte-pudr3t{gap:.5rem;display:grid}.git-actions.svelte-pudr3t button:where(.svelte-pudr3t){min-inline-size:6rem}.commit-history.svelte-pudr3t{margin-block-start:2rem}.commit-history.svelte-pudr3t h3:where(.svelte-pudr3t){margin-block-end:.75rem}.commit-list.svelte-pudr3t{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.commit-entry.svelte-pudr3t{border-block-end:1px solid color-mix(in srgb, CanvasText 20%, Canvas);gap:.35rem;padding:.8rem 0;display:grid}.commit-subject.svelte-pudr3t,.commit-meta.svelte-pudr3t{gap:.65rem;min-inline-size:0;display:flex}.commit-subject.svelte-pudr3t{overflow-wrap:anywhere;align-items:baseline;font-weight:600}.commit-subject.svelte-pudr3t code:where(.svelte-pudr3t){color:color-mix(in srgb, CanvasText 75%, Canvas);flex:none;font-size:.875em}.commit-meta.svelte-pudr3t{color:color-mix(in srgb, CanvasText 70%, Canvas);justify-content:space-between;font-size:.875rem}.commit-meta.svelte-pudr3t time:where(.svelte-pudr3t){flex:none}@media (width<=28rem){.clone-controls.svelte-pudr3t{grid-template-columns:1fr}.clone-controls.svelte-pudr3t button:where(.svelte-pudr3t){inline-size:100%}}.session-list.svelte-hxb22h{gap:1rem;margin-block:0 1.5rem;padding-inline:0;list-style:none;display:grid}.managed-session.svelte-hxb22h{gap:.5rem;display:grid}.session-details.svelte-hxb22h{min-inline-size:0}.workspace-path.svelte-hxb22h{overflow-wrap:anywhere}.session-actions.svelte-hxb22h{flex-wrap:wrap;gap:.5rem;display:flex}.recent-session.svelte-hxb22h{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;display:grid}.form-row.svelte-hxb22h{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-block-end:.75rem;display:grid}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{min-block-size:100dvh;margin:0}.visually-hidden{clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;block-size:1px!important;inline-size:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}main{min-block-size:100dvh;max-inline-size:42rem;padding:calc(1rem + env(safe-area-inset-top)) 1rem calc(5rem + env(safe-area-inset-bottom));margin-inline:auto}main.git-mode{max-inline-size:none;margin-inline:0;padding-inline:0}main.git-mode .app-header{padding-inline:1rem}.app-header{z-index:1;margin-block:calc(-1rem - env(safe-area-inset-top)) 1.5rem;padding:calc(1rem + env(safe-area-inset-top)) 0 .75rem;background:color-mix(in srgb, Canvas 78%, transparent);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;inset-block-start:0}.app-header [role=status]{overflow-wrap:anywhere;text-align:end;min-inline-size:0;margin:0}.brand{align-items:center;gap:.4rem;display:flex}.menu-trigger{min-block-size:2rem;inline-size:2.5rem;color:inherit;background:0 0;border:0;flex:none;place-items:center;margin-inline-start:auto;padding:0;display:grid}.menu-lines{gap:.25rem;inline-size:1.25rem;display:grid}.menu-lines span{box-sizing:border-box;background:currentColor;block-size:1px;display:block}.menu-lines span:first-child,.menu-lines span:nth-child(2),.menu-lines span:last-child{block-size:2px}@media (width<=28rem){.app-header [role=status]{flex-basis:100%;margin-inline-start:0}}.brand-icon{block-size:2rem;inline-size:2rem}.brand-logotype{block-size:auto;inline-size:6.25rem}.dark-asset,:root[data-theme=dark] .light-asset{display:none}:root[data-theme=dark] .dark-asset{display:initial}@media (prefers-color-scheme:dark){:root:not([data-theme]) .light-asset{display:none}:root:not([data-theme]) .dark-asset{display:initial}}.configuration-panel{color:canvastext;min-inline-size:min(13rem,100vw - 2rem);box-shadow:0 .5rem 1.5rem color-mix(in srgb, CanvasText 25%, transparent);background:canvas;border:1px solid canvastext;border-radius:.5rem;padding:.75rem;position:fixed;inset:4.5rem 1rem auto auto}.configuration-logo{block-size:auto;inline-size:4.5rem;margin-block-end:.5rem;margin-inline-start:auto;display:block}.appearance-control{align-items:center;gap:.5rem;display:flex}.appearance-control span{letter-spacing:-.08em;font-weight:700}.appearance-control select{field-sizing:content;flex:none;min-block-size:2.25rem;inline-size:auto;padding-inline:.5rem}.bottom-navigation{padding:.5rem 1rem calc(.5rem + env(safe-area-inset-bottom));background:canvas;border-block-start:1px solid canvastext;grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid;position:fixed;inset-block-end:0;inset-inline:0}.bottom-navigation button{transition:color .12s,background-color .12s,box-shadow .12s}.bottom-navigation button[aria-pressed=true]{color:canvas;box-shadow:inset 0 .2rem 0 color-mix(in srgb, Canvas 70%, transparent);background:canvastext;font-weight:700}button{min-block-size:44px}input,select,textarea{box-sizing:border-box;min-block-size:44px;inline-size:100%;font:inherit;font-size:max(1rem,16px)}:focus-visible{outline-offset:3px;outline:3px solid canvastext}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (forced-colors:active){button,input,select,textarea{border:1px solid canvastext}}
@@ -0,0 +1,17 @@
1
+ <svg width="347" height="258" viewBox="0 0 347 258" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_8_30)">
3
+ <path d="M72.7034 0V109.954H61.3497C60.7187 102.729 60.4037 97.5453 60.4037 94.4039V85.921C59.0428 92.6997 55.9769 99.0236 51.494 104.299C47.2361 109.117 41.3752 111.524 33.9104 111.524C27.7726 111.581 21.7687 109.743 16.7219 106.263C11.422 102.59 7.20313 97.5733 4.5002 91.7332C1.42528 85.2014 -0.111682 78.0559 0.00631512 70.8414C-0.100682 63.6209 1.37928 56.4634 4.3432 49.8716C6.95613 43.9795 11.125 38.903 16.4069 35.1858C21.5428 31.6365 27.6606 29.7695 33.9104 29.8444C41.6902 29.8444 47.6561 31.8085 51.809 35.7355C55.9618 39.6616 58.8268 45.1859 60.4037 52.3064V0H72.7034ZM54.4109 91.4973C58.4058 86.1149 60.4037 79.2303 60.4037 70.8414C60.4037 61.9517 58.4058 54.8832 54.4109 49.6367C50.416 44.3903 44.5811 41.7716 36.9073 41.7826C29.2326 41.7826 23.2137 44.4793 18.8508 49.8716C14.4879 55.265 12.307 62.2546 12.307 70.8414C12.215 75.9639 13.293 81.0404 15.4609 85.6861C17.3759 89.8281 20.4048 93.3624 24.2127 95.8961C27.9536 98.3519 32.3475 99.6383 36.8283 99.5873C44.6081 99.5873 50.49 96.8907 54.4739 91.4973H54.4109Z" fill="black"/>
4
+ <path d="M161.013 31.4158L117.332 141.37H104.4L118.593 108.855L88.4736 31.4158H101.562L124.743 93.6184L147.924 31.4158H161.013Z" fill="black"/>
5
+ <path d="M232.905 37.2276C237.688 42.1592 240.08 48.8609 240.08 57.3328V109.954H227.78V60.4743C227.78 48.3382 222.155 42.2642 210.907 42.2542C205.212 42.2262 199.708 44.2962 195.453 48.0653C190.871 52.0344 187.716 57.3838 186.464 63.3019V109.954H174.164V31.4155H186.464V53.8775C187.896 47.1638 191.364 41.0498 196.399 36.3631C200.98 32.1211 207.018 29.7883 213.272 29.8442C221.535 29.8442 228.079 32.305 232.905 37.2276Z" fill="black"/>
6
+ <path d="M327.128 84.8217C325.913 92.2991 322.054 99.0958 316.247 103.985C310.119 109.098 302.316 111.783 294.328 111.525C287.446 111.605 280.678 109.784 274.773 106.263C268.899 102.777 264.099 97.7504 260.896 91.7334C257.464 85.3085 255.728 78.119 255.85 70.8416C255.738 63.5591 257.417 56.3607 260.739 49.8718C263.812 43.8488 268.472 38.7713 274.221 35.186C280.018 31.6088 286.72 29.7557 293.539 29.8446C304.262 29.8446 312.62 33.2479 318.612 40.0546C324.605 46.8613 327.601 56.6005 327.601 69.2713C327.601 71.3763 327.601 72.9465 327.443 73.984H268.15C268.623 80.9506 271.621 87.5094 276.586 92.44C278.907 94.7609 281.675 96.591 284.724 97.8184C287.773 99.0468 291.039 99.6485 294.328 99.5875C299.121 99.7015 303.823 98.2682 307.731 95.5035C311.429 92.8998 314.149 89.1406 315.458 84.8217H327.128ZM277.706 47.3591C273.323 51.2901 270.266 56.4746 268.954 62.2028H315.001C314.465 55.71 312.152 50.6834 308.062 47.1232C303.808 43.5109 298.354 41.6069 292.766 41.7828C287.221 41.6918 281.845 43.6819 277.706 47.3591Z" fill="black"/>
7
+ <path d="M347.091 94.7175H331.007V109.954H347.091V94.7175Z" fill="black"/>
8
+ <path d="M155.54 197.007C149.64 193.642 144.784 188.724 141.505 182.791C137.877 176.205 136.055 168.783 136.223 161.271C136.071 153.787 137.892 146.394 141.505 139.831C144.783 133.837 149.634 128.842 155.54 125.38C161.264 121.995 167.807 120.23 174.464 120.274C181.068 120.242 187.557 122.007 193.229 125.38C199.084 128.855 203.881 133.85 207.106 139.831C210.665 146.412 212.458 153.797 212.31 161.271C212.473 168.773 210.68 176.187 207.106 182.791C203.882 188.711 199.08 193.63 193.229 197.007C187.524 200.282 181.048 201.99 174.464 201.954C167.828 202 161.298 200.293 155.54 197.007ZM186.763 186.561C190.79 184.156 194.087 180.709 196.304 176.587C198.808 171.874 200.056 166.602 199.931 161.271C200.052 155.917 198.804 150.619 196.304 145.878C194.096 141.708 190.8 138.207 186.763 135.747C183.044 133.451 178.759 132.227 174.385 132.212C169.942 132.195 165.579 133.39 161.769 135.668C157.688 138.1 154.36 141.606 152.149 145.8C149.602 150.554 148.326 155.883 148.444 161.271C148.313 166.612 149.591 171.892 152.149 176.587C154.404 180.707 157.726 184.151 161.769 186.561C165.582 188.831 169.943 190.026 174.385 190.016C178.748 189.996 183.025 188.803 186.763 186.561Z" fill="black"/>
9
+ <path d="M248.501 127.264C252.486 122.594 258.11 120.264 265.374 120.274V132.84C258.016 132.84 252.365 135.197 248.422 139.909C244.653 144.292 241.883 149.436 240.301 154.988V191.745H228.001V121.846H240.301V143.207C241.721 137.319 244.533 131.853 248.501 127.264Z" fill="black"/>
10
+ <path d="M328.755 226.79C328.728 222.193 327.063 218.65 324.463 216.296C321.572 213.678 317.235 212.368 311.453 212.368H296.157C289.313 212.368 284.219 211.206 280.86 208.913C279.234 207.837 277.914 206.36 277.03 204.626C276.146 202.892 275.727 200.96 275.814 199.017C275.664 196.967 276.095 194.917 277.057 193.098C278.018 191.28 279.473 189.765 281.254 188.729C285.207 186.499 289.735 185.488 294.264 185.822C288.219 183.559 283.018 179.502 279.362 174.199C275.405 168.367 273.391 161.443 273.606 154.408C273.483 148.182 275.006 142.034 278.021 136.579C280.783 131.569 284.875 127.412 289.849 124.562C294.736 121.748 300.289 120.283 305.933 120.321C309.258 120.296 312.563 120.827 315.71 121.893L347.091 121.735V135.354C340.563 135.354 333.415 133.312 325.645 129.228C333.73 134.977 337.778 143.354 337.788 154.36C337.929 160.578 336.435 166.725 333.452 172.188C330.724 177.09 326.684 181.142 321.782 183.89C316.944 186.598 311.482 188.005 305.933 187.974C301.325 188.033 296.743 188.667 292.293 189.859C289.502 190.802 288.114 192.53 288.114 195.043C288.08 195.795 288.227 196.543 288.542 197.226C288.858 197.909 289.333 198.507 289.928 198.97C291.534 200.028 293.448 200.526 295.368 200.384H311.295C320.221 200.384 327.422 202.321 332.9 206.195C338.376 210.071 341.17 216.401 341.16 225.198C341.16 225.198 341.169 228.884 341.178 229.615C341.219 233.125 340.485 236.608 339.112 239.842C337.636 243.443 335.454 246.717 332.695 249.47C329.938 252.23 326.65 254.404 323.028 255.863C319.523 257.283 315.773 258.009 311.989 258C308.205 258.008 304.456 257.282 300.95 255.863C297.331 254.408 294.047 252.233 291.3 249.47L291.11 249.282L261.149 216.767C257.927 213.617 253.588 211.86 249.073 211.878C244.559 211.896 240.233 213.686 237.037 216.861C233.834 220.06 232.035 224.392 232.035 228.909C232.035 233.426 233.834 237.759 237.037 240.957C240.236 244.13 244.562 245.918 249.077 245.933C253.591 245.947 257.929 244.188 261.149 241.035L268.465 233.056L276.728 241.947L269.884 249.376L269.79 249.47C267.033 252.23 263.745 254.404 260.124 255.863C256.618 257.282 252.869 258.008 249.085 258C245.301 258.008 241.552 257.282 238.046 255.863C234.426 254.408 231.142 252.233 228.395 249.47C225.625 246.726 223.443 243.45 221.977 239.842C220.551 236.351 219.823 232.616 219.833 228.846C219.823 225.077 220.551 221.342 221.977 217.851C223.443 214.243 225.625 210.967 228.395 208.222C231.142 205.46 234.426 203.285 238.046 201.829C241.553 200.415 245.302 199.695 249.085 199.709C252.868 199.695 256.617 200.415 260.124 201.829C263.745 203.289 267.033 205.463 269.79 208.222L269.963 208.41L299.926 240.925C303.142 244.077 307.477 245.836 311.989 245.821C316.501 245.807 320.825 244.019 324.021 240.848C325.562 239.391 326.779 237.63 327.594 235.676C328.409 233.723 328.804 231.621 328.752 229.506C328.752 228.842 328.742 227.309 328.755 226.79ZM319.732 170.304C323.569 166.377 325.488 161.062 325.488 154.36C325.587 150.289 324.637 146.26 322.728 142.657C321.056 139.518 318.581 136.873 315.553 134.992C312.661 133.222 309.327 132.298 305.933 132.323C302.502 132.312 299.129 133.206 296.157 134.914C293.023 136.717 290.456 139.356 288.745 142.533C286.784 146.146 285.805 150.207 285.906 154.313C285.906 161.005 287.878 166.319 291.82 170.256C293.644 172.147 295.837 173.645 298.264 174.658C300.691 175.671 303.301 176.178 305.933 176.147C308.509 176.176 311.063 175.671 313.433 174.666C315.803 173.659 317.937 172.174 319.7 170.304H319.732Z" fill="black"/>
11
+ </g>
12
+ <defs>
13
+ <clipPath id="clip0_8_30">
14
+ <rect width="347" height="258" fill="white"/>
15
+ </clipPath>
16
+ </defs>
17
+ </svg>
@@ -0,0 +1,17 @@
1
+ <svg width="347" height="258" viewBox="0 0 347 258" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_433_161)">
3
+ <path d="M72.7034 0V109.954H61.3497C60.7187 102.729 60.4037 97.5453 60.4037 94.4039V85.921C59.0428 92.6997 55.9769 99.0236 51.494 104.299C47.2361 109.117 41.3752 111.524 33.9104 111.524C27.7726 111.581 21.7687 109.743 16.7219 106.263C11.422 102.59 7.20313 97.5733 4.5002 91.7332C1.42528 85.2014 -0.111682 78.0559 0.00631512 70.8414C-0.100682 63.6209 1.37928 56.4634 4.3432 49.8716C6.95613 43.9795 11.125 38.903 16.4069 35.1858C21.5428 31.6365 27.6606 29.7695 33.9104 29.8444C41.6902 29.8444 47.6561 31.8085 51.809 35.7355C55.9618 39.6616 58.8268 45.1859 60.4037 52.3064V0H72.7034ZM54.4109 91.4973C58.4058 86.1149 60.4037 79.2303 60.4037 70.8414C60.4037 61.9517 58.4058 54.8832 54.4109 49.6367C50.416 44.3903 44.5811 41.7716 36.9073 41.7826C29.2326 41.7826 23.2137 44.4793 18.8508 49.8716C14.4879 55.265 12.307 62.2546 12.307 70.8414C12.215 75.9639 13.293 81.0404 15.4609 85.6861C17.3759 89.8281 20.4048 93.3624 24.2127 95.8961C27.9536 98.3519 32.3475 99.6383 36.8283 99.5873C44.6081 99.5873 50.49 96.8907 54.4739 91.4973H54.4109Z" fill="white"/>
4
+ <path d="M161.013 31.4156L117.332 141.37H104.4L118.593 108.855L88.4736 31.4156H101.562L124.743 93.6183L147.924 31.4156H161.013Z" fill="white"/>
5
+ <path d="M232.905 37.2276C237.688 42.1592 240.08 48.8609 240.08 57.3328V109.954H227.78V60.4743C227.78 48.3382 222.155 42.2642 210.907 42.2542C205.212 42.2262 199.708 44.2962 195.453 48.0653C190.871 52.0344 187.716 57.3838 186.464 63.3019V109.954H174.164V31.4155H186.464V53.8775C187.896 47.1638 191.364 41.0498 196.399 36.3631C200.98 32.1211 207.018 29.7883 213.272 29.8442C221.535 29.8442 228.079 32.305 232.905 37.2276Z" fill="white"/>
6
+ <path d="M327.128 84.8216C325.913 92.299 322.054 99.0956 316.247 103.985C310.119 109.098 302.316 111.782 294.328 111.525C287.446 111.605 280.678 109.783 274.773 106.263C268.899 102.777 264.099 97.7503 260.896 91.7332C257.464 85.3084 255.728 78.1189 255.85 70.8415C255.738 63.559 257.417 56.3605 260.739 49.8717C263.812 43.8486 268.472 38.7711 274.221 35.1859C280.018 31.6086 286.72 29.7555 293.539 29.8445C304.262 29.8445 312.62 33.2478 318.612 40.0545C324.605 46.8612 327.601 56.6004 327.601 69.2712C327.601 71.3762 327.601 72.9464 327.443 73.9839H268.15C268.623 80.9505 271.621 87.5093 276.586 92.4399C278.907 94.7608 281.675 96.5909 284.724 97.8183C287.773 99.0467 291.039 99.6484 294.328 99.5874C299.121 99.7014 303.823 98.2681 307.731 95.5034C311.429 92.8997 314.149 89.1405 315.458 84.8216H327.128ZM277.706 47.3589C273.323 51.29 270.266 56.4745 268.954 62.2027H315.001C314.465 55.7098 312.152 50.6833 308.062 47.123C303.808 43.5108 298.354 41.6067 292.766 41.7827C287.221 41.6917 281.845 43.6817 277.706 47.3589Z" fill="white"/>
7
+ <path d="M347.091 94.7175H331.007V109.954H347.091V94.7175Z" fill="white"/>
8
+ <path d="M155.54 197.007C149.64 193.642 144.784 188.724 141.505 182.791C137.877 176.205 136.055 168.782 136.223 161.271C136.071 153.787 137.892 146.394 141.505 139.831C144.783 133.836 149.634 128.842 155.54 125.38C161.264 121.995 167.807 120.23 174.464 120.274C181.068 120.242 187.557 122.007 193.229 125.38C199.084 128.855 203.881 133.849 207.106 139.831C210.665 146.412 212.458 153.797 212.31 161.271C212.473 168.772 210.68 176.187 207.106 182.791C203.882 188.711 199.08 193.63 193.229 197.007C187.524 200.282 181.048 201.99 174.464 201.954C167.828 202 161.298 200.293 155.54 197.007ZM186.763 186.561C190.79 184.156 194.087 180.709 196.304 176.587C198.808 171.874 200.056 166.601 199.931 161.271C200.052 155.917 198.804 150.619 196.304 145.878C194.096 141.708 190.8 138.207 186.763 135.747C183.044 133.451 178.759 132.227 174.385 132.212C169.942 132.195 165.579 133.39 161.769 135.668C157.688 138.099 154.36 141.606 152.149 145.8C149.602 150.554 148.326 155.883 148.444 161.271C148.313 166.611 149.591 171.892 152.149 176.587C154.404 180.707 157.726 184.151 161.769 186.561C165.582 188.831 169.943 190.026 174.385 190.016C178.748 189.996 183.025 188.803 186.763 186.561Z" fill="white"/>
9
+ <path d="M248.501 127.264C252.486 122.594 258.11 120.264 265.374 120.274V132.84C258.016 132.84 252.365 135.197 248.422 139.909C244.653 144.292 241.883 149.436 240.301 154.988V191.745H228.001V121.846H240.301V143.207C241.721 137.319 244.533 131.853 248.501 127.264Z" fill="white"/>
10
+ <path d="M328.755 226.79C328.728 222.192 327.063 218.65 324.463 216.295C321.572 213.678 317.235 212.368 311.453 212.368H296.157C289.313 212.368 284.219 211.206 280.86 208.913C279.234 207.837 277.914 206.36 277.03 204.626C276.146 202.892 275.727 200.96 275.814 199.017C275.664 196.967 276.095 194.917 277.057 193.098C278.018 191.28 279.473 189.765 281.254 188.729C285.207 186.499 289.735 185.487 294.264 185.822C288.219 183.559 283.018 179.502 279.362 174.199C275.405 168.367 273.391 161.443 273.606 154.408C273.483 148.182 275.006 142.034 278.021 136.579C280.783 131.569 284.875 127.412 289.849 124.562C294.736 121.748 300.289 120.283 305.933 120.321C309.258 120.296 312.563 120.827 315.71 121.893L347.091 121.735V135.354C340.563 135.354 333.415 133.312 325.645 129.228C333.73 134.977 337.778 143.354 337.788 154.36C337.929 160.578 336.435 166.725 333.452 172.188C330.724 177.09 326.684 181.142 321.782 183.89C316.944 186.598 311.482 188.005 305.933 187.974C301.325 188.033 296.743 188.667 292.293 189.859C289.502 190.802 288.114 192.53 288.114 195.043C288.08 195.794 288.227 196.543 288.542 197.226C288.858 197.909 289.333 198.507 289.928 198.97C291.534 200.028 293.448 200.526 295.368 200.384H311.295C320.221 200.384 327.422 202.321 332.9 206.195C338.376 210.07 341.17 216.401 341.16 225.198C341.16 225.198 341.169 228.884 341.178 229.615C341.219 233.125 340.485 236.607 339.112 239.842C337.636 243.443 335.454 246.717 332.695 249.47C329.938 252.23 326.65 254.404 323.028 255.863C319.523 257.283 315.773 258.009 311.989 258C308.205 258.008 304.456 257.282 300.95 255.863C297.331 254.408 294.047 252.233 291.3 249.47L291.11 249.282L261.149 216.767C257.927 213.617 253.588 211.86 249.073 211.878C244.559 211.896 240.233 213.686 237.037 216.861C233.834 220.06 232.035 224.391 232.035 228.909C232.035 233.426 233.834 237.759 237.037 240.957C240.236 244.13 244.562 245.918 249.077 245.933C253.591 245.947 257.929 244.188 261.149 241.035L268.465 233.056L276.728 241.947L269.884 249.376L269.79 249.47C267.033 252.23 263.745 254.404 260.124 255.863C256.618 257.282 252.869 258.008 249.085 258C245.301 258.008 241.552 257.282 238.046 255.863C234.426 254.408 231.142 252.233 228.395 249.47C225.625 246.726 223.443 243.45 221.977 239.842C220.551 236.351 219.823 232.615 219.833 228.846C219.823 225.077 220.551 221.342 221.977 217.851C223.443 214.242 225.625 210.967 228.395 208.222C231.142 205.46 234.426 203.285 238.046 201.828C241.553 200.415 245.302 199.694 249.085 199.708C252.868 199.694 256.617 200.415 260.124 201.828C263.745 203.289 267.033 205.463 269.79 208.222L269.963 208.41L299.926 240.925C303.142 244.077 307.477 245.836 311.989 245.821C316.501 245.807 320.825 244.019 324.021 240.847C325.562 239.391 326.779 237.63 327.594 235.676C328.409 233.723 328.804 231.621 328.752 229.506C328.752 228.842 328.742 227.309 328.755 226.79ZM319.732 170.304C323.569 166.377 325.488 161.062 325.488 154.36C325.587 150.289 324.637 146.26 322.728 142.657C321.056 139.518 318.581 136.873 315.553 134.992C312.661 133.222 309.327 132.297 305.933 132.322C302.502 132.311 299.129 133.206 296.157 134.914C293.023 136.717 290.456 139.356 288.745 142.532C286.784 146.146 285.805 150.207 285.906 154.313C285.906 161.004 287.878 166.319 291.82 170.256C293.644 172.147 295.837 173.645 298.264 174.658C300.691 175.671 303.301 176.178 305.933 176.147C308.509 176.176 311.063 175.671 313.433 174.666C315.803 173.659 317.937 172.174 319.7 170.304H319.732Z" fill="white"/>
11
+ </g>
12
+ <defs>
13
+ <clipPath id="clip0_433_161">
14
+ <rect width="347" height="258" fill="white"/>
15
+ </clipPath>
16
+ </defs>
17
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg width="819" height="669" viewBox="0 0 819 669" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_147_655)">
3
+ <path d="M202.995 0C203.734 3.93007 208.234 0.716024 217.396 6.66935C225.516 11.946 231.651 9.39385 231.627 18.0559C231.612 25.0058 231.231 31.987 231.737 38.9602C234.913 38.9835 238.144 37.9714 240.106 40.0102C242.854 42.8664 240.175 47.2869 236.999 48.7267C232.577 50.7346 224.94 56.8447 228.241 61.1251C231.269 65.0554 231.137 69.289 231.059 73.9819L230.709 94.2094C230.592 101.175 231.316 108.965 233.776 115.533C237.521 125.533 241.982 134.92 246.917 144.298C249.774 149.722 253.714 154.05 255.785 159.996C257.793 165.778 261.833 170.362 264.768 175.701C269.003 183.39 272.911 191.087 276.049 199.306C280.432 210.777 280.759 233.791 283.5 241.667C285.228 246.632 289.798 251.777 294.064 254.835C303.274 261.442 310.825 268.906 319.856 275.497L330.669 283.389C336.881 287.919 340.992 293.507 345.367 299.966L354.375 313.26C356.796 316.832 359.201 320.217 358.866 325.073C358.664 328.101 359.583 332.07 358.314 334.981C353.713 345.565 344.612 353.153 333.908 356.912C330.56 358.087 330.49 360.298 329.843 363.263C328.582 369.061 328.458 374.626 328.465 380.447C328.481 387.436 330.957 393.101 332.662 399.732C334.523 406.97 325.445 422.287 316.251 421.135C316.204 423.391 318.174 423.563 318.719 425.112C320.182 429.252 322.401 433.338 323.008 437.844C323.826 443.837 319.964 449.697 320.369 455.354L320.883 462.507C320.579 458.275 319.646 481.365 320.79 483.357C323.997 488.898 326.582 494.424 328.325 500.548C330.178 507.039 327.874 512.931 325.951 519.056C323.312 527.453 319.264 534.255 312.25 539.617C309.237 541.921 306.574 544.303 302.806 545.727C278.081 555.105 254.235 550.739 235.894 554.607C231.191 555.596 225.516 559.502 222.169 563.02C213.932 571.682 201.982 590.866 199.825 601.342L192.531 636.768C195.466 637.313 196.136 638.839 197.731 640.294C208.374 650.03 207.245 646.333 214.921 649.571L228.443 655.283C233.06 657.237 235.636 660.28 238.003 664.264C239.012 665.959 240.162 667.413 241.19 669H-1V0H202.995Z" fill="#292929"/>
4
+ <path d="M820 669H576.566C578.003 665.754 580.949 663.12 582.775 660.069C585.263 655.913 590.737 655.034 594.725 653.019C610.617 644.995 607.639 651.726 620.904 639.367C622.124 638.231 622.451 637.103 625.257 636.978L618.252 601.933C617.179 596.587 614.287 591.605 611.884 586.586C606.582 575.503 594.732 557.401 582.145 554.529C568.072 551.322 546.861 554.194 522.564 548.108C514.556 546.1 508.406 542.442 502.544 536.777C497.257 531.671 494.27 525.64 491.891 518.542C489.768 512.207 487.779 505.794 490.026 499.147C491.853 493.739 493.843 488.532 497.116 483.816C498.165 482.306 496.689 480.282 497.039 479.06C498.788 472.967 497.785 467.573 497.218 461.534C496.884 458.009 498.166 454.903 496.782 451.051C495.398 447.198 494.364 442.225 494.901 438.022C495.391 434.201 498.952 424.746 501.626 421.524C491.876 420.816 483.876 407.88 485.423 399.989C486.908 392.424 490.142 386.004 489.605 377.871C489.271 372.82 489.325 367.839 488.097 362.796C487.491 360.305 487.755 358.149 484.777 357.091C474.164 353.301 464.997 346.475 460.184 335.992C458.637 332.622 459.05 328.287 459.05 324.738C459.05 319.96 461.289 316.637 463.722 313.041L472.423 300.2C476.909 293.577 481.154 287.779 487.514 283.148L498.252 275.334C506.859 269.069 513.911 261.846 522.689 255.589C527.416 252.219 532.633 246.88 534.499 241.425C537.22 233.494 537.399 210.839 542.11 198.504C545.119 190.628 548.968 183.359 552.949 175.934C555.709 170.782 559.721 166.323 561.673 160.828C563.865 154.657 567.722 150.143 570.77 144.547C575.894 135.123 580.271 125.44 584.135 115.361C586.755 108.528 587.222 100.567 587.136 93.3523L586.911 74.5961C586.864 70.6504 586.235 66.3156 588.591 62.9225C590.705 59.8874 590.836 56.5951 588.022 53.778C585.892 51.6458 583.49 49.778 580.536 48.4006C577.581 47.0231 575.14 42.4857 577.876 39.8006C579.843 37.8709 583.288 38.8738 586.094 38.8505C586.887 31.3404 586.001 23.9543 586.413 16.5064C586.826 9.05894 592.859 11.8446 600.571 6.51361C608.592 0.96844 614.207 3.6776 615.004 0H820V669Z" fill="#292929"/>
5
+ </g>
6
+ <defs>
7
+ </defs>
8
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg width="819" height="669" viewBox="0 0 819 669" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_147_652)">
3
+ <path d="M202.995 0C203.734 3.93007 208.234 0.716024 217.396 6.66935C225.516 11.946 231.651 9.39385 231.627 18.0559C231.612 25.0058 231.231 31.987 231.737 38.9602C234.913 38.9835 238.144 37.9714 240.106 40.0102C242.854 42.8664 240.175 47.2869 236.999 48.7267C232.577 50.7346 224.94 56.8447 228.241 61.1251C231.269 65.0554 231.137 69.289 231.059 73.9819L230.709 94.2094C230.592 101.175 231.316 108.965 233.776 115.533C237.521 125.533 241.982 134.92 246.917 144.298C249.774 149.722 253.714 154.05 255.785 159.996C257.793 165.778 261.833 170.362 264.768 175.701C269.003 183.39 272.911 191.087 276.049 199.306C280.432 210.777 280.759 233.791 283.5 241.667C285.228 246.632 289.798 251.777 294.064 254.835C303.274 261.442 310.825 268.906 319.856 275.497L330.669 283.389C336.881 287.919 340.992 293.507 345.367 299.966L354.375 313.26C356.796 316.832 359.201 320.217 358.866 325.073C358.664 328.101 359.583 332.07 358.314 334.981C353.713 345.565 344.612 353.153 333.908 356.912C330.56 358.087 330.49 360.298 329.843 363.263C328.582 369.061 328.458 374.626 328.465 380.447C328.481 387.436 330.957 393.101 332.662 399.732C334.523 406.97 325.445 422.287 316.251 421.135C316.204 423.391 318.174 423.563 318.719 425.112C320.182 429.252 322.401 433.338 323.008 437.844C323.826 443.837 319.964 449.697 320.369 455.354L320.883 462.507C320.579 458.275 319.646 481.365 320.79 483.357C323.997 488.898 326.582 494.424 328.325 500.548C330.178 507.039 327.874 512.931 325.951 519.056C323.312 527.453 319.264 534.255 312.25 539.617C309.237 541.921 306.574 544.303 302.806 545.727C278.081 555.105 254.235 550.739 235.894 554.607C231.191 555.596 225.516 559.502 222.169 563.02C213.932 571.682 201.982 590.866 199.825 601.342L192.531 636.768C195.466 637.313 196.136 638.839 197.731 640.294C208.374 650.03 207.245 646.333 214.921 649.571L228.443 655.283C233.06 657.237 235.636 660.28 238.003 664.264C239.012 665.959 240.162 667.413 241.19 669H-1V0H202.995Z" fill="#F3F3F3"/>
4
+ <path d="M820 669H576.566C578.003 665.754 580.949 663.12 582.775 660.069C585.263 655.913 590.737 655.034 594.725 653.019C610.617 644.995 607.639 651.726 620.904 639.367C622.124 638.231 622.451 637.103 625.257 636.978L618.252 601.933C617.179 596.587 614.287 591.605 611.884 586.586C606.582 575.503 594.732 557.401 582.145 554.529C568.072 551.322 546.861 554.194 522.564 548.108C514.556 546.1 508.406 542.442 502.544 536.777C497.257 531.671 494.27 525.64 491.891 518.542C489.768 512.207 487.779 505.794 490.026 499.147C491.853 493.739 493.843 488.532 497.116 483.816C498.165 482.306 496.689 480.282 497.039 479.06C498.788 472.967 497.785 467.573 497.218 461.534C496.884 458.009 498.166 454.903 496.782 451.051C495.398 447.198 494.364 442.225 494.901 438.022C495.391 434.201 498.952 424.746 501.626 421.524C491.876 420.816 483.876 407.88 485.423 399.989C486.908 392.424 490.142 386.004 489.605 377.871C489.271 372.82 489.325 367.839 488.097 362.796C487.491 360.305 487.755 358.149 484.777 357.091C474.164 353.301 464.997 346.475 460.184 335.992C458.637 332.622 459.05 328.287 459.05 324.738C459.05 319.96 461.289 316.637 463.722 313.041L472.423 300.2C476.909 293.577 481.154 287.779 487.514 283.148L498.252 275.334C506.859 269.069 513.911 261.846 522.689 255.589C527.416 252.219 532.633 246.88 534.499 241.425C537.22 233.494 537.399 210.839 542.11 198.504C545.119 190.628 548.968 183.359 552.949 175.934C555.709 170.782 559.721 166.323 561.673 160.828C563.865 154.657 567.722 150.143 570.77 144.547C575.894 135.123 580.271 125.44 584.135 115.361C586.755 108.528 587.222 100.567 587.136 93.3523L586.911 74.5961C586.864 70.6504 586.235 66.3156 588.591 62.9225C590.705 59.8874 590.836 56.5951 588.022 53.778C585.892 51.6458 583.49 49.778 580.536 48.4006C577.581 47.0231 575.14 42.4857 577.876 39.8006C579.843 37.8709 583.288 38.8738 586.094 38.8505C586.887 31.3404 586.001 23.9543 586.413 16.5064C586.826 9.05894 592.859 11.8446 600.571 6.51361C608.592 0.96844 614.207 3.6776 615.004 0H820V669Z" fill="#F3F3F3"/>
5
+ </g>
6
+ <defs>
7
+ </defs>
8
+ </svg>
@@ -0,0 +1,9 @@
1
+ <svg width="1228" height="498" viewBox="0 0 1228 498" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M1078.9 171.549H1111.54V207.685H1078.9V291.699C1078.9 296.141 1079.58 299.605 1080.93 302.089C1082.29 304.498 1084.17 306.191 1086.58 307.17C1089.07 308.149 1091.93 308.639 1095.16 308.639C1097.42 308.639 1099.68 308.45 1101.94 308.073C1104.2 307.622 1105.93 307.283 1107.13 307.058L1114.7 342.854C1112.29 343.607 1108.9 344.473 1104.54 345.451C1100.17 346.505 1094.86 347.145 1088.61 347.371C1077.02 347.823 1066.86 346.279 1058.12 342.741C1049.47 339.203 1042.73 333.707 1037.91 326.254C1033.24 319.034 1030.87 309.977 1030.8 299.083V207.685H1007.08V171.549H1030.8V129.993H1078.9V171.549Z" fill="#292929"/>
3
+ <path d="M993.463 345.001H945.358V113.733H993.463V345.001Z" fill="#292929"/>
4
+ <path d="M847.13 169.292C856.766 169.292 865.989 170.421 874.797 172.68C883.68 174.938 891.547 178.439 898.397 183.182C905.323 187.924 910.782 194.023 914.771 201.476C918.761 208.853 920.757 217.699 920.757 228.013V345.001H875.136V320.948H873.78C870.995 326.369 867.268 331.15 862.601 335.29C857.933 339.355 852.325 342.555 845.775 344.889C839.226 347.147 831.659 348.276 823.077 348.276C812.011 348.276 802.149 346.356 793.491 342.517C784.834 338.602 777.983 332.843 772.939 325.239C767.971 317.56 765.486 307.999 765.486 296.557C765.486 286.921 767.256 278.828 770.794 272.278C774.332 265.729 779.15 260.459 785.248 256.469C791.346 252.479 798.272 249.468 806.026 247.436C813.856 245.403 822.061 243.973 830.644 243.145C840.731 242.091 848.862 241.111 855.035 240.208C861.208 239.229 865.687 237.799 868.473 235.917C871.258 234.035 872.651 231.249 872.651 227.561V226.883C872.651 219.731 870.393 214.198 865.876 210.283C861.434 206.369 855.11 204.411 846.904 204.411C838.247 204.411 831.358 206.332 826.239 210.171C821.12 213.935 817.732 218.677 816.076 224.398L771.584 220.785C773.842 210.246 778.284 201.137 784.909 193.458C791.534 185.704 800.079 179.757 810.543 175.616C821.082 171.4 833.278 169.292 847.13 169.292ZM872.99 264.6C871.485 265.578 869.414 266.481 866.779 267.31C864.22 268.062 861.321 268.778 858.084 269.455C854.847 270.057 851.609 270.622 848.372 271.149C845.135 271.601 842.199 272.015 839.564 272.392C833.918 273.22 828.987 274.537 824.771 276.344C820.556 278.15 817.281 280.597 814.947 283.684C812.614 286.695 811.446 290.459 811.446 294.976C811.446 301.525 813.818 306.532 818.561 309.995C823.379 313.383 829.477 315.076 836.854 315.076C843.931 315.076 850.179 313.684 855.6 310.898C861.02 308.038 865.274 304.198 868.36 299.38C871.447 294.562 872.99 289.104 872.99 283.006V264.6Z" fill="#292929"/>
5
+ <path d="M438.76 290.789L451.856 291.653C451.799 291.925 451.74 292.195 451.68 292.465C451.614 292.76 451.545 293.054 451.476 293.347C449.665 300.948 446.613 307.84 442.32 314.023L407.668 311.737C406.023 316.074 403.63 319.738 400.49 322.729C397.35 325.719 393.574 327.963 389.163 329.458C384.752 330.953 379.891 331.701 374.583 331.701C366.583 331.701 359.666 330.019 353.834 326.654C348.002 323.29 343.479 318.504 340.264 312.298C337.124 306.092 335.553 298.727 335.553 290.204V290.092H340.688C343.872 295.913 348.254 300.434 353.834 303.653C359.666 307.018 366.583 308.7 374.583 308.7C379.891 308.7 384.752 307.953 389.163 306.458C393.574 304.963 397.35 302.719 400.49 299.729C401.07 299.176 401.623 298.599 402.152 298.001H402.149C403.145 296.876 404.049 295.668 404.864 294.38C405.712 293.038 406.465 291.61 407.117 290.092H407.12C407.311 289.648 407.494 289.196 407.668 288.737L438.76 290.789ZM371.891 166.489C383.255 166.489 393.836 168.322 403.631 171.985C413.5 175.574 422.099 180.995 429.426 188.247C436.828 195.5 442.585 204.622 446.697 215.613C450.809 226.529 452.866 239.315 452.866 253.97V267.092H452.533C451.802 256.495 449.857 247.002 446.697 238.613C442.585 227.623 436.828 218.501 429.426 211.248C422.099 203.996 413.5 198.574 403.631 194.985C393.836 191.322 383.255 189.49 371.891 189.49C354.993 189.49 340.263 193.228 327.702 200.705C315.216 208.182 305.533 218.613 298.654 231.996C293.288 242.438 290.015 254.2 288.835 267.281C288.503 263.523 288.337 259.646 288.337 255.652C288.337 237.932 291.776 222.38 298.654 208.996C305.533 195.613 315.216 185.182 327.702 177.705C340.263 170.228 354.993 166.489 371.891 166.489ZM400.195 237.483C401.383 238.939 402.454 240.512 403.406 242.202C406.397 247.511 407.893 253.605 407.893 260.483H335.599C335.887 254.298 337.479 248.652 340.376 243.548C341.608 241.348 343.025 239.327 344.625 237.483H400.195Z" fill="#292929"/>
6
+ <path d="M222.688 365.011C222.688 376.824 219.286 385.236 212.482 390.245C205.753 395.329 197.192 397.872 186.799 397.872C179.846 397.872 173.939 396.937 169.079 395.067C164.294 393.273 160.443 390.88 157.527 387.89C154.611 384.899 152.48 381.684 151.134 378.245L117.231 382.805C112.913 377.347 109.809 371.413 107.917 365.001H107.917C107.913 364.988 107.909 364.974 107.905 364.961C107.732 364.373 107.569 363.781 107.417 363.185C107.398 363.112 107.379 363.039 107.361 362.967C107.31 362.766 107.261 362.564 107.212 362.362C107.184 362.245 107.157 362.128 107.129 362.011C107.085 361.818 107.042 361.624 107 361.431C106.982 361.35 106.962 361.269 106.945 361.188L151.133 355.244C151.68 356.642 152.36 358.003 153.167 359.327L153.167 359.328C154.345 361.26 155.797 363.115 157.527 364.89C160.443 367.88 164.294 370.273 169.079 372.067C173.939 373.937 179.846 374.871 186.799 374.871C197.192 374.871 205.753 372.329 212.482 367.245C219.286 362.236 222.688 353.824 222.688 342.011V365.011ZM222.214 265.715C222.68 269.358 222.913 273.223 222.913 277.307C222.913 287.4 221.454 296.074 218.539 303.326C215.697 310.504 211.585 316.037 206.202 319.925C200.893 323.738 194.388 325.645 186.687 325.645C178.836 325.644 172.219 323.7 166.835 319.812C161.527 315.85 157.452 310.279 154.611 303.102C151.845 295.849 150.461 287.25 150.461 277.307C150.461 273.294 150.693 269.474 151.158 265.851C151.827 271.07 152.978 275.82 154.611 280.102C157.452 287.279 161.527 292.85 166.835 296.812C172.219 300.7 178.836 302.644 186.687 302.645C194.388 302.645 200.893 300.738 206.202 296.925C211.585 293.037 215.697 287.504 218.539 280.326C220.29 275.969 221.515 271.098 222.214 265.715ZM171.434 166.489C181.079 166.489 189.155 168.135 195.66 171.425C202.164 174.64 207.398 178.677 211.361 183.537C215.398 188.322 218.501 193.033 220.669 197.668H222.464V220.669H220.669C218.501 216.033 215.398 211.322 211.361 206.537C207.398 201.677 202.164 197.64 195.66 194.425C189.155 191.135 181.079 189.49 171.434 189.49C158.798 189.49 147.171 192.742 136.554 199.247C126.012 205.752 117.563 215.547 111.208 228.632C106.153 239.039 103.11 251.48 102.076 265.954C101.809 262.287 101.674 258.479 101.674 254.53C101.674 235.016 104.852 218.716 111.208 205.632C117.563 192.547 126.012 182.752 136.554 176.247C147.171 169.742 158.798 166.489 171.434 166.489ZM269.905 191.733H222.464V168.732H269.905V191.733Z" fill="#292929"/>
7
+ <path d="M709.175 172.102H741.777V208.2H709.175V292.13C709.175 296.567 709.852 300.026 711.206 302.508C712.559 304.914 714.44 306.606 716.846 307.584C719.328 308.562 722.186 309.051 725.419 309.051C727.676 309.051 729.932 308.862 732.188 308.486C734.444 308.035 736.174 307.697 737.377 307.472L744.935 343.231C742.529 343.983 739.144 344.849 734.783 345.826C730.421 346.879 725.119 347.519 718.876 347.744C707.295 348.195 697.142 346.654 688.418 343.119C679.77 339.584 673.039 334.094 668.226 326.648C663.563 319.436 661.194 310.388 661.119 299.506V208.2H637.429V172.102H661.119V130.589H709.175V172.102Z" fill="#292929"/>
8
+ <path d="M554.333 169.847C576.218 169.847 593.44 174.472 605.999 183.722C618.634 192.972 626.005 205.569 628.11 221.513L584.114 224.22C583.362 220.46 581.745 217.076 579.264 214.067C576.782 210.984 573.51 208.539 569.449 206.734C565.463 204.854 560.688 203.914 555.123 203.914C547.678 203.914 541.398 205.494 536.284 208.652C531.17 211.736 528.613 215.872 528.613 221.062C528.613 225.198 530.268 228.695 533.577 231.553C536.886 234.41 542.564 236.704 550.61 238.434L581.972 244.751C598.818 248.21 611.377 253.775 619.649 261.446C627.922 269.117 632.059 279.195 632.059 291.679C632.059 303.035 628.712 313 622.019 321.573C615.4 330.147 606.3 336.84 594.719 341.653C583.212 346.391 569.938 348.76 554.897 348.76C531.96 348.76 513.685 343.984 500.073 334.434C486.536 324.807 478.602 311.721 476.271 295.176L523.537 292.694C524.966 299.688 528.425 305.028 533.915 308.713C539.405 312.323 546.437 314.128 555.011 314.128C563.433 314.128 570.202 312.511 575.315 309.277C580.505 305.968 583.137 301.718 583.212 296.529C583.137 292.168 581.294 288.595 577.685 285.812C574.075 282.955 568.509 280.775 560.989 279.271L530.982 273.291C514.061 269.907 501.464 264.041 493.191 255.693C484.994 247.346 480.896 236.704 480.896 223.769C480.896 212.638 483.904 203.05 489.92 195.003C496.012 186.956 504.547 180.751 515.527 176.389C526.582 172.027 539.518 169.847 554.333 169.847Z" fill="#292929"/>
9
+ </svg>
@@ -0,0 +1,9 @@
1
+ <svg width="1228" height="498" viewBox="0 0 1228 498" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M1078.9 171.549H1111.54V207.685H1078.9V291.699C1078.9 296.141 1079.58 299.605 1080.93 302.089C1082.29 304.498 1084.17 306.191 1086.58 307.17C1089.07 308.149 1091.93 308.639 1095.16 308.639C1097.42 308.639 1099.68 308.45 1101.94 308.073C1104.2 307.622 1105.93 307.283 1107.13 307.058L1114.7 342.854C1112.29 343.607 1108.9 344.473 1104.54 345.451C1100.17 346.505 1094.86 347.145 1088.61 347.371C1077.02 347.823 1066.86 346.279 1058.12 342.741C1049.47 339.203 1042.73 333.707 1037.91 326.254C1033.24 319.034 1030.87 309.977 1030.8 299.083V207.685H1007.08V171.549H1030.8V129.993H1078.9V171.549Z" fill="#F3F3F3"/>
3
+ <path d="M993.464 345.001H945.358V113.733H993.464V345.001Z" fill="#F3F3F3"/>
4
+ <path d="M847.13 169.292C856.766 169.292 865.989 170.421 874.797 172.68C883.68 174.938 891.547 178.439 898.397 183.182C905.323 187.924 910.782 194.023 914.771 201.476C918.761 208.853 920.757 217.699 920.757 228.013V345.001H875.136V320.948H873.78C870.995 326.369 867.268 331.15 862.601 335.29C857.933 339.355 852.325 342.555 845.775 344.889C839.226 347.147 831.659 348.276 823.077 348.276C812.011 348.276 802.149 346.356 793.491 342.517C784.834 338.602 777.983 332.843 772.939 325.239C767.971 317.56 765.486 307.999 765.486 296.557C765.486 286.921 767.256 278.828 770.794 272.278C774.332 265.729 779.15 260.459 785.248 256.469C791.346 252.479 798.272 249.468 806.026 247.436C813.856 245.403 822.061 243.973 830.644 243.145C840.731 242.091 848.862 241.111 855.035 240.208C861.208 239.229 865.687 237.799 868.473 235.917C871.258 234.035 872.651 231.249 872.651 227.561V226.883C872.651 219.731 870.393 214.198 865.876 210.283C861.434 206.369 855.11 204.411 846.904 204.411C838.247 204.411 831.358 206.332 826.239 210.171C821.12 213.935 817.732 218.677 816.076 224.398L771.584 220.785C773.842 210.246 778.284 201.137 784.909 193.458C791.534 185.704 800.079 179.757 810.543 175.616C821.082 171.4 833.278 169.292 847.13 169.292ZM872.99 264.6C871.485 265.578 869.414 266.481 866.779 267.31C864.22 268.062 861.321 268.778 858.084 269.455C854.847 270.057 851.609 270.622 848.372 271.149C845.135 271.601 842.199 272.015 839.564 272.392C833.918 273.22 828.987 274.537 824.771 276.344C820.556 278.15 817.281 280.597 814.947 283.684C812.614 286.695 811.446 290.459 811.446 294.976C811.446 301.525 813.818 306.532 818.561 309.995C823.379 313.383 829.477 315.076 836.854 315.076C843.931 315.076 850.179 313.684 855.6 310.898C861.02 308.038 865.274 304.198 868.36 299.38C871.447 294.562 872.99 289.104 872.99 283.006V264.6Z" fill="#F3F3F3"/>
5
+ <path d="M438.76 290.789L451.856 291.653C451.799 291.925 451.74 292.195 451.68 292.465C451.614 292.76 451.545 293.054 451.476 293.347C449.665 300.948 446.613 307.84 442.32 314.023L407.668 311.737C406.023 316.074 403.63 319.738 400.49 322.729C397.35 325.719 393.574 327.963 389.163 329.458C384.752 330.953 379.891 331.701 374.583 331.701C366.583 331.701 359.666 330.019 353.834 326.654C348.002 323.29 343.479 318.504 340.264 312.298C337.124 306.092 335.553 298.727 335.553 290.204V290.092H340.688C343.872 295.913 348.254 300.434 353.834 303.653C359.666 307.018 366.583 308.7 374.583 308.7C379.891 308.7 384.752 307.953 389.163 306.458C393.574 304.963 397.35 302.719 400.49 299.729C401.07 299.176 401.623 298.599 402.152 298.001H402.149C403.145 296.876 404.049 295.668 404.864 294.38C405.712 293.038 406.465 291.61 407.117 290.092H407.12C407.311 289.648 407.494 289.196 407.668 288.737L438.76 290.789ZM371.891 166.489C383.255 166.489 393.836 168.322 403.631 171.985C413.5 175.574 422.099 180.995 429.426 188.247C436.828 195.5 442.585 204.622 446.697 215.613C450.809 226.529 452.866 239.315 452.866 253.97V267.092H452.533C451.802 256.495 449.857 247.002 446.697 238.613C442.585 227.623 436.828 218.501 429.426 211.248C422.099 203.996 413.5 198.574 403.631 194.985C393.836 191.322 383.255 189.49 371.891 189.49C354.993 189.49 340.263 193.228 327.702 200.705C315.216 208.182 305.533 218.613 298.654 231.996C293.288 242.438 290.015 254.2 288.835 267.281C288.503 263.523 288.337 259.646 288.337 255.652C288.337 237.932 291.776 222.38 298.654 208.996C305.533 195.613 315.216 185.182 327.702 177.705C340.263 170.228 354.993 166.489 371.891 166.489ZM400.195 237.483C401.383 238.939 402.454 240.512 403.406 242.202C406.397 247.511 407.893 253.605 407.893 260.483H335.599C335.887 254.298 337.479 248.652 340.376 243.548C341.608 241.348 343.025 239.327 344.625 237.483H400.195Z" fill="#F3F3F3"/>
6
+ <path d="M222.688 365.011C222.688 376.824 219.286 385.236 212.482 390.245C205.753 395.329 197.192 397.872 186.799 397.872C179.846 397.872 173.939 396.937 169.079 395.067C164.294 393.273 160.443 390.88 157.527 387.89C154.611 384.899 152.48 381.684 151.134 378.245L117.231 382.805C112.913 377.347 109.809 371.413 107.917 365.001H107.917C107.913 364.988 107.909 364.974 107.905 364.961C107.732 364.373 107.569 363.781 107.417 363.185C107.398 363.112 107.379 363.039 107.361 362.967C107.31 362.766 107.261 362.564 107.212 362.362C107.184 362.245 107.157 362.128 107.129 362.011C107.085 361.818 107.042 361.624 107 361.431C106.982 361.35 106.962 361.269 106.945 361.188L151.133 355.244C151.68 356.642 152.36 358.003 153.167 359.327L153.167 359.328C154.345 361.26 155.797 363.115 157.527 364.89C160.443 367.88 164.294 370.273 169.079 372.067C173.939 373.937 179.846 374.871 186.799 374.871C197.192 374.871 205.753 372.329 212.482 367.245C219.286 362.236 222.688 353.824 222.688 342.011V365.011ZM222.214 265.715C222.68 269.358 222.913 273.223 222.913 277.307C222.913 287.4 221.454 296.074 218.539 303.326C215.697 310.504 211.585 316.037 206.202 319.925C200.893 323.738 194.388 325.645 186.687 325.645C178.836 325.644 172.219 323.7 166.835 319.812C161.527 315.85 157.452 310.279 154.611 303.102C151.845 295.849 150.461 287.25 150.461 277.307C150.461 273.294 150.693 269.474 151.158 265.851C151.827 271.07 152.978 275.82 154.611 280.102C157.452 287.279 161.527 292.85 166.835 296.812C172.219 300.7 178.836 302.644 186.687 302.645C194.388 302.645 200.893 300.738 206.202 296.925C211.585 293.037 215.697 287.504 218.539 280.326C220.29 275.969 221.515 271.098 222.214 265.715ZM171.434 166.489C181.079 166.489 189.155 168.135 195.66 171.425C202.164 174.64 207.398 178.677 211.361 183.537C215.398 188.322 218.501 193.033 220.669 197.668H222.464V220.669H220.669C218.501 216.033 215.398 211.322 211.361 206.537C207.398 201.677 202.164 197.64 195.66 194.425C189.155 191.135 181.079 189.49 171.434 189.49C158.798 189.49 147.171 192.742 136.554 199.247C126.012 205.752 117.563 215.547 111.208 228.632C106.153 239.039 103.11 251.48 102.076 265.954C101.809 262.287 101.674 258.479 101.674 254.53C101.674 235.016 104.852 218.716 111.208 205.632C117.563 192.547 126.012 182.752 136.554 176.247C147.171 169.742 158.798 166.489 171.434 166.489ZM269.905 191.733H222.464V168.732H269.905V191.733Z" fill="#F3F3F3"/>
7
+ <path d="M709.176 172.102H741.777V208.2H709.176V292.13C709.176 296.567 709.852 300.026 711.206 302.508C712.56 304.914 714.44 306.606 716.847 307.584C719.328 308.562 722.186 309.051 725.42 309.051C727.676 309.051 729.932 308.862 732.188 308.486C734.445 308.035 736.175 307.697 737.378 307.472L744.936 343.231C742.529 343.983 739.145 344.849 734.783 345.826C730.421 346.879 725.119 347.519 718.877 347.744C707.295 348.195 697.143 346.654 688.419 343.119C679.77 339.584 673.04 334.094 668.227 326.648C663.564 319.436 661.194 310.388 661.119 299.506V208.2H637.43V172.102H661.119V130.589H709.176V172.102Z" fill="#F3F3F3"/>
8
+ <path d="M554.333 169.847C576.218 169.847 593.44 174.472 605.999 183.722C618.634 192.972 626.005 205.569 628.11 221.513L584.114 224.22C583.362 220.46 581.745 217.076 579.264 214.067C576.782 210.984 573.51 208.539 569.449 206.734C565.463 204.854 560.688 203.914 555.123 203.914C547.678 203.914 541.398 205.494 536.284 208.652C531.17 211.736 528.613 215.872 528.613 221.062C528.613 225.198 530.268 228.695 533.577 231.553C536.886 234.41 542.564 236.704 550.61 238.434L581.972 244.751C598.818 248.21 611.377 253.775 619.649 261.446C627.922 269.117 632.059 279.195 632.059 291.679C632.059 303.035 628.712 313 622.019 321.573C615.4 330.147 606.3 336.84 594.719 341.653C583.212 346.391 569.938 348.76 554.897 348.76C531.96 348.76 513.685 343.984 500.073 334.434C486.536 324.807 478.602 311.721 476.271 295.176L523.537 292.694C524.966 299.688 528.425 305.028 533.915 308.713C539.405 312.323 546.437 314.128 555.011 314.128C563.433 314.128 570.202 312.511 575.315 309.277C580.505 305.968 583.137 301.718 583.212 296.529C583.137 292.168 581.294 288.595 577.685 285.812C574.075 282.955 568.509 280.775 560.989 279.271L530.982 273.291C514.061 269.907 501.464 264.041 493.191 255.693C484.994 247.346 480.896 236.704 480.896 223.769C480.896 212.638 483.904 203.05 489.92 195.003C496.012 186.956 504.547 180.751 515.527 176.389C526.582 172.027 539.518 169.847 554.333 169.847Z" fill="#F3F3F3"/>
9
+ </svg>
@@ -0,0 +1,19 @@
1
+ <!--
2
+ Copyright (C) 2026 Dyne.org foundation
3
+ Designed by Denis Roio <jaromil@dyne.org>
4
+ SPDX-License-Identifier: AGPL-3.0-or-later
5
+ -->
6
+
7
+ <!doctype html>
8
+ <html lang="en">
9
+ <head>
10
+ <meta charset="UTF-8" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <title>Codex Relay</title>
13
+ <script type="module" crossorigin src="/assets/index-0wjiXBGW.js"></script>
14
+ <link rel="stylesheet" crossorigin href="/assets/index-CfoipqOl.css">
15
+ </head>
16
+ <body>
17
+ <div id="app"></div>
18
+ </body>
19
+ </html>