zenml-nightly 0.81.0.dev20250428__py3-none-any.whl → 0.81.0.dev20250430__py3-none-any.whl
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.
- zenml/VERSION +1 -1
- zenml/cli/model.py +2 -7
- zenml/client.py +17 -2
- zenml/config/build_configuration.py +4 -0
- zenml/config/docker_settings.py +1 -1
- zenml/config/resource_settings.py +1 -1
- zenml/config/strict_base_model.py +1 -1
- zenml/entrypoints/base_entrypoint_configuration.py +1 -1
- zenml/environment.py +37 -34
- zenml/exceptions.py +0 -78
- zenml/integrations/aws/__init__.py +1 -1
- zenml/integrations/evidently/__init__.py +1 -0
- zenml/integrations/evidently/metrics.py +1 -1
- zenml/integrations/evidently/tests.py +1 -1
- zenml/integrations/gcp/flavors/vertex_orchestrator_flavor.py +6 -0
- zenml/integrations/gcp/orchestrators/vertex_orchestrator.py +49 -28
- zenml/integrations/kubeflow/orchestrators/kubeflow_orchestrator.py +7 -29
- zenml/integrations/kubernetes/flavors/kubernetes_orchestrator_flavor.py +6 -0
- zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator.py +12 -5
- zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator_entrypoint.py +31 -18
- zenml/integrations/kubernetes/orchestrators/manifest_utils.py +21 -0
- zenml/integrations/kubernetes/pod_settings.py +6 -1
- zenml/integrations/numpy/__init__.py +4 -1
- zenml/integrations/numpy/materializers/numpy_materializer.py +75 -6
- zenml/integrations/pandas/materializers/pandas_materializer.py +118 -22
- zenml/integrations/tekton/orchestrators/tekton_orchestrator.py +8 -28
- zenml/models/v2/core/model_version.py +28 -33
- zenml/models/v2/core/pipeline_deployment.py +4 -4
- zenml/models/v2/core/pipeline_run.py +5 -12
- zenml/models/v2/core/user.py +1 -1
- zenml/orchestrators/dag_runner.py +50 -14
- zenml/secret/base_secret.py +1 -1
- zenml/stack/stack_component.py +1 -1
- zenml/stack/utils.py +1 -1
- zenml/utils/code_utils.py +1 -1
- zenml/zen_server/dashboard/assets/{404-o3nB5iwI.js → 404-D4aYbspS.js} +1 -1
- zenml/zen_server/dashboard/assets/{@react-router-BGgzhn5D.js → @react-router-CNP6g_RL.js} +1 -1
- zenml/zen_server/dashboard/assets/{AlertDialogDropdownItem-C_qWs-4u.js → AlertDialogDropdownItem-CRZjthRL.js} +1 -1
- zenml/zen_server/dashboard/assets/{CodeSnippet-nRnOvbOJ.js → CodeSnippet-Di-loaZu.js} +1 -1
- zenml/zen_server/dashboard/assets/CollapsibleCard-Dr5zb5T5.js +1 -0
- zenml/zen_server/dashboard/assets/{Commands-BwBzFj-5.js → Commands-CD9Y7FOE.js} +1 -1
- zenml/zen_server/dashboard/assets/{ComponentBadge-CMx2DbsV.js → ComponentBadge-BgGnzcLu.js} +1 -1
- zenml/zen_server/dashboard/assets/{ComponentIcon-CSxdApv8.js → ComponentIcon-B_7Y_oV-.js} +1 -1
- zenml/zen_server/dashboard/assets/{CsvVizualization-lxB2iyEh.js → CsvVizualization-CDrjL6bW.js} +1 -1
- zenml/zen_server/dashboard/assets/{DeleteAlertDialog-Bp0o-UXZ.js → DeleteAlertDialog-9RTDnEx3.js} +1 -1
- zenml/zen_server/dashboard/assets/DialogItem-0fWTH7ki.js +1 -0
- zenml/zen_server/dashboard/assets/{Error-DRhVeVHQ.js → Error-vBjUYjb-.js} +1 -1
- zenml/zen_server/dashboard/assets/{ExecutionStatus-HnZXi9bW.js → ExecutionStatus-B-ysY113.js} +1 -1
- zenml/zen_server/dashboard/assets/{Helpbox-Dsr3ZYcL.js → Helpbox-Dt3q7NGd.js} +1 -1
- zenml/zen_server/dashboard/assets/{Infobox-C4Op55B8.js → Infobox-Bai0JtFs.js} +1 -1
- zenml/zen_server/dashboard/assets/{InlineAvatar-CrAwe7Pl.js → InlineAvatar-Cpj0lVRQ.js} +1 -1
- zenml/zen_server/dashboard/assets/NestedCollapsible-DbhKdWx-.js +1 -0
- zenml/zen_server/dashboard/assets/{Partials-DjTM0Oe-.js → Partials-BNBtCjuT.js} +1 -1
- zenml/zen_server/dashboard/assets/ProBadge-3vtouJQf.js +1 -0
- zenml/zen_server/dashboard/assets/{ProCta-BYSSivgY.js → ProCta-BoTLdAdV.js} +1 -1
- zenml/zen_server/dashboard/assets/{ProviderIcon-B8W7AGNk.js → ProviderIcon-kkODO9tx.js} +1 -1
- zenml/zen_server/dashboard/assets/{ProviderRadio-BWFJPEY2.js → ProviderRadio-26EB5tY-.js} +1 -1
- zenml/zen_server/dashboard/assets/RunSelector-j0C_TPVp.js +1 -0
- zenml/zen_server/dashboard/assets/RunsBody-DexNouV4.js +1 -0
- zenml/zen_server/dashboard/assets/SearchField-DMCywawn.js +1 -0
- zenml/zen_server/dashboard/assets/{SecretTooltip-CCn9HfEh.js → SecretTooltip-LLGP7AIC.js} +1 -1
- zenml/zen_server/dashboard/assets/{SetPassword-BDFVwnNB.js → SetPassword-CBHW-Su8.js} +1 -1
- zenml/zen_server/dashboard/assets/StackList-S-9I1R4n.js +1 -0
- zenml/zen_server/dashboard/assets/Tabs-C2ufJX4t.js +1 -0
- zenml/zen_server/dashboard/assets/Tick-ay3Bgtro.js +1 -0
- zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-3gg2tC-H.js → UpdatePasswordSchemas-p3RX0P-Q.js} +1 -1
- zenml/zen_server/dashboard/assets/{UsageReason-DOMAzO02.js → UsageReason-C8sD2bOU.js} +1 -1
- zenml/zen_server/dashboard/assets/{Wizard-BSH_lIfi.js → Wizard-DIllc07n.js} +1 -1
- zenml/zen_server/dashboard/assets/{WizardFooter-CnM-50jL.js → WizardFooter-dNDpuero.js} +1 -1
- zenml/zen_server/dashboard/assets/{all-pipeline-runs-query-D9XfZpmV.js → all-pipeline-runs-query-BUT1PiTp.js} +1 -1
- zenml/zen_server/dashboard/assets/{configuration-form-Ci_QlfZC.js → configuration-form-DBZSb0FV.js} +1 -1
- zenml/zen_server/dashboard/assets/{create-stack-CoQ5SEJL.js → create-stack-BXLyjE58.js} +1 -1
- zenml/zen_server/dashboard/assets/{delete-run-B5xUZwdP.js → delete-run-DzcYxUnd.js} +1 -1
- zenml/zen_server/dashboard/assets/dots-horizontal-BGRJCPCs.js +1 -0
- zenml/zen_server/dashboard/assets/{flavor-select-DOLAl-S4.js → flavor-select-BTEwByv6.js} +1 -1
- zenml/zen_server/dashboard/assets/{form-schemas-BaEJ1z87.js → form-schemas-BJN_25Ua.js} +1 -1
- zenml/zen_server/dashboard/assets/{index-e8udi7QT.js → index-8uhUi12k.js} +1 -1
- zenml/zen_server/dashboard/assets/{index-hsSXyS3H.js → index-BygJE88j.js} +8 -8
- zenml/zen_server/dashboard/assets/{index-ojAuWXMf.js → index-D9-ukAem.js} +1 -1
- zenml/zen_server/dashboard/assets/index-DmTFrHJm.css +1 -0
- zenml/zen_server/dashboard/assets/{index-BoWZ9rXk.js → index-wYtmKLnQ.js} +1 -1
- zenml/zen_server/dashboard/assets/{login-mutation-CwraNa5G.js → login-mutation-DywLqguW.js} +1 -1
- zenml/zen_server/dashboard/assets/{not-found-BuK1QrF2.js → not-found-BOoklIG4.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-0AIX3VK8.js → page--hSXKqyG.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CIDo1Ajk.js → page-2BsNK_sZ.js} +1 -1
- zenml/zen_server/dashboard/assets/page-4nVakAEl.js +1 -0
- zenml/zen_server/dashboard/assets/{page-CjRoKEQs.js → page-8AzB83Py.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BQVPbNps.js → page-B0r9dBEU.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-hVng6ANV.js → page-B1Uq1S1Q.js} +1 -1
- zenml/zen_server/dashboard/assets/page-B3DscprQ.js +1 -0
- zenml/zen_server/dashboard/assets/{page-KRP_w5zH.js → page-B7Aj2XbV.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CZgeF_wQ.js → page-BE8jdyaM.js} +1 -1
- zenml/zen_server/dashboard/assets/page-BIYqUwTI.js +1 -0
- zenml/zen_server/dashboard/assets/page-BTzhAVEn.js +1 -0
- zenml/zen_server/dashboard/assets/{page-_Zt6UwiG.js → page-ByXQN8A-.js} +1 -1
- zenml/zen_server/dashboard/assets/page-CI4a9CXs.js +1 -0
- zenml/zen_server/dashboard/assets/page-CPLlVRXx.js +6 -0
- zenml/zen_server/dashboard/assets/page-CSQOpvvK.js +3 -0
- zenml/zen_server/dashboard/assets/{page-DwIlrsF0.js → page-Ccnk_5ji.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-C-6XUKSp.js → page-Ci_n_x3a.js} +1 -1
- zenml/zen_server/dashboard/assets/page-D-ry_oLs.js +1 -0
- zenml/zen_server/dashboard/assets/{page-DbEn9V9E.js → page-D2TtSfnb.js} +1 -1
- zenml/zen_server/dashboard/assets/page-DHnkTzqs.js +1 -0
- zenml/zen_server/dashboard/assets/{page-B5clbTo4.js → page-DP2Ed-2m.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-C30HZCTR.js → page-D_5R6E7b.js} +1 -1
- zenml/zen_server/dashboard/assets/page-DfTsntQI.js +1 -0
- zenml/zen_server/dashboard/assets/page-DkY7AIhj.js +1 -0
- zenml/zen_server/dashboard/assets/page-DmteSSj6.js +1 -0
- zenml/zen_server/dashboard/assets/page-Dt3wHeWX.js +1 -0
- zenml/zen_server/dashboard/assets/page-EXvws1ss.js +1 -0
- zenml/zen_server/dashboard/assets/{page-Czj8fu8q.js → page-K9yjbnd4.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DHDeVaMO.js → page-RV8wpZ_4.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DLVtrRa5.js → page-bUVHi7DE.js} +1 -1
- zenml/zen_server/dashboard/assets/page-cOEvFs_l.js +1 -0
- zenml/zen_server/dashboard/assets/page-kzSGEVUs.js +1 -0
- zenml/zen_server/dashboard/assets/{page-C7buw8xJ.js → page-uDGvpa5g.js} +2 -2
- zenml/zen_server/dashboard/assets/{page-BbygQpf-.js → page-uN0n_DE2.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CgJcperk.js → page-xa1EAPcI.js} +1 -1
- zenml/zen_server/dashboard/assets/{persist-xOAq24Bm.js → persist-CEeDYHW5.js} +1 -1
- zenml/zen_server/dashboard/assets/{persist-DLvsEXh0.js → persist-SSTTV5q0.js} +1 -1
- zenml/zen_server/dashboard/assets/{service-MHyqhRgp.js → service-BRoAA1Kq.js} +1 -1
- zenml/zen_server/dashboard/assets/sharedSchema-BACERDat.js +14 -0
- zenml/zen_server/dashboard/assets/{stack-detail-query-C1GoxBeK.js → stack-detail-query-ihiJr6nq.js} +1 -1
- zenml/zen_server/dashboard/assets/{update-server-settings-mutation-DduehrZn.js → update-server-settings-mutation-CK6COmw9.js} +1 -1
- zenml/zen_server/dashboard/index.html +4 -4
- zenml/zen_server/deploy/daemon/daemon_zen_server.py +1 -1
- zenml/zen_server/deploy/docker/docker_zen_server.py +1 -1
- zenml/zen_server/exceptions.py +0 -2
- zenml/zen_server/routers/model_versions_endpoints.py +10 -19
- zenml/zen_server/routers/runs_endpoints.py +7 -1
- zenml/zen_stores/schemas/pipeline_deployment_schemas.py +20 -3
- zenml/zen_stores/schemas/pipeline_run_schemas.py +21 -1
- zenml/zen_stores/secrets_stores/hashicorp_secrets_store.py +1 -1
- zenml/zen_stores/secrets_stores/sql_secrets_store.py +1 -1
- zenml/zen_stores/sql_zen_store.py +10 -34
- {zenml_nightly-0.81.0.dev20250428.dist-info → zenml_nightly-0.81.0.dev20250430.dist-info}/METADATA +2 -2
- {zenml_nightly-0.81.0.dev20250428.dist-info → zenml_nightly-0.81.0.dev20250430.dist-info}/RECORD +140 -139
- zenml/zen_server/dashboard/assets/CollapsibleCard-9sSz7n1R.js +0 -1
- zenml/zen_server/dashboard/assets/DialogItem-DHw2ihTx.js +0 -1
- zenml/zen_server/dashboard/assets/NestedCollapsible-Ce1bmT8N.js +0 -1
- zenml/zen_server/dashboard/assets/ProBadge-CDEqgzh8.js +0 -1
- zenml/zen_server/dashboard/assets/RunSelector-DoL_gMHJ.js +0 -1
- zenml/zen_server/dashboard/assets/RunsBody-B6mBjv-_.js +0 -1
- zenml/zen_server/dashboard/assets/SearchField-DHl5flXv.js +0 -1
- zenml/zen_server/dashboard/assets/StackList-dhdUtky3.js +0 -1
- zenml/zen_server/dashboard/assets/Tabs-BuZG8ft1.js +0 -1
- zenml/zen_server/dashboard/assets/Tick-C4gtED35.js +0 -1
- zenml/zen_server/dashboard/assets/index-6mLFgFwe.css +0 -1
- zenml/zen_server/dashboard/assets/page-3lW9eIer.js +0 -1
- zenml/zen_server/dashboard/assets/page-9PzQok8O.js +0 -1
- zenml/zen_server/dashboard/assets/page-BEibNYiA.js +0 -6
- zenml/zen_server/dashboard/assets/page-BOE2XBFy.js +0 -1
- zenml/zen_server/dashboard/assets/page-Bki79xdd.js +0 -1
- zenml/zen_server/dashboard/assets/page-BnKwJnOb.js +0 -1
- zenml/zen_server/dashboard/assets/page-CBGeo-7W.js +0 -2
- zenml/zen_server/dashboard/assets/page-Co-FJ5ds.js +0 -1
- zenml/zen_server/dashboard/assets/page-Cu8vuohQ.js +0 -1
- zenml/zen_server/dashboard/assets/page-D0QcEBi1.js +0 -1
- zenml/zen_server/dashboard/assets/page-DKY_U5Sz.js +0 -1
- zenml/zen_server/dashboard/assets/page-DQHU5o_C.js +0 -1
- zenml/zen_server/dashboard/assets/page-DpY1koQY.js +0 -1
- zenml/zen_server/dashboard/assets/page-DrS4WOup.js +0 -1
- zenml/zen_server/dashboard/assets/page-HIAPXq4w.js +0 -1
- zenml/zen_server/dashboard/assets/page-Jw2QAdxa.js +0 -1
- zenml/zen_server/dashboard/assets/sharedSchema-CQA5lnlU.js +0 -14
- {zenml_nightly-0.81.0.dev20250428.dist-info → zenml_nightly-0.81.0.dev20250430.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.81.0.dev20250428.dist-info → zenml_nightly-0.81.0.dev20250430.dist-info}/WHEEL +0 -0
- {zenml_nightly-0.81.0.dev20250428.dist-info → zenml_nightly-0.81.0.dev20250430.dist-info}/entry_points.txt +0 -0
@@ -1 +1 @@
|
|
1
|
-
import{i as A,q as T}from"./@tanstack-CSxjHCME.js";import{o as g,p as N,q as R,j as S,s as v,F as b,z as c,h as E,aq as k,aC as I,aD as P,aE as _,aF as J,aj as K,aG as V,ae as G,I as C,b6 as L}from"./index-hsSXyS3H.js";import{j as a}from"./@radix-C7hRs6Kx.js";import{S as B}from"./plus-COjQg3AG.js";import{S as Q}from"./trash-BWSZ7NRK.js";import{b as f,a as Z,C as x}from"./index.esm-D7jFlf5N.js";import{c as H,i as M}from"./type-guards-CaeD8wHO.js";async function O(e){const r=g(N.flavors.all)+(e?`?${R(e)}`:""),t=await S(r,{method:"GET",headers:{"Content-Type":"application/json"}});if(t.status===404&&v(),!t.ok){const o=await t.json().then(n=>Array.isArray(n.detail)?n.detail[1]:n.detail).catch(()=>"Error while fetching flavors");throw new b({status:t.status,statusText:t.statusText,message:o})}return t.json()}async function U(e){const r=g(N.flavors.detail(e)),t=await S(r,{method:"GET",headers:{"Content-Type":"application/json"}});if(t.status===404&&v(),!t.ok){const o=await t.json().then(n=>Array.isArray(n.detail)?n.detail[1]:n.detail).catch(()=>`Error while fetching flavor ${e}`);throw new b({status:t.status,statusText:t.statusText,message:o})}return t.json()}const F={all:["flavors"],flavorList:e=>T({queryKey:[...F.all,e],queryFn:async()=>O(e)}),flavorDetail:e=>T({queryKey:[...F.all,e],queryFn:async()=>U(e)}),flavorListInfinite:e=>A({queryKey:[...F.all,e,"infinite"],queryFn:({pageParam:r})=>O({...e,page:r}),getNextPageParam:r=>r.index<r.total_pages?r.index+1:null,initialPageParam:1})};function Se(e){const r=Object.keys(e).reduce((t,o)=>(t[o]=c.string().trim().min(1),t),{});return c.object(r)}function ve(e){if(!e.properties)return c.object({});const r=e.required||[],t=e.properties,o=Object.keys(t).reduce((n,s)=>{const i=t[s];if(!i)return n;const l=Y(s,r);return n[s]=$(i,e.$defs,l),n},{});return c.object(o)}function $(e,r,t,o=!1){let n=w(e,r);if(n.anyOf){const i=n.anyOf.find(l=>l.type!==null);i&&(n=w(i,r))}switch(n.allOf&&(n=w(n.allOf[0],r)),n.type){case"string":return t?c.string().trim():c.string().trim().min(1,"Required");case"boolean":return t?c.union([c.literal(""),c.boolean()]):c.boolean();case"array":{if(o)return t?c.union([c.literal(""),p]):p;const i=c.array($(n.items||{},r,!1,!1));return t?i:i.min(1)}case"object":return t?c.union([c.literal(""),p]):p;case"integer":return t?c.union([c.literal(""),c.preprocess(i=>Number(i),c.number().int())]):c.preprocess(i=>Number(i),c.number().int());default:return t?c.union([c.literal(""),c.string()]):c.string().min(1,"Required")}}function Y(e,r){return!r.includes(e)}const p=c.string().refine(e=>{try{return JSON.parse(e),!0}catch{return!1}},{message:"Invalid JSON"}).transform(e=>e===""?e:JSON.parse(e));function w(e,r){if(!e.$ref||!r)return e;const t=e.$ref.split("/").pop();return!t||!r[t]?e:r[t]}function d({label:e,isOptional:r}){return a.jsxs(a.Fragment,{children:[e,!r&&a.jsx("span",{className:"text-theme-text-error","aria-label":"required",children:"*"})]})}function W({name:e,label:r,isOptional:t,schema:o,definitions:n}){const s=f(),{fields:i,append:l,remove:u}=Z({name:e,control:s.control});return a.jsxs("div",{className:"space-y-3",children:[!!r&&a.jsx("label",{className:"text-text-sm",children:a.jsx(d,{label:r,isOptional:t})}),a.jsx("ul",{className:"space-y-5",children:i.map((h,m)=>a.jsxs("li",{className:"flex w-full items-center gap-4 [&>div]:w-full",children:[a.jsx(fe,{isNested:!0,name:`${e}.${m}`,schema:o,isOptional:t,definitions:n}),a.jsxs(E,{className:"h-7 w-7",emphasis:"subtle",size:"sm",type:"button",onClick:()=>u(m),children:[a.jsx(Q,{className:"h-5 w-5 fill-primary-900"}),a.jsx("span",{className:"sr-only",children:"remove"})]})]},h.id))}),a.jsxs(E,{className:"h-7 w-7",emphasis:"subtle",type:"button",onClick:()=>l(""),children:[a.jsx(B,{className:"h-5 w-5 fill-primary-900"}),a.jsx("p",{className:"sr-only",children:"Add Item"})]})]})}function X({name:e,isOptional:r,label:t}){var s;const o=f(),n=o.formState.errors[e];return a.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[!!t&&a.jsx("label",{htmlFor:e,className:"text-text-sm",children:a.jsx(d,{label:t,isOptional:r})}),a.jsx(x,{control:o.control,name:e,render:({field:{onChange:i,value:l,...u}})=>a.jsx(k,{id:e,checked:l,onCheckedChange:h=>i(h),...u})}),n&&a.jsx("p",{className:"text-text-sm text-error-500",children:(s=n.message)==null?void 0:s.toString()})]})}function ee({name:e,label:r,isOptional:t,enumValues:o}){var i;const n=f(),s=n.formState.errors[e];return a.jsxs("div",{className:"space-y-0.5",children:[!!r&&a.jsx("label",{htmlFor:e,className:"text-text-sm",children:a.jsx(d,{label:r,isOptional:t})}),a.jsx(x,{control:n.control,name:e,render:({field:{onChange:l,ref:u,...h}})=>a.jsxs(I,{...h,onValueChange:l,children:[a.jsx(P,{"data-error":s?"true":"false",className:"h-7 max-w-full truncate border border-neutral-300 px-2 text-left text-text-sm data-[error=true]:border-error-500",children:a.jsx(_,{placeholder:"Select Option"})}),a.jsx(J,{children:a.jsx(K,{viewportClassName:"max-h-[300px]",children:o.map(m=>a.jsx(V,{className:"space-x-2",value:m,children:m},m))})})]})}),s&&a.jsx("p",{className:"text-text-sm text-error-500",children:(i=s.message)==null?void 0:i.toString()})]})}function re(e){return e.type==="string"}function te(e){return e.type==="string"&&e.enum!==void 0}function se(e){return e.type==="string"&&!!e.sensitive}function D(e){return e.type==="boolean"}function z(e){return e.type==="object"}function y(e){return e.type==="array"}function ne(e){return e.type==="integer"}function ae(e){var r;return((r=e.enum)==null?void 0:r.map(t=>t.toString()))||[]}function j(e,r){if(!e.$ref||!r)return e;const t=e.$ref.replace("#/$defs/",""),o=r[t];return o||console.error(`Could not resolve $ref: ${e.$ref}`),o}function oe(e,r){return e.title?e.title:G(r)}function be(e,r){const t=Object.entries(e.properties||{}).reduce((o,[n,s])=>{let i="";return s.default?D(s)?i=s.default:z(s)?i=JSON.stringify(s.default):y(s)?i=s.default:i=s.default.toString():y(s)&&(i=[]),{...o,[n]:i}},{});return r&&Object.entries(r).forEach(([o,n])=>{t[o]=H(n)?n.map(s=>JSON.stringify(s)):M(n)?JSON.stringify(n):n}),t}function ie({name:e,isOptional:r,label:t}){var s;const o=f(),n=o.formState.errors[e];return a.jsxs("div",{className:"space-y-0.5",children:[!!t&&a.jsx("label",{htmlFor:e,className:"text-text-sm",children:a.jsx(d,{label:t,isOptional:r})}),a.jsx(x,{control:o.control,name:e,render:({field:i})=>a.jsx(C,{inputSize:"md",className:"w-full data-[error=true]:border-error-500",id:e,...i,type:"number","data-error":n?"true":"false"})}),n&&a.jsx("p",{className:"text-text-sm text-error-500",children:(s=n.message)==null?void 0:s.toString()})]})}function ce({name:e,label:r,isOptional:t}){var s;const o=f(),n=o.formState.errors[e];return a.jsxs("div",{className:"space-y-0.5",children:[!!r&&a.jsx("label",{htmlFor:e,className:"text-text-sm",children:a.jsx(d,{label:r,isOptional:t})}),a.jsx(x,{control:o.control,name:e,render:({field:i})=>a.jsx("textarea",{rows:4,placeholder:"Please paste your JSON",className:L({inputSize:"md",className:"h-auto w-full resize-none font-mono data-[error=true]:border-error-500"}),id:e,...i,"data-error":n?"true":"false"})}),n&&a.jsx("p",{className:"text-text-sm text-error-500",children:(s=n.message)==null?void 0:s.toString()})]})}function le({name:e,isOptional:r,label:t}){var s;const o=f(),n=o.formState.errors[e];return a.jsxs("div",{className:"space-y-0.5",children:[!!t&&a.jsx("label",{htmlFor:e,className:"text-text-sm",children:a.jsx(d,{label:t,isOptional:r})}),a.jsx(x,{control:o.control,name:e,render:({field:i})=>a.jsx(C,{inputSize:"md",className:"w-full data-[error=true]:border-error-500",id:e,...i,"data-error":n?"true":"false"})}),n&&a.jsx("p",{className:"text-text-sm text-error-500",children:(s=n.message)==null?void 0:s.toString()})]})}function ue({name:e,label:r,isOptional:t}){var s;const o=f(),n=o.formState.errors[e];return a.jsxs("div",{className:"space-y-0.5",children:[!!r&&a.jsx("label",{htmlFor:e,className:"text-text-sm",children:a.jsx(d,{label:r,isOptional:t})}),a.jsx(x,{control:o.control,name:e,render:({field:i})=>a.jsx(C,{placeholder:"Use {{<SECRET_NAME>.<SECRET_KEY>}} to reference a secret",inputSize:"md",className:"w-full placeholder:font-mono data-[error=true]:border-error-500",id:e,...i,type:"text","data-error":n?"true":"false"})}),n&&a.jsx("p",{className:"text-text-sm text-error-500",children:(s=n.message)==null?void 0:s.toString()})]})}function fe({schema:e,name:r,isOptional:t,definitions:o,isNested:n}){let s=j(e,o);n&&s.items&&(s=j(s.items,o)),n&&s.prefixItems&&(s=j(s.prefixItems[0],o));const i=n?"":oe(s,r);if(s.anyOf){const l=s.anyOf.find(u=>u.type!==null);if(l){const u=j(l,o);s={...s,...u}}}if(s.allOf){const l=j(s.allOf[0],o);s={...s,...l}}if(te(s))return a.jsx(ee,{name:r,label:i,schema:e,isOptional:t,enumValues:ae(s)});if(se(s))return a.jsx(ue,{name:r,label:i,schema:s,isOptional:t});if(ne(s))return a.jsx(ie,{name:r,label:i,schema:s,isOptional:t});if(re(s))return a.jsx(le,{name:r,label:i,schema:s,isOptional:t});if(D(s))return a.jsx(X,{name:r,label:i,schema:s,isOptional:t});if(z(s)||y(s)&&n)return a.jsx(ce,{name:r,label:i,schema:s,isOptional:t});if(y(s))return a.jsx(W,{definitions:o,name:r,label:i,schema:s,isOptional:t})}async function de(e){const r=g(N.serviceConnectors.types.detail(e)),t=await S(r,{method:"GET",headers:{"Content-Type":"application/json"}});if(t.status===404&&v(),!t.ok){const o=await t.json().then(n=>Array.isArray(n.detail)?n.detail[1]:n.detail).catch(()=>"Error while fetching service connector type");throw new b({status:t.status,statusText:t.statusText,message:o})}return t.json()}async function me(e){const r=R(e).toString(),t=g(N.serviceConnectors.list+(r?`?${r}`:"")),o=await S(t,{method:"GET",headers:{"Content-Type":"application/json"}});if(o.status===404&&v(),!o.ok){const n=await o.json().then(s=>Array.isArray(s.detail)?s.detail[1]:s.detail).catch(()=>"Error while fetching service connector list");throw new b({status:o.status,statusText:o.statusText,message:n})}return o.json()}const q={connectorTypes:["service_connector_types"],connectors:["service_connectors"],serviceConnectorTypeDetail:e=>T({queryKey:[...q.connectorTypes,e],queryFn:async()=>de(e)}),serviceConnectorListInfinite:(e={})=>A({queryKey:[...q.connectors,e,"infinite"],queryFn:({pageParam:r})=>me({...e,page:r}),getNextPageParam:r=>r.index<r.total_pages?r.index+1:null,initialPageParam:1})};export{fe as D,be as a,Y as b,F as f,ve as g,q as s,Se as z};
|
1
|
+
import{i as q,q as T}from"./@tanstack-CSxjHCME.js";import{o as g,p as N,q as R,j as S,s as v,F as b,z as c,h as E,ao as k,az as I,aA as P,aB as _,aC as J,ah as K,aD as V,ac as B,I as C,b5 as G}from"./index-BygJE88j.js";import{j as a}from"./@radix-C7hRs6Kx.js";import{S as L}from"./plus-COjQg3AG.js";import{S as Q}from"./trash-BWSZ7NRK.js";import{b as f,a as Z,C as x}from"./index.esm-D7jFlf5N.js";import{c as H,i as M}from"./type-guards-CaeD8wHO.js";async function O(e){const r=g(N.flavors.all)+(e?`?${R(e)}`:""),t=await S(r,{method:"GET",headers:{"Content-Type":"application/json"}});if(t.status===404&&v(),!t.ok){const o=await t.json().then(n=>Array.isArray(n.detail)?n.detail[1]:n.detail).catch(()=>"Error while fetching flavors");throw new b({status:t.status,statusText:t.statusText,message:o})}return t.json()}async function U(e){const r=g(N.flavors.detail(e)),t=await S(r,{method:"GET",headers:{"Content-Type":"application/json"}});if(t.status===404&&v(),!t.ok){const o=await t.json().then(n=>Array.isArray(n.detail)?n.detail[1]:n.detail).catch(()=>`Error while fetching flavor ${e}`);throw new b({status:t.status,statusText:t.statusText,message:o})}return t.json()}const F={all:["flavors"],flavorList:e=>T({queryKey:[...F.all,e],queryFn:async()=>O(e)}),flavorDetail:e=>T({queryKey:[...F.all,e],queryFn:async()=>U(e)}),flavorListInfinite:e=>q({queryKey:[...F.all,e,"infinite"],queryFn:({pageParam:r})=>O({...e,page:r}),getNextPageParam:r=>r.index<r.total_pages?r.index+1:null,initialPageParam:1})};function Se(e){const r=Object.keys(e).reduce((t,o)=>(t[o]=c.string().trim().min(1),t),{});return c.object(r)}function ve(e){if(!e.properties)return c.object({});const r=e.required||[],t=e.properties,o=Object.keys(t).reduce((n,s)=>{const i=t[s];if(!i)return n;const l=Y(s,r);return n[s]=$(i,e.$defs,l),n},{});return c.object(o)}function $(e,r,t,o=!1){let n=w(e,r);if(n.anyOf){const i=n.anyOf.find(l=>l.type!==null);i&&(n=w(i,r))}switch(n.allOf&&(n=w(n.allOf[0],r)),n.type){case"string":return t?c.string().trim():c.string().trim().min(1,"Required");case"boolean":return t?c.union([c.literal(""),c.boolean()]):c.boolean();case"array":{if(o)return t?c.union([c.literal(""),p]):p;const i=c.array($(n.items||{},r,!1,!1));return t?i:i.min(1)}case"object":return t?c.union([c.literal(""),p]):p;case"integer":return t?c.union([c.literal(""),c.preprocess(i=>Number(i),c.number().int())]):c.preprocess(i=>Number(i),c.number().int());default:return t?c.union([c.literal(""),c.string()]):c.string().min(1,"Required")}}function Y(e,r){return!r.includes(e)}const p=c.string().refine(e=>{try{return JSON.parse(e),!0}catch{return!1}},{message:"Invalid JSON"}).transform(e=>e===""?e:JSON.parse(e));function w(e,r){if(!e.$ref||!r)return e;const t=e.$ref.split("/").pop();return!t||!r[t]?e:r[t]}function d({label:e,isOptional:r}){return a.jsxs(a.Fragment,{children:[e,!r&&a.jsx("span",{className:"text-theme-text-error","aria-label":"required",children:"*"})]})}function W({name:e,label:r,isOptional:t,schema:o,definitions:n}){const s=f(),{fields:i,append:l,remove:u}=Z({name:e,control:s.control});return a.jsxs("div",{className:"space-y-3",children:[!!r&&a.jsx("label",{className:"text-text-sm",children:a.jsx(d,{label:r,isOptional:t})}),a.jsx("ul",{className:"space-y-5",children:i.map((h,m)=>a.jsxs("li",{className:"flex w-full items-center gap-4 [&>div]:w-full",children:[a.jsx(fe,{isNested:!0,name:`${e}.${m}`,schema:o,isOptional:t,definitions:n}),a.jsxs(E,{className:"h-7 w-7",emphasis:"subtle",size:"sm",type:"button",onClick:()=>u(m),children:[a.jsx(Q,{className:"h-5 w-5 fill-primary-900"}),a.jsx("span",{className:"sr-only",children:"remove"})]})]},h.id))}),a.jsxs(E,{className:"h-7 w-7",emphasis:"subtle",type:"button",onClick:()=>l(""),children:[a.jsx(L,{className:"h-5 w-5 fill-primary-900"}),a.jsx("p",{className:"sr-only",children:"Add Item"})]})]})}function X({name:e,isOptional:r,label:t}){var s;const o=f(),n=o.formState.errors[e];return a.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[!!t&&a.jsx("label",{htmlFor:e,className:"text-text-sm",children:a.jsx(d,{label:t,isOptional:r})}),a.jsx(x,{control:o.control,name:e,render:({field:{onChange:i,value:l,...u}})=>a.jsx(k,{id:e,checked:l,onCheckedChange:h=>i(h),...u})}),n&&a.jsx("p",{className:"text-text-sm text-error-500",children:(s=n.message)==null?void 0:s.toString()})]})}function ee({name:e,label:r,isOptional:t,enumValues:o}){var i;const n=f(),s=n.formState.errors[e];return a.jsxs("div",{className:"space-y-0.5",children:[!!r&&a.jsx("label",{htmlFor:e,className:"text-text-sm",children:a.jsx(d,{label:r,isOptional:t})}),a.jsx(x,{control:n.control,name:e,render:({field:{onChange:l,ref:u,...h}})=>a.jsxs(I,{...h,onValueChange:l,children:[a.jsx(P,{"data-error":s?"true":"false",className:"h-7 max-w-full truncate border border-neutral-300 px-2 text-left text-text-sm data-[error=true]:border-error-500",children:a.jsx(_,{placeholder:"Select Option"})}),a.jsx(J,{children:a.jsx(K,{viewportClassName:"max-h-[300px]",children:o.map(m=>a.jsx(V,{className:"space-x-2",value:m,children:m},m))})})]})}),s&&a.jsx("p",{className:"text-text-sm text-error-500",children:(i=s.message)==null?void 0:i.toString()})]})}function re(e){return e.type==="string"}function te(e){return e.type==="string"&&e.enum!==void 0}function se(e){return e.type==="string"&&!!e.sensitive}function z(e){return e.type==="boolean"}function D(e){return e.type==="object"}function y(e){return e.type==="array"}function ne(e){return e.type==="integer"}function ae(e){var r;return((r=e.enum)==null?void 0:r.map(t=>t.toString()))||[]}function j(e,r){if(!e.$ref||!r)return e;const t=e.$ref.replace("#/$defs/",""),o=r[t];return o||console.error(`Could not resolve $ref: ${e.$ref}`),o}function oe(e,r){return e.title?e.title:B(r)}function be(e,r){const t=Object.entries(e.properties||{}).reduce((o,[n,s])=>{let i="";return s.default?z(s)?i=s.default:D(s)?i=JSON.stringify(s.default):y(s)?i=s.default:i=s.default.toString():y(s)&&(i=[]),{...o,[n]:i}},{});return r&&Object.entries(r).forEach(([o,n])=>{t[o]=H(n)?n.map(s=>JSON.stringify(s)):M(n)?JSON.stringify(n):n}),t}function ie({name:e,isOptional:r,label:t}){var s;const o=f(),n=o.formState.errors[e];return a.jsxs("div",{className:"space-y-0.5",children:[!!t&&a.jsx("label",{htmlFor:e,className:"text-text-sm",children:a.jsx(d,{label:t,isOptional:r})}),a.jsx(x,{control:o.control,name:e,render:({field:i})=>a.jsx(C,{inputSize:"md",className:"w-full data-[error=true]:border-error-500",id:e,...i,type:"number","data-error":n?"true":"false"})}),n&&a.jsx("p",{className:"text-text-sm text-error-500",children:(s=n.message)==null?void 0:s.toString()})]})}function ce({name:e,label:r,isOptional:t}){var s;const o=f(),n=o.formState.errors[e];return a.jsxs("div",{className:"space-y-0.5",children:[!!r&&a.jsx("label",{htmlFor:e,className:"text-text-sm",children:a.jsx(d,{label:r,isOptional:t})}),a.jsx(x,{control:o.control,name:e,render:({field:i})=>a.jsx("textarea",{rows:4,placeholder:"Please paste your JSON",className:G({inputSize:"md",className:"h-auto w-full resize-none font-mono data-[error=true]:border-error-500"}),id:e,...i,"data-error":n?"true":"false"})}),n&&a.jsx("p",{className:"text-text-sm text-error-500",children:(s=n.message)==null?void 0:s.toString()})]})}function le({name:e,isOptional:r,label:t}){var s;const o=f(),n=o.formState.errors[e];return a.jsxs("div",{className:"space-y-0.5",children:[!!t&&a.jsx("label",{htmlFor:e,className:"text-text-sm",children:a.jsx(d,{label:t,isOptional:r})}),a.jsx(x,{control:o.control,name:e,render:({field:i})=>a.jsx(C,{inputSize:"md",className:"w-full data-[error=true]:border-error-500",id:e,...i,"data-error":n?"true":"false"})}),n&&a.jsx("p",{className:"text-text-sm text-error-500",children:(s=n.message)==null?void 0:s.toString()})]})}function ue({name:e,label:r,isOptional:t}){var s;const o=f(),n=o.formState.errors[e];return a.jsxs("div",{className:"space-y-0.5",children:[!!r&&a.jsx("label",{htmlFor:e,className:"text-text-sm",children:a.jsx(d,{label:r,isOptional:t})}),a.jsx(x,{control:o.control,name:e,render:({field:i})=>a.jsx(C,{placeholder:"Use {{<SECRET_NAME>.<SECRET_KEY>}} to reference a secret",inputSize:"md",className:"w-full placeholder:font-mono data-[error=true]:border-error-500",id:e,...i,type:"text","data-error":n?"true":"false"})}),n&&a.jsx("p",{className:"text-text-sm text-error-500",children:(s=n.message)==null?void 0:s.toString()})]})}function fe({schema:e,name:r,isOptional:t,definitions:o,isNested:n}){let s=j(e,o);n&&s.items&&(s=j(s.items,o)),n&&s.prefixItems&&(s=j(s.prefixItems[0],o));const i=n?"":oe(s,r);if(s.anyOf){const l=s.anyOf.find(u=>u.type!==null);if(l){const u=j(l,o);s={...s,...u}}}if(s.allOf){const l=j(s.allOf[0],o);s={...s,...l}}if(te(s))return a.jsx(ee,{name:r,label:i,schema:e,isOptional:t,enumValues:ae(s)});if(se(s))return a.jsx(ue,{name:r,label:i,schema:s,isOptional:t});if(ne(s))return a.jsx(ie,{name:r,label:i,schema:s,isOptional:t});if(re(s))return a.jsx(le,{name:r,label:i,schema:s,isOptional:t});if(z(s))return a.jsx(X,{name:r,label:i,schema:s,isOptional:t});if(D(s)||y(s)&&n)return a.jsx(ce,{name:r,label:i,schema:s,isOptional:t});if(y(s))return a.jsx(W,{definitions:o,name:r,label:i,schema:s,isOptional:t})}async function de(e){const r=g(N.serviceConnectors.types.detail(e)),t=await S(r,{method:"GET",headers:{"Content-Type":"application/json"}});if(t.status===404&&v(),!t.ok){const o=await t.json().then(n=>Array.isArray(n.detail)?n.detail[1]:n.detail).catch(()=>"Error while fetching service connector type");throw new b({status:t.status,statusText:t.statusText,message:o})}return t.json()}async function me(e){const r=R(e).toString(),t=g(N.serviceConnectors.list+(r?`?${r}`:"")),o=await S(t,{method:"GET",headers:{"Content-Type":"application/json"}});if(o.status===404&&v(),!o.ok){const n=await o.json().then(s=>Array.isArray(s.detail)?s.detail[1]:s.detail).catch(()=>"Error while fetching service connector list");throw new b({status:o.status,statusText:o.statusText,message:n})}return o.json()}const A={connectorTypes:["service_connector_types"],connectors:["service_connectors"],serviceConnectorTypeDetail:e=>T({queryKey:[...A.connectorTypes,e],queryFn:async()=>de(e)}),serviceConnectorListInfinite:(e={})=>q({queryKey:[...A.connectors,e,"infinite"],queryFn:({pageParam:r})=>me({...e,page:r}),getNextPageParam:r=>r.index<r.total_pages?r.index+1:null,initialPageParam:1})};export{fe as D,be as a,Y as b,F as f,ve as g,A as s,Se as z};
|
@@ -0,0 +1 @@
|
|
1
|
+
@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-Dc4VJyIJ.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-BPnxn4xp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-BLGc9T1a.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-ZzOtrSSW.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-Bput3-QP.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-DCpCPQOf.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-DxZsaF_h.woff2) format("woff2"),url(/assets/inter-greek-400-normal-BZzXV7-1.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-BUNmGMP1.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-hnt3BR84.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-C1t-h-pH.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-BOOGhInR.woff2) format("woff2"),url(/assets/inter-latin-400-normal-gitzw0hO.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-BShVwWPj.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-CUiC4oBV.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-D4Vwzodn.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-DH2hs3aW.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-B6guLgqG.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-M2hEX8vc.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-CeQXL5ds.woff2) format("woff2"),url(/assets/inter-greek-500-normal-d_eO-yCQ.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-DQPw2Hwd.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CIS2RHJS.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-UMdmhHu2.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-D2bGa7uu.woff2) format("woff2"),url(/assets/inter-latin-500-normal-deR1Tlfd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-CaqZN2hq.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bt9VVOA-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-BGBWG807.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-BuzJQFbW.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-Cnui8OiR.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-C9WLioJ8.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-Dhlb-90d.woff2) format("woff2"),url(/assets/inter-greek-600-normal-CwicyhtI.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-Cm6aH8_k.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-BnYJhD27.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CAF0vJDd.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-D273HNI0.woff2) format("woff2"),url(/assets/inter-latin-600-normal-B5cFAncS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(147 197 253 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(147 197 253 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--color-primary-900: 258 66% 7%;--color-primary-800: 259 66% 14%;--color-primary-700: 259 68% 21%;--color-primary-600: 260 67% 28%;--color-primary-500: 259 67% 35%;--color-primary-400: 260 89% 60%;--color-primary-300: 260 89% 68%;--color-primary-200: 260 89% 76%;--color-primary-100: 260 90% 84%;--color-primary-050: 259 90% 92%;--color-primary-025: 259 90% 96%;--color-neutral-900: 221 39% 11%;--color-neutral-800: 215 28% 17%;--color-neutral-700: 217 19% 27%;--color-neutral-600: 215 14% 34%;--color-neutral-500: 220 9% 46%;--color-neutral-400: 218 11% 65%;--color-neutral-300: 216 12% 84%;--color-neutral-200: 220 13% 91%;--color-neutral-100: 220 14% 96%;--color-neutral-050: 210 20% 98%;--color-neutral-000: 0 0% 100%;--color-error-900: 4 59% 19%;--color-error-800: 3 58% 29%;--color-error-700: 4 59% 39%;--color-error-600: 4 59% 48%;--color-error-500: 4 81% 58%;--color-error-400: 4 81% 65%;--color-error-300: 4 82% 72%;--color-error-200: 3 81% 79%;--color-error-100: 4 81% 86%;--color-error-050: 3 81% 92%;--color-warning-900: 32 93% 17%;--color-warning-800: 33 92% 25%;--color-warning-700: 32 92% 34%;--color-warning-600: 33 93% 42%;--color-warning-500: 32 95% 51%;--color-warning-400: 32 95% 59%;--color-warning-300: 32 95% 67%;--color-warning-200: 33 95% 75%;--color-warning-100: 32 95% 84%;--color-warning-050: 33 96% 90%;--color-success-900: 137 75% 14%;--color-success-800: 137 75% 22%;--color-success-700: 137 74% 29%;--color-success-600: 137 75% 36%;--color-success-500: 137 74% 43%;--color-success-400: 137 56% 53%;--color-success-300: 137 56% 62%;--color-success-200: 137 56% 71%;--color-success-100: 137 57% 81%;--color-success-050: 137 55% 89%;--color-blue-900: 208 88% 10%;--color-blue-800: 209 88% 17%;--color-blue-700: 208 89% 25%;--color-blue-600: 208 89% 33%;--color-blue-500: 209 89% 42%;--color-blue-400: 209 90% 50%;--color-blue-300: 209 90% 58%;--color-blue-200: 208 89% 67%;--color-blue-100: 208 89% 75%;--color-blue-050: 209 90% 84%;--color-blue-025: 208 88% 90%;--color-teal-900: 180 61% 8%;--color-teal-800: 180 59% 14%;--color-teal-700: 180 60% 20%;--color-teal-600: 180 61% 27%;--color-teal-500: 180 60% 34%;--color-teal-400: 180 60% 41%;--color-teal-300: 180 41% 51%;--color-teal-200: 180 42% 60%;--color-teal-100: 180 41% 70%;--color-teal-050: 180 41% 80%;--color-teal-025: 180 41% 88%;--color-turquoise-900: 192 57% 9%;--color-turquoise-800: 190 57% 15%;--color-turquoise-700: 189 58% 22%;--color-turquoise-600: 190 58% 30%;--color-turquoise-500: 189 57% 37%;--color-turquoise-400: 190 58% 44%;--color-turquoise-300: 190 46% 54%;--color-turquoise-200: 190 46% 63%;--color-turquoise-100: 189 45% 72%;--color-turquoise-050: 190 45% 81%;--color-turquoise-025: 192 46% 89%;--color-lime-900: 96 60% 11%;--color-lime-800: 96 61% 18%;--color-lime-700: 96 60% 27%;--color-lime-600: 96 60% 36%;--color-lime-500: 96 60% 45%;--color-lime-400: 96 72% 54%;--color-lime-300: 96 71% 62%;--color-lime-200: 96 72% 70%;--color-lime-100: 96 71% 77%;--color-lime-050: 96 72% 85%;--color-lime-025: 96 70% 91%;--color-magenta-900: 337 61% 12%;--color-magenta-800: 338 61% 20%;--color-magenta-700: 338 60% 30%;--color-magenta-600: 338 60% 40%;--color-magenta-500: 338 60% 50%;--color-magenta-400: 338 90% 60%;--color-magenta-300: 338 91% 67%;--color-magenta-200: 338 90% 73%;--color-magenta-100: 338 90% 80%;--color-magenta-050: 338 91% 87%;--color-magenta-025: 337 90% 92%;--color-orange-900: 19 61% 12%;--color-orange-800: 19 61% 20%;--color-orange-700: 19 60% 30%;--color-orange-600: 19 60% 40%;--color-orange-500: 19 60% 50%;--color-orange-400: 19 90% 60%;--color-orange-300: 19 91% 67%;--color-orange-200: 19 90% 73%;--color-orange-100: 19 90% 80%;--color-orange-050: 19 91% 87%;--color-orange-025: 19 90% 92%;--color-text-primary: var(--color-primary-900);--color-text-secondary: var(--color-neutral-500);--color-text-tertiary: var(--color-neutral-400);--color-text-negative: var(--color-neutral-000);--color-text-brand: var(--color-primary-500);--color-text-error: var(--color-error-500);--color-text-warning: var(--color-warning-500);--color-text-success: var(--color-success-500);--color-surface-primary: var(--color-neutral-000);--color-surface-secondary: var(--color-neutral-050);--color-surface-tertiary: var(--color-neutral-100);--color-surface-strong: var(--color-primary-400);--color-border-minimal: var(--color-neutral-100);--color-border-moderate: var(--color-neutral-200);--color-border-bold: var(--color-neutral-500)}[type=text],input:where(:not([type])),[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,input:where(:not([type])):focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: hsl(var(--color-blue-600) / var(--tw-ring-opacity, 1));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:hsl(var(--color-blue-600) / var(--tw-border-opacity, 1))}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:hsl(var(--color-blue-600) / var(--tw-text-opacity, 1));background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: hsl(var(--color-blue-600) / var(--tw-ring-opacity, 1));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}@media (forced-colors: active){[type=checkbox]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}@media (forced-colors: active){[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}@media (forced-colors: active){[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.\!prose{color:var(--tw-prose-body)!important;max-width:65ch!important}.\!prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em!important;margin-bottom:1.25em!important}.\!prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead)!important;font-size:1.25em!important;line-height:1.6!important;margin-top:1.2em!important;margin-bottom:1.2em!important}.\!prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links)!important;text-decoration:underline!important;font-weight:500!important}.\!prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold)!important;font-weight:600!important}.\!prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.\!prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.\!prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.\!prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal!important;margin-top:1.25em!important;margin-bottom:1.25em!important;padding-inline-start:1.625em!important}.\!prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha!important}.\!prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha!important}.\!prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha!important}.\!prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha!important}.\!prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman!important}.\!prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman!important}.\!prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman!important}.\!prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman!important}.\!prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal!important}.\!prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc!important;margin-top:1.25em!important;margin-bottom:1.25em!important;padding-inline-start:1.625em!important}.\!prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400!important;color:var(--tw-prose-counters)!important}.\!prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)!important}.\!prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings)!important;font-weight:600!important;margin-top:1.25em!important}.\!prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr)!important;border-top-width:1px!important;margin-top:3em!important;margin-bottom:3em!important}.\!prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500!important;font-style:italic!important;color:var(--tw-prose-quotes)!important;border-inline-start-width:.25rem!important;border-inline-start-color:var(--tw-prose-quote-borders)!important;quotes:"“""”""‘""’"!important;margin-top:1.6em!important;margin-bottom:1.6em!important;padding-inline-start:1em!important}.\!prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote!important}.\!prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote!important}.\!prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings)!important;font-weight:800!important;font-size:2.25em!important;margin-top:0!important;margin-bottom:.8888889em!important;line-height:1.1111111!important}.\!prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900!important;color:inherit!important}.\!prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings)!important;font-weight:700!important;font-size:1.5em!important;margin-top:2em!important;margin-bottom:1em!important;line-height:1.3333333!important}.\!prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800!important;color:inherit!important}.\!prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings)!important;font-weight:600!important;font-size:1.25em!important;margin-top:1.6em!important;margin-bottom:.6em!important;line-height:1.6!important}.\!prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700!important;color:inherit!important}.\!prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings)!important;font-weight:600!important;margin-top:1.5em!important;margin-bottom:.5em!important;line-height:1.5!important}.\!prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700!important;color:inherit!important}.\!prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em!important;margin-bottom:2em!important}.\!prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block!important;margin-top:2em!important;margin-bottom:2em!important}.\!prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em!important;margin-bottom:2em!important}.\!prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500!important;font-family:inherit!important;color:var(--tw-prose-kbd)!important;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%),0 3px rgb(var(--tw-prose-kbd-shadows) / 10%)!important;font-size:.875em!important;border-radius:.3125rem!important;padding-top:.1875em!important;padding-inline-end:.375em!important;padding-bottom:.1875em!important;padding-inline-start:.375em!important}.\!prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code)!important;font-weight:600!important;font-size:.875em!important}.\!prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"!important}.\!prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"!important}.\!prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.\!prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.\!prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important;font-size:.875em!important}.\!prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important;font-size:.9em!important}.\!prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.\!prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.\!prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.\!prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code)!important;background-color:var(--tw-prose-pre-bg)!important;overflow-x:auto!important;font-weight:400!important;font-size:.875em!important;line-height:1.7142857!important;margin-top:1.7142857em!important;margin-bottom:1.7142857em!important;border-radius:.375rem!important;padding-top:.8571429em!important;padding-inline-end:1.1428571em!important;padding-bottom:.8571429em!important;padding-inline-start:1.1428571em!important}.\!prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent!important;border-width:0!important;border-radius:0!important;padding:0!important;font-weight:inherit!important;color:inherit!important;font-size:inherit!important;font-family:inherit!important;line-height:inherit!important}.\!prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none!important}.\!prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none!important}.\!prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%!important;table-layout:auto!important;margin-top:2em!important;margin-bottom:2em!important;font-size:.875em!important;line-height:1.7142857!important}.\!prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px!important;border-bottom-color:var(--tw-prose-th-borders)!important}.\!prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings)!important;font-weight:600!important;vertical-align:bottom!important;padding-inline-end:.5714286em!important;padding-bottom:.5714286em!important;padding-inline-start:.5714286em!important}.\!prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px!important;border-bottom-color:var(--tw-prose-td-borders)!important}.\!prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0!important}.\!prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline!important}.\!prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px!important;border-top-color:var(--tw-prose-th-borders)!important}.\!prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top!important}.\!prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start!important}.\!prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important;margin-bottom:0!important}.\!prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions)!important;font-size:.875em!important;line-height:1.4285714!important;margin-top:.8571429em!important}.\!prose{--tw-prose-body: #374151 !important;--tw-prose-headings: #111827 !important;--tw-prose-lead: #4b5563 !important;--tw-prose-links: #111827 !important;--tw-prose-bold: #111827 !important;--tw-prose-counters: #6b7280 !important;--tw-prose-bullets: #d1d5db !important;--tw-prose-hr: #e5e7eb !important;--tw-prose-quotes: #111827 !important;--tw-prose-quote-borders: #e5e7eb !important;--tw-prose-captions: #6b7280 !important;--tw-prose-kbd: #111827 !important;--tw-prose-kbd-shadows: 17 24 39 !important;--tw-prose-code: #111827 !important;--tw-prose-pre-code: #e5e7eb !important;--tw-prose-pre-bg: #1f2937 !important;--tw-prose-th-borders: #d1d5db !important;--tw-prose-td-borders: #e5e7eb !important;--tw-prose-invert-body: #d1d5db !important;--tw-prose-invert-headings: #fff !important;--tw-prose-invert-lead: #9ca3af !important;--tw-prose-invert-links: #fff !important;--tw-prose-invert-bold: #fff !important;--tw-prose-invert-counters: #9ca3af !important;--tw-prose-invert-bullets: #4b5563 !important;--tw-prose-invert-hr: #374151 !important;--tw-prose-invert-quotes: #f3f4f6 !important;--tw-prose-invert-quote-borders: #374151 !important;--tw-prose-invert-captions: #9ca3af !important;--tw-prose-invert-kbd: #fff !important;--tw-prose-invert-kbd-shadows: 255 255 255 !important;--tw-prose-invert-code: #fff !important;--tw-prose-invert-pre-code: #d1d5db !important;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%) !important;--tw-prose-invert-th-borders: #4b5563 !important;--tw-prose-invert-td-borders: #374151 !important;font-size:1rem!important;line-height:1.75!important}.\!prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important;margin-bottom:0!important}.\!prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em!important;margin-bottom:.5em!important}.\!prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em!important}.\!prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em!important}.\!prose :where(.\!prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em!important;margin-bottom:.75em!important}.\!prose :where(.\!prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em!important}.\!prose :where(.\!prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em!important}.\!prose :where(.\!prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em!important}.\!prose :where(.\!prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em!important}.\!prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em!important;margin-bottom:.75em!important}.\!prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em!important;margin-bottom:1.25em!important}.\!prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em!important;padding-inline-start:1.625em!important}.\!prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important}.\!prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important}.\!prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important}.\!prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important}.\!prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0!important}.\!prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0!important}.\!prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em!important;padding-inline-end:.5714286em!important;padding-bottom:.5714286em!important;padding-inline-start:.5714286em!important}.\!prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0!important}.\!prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0!important}.\!prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em!important;margin-bottom:2em!important}.\!prose :where(.\!prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important}.\!prose :where(.\!prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0!important}[type=radio]:checked{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='%237A3EF4' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='5'/%3E%3C/svg%3E")}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0rem;right:0rem;bottom:0rem;left:0rem}.inset-x-0{left:0rem;right:0rem}.inset-y-0{top:0rem;bottom:0rem}.inset-y-1{top:.5rem;bottom:.5rem}.bottom-0{bottom:0rem}.left-0{left:0rem}.left-2{left:.75rem}.left-4{left:1.25rem}.left-\[50\%\]{left:50%}.right-0{right:0rem}.right-2{right:.75rem}.right-3{right:1rem}.right-4{right:1.25rem}.right-\[-12px\]{right:-12px}.top-0{top:0rem}.top-2{top:.75rem}.top-3{top:1rem}.top-4{top:1.25rem}.top-9{top:4rem}.top-\[-12px\]{top:-12px}.top-\[128px\]{top:128px}.top-\[50\%\]{top:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.m-0{margin:0rem}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:1rem;margin-bottom:1rem}.my-5{margin-top:1.5rem;margin-bottom:1.5rem}.my-9{margin-top:4rem;margin-bottom:4rem}.mb-0\.5{margin-bottom:.25rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:.75rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.25rem}.mb-5{margin-bottom:1.5rem}.mb-7{margin-bottom:2.5rem}.ml-1{margin-left:.5rem}.ml-2{margin-left:.75rem}.ml-5{margin-left:1.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.5rem}.mr-2{margin-right:.75rem}.mr-4{margin-right:1.25rem}.mt-0\.5{margin-top:.25rem}.mt-10{margin-top:4.5rem}.mt-2{margin-top:.75rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.25rem}.mt-5{margin-top:1.5rem}.mt-auto{margin-top:auto}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.size-3{width:1rem;height:1rem}.size-4{width:1.25rem;height:1.25rem}.size-5{width:1.5rem;height:1.5rem}.size-6{width:2rem;height:2rem}.h-0{height:0rem}.h-0\.5{height:.25rem}.h-1{height:.5rem}.h-12{height:6rem}.h-2{height:.75rem}.h-3{height:1rem}.h-4{height:1.25rem}.h-5{height:1.5rem}.h-6{height:2rem}.h-7{height:2.5rem}.h-8{height:3rem}.h-9{height:4rem}.h-\[100px\]{height:100px}.h-\[10px\]{height:10px}.h-\[110px\]{height:110px}.h-\[120px\]{height:120px}.h-\[140px\]{height:140px}.h-\[150px\]{height:150px}.h-\[180px\]{height:180px}.h-\[1px\]{height:1px}.h-\[200\]{height:200}.h-\[200px\]{height:200px}.h-\[20px\]{height:20px}.h-\[250px\]{height:250px}.h-\[28px\]{height:28px}.h-\[300px\]{height:300px}.h-\[32px\]{height:32px}.h-\[350px\]{height:350px}.h-\[36px\]{height:36px}.h-\[40px\]{height:40px}.h-\[48px\]{height:48px}.h-\[500px\]{height:500px}.h-\[50px\]{height:50px}.h-\[56px\]{height:56px}.h-\[60px\]{height:60px}.h-\[70px\]{height:70px}.h-\[96px\]{height:96px}.h-\[calc\(100vh_-_270px\)\]{height:calc(100vh - 270px)}.h-\[calc\(100vh_-_4rem_-_4rem_-_2px\)\]{height:calc(100vh - 8rem - 2px)}.h-\[calc\(100vh_-_4rem_-_4rem_-_4rem_-_2px\)\]{height:calc(100vh - 12rem - 2px)}.h-\[calc\(100vh_-_64px\)\]{height:calc(100vh - 64px)}.h-\[calc\(100vh_-_64px_-_64px\)\]{height:calc(100vh - 128px)}.h-\[var\(--outer-circle\)\]{height:var(--outer-circle)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.max-h-\[300px\]{max-height:300px}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80px\]{max-height:80px}.max-h-screen{max-height:100vh}.min-h-8{min-height:3rem}.min-h-\[160px\]{min-height:160px}.min-h-\[620px\]{min-height:620px}.min-h-screen{min-height:100vh}.w-0{width:0rem}.w-1{width:.5rem}.w-1\/2{width:50%}.w-10{width:4.5rem}.w-12{width:6rem}.w-2{width:.75rem}.w-3{width:1rem}.w-3\/4{width:75%}.w-4{width:1.25rem}.w-5{width:1.5rem}.w-6{width:2rem}.w-7{width:2.5rem}.w-8{width:3rem}.w-9{width:4rem}.w-\[1000px\]{width:1000px}.w-\[100px\]{width:100px}.w-\[10px\]{width:10px}.w-\[110px\]{width:110px}.w-\[120px\]{width:120px}.w-\[140px\]{width:140px}.w-\[150px\]{width:150px}.w-\[16rem\]{width:16rem}.w-\[180px\]{width:180px}.w-\[200px\]{width:200px}.w-\[20px\]{width:20px}.w-\[220px\]{width:220px}.w-\[250px\]{width:250px}.w-\[28px\]{width:28px}.w-\[3\/4\]{width:3/4}.w-\[300px\]{width:300px}.w-\[36px\]{width:36px}.w-\[480px\]{width:480px}.w-\[60px\]{width:60px}.w-\[70px\]{width:70px}.w-\[90px\]{width:90px}.w-\[90vw\]{width:90vw}.w-\[96px\]{width:96px}.w-\[var\(--outer-circle\)\]{width:var(--outer-circle)}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-min{width:-moz-min-content;width:min-content}.min-w-0{min-width:0rem}.min-w-\[160px\]{min-width:160px}.min-w-\[500px\]{min-width:500px}.min-w-\[540px\]{min-width:540px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.\!max-w-none{max-width:none!important}.max-w-\[1000px\]{max-width:1000px}.max-w-\[100px\]{max-width:100px}.max-w-\[200px\]{max-width:200px}.max-w-\[300px\]{max-width:300px}.max-w-\[450px\]{max-width:450px}.max-w-\[480px\]{max-width:480px}.max-w-\[500px\]{max-width:500px}.max-w-\[540px\]{max-width:540px}.max-w-\[570px\]{max-width:570px}.max-w-\[600px\]{max-width:600px}.max-w-\[700px\]{max-width:700px}.max-w-\[744px\]{max-width:744px}.max-w-\[800px\]{max-width:800px}.max-w-fit{max-width:-moz-fit-content;max-width:fit-content}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.-translate-x-3\/4{--tw-translate-x: -75%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[30\%\]{--tw-translate-x: 30%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[15\%\]{--tw-translate-y: 15%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-\[5deg\]{--tw-rotate: -5deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[40\%\]{--tw-scale-x: 40%;--tw-scale-y: 40%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin-slow{animation:spin 2s linear infinite}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-\[square\]{list-style-type:square}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.content-center{align-content:center}.items-start{align-items:flex-start}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.25rem}.gap-1{gap:.5rem}.gap-2{gap:.75rem}.gap-3{gap:1rem}.gap-4{gap:1.25rem}.gap-5{gap:1.5rem}.gap-6{gap:2rem}.gap-7{gap:2.5rem}.gap-8{gap:3rem}.gap-\[10px\]{gap:10px}.gap-\[20px\]{gap:20px}.gap-x-2{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-7{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-x-\[10px\]{-moz-column-gap:10px;column-gap:10px}.gap-y-0\.5{row-gap:.25rem}.gap-y-1{row-gap:.5rem}.gap-y-2{row-gap:.75rem}.gap-y-4{row-gap:1.25rem}.gap-y-5{row-gap:1.5rem}.-space-x-\[7px\]>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-7px * var(--tw-space-x-reverse));margin-left:calc(-7px * calc(1 - var(--tw-space-x-reverse)))}.space-x-0\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0rem * var(--tw-space-y-reverse))}.space-y-0\.25>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-neutral-300>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:hsl(var(--color-neutral-300) / var(--tw-divide-opacity, 1))}.divide-theme-border-moderate>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:hsl(var(--color-border-moderate) / var(--tw-divide-opacity, 1))}.self-start{align-self:flex-start}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-clip{overflow-x:clip}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded-\[4px\]{border-radius:4px}.rounded-\[inherit\]{border-radius:inherit}.rounded-md{border-radius:.5rem}.rounded-rounded{border-radius:9999px}.rounded-sharp{border-radius:0}.rounded-sm{border-radius:.25rem}.rounded-b-md{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-sharp{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-sharp{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-t-md{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-4{border-width:4px}.border-\[2px\]{border-width:2px}.border-\[3px\]{border-width:3px}.border-\[7px\]{border-width:7px}.border-x{border-left-width:1px;border-right-width:1px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-y-0{border-top-width:0px;border-bottom-width:0px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.\!border-theme-border-bold{--tw-border-opacity: 1 !important;border-color:hsl(var(--color-border-bold) / var(--tw-border-opacity, 1))!important}.border-\[\#D0D5DD\]{--tw-border-opacity: 1;border-color:rgb(208 213 221 / var(--tw-border-opacity, 1))}.border-blue-100{--tw-border-opacity: 1;border-color:hsl(var(--color-blue-100) / var(--tw-border-opacity, 1))}.border-error-200{--tw-border-opacity: 1;border-color:hsl(var(--color-error-200) / var(--tw-border-opacity, 1))}.border-error-300{--tw-border-opacity: 1;border-color:hsl(var(--color-error-300) / var(--tw-border-opacity, 1))}.border-error-600{--tw-border-opacity: 1;border-color:hsl(var(--color-error-600) / var(--tw-border-opacity, 1))}.border-lime-100{--tw-border-opacity: 1;border-color:hsl(var(--color-lime-100) / var(--tw-border-opacity, 1))}.border-magenta-100{--tw-border-opacity: 1;border-color:hsl(var(--color-magenta-100) / var(--tw-border-opacity, 1))}.border-neutral-300{--tw-border-opacity: 1;border-color:hsl(var(--color-neutral-300) / var(--tw-border-opacity, 1))}.border-orange-100{--tw-border-opacity: 1;border-color:hsl(var(--color-orange-100) / var(--tw-border-opacity, 1))}.border-primary-100{--tw-border-opacity: 1;border-color:hsl(var(--color-primary-100) / var(--tw-border-opacity, 1))}.border-primary-400{--tw-border-opacity: 1;border-color:hsl(var(--color-primary-400) / var(--tw-border-opacity, 1))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-success-200{--tw-border-opacity: 1;border-color:hsl(var(--color-success-200) / var(--tw-border-opacity, 1))}.border-success-300{--tw-border-opacity: 1;border-color:hsl(var(--color-success-300) / var(--tw-border-opacity, 1))}.border-teal-100{--tw-border-opacity: 1;border-color:hsl(var(--color-teal-100) / var(--tw-border-opacity, 1))}.border-theme-border-bold{--tw-border-opacity: 1;border-color:hsl(var(--color-border-bold) / var(--tw-border-opacity, 1))}.border-theme-border-minimal{--tw-border-opacity: 1;border-color:hsl(var(--color-border-minimal) / var(--tw-border-opacity, 1))}.border-theme-border-moderate{--tw-border-opacity: 1;border-color:hsl(var(--color-border-moderate) / var(--tw-border-opacity, 1))}.border-theme-text-negative{--tw-border-opacity: 1;border-color:hsl(var(--color-text-negative) / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-turquoise-100{--tw-border-opacity: 1;border-color:hsl(var(--color-turquoise-100) / var(--tw-border-opacity, 1))}.border-warning-100{--tw-border-opacity: 1;border-color:hsl(var(--color-warning-100) / var(--tw-border-opacity, 1))}.border-warning-200{--tw-border-opacity: 1;border-color:hsl(var(--color-warning-200) / var(--tw-border-opacity, 1))}.border-warning-300{--tw-border-opacity: 1;border-color:hsl(var(--color-warning-300) / var(--tw-border-opacity, 1))}.border-warning-50{--tw-border-opacity: 1;border-color:hsl(var(--color-warning-050) / var(--tw-border-opacity, 1))}.border-b-theme-surface-strong{--tw-border-opacity: 1;border-bottom-color:hsl(var(--color-surface-strong) / var(--tw-border-opacity, 1))}.border-b-theme-text-brand{--tw-border-opacity: 1;border-bottom-color:hsl(var(--color-text-brand) / var(--tw-border-opacity, 1))}.border-b-theme-text-error{--tw-border-opacity: 1;border-bottom-color:hsl(var(--color-text-error) / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.\!bg-primary-500{--tw-bg-opacity: 1 !important;background-color:hsl(var(--color-primary-500) / var(--tw-bg-opacity, 1))!important}.bg-\[\#DEE2E6\]{--tw-bg-opacity: 1;background-color:rgb(222 226 230 / var(--tw-bg-opacity, 1))}.bg-\[\#FFF6EA\]{--tw-bg-opacity: 1;background-color:rgb(255 246 234 / var(--tw-bg-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/10{background-color:#0000001a}.bg-blue-25{--tw-bg-opacity: 1;background-color:hsl(var(--color-blue-025) / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:hsl(var(--color-blue-050) / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:hsl(var(--color-blue-500) / var(--tw-bg-opacity, 1))}.bg-error-100{--tw-bg-opacity: 1;background-color:hsl(var(--color-error-100) / var(--tw-bg-opacity, 1))}.bg-error-50{--tw-bg-opacity: 1;background-color:hsl(var(--color-error-050) / var(--tw-bg-opacity, 1))}.bg-error-600{--tw-bg-opacity: 1;background-color:hsl(var(--color-error-600) / var(--tw-bg-opacity, 1))}.bg-lime-100{--tw-bg-opacity: 1;background-color:hsl(var(--color-lime-100) / var(--tw-bg-opacity, 1))}.bg-lime-25{--tw-bg-opacity: 1;background-color:hsl(var(--color-lime-025) / var(--tw-bg-opacity, 1))}.bg-lime-700{--tw-bg-opacity: 1;background-color:hsl(var(--color-lime-700) / var(--tw-bg-opacity, 1))}.bg-magenta-100{--tw-bg-opacity: 1;background-color:hsl(var(--color-magenta-100) / var(--tw-bg-opacity, 1))}.bg-magenta-25{--tw-bg-opacity: 1;background-color:hsl(var(--color-magenta-025) / var(--tw-bg-opacity, 1))}.bg-magenta-500{--tw-bg-opacity: 1;background-color:hsl(var(--color-magenta-500) / var(--tw-bg-opacity, 1))}.bg-neutral-100{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-100) / var(--tw-bg-opacity, 1))}.bg-neutral-200{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-200) / var(--tw-bg-opacity, 1))}.bg-neutral-300{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-300) / var(--tw-bg-opacity, 1))}.bg-neutral-50\/50{background-color:hsl(var(--color-neutral-050) / .5)}.bg-neutral-600{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-600) / var(--tw-bg-opacity, 1))}.bg-neutral-900\/20{background-color:hsl(var(--color-neutral-900) / .2)}.bg-orange-100{--tw-bg-opacity: 1;background-color:hsl(var(--color-orange-100) / var(--tw-bg-opacity, 1))}.bg-orange-25{--tw-bg-opacity: 1;background-color:hsl(var(--color-orange-025) / var(--tw-bg-opacity, 1))}.bg-orange-400{--tw-bg-opacity: 1;background-color:hsl(var(--color-orange-400) / var(--tw-bg-opacity, 1))}.bg-primary-100{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-100) / var(--tw-bg-opacity, 1))}.bg-primary-25{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-025) / var(--tw-bg-opacity, 1))}.bg-primary-300{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-300) / var(--tw-bg-opacity, 1))}.bg-primary-400{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-400) / var(--tw-bg-opacity, 1))}.bg-primary-50{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-050) / var(--tw-bg-opacity, 1))}.bg-primary-500{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-500) / var(--tw-bg-opacity, 1))}.bg-success-100{--tw-bg-opacity: 1;background-color:hsl(var(--color-success-100) / var(--tw-bg-opacity, 1))}.bg-success-50{--tw-bg-opacity: 1;background-color:hsl(var(--color-success-050) / var(--tw-bg-opacity, 1))}.bg-success-600{--tw-bg-opacity: 1;background-color:hsl(var(--color-success-600) / var(--tw-bg-opacity, 1))}.bg-success-700{--tw-bg-opacity: 1;background-color:hsl(var(--color-success-700) / var(--tw-bg-opacity, 1))}.bg-teal-100{--tw-bg-opacity: 1;background-color:hsl(var(--color-teal-100) / var(--tw-bg-opacity, 1))}.bg-teal-25{--tw-bg-opacity: 1;background-color:hsl(var(--color-teal-025) / var(--tw-bg-opacity, 1))}.bg-teal-600{--tw-bg-opacity: 1;background-color:hsl(var(--color-teal-600) / var(--tw-bg-opacity, 1))}.bg-theme-border-moderate{--tw-bg-opacity: 1;background-color:hsl(var(--color-border-moderate) / var(--tw-bg-opacity, 1))}.bg-theme-surface-primary{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-primary) / var(--tw-bg-opacity, 1))}.bg-theme-surface-secondary{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-secondary) / var(--tw-bg-opacity, 1))}.bg-theme-surface-strong{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-strong) / var(--tw-bg-opacity, 1))}.bg-theme-surface-tertiary{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-tertiary) / var(--tw-bg-opacity, 1))}.bg-theme-text-primary{--tw-bg-opacity: 1;background-color:hsl(var(--color-text-primary) / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-turquoise-100{--tw-bg-opacity: 1;background-color:hsl(var(--color-turquoise-100) / var(--tw-bg-opacity, 1))}.bg-turquoise-25{--tw-bg-opacity: 1;background-color:hsl(var(--color-turquoise-025) / var(--tw-bg-opacity, 1))}.bg-turquoise-500{--tw-bg-opacity: 1;background-color:hsl(var(--color-turquoise-500) / var(--tw-bg-opacity, 1))}.bg-warning-200{--tw-bg-opacity: 1;background-color:hsl(var(--color-warning-200) / var(--tw-bg-opacity, 1))}.bg-warning-400{--tw-bg-opacity: 1;background-color:hsl(var(--color-warning-400) / var(--tw-bg-opacity, 1))}.bg-warning-50{--tw-bg-opacity: 1;background-color:hsl(var(--color-warning-050) / var(--tw-bg-opacity, 1))}.bg-warning-600{--tw-bg-opacity: 1;background-color:hsl(var(--color-warning-600) / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/40{background-color:#fff6}.bg-white\/70{background-color:#ffffffb3}.bg-\[conic-gradient\(hsl\(var\(--color-primary-400\)\)_var\(--value\)\,hsl\(var\(--color-primary-050\)\)_var\(--value\)\)\]{background-image:conic-gradient(hsl(var(--color-primary-400)) var(--value),hsl(var(--color-primary-050)) var(--value))}.bg-gradient-light{background-image:linear-gradient(to bottom,#f4f0ff,#fff)}.\!fill-neutral-400{fill:hsl(var(--color-neutral-400) / 1)!important}.fill-blue-400{fill:hsl(var(--color-blue-400) / 1)}.fill-current{fill:currentColor}.fill-error-500{fill:hsl(var(--color-error-500) / 1)}.fill-error-700{fill:hsl(var(--color-error-700) / 1)}.fill-inherit{fill:inherit}.fill-neutral-200{fill:hsl(var(--color-neutral-200) / 1)}.fill-neutral-300{fill:hsl(var(--color-neutral-300) / 1)}.fill-neutral-400{fill:hsl(var(--color-neutral-400) / 1)}.fill-neutral-500{fill:hsl(var(--color-neutral-500) / 1)}.fill-primary-400{fill:hsl(var(--color-primary-400) / 1)}.fill-primary-600{fill:hsl(var(--color-primary-600) / 1)}.fill-primary-900{fill:hsl(var(--color-primary-900) / 1)}.fill-success-300{fill:hsl(var(--color-success-300) / 1)}.fill-success-400{fill:hsl(var(--color-success-400) / 1)}.fill-success-500{fill:hsl(var(--color-success-500) / 1)}.fill-success-700{fill:hsl(var(--color-success-700) / 1)}.fill-teal-400{fill:hsl(var(--color-teal-400) / 1)}.fill-theme-surface-strong{fill:hsl(var(--color-surface-strong) / 1)}.fill-theme-text-brand{fill:hsl(var(--color-text-brand) / 1)}.fill-theme-text-negative{fill:hsl(var(--color-text-negative) / 1)}.fill-theme-text-primary{fill:hsl(var(--color-text-primary) / 1)}.fill-theme-text-secondary{fill:hsl(var(--color-text-secondary) / 1)}.fill-theme-text-success{fill:hsl(var(--color-text-success) / 1)}.fill-theme-text-tertiary{fill:hsl(var(--color-text-tertiary) / 1)}.fill-theme-text-warning{fill:hsl(var(--color-text-warning) / 1)}.fill-turquoise-400{fill:hsl(var(--color-turquoise-400) / 1)}.fill-warning-300{fill:hsl(var(--color-warning-300) / 1)}.fill-warning-400{fill:hsl(var(--color-warning-400) / 1)}.fill-warning-500{fill:hsl(var(--color-warning-500) / 1)}.fill-warning-700{fill:hsl(var(--color-warning-700) / 1)}.fill-warning-900{fill:hsl(var(--color-warning-900) / 1)}.fill-white{fill:#fff}.stroke-primary-400{stroke:hsl(var(--color-primary-400) / 1)}.stroke-theme-text-tertiary{stroke:hsl(var(--color-text-tertiary) / 1)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0rem}.p-0\.25{padding:.125rem}.p-0\.5{padding:.25rem}.p-1{padding:.5rem}.p-2{padding:.75rem}.p-3{padding:1rem}.p-4{padding:1.25rem}.p-5{padding:1.5rem}.p-6{padding:2rem}.p-7{padding:2.5rem}.p-8{padding:3rem}.p-9{padding:4rem}.p-\[1px\]{padding:1px}.px-0\.5{padding-left:.25rem;padding-right:.25rem}.px-1{padding-left:.5rem;padding-right:.5rem}.px-2{padding-left:.75rem;padding-right:.75rem}.px-3{padding-left:1rem;padding-right:1rem}.px-4{padding-left:1.25rem;padding-right:1.25rem}.px-5{padding-left:1.5rem;padding-right:1.5rem}.px-6{padding-left:2rem;padding-right:2rem}.px-7{padding-left:2.5rem;padding-right:2.5rem}.px-8{padding-left:3rem;padding-right:3rem}.py-0\.25{padding-top:.125rem;padding-bottom:.125rem}.py-0\.5{padding-top:.25rem;padding-bottom:.25rem}.py-1{padding-top:.5rem;padding-bottom:.5rem}.py-12{padding-top:6rem;padding-bottom:6rem}.py-2{padding-top:.75rem;padding-bottom:.75rem}.py-3{padding-top:1rem;padding-bottom:1rem}.py-4{padding-top:1.25rem;padding-bottom:1.25rem}.py-5{padding-top:1.5rem;padding-bottom:1.5rem}.py-7{padding-top:2.5rem;padding-bottom:2.5rem}.py-9{padding-top:4rem;padding-bottom:4rem}.pb-1{padding-bottom:.5rem}.pb-5{padding-bottom:1.5rem}.pb-6{padding-bottom:2rem}.pl-1{padding-left:.5rem}.pl-2{padding-left:.75rem}.pl-3{padding-left:1rem}.pl-4{padding-left:1.25rem}.pl-5{padding-left:1.5rem}.pl-8{padding-left:3rem}.pl-9{padding-left:4rem}.pl-\[30px\]{padding-left:30px}.pl-\[36px\]{padding-left:36px}.pl-\[60px\]{padding-left:60px}.pr-1{padding-right:.5rem}.pr-10{padding-right:4.5rem}.pr-12{padding-right:6rem}.pr-2{padding-right:.75rem}.pr-3{padding-right:1rem}.pr-4{padding-right:1.25rem}.pr-5{padding-right:1.5rem}.pr-6{padding-right:2rem}.pr-8{padding-right:3rem}.pt-5{padding-top:1.5rem}.pt-7{padding-top:2.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:Inter,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-display-lg{font-size:3rem;line-height:3.75rem;letter-spacing:-.06rem}.text-display-md{font-size:2.25rem;line-height:2.75rem;letter-spacing:-.045rem}.text-display-sm{font-size:1.875rem;line-height:2.375rem}.text-display-xl{font-size:3.75rem;line-height:4.5rem}.text-display-xs{font-size:1.5rem;line-height:2rem}.text-text-lg{font-size:1.125rem;line-height:1.75rem}.text-text-md{font-size:1rem;line-height:1.5rem}.text-text-sm{font-size:.875rem;line-height:1.25rem}.text-text-xl{font-size:1.25rem;line-height:1.875rem}.text-text-xs{font-size:.75rem;line-height:1.125rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.tracking-widest{letter-spacing:.1em}.text-blue-600{--tw-text-opacity: 1;color:hsl(var(--color-blue-600) / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:hsl(var(--color-blue-700) / var(--tw-text-opacity, 1))}.text-current{color:currentColor}.text-error-500{--tw-text-opacity: 1;color:hsl(var(--color-error-500) / var(--tw-text-opacity, 1))}.text-error-700{--tw-text-opacity: 1;color:hsl(var(--color-error-700) / var(--tw-text-opacity, 1))}.text-error-800{--tw-text-opacity: 1;color:hsl(var(--color-error-800) / var(--tw-text-opacity, 1))}.text-error-900{--tw-text-opacity: 1;color:hsl(var(--color-error-900) / var(--tw-text-opacity, 1))}.text-lime-700{--tw-text-opacity: 1;color:hsl(var(--color-lime-700) / var(--tw-text-opacity, 1))}.text-lime-800{--tw-text-opacity: 1;color:hsl(var(--color-lime-800) / var(--tw-text-opacity, 1))}.text-magenta-600{--tw-text-opacity: 1;color:hsl(var(--color-magenta-600) / var(--tw-text-opacity, 1))}.text-magenta-700{--tw-text-opacity: 1;color:hsl(var(--color-magenta-700) / var(--tw-text-opacity, 1))}.text-neutral-400{--tw-text-opacity: 1;color:hsl(var(--color-neutral-400) / var(--tw-text-opacity, 1))}.text-neutral-500{--tw-text-opacity: 1;color:hsl(var(--color-neutral-500) / var(--tw-text-opacity, 1))}.text-neutral-700{--tw-text-opacity: 1;color:hsl(var(--color-neutral-700) / var(--tw-text-opacity, 1))}.text-neutral-900{--tw-text-opacity: 1;color:hsl(var(--color-neutral-900) / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:hsl(var(--color-orange-600) / var(--tw-text-opacity, 1))}.text-orange-700{--tw-text-opacity: 1;color:hsl(var(--color-orange-700) / var(--tw-text-opacity, 1))}.text-primary-400{--tw-text-opacity: 1;color:hsl(var(--color-primary-400) / var(--tw-text-opacity, 1))}.text-primary-500{--tw-text-opacity: 1;color:hsl(var(--color-primary-500) / var(--tw-text-opacity, 1))}.text-primary-600{--tw-text-opacity: 1;color:hsl(var(--color-primary-600) / var(--tw-text-opacity, 1))}.text-primary-900{--tw-text-opacity: 1;color:hsl(var(--color-primary-900) / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-success-800{--tw-text-opacity: 1;color:hsl(var(--color-success-800) / var(--tw-text-opacity, 1))}.text-success-900{--tw-text-opacity: 1;color:hsl(var(--color-success-900) / var(--tw-text-opacity, 1))}.text-teal-600{--tw-text-opacity: 1;color:hsl(var(--color-teal-600) / var(--tw-text-opacity, 1))}.text-teal-700{--tw-text-opacity: 1;color:hsl(var(--color-teal-700) / var(--tw-text-opacity, 1))}.text-theme-surface-primary{--tw-text-opacity: 1;color:hsl(var(--color-surface-primary) / var(--tw-text-opacity, 1))}.text-theme-surface-strong{--tw-text-opacity: 1;color:hsl(var(--color-surface-strong) / var(--tw-text-opacity, 1))}.text-theme-text-brand{--tw-text-opacity: 1;color:hsl(var(--color-text-brand) / var(--tw-text-opacity, 1))}.text-theme-text-error{--tw-text-opacity: 1;color:hsl(var(--color-text-error) / var(--tw-text-opacity, 1))}.text-theme-text-negative{--tw-text-opacity: 1;color:hsl(var(--color-text-negative) / var(--tw-text-opacity, 1))}.text-theme-text-primary{--tw-text-opacity: 1;color:hsl(var(--color-text-primary) / var(--tw-text-opacity, 1))}.text-theme-text-secondary{--tw-text-opacity: 1;color:hsl(var(--color-text-secondary) / var(--tw-text-opacity, 1))}.text-theme-text-success{--tw-text-opacity: 1;color:hsl(var(--color-text-success) / var(--tw-text-opacity, 1))}.text-theme-text-tertiary{--tw-text-opacity: 1;color:hsl(var(--color-text-tertiary) / var(--tw-text-opacity, 1))}.text-theme-text-warning{--tw-text-opacity: 1;color:hsl(var(--color-text-warning) / var(--tw-text-opacity, 1))}.text-turquoise-600{--tw-text-opacity: 1;color:hsl(var(--color-turquoise-600) / var(--tw-text-opacity, 1))}.text-turquoise-700{--tw-text-opacity: 1;color:hsl(var(--color-turquoise-700) / var(--tw-text-opacity, 1))}.text-warning-900{--tw-text-opacity: 1;color:hsl(var(--color-warning-900) / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.decoration-theme-text-tertiary{text-decoration-color:hsl(var(--color-text-tertiary) / 1)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-90{opacity:.9}.mix-blend-multiply{mix-blend-mode:multiply}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0px 0px 4px 0px rgba(0, 0, 0, .1);--tw-shadow-colored: 0px 0px 4px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-none{transition-property:none}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.fade-out-0{--tw-exit-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-100{animation-duration:.1s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.running{animation-play-state:running}.paused{animation-play-state:paused}.\@container{container-type:inline-size}.layout-container{margin-left:auto;margin-right:auto;width:91.666667%;max-width:1440px}.link{text-decoration-line:underline;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;animation-duration:.15s}.link:hover{text-decoration-color:transparent}.\[animation-duration\:_5s\]{animation-duration:5s}.marker\:text-primary-200 *::marker{color:hsl(var(--color-primary-200))}.marker\:text-primary-200::marker{color:hsl(var(--color-primary-200))}.placeholder\:font-mono::-moz-placeholder{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.placeholder\:font-mono::placeholder{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.placeholder\:text-theme-text-secondary::-moz-placeholder{--tw-text-opacity: 1;color:hsl(var(--color-text-secondary) / var(--tw-text-opacity, 1))}.placeholder\:text-theme-text-secondary::placeholder{--tw-text-opacity: 1;color:hsl(var(--color-text-secondary) / var(--tw-text-opacity, 1))}.placeholder\:text-theme-text-tertiary::-moz-placeholder{--tw-text-opacity: 1;color:hsl(var(--color-text-tertiary) / var(--tw-text-opacity, 1))}.placeholder\:text-theme-text-tertiary::placeholder{--tw-text-opacity: 1;color:hsl(var(--color-text-tertiary) / var(--tw-text-opacity, 1))}.after\:h-\[var\(--inner-circle\)\]:after{content:var(--tw-content);height:var(--inner-circle)}.after\:w-\[var\(--inner-circle\)\]:after{content:var(--tw-content);width:var(--inner-circle)}.after\:rounded-rounded:after{content:var(--tw-content);border-radius:9999px}.after\:bg-theme-surface-primary:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-primary) / var(--tw-bg-opacity, 1))}.after\:content-\[\'\'\]:after{--tw-content: "";content:var(--tw-content)}.first\:pt-0:first-child{padding-top:0rem}.last\:pb-0:last-child{padding-bottom:0rem}.hover\:w-\[220px\]:hover{width:220px}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-neutral-400:hover{--tw-border-opacity: 1;border-color:hsl(var(--color-neutral-400) / var(--tw-border-opacity, 1))}.hover\:border-primary-400:hover{--tw-border-opacity: 1;border-color:hsl(var(--color-primary-400) / var(--tw-border-opacity, 1))}.hover\:border-theme-border-bold:hover{--tw-border-opacity: 1;border-color:hsl(var(--color-border-bold) / var(--tw-border-opacity, 1))}.hover\:bg-error-50:hover{--tw-bg-opacity: 1;background-color:hsl(var(--color-error-050) / var(--tw-bg-opacity, 1))}.hover\:bg-error-500:hover{--tw-bg-opacity: 1;background-color:hsl(var(--color-error-500) / var(--tw-bg-opacity, 1))}.hover\:bg-neutral-100:hover{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-100) / var(--tw-bg-opacity, 1))}.hover\:bg-neutral-200:hover{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-200) / var(--tw-bg-opacity, 1))}.hover\:bg-neutral-300:hover{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-300) / var(--tw-bg-opacity, 1))}.hover\:bg-primary-100:hover{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-100) / var(--tw-bg-opacity, 1))}.hover\:bg-primary-400:hover{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-400) / var(--tw-bg-opacity, 1))}.hover\:bg-primary-50:hover{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-050) / var(--tw-bg-opacity, 1))}.hover\:bg-theme-surface-primary:hover{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-primary) / var(--tw-bg-opacity, 1))}.hover\:bg-theme-surface-secondary:hover{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-secondary) / var(--tw-bg-opacity, 1))}.hover\:bg-warning-400:hover{--tw-bg-opacity: 1;background-color:hsl(var(--color-warning-400) / var(--tw-bg-opacity, 1))}.hover\:text-purple-900:hover{--tw-text-opacity: 1;color:rgb(88 28 135 / var(--tw-text-opacity, 1))}.hover\:text-theme-text-brand:hover{--tw-text-opacity: 1;color:hsl(var(--color-text-brand) / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-transparent:hover{text-decoration-color:transparent}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow: 0px 0px 4px 0px rgba(0, 0, 0, .1);--tw-shadow-colored: 0px 0px 4px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:ring-4:hover{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.hover\:ring-theme-surface-tertiary:hover{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--color-surface-tertiary) / var(--tw-ring-opacity, 1))}.focus\:border-neutral-500:focus{--tw-border-opacity: 1;border-color:hsl(var(--color-neutral-500) / var(--tw-border-opacity, 1))}.focus\:bg-theme-surface-tertiary:focus{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-tertiary) / var(--tw-bg-opacity, 1))}.focus\:shadow-sm:focus{--tw-shadow: 0px 0px 4px 0px rgba(0, 0, 0, .1);--tw-shadow-colored: 0px 0px 4px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-primary-500:focus{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--color-primary-500) / var(--tw-ring-opacity, 1))}.focus\:ring-theme-surface-strong:focus{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--color-surface-strong) / var(--tw-ring-opacity, 1))}.focus\:ring-theme-surface-tertiary:focus{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--color-surface-tertiary) / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.active\:border-neutral-400:active{--tw-border-opacity: 1;border-color:hsl(var(--color-neutral-400) / var(--tw-border-opacity, 1))}.active\:bg-error-100:active{--tw-bg-opacity: 1;background-color:hsl(var(--color-error-100) / var(--tw-bg-opacity, 1))}.active\:bg-error-600:active{--tw-bg-opacity: 1;background-color:hsl(var(--color-error-600) / var(--tw-bg-opacity, 1))}.active\:bg-neutral-300:active{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-300) / var(--tw-bg-opacity, 1))}.active\:bg-neutral-400:active{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-400) / var(--tw-bg-opacity, 1))}.active\:bg-primary-100:active{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-100) / var(--tw-bg-opacity, 1))}.active\:bg-primary-200:active{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-200) / var(--tw-bg-opacity, 1))}.active\:bg-primary-500:active{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-500) / var(--tw-bg-opacity, 1))}.active\:bg-theme-surface-tertiary:active{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-tertiary) / var(--tw-bg-opacity, 1))}.active\:bg-warning-500:active{--tw-bg-opacity: 1;background-color:hsl(var(--color-warning-500) / var(--tw-bg-opacity, 1))}.active\:ring-4:active{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.active\:ring-\[\#E4D8FD\]:active{--tw-ring-opacity: 1;--tw-ring-color: rgb(228 216 253 / var(--tw-ring-opacity, 1))}.active\:ring-\[\#E5E7EB\]:active{--tw-ring-opacity: 1;--tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity, 1))}.active\:ring-error-50:active{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--color-error-050) / var(--tw-ring-opacity, 1))}.active\:ring-neutral-100:active{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--color-neutral-100) / var(--tw-ring-opacity, 1))}.active\:ring-warning-50:active{--tw-ring-opacity: 1;--tw-ring-color: hsl(var(--color-warning-050) / var(--tw-ring-opacity, 1))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-error-100:disabled{--tw-border-opacity: 1;border-color:hsl(var(--color-error-100) / var(--tw-border-opacity, 1))}.disabled\:border-neutral-300:disabled{--tw-border-opacity: 1;border-color:hsl(var(--color-neutral-300) / var(--tw-border-opacity, 1))}.disabled\:border-primary-100:disabled{--tw-border-opacity: 1;border-color:hsl(var(--color-primary-100) / var(--tw-border-opacity, 1))}.disabled\:bg-error-100:disabled{--tw-bg-opacity: 1;background-color:hsl(var(--color-error-100) / var(--tw-bg-opacity, 1))}.disabled\:bg-neutral-100:disabled{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-100) / var(--tw-bg-opacity, 1))}.disabled\:bg-primary-50:disabled{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-050) / var(--tw-bg-opacity, 1))}.disabled\:bg-theme-surface-primary:disabled{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-primary) / var(--tw-bg-opacity, 1))}.disabled\:text-error-100:disabled{--tw-text-opacity: 1;color:hsl(var(--color-error-100) / var(--tw-text-opacity, 1))}.disabled\:text-neutral-300:disabled{--tw-text-opacity: 1;color:hsl(var(--color-neutral-300) / var(--tw-text-opacity, 1))}.disabled\:text-neutral-400:disabled{--tw-text-opacity: 1;color:hsl(var(--color-neutral-400) / var(--tw-text-opacity, 1))}.disabled\:text-primary-100:disabled{--tw-text-opacity: 1;color:hsl(var(--color-primary-100) / var(--tw-text-opacity, 1))}.disabled\:opacity-50:disabled{opacity:.5}.group\/copybutton:hover .group-hover\/copybutton\:visible{visibility:visible}.group:hover .group-hover\:mb-2{margin-bottom:.75rem}.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:flex{display:flex}.group:hover .group-hover\:h-5{height:1.5rem}.group\/copybutton:hover .group-hover\/copybutton\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group\/button:disabled .group-disabled\/button\:fill-neutral-300{fill:hsl(var(--color-neutral-300) / 1)}.group.white-close .group-\[\.white-close\]\:fill-white{fill:#fff}.group.white-close .group-\[\.white-close\]\:text-theme-text-negative{--tw-text-opacity: 1;color:hsl(var(--color-text-negative) / var(--tw-text-opacity, 1))}.peer:checked~.peer-checked\:border-primary-100{--tw-border-opacity: 1;border-color:hsl(var(--color-primary-100) / var(--tw-border-opacity, 1))}.peer:checked~.peer-checked\:border-primary-400{--tw-border-opacity: 1;border-color:hsl(var(--color-primary-400) / var(--tw-border-opacity, 1))}.peer:checked~.peer-checked\:bg-primary-25{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-025) / var(--tw-bg-opacity, 1))}.peer:checked~.peer-checked\:shadow-sm{--tw-shadow: 0px 0px 4px 0px rgba(0, 0, 0, .1);--tw-shadow-colored: 0px 0px 4px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.peer:focus-visible~.peer-focus-visible\:border-primary-100{--tw-border-opacity: 1;border-color:hsl(var(--color-primary-100) / var(--tw-border-opacity, 1))}.peer:disabled~.peer-disabled\:cursor-default{cursor:default}.peer:disabled~.peer-disabled\:bg-neutral-50{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-050) / var(--tw-bg-opacity, 1))}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[success\=true\]\:max-w-\[800px\][data-success=true]{max-width:800px}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-3[data-state=checked]{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x: 0rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x: var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x: var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[error\=true\]\:border-error-500[data-error=true]{--tw-border-opacity: 1;border-color:hsl(var(--color-error-500) / var(--tw-border-opacity, 1))}.data-\[error\=true\]\:border-theme-text-error[data-error=true]{--tw-border-opacity: 1;border-color:hsl(var(--color-text-error) / var(--tw-border-opacity, 1))}.data-\[failed\=true\]\:border-error-200[data-failed=true]{--tw-border-opacity: 1;border-color:hsl(var(--color-error-200) / var(--tw-border-opacity, 1))}.data-\[filled\=true\]\:border-success-400[data-filled=true]{--tw-border-opacity: 1;border-color:hsl(var(--color-success-400) / var(--tw-border-opacity, 1))}.data-\[selected\=true\]\:border-primary-500[data-selected=true]{--tw-border-opacity: 1;border-color:hsl(var(--color-primary-500) / var(--tw-border-opacity, 1))}.data-\[selected\=true\]\:border-theme-border-bold[data-selected=true]{--tw-border-opacity: 1;border-color:hsl(var(--color-border-bold) / var(--tw-border-opacity, 1))}.data-\[state\=checked\]\:border-theme-surface-strong[data-state=checked],.data-\[state\=selected\]\:border-theme-surface-strong[data-state=selected]{--tw-border-opacity: 1;border-color:hsl(var(--color-surface-strong) / var(--tw-border-opacity, 1))}.data-\[failed\=true\]\:bg-error-50[data-failed=true]{--tw-bg-opacity: 1;background-color:hsl(var(--color-error-050) / var(--tw-bg-opacity, 1))}.data-\[filled\=true\]\:bg-theme-surface-primary[data-filled=true]{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-primary) / var(--tw-bg-opacity, 1))}.data-\[selected\=true\]\:bg-primary-25[data-selected=true]{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-025) / var(--tw-bg-opacity, 1))}.data-\[selected\=true\]\:bg-primary-500[data-selected=true]{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-500) / var(--tw-bg-opacity, 1))}.data-\[state\=active\]\:bg-theme-surface-primary[data-state=active]{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-primary) / var(--tw-bg-opacity, 1))}.data-\[state\=checked\]\:bg-primary-400[data-state=checked]{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-400) / var(--tw-bg-opacity, 1))}.data-\[state\=checked\]\:bg-primary-50[data-state=checked]{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-050) / var(--tw-bg-opacity, 1))}.data-\[state\=checked\]\:bg-theme-surface-strong[data-state=checked]{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-strong) / var(--tw-bg-opacity, 1))}.data-\[state\=checked\]\:data-\[half\=true\]\:bg-primary-50[data-half=true][data-state=checked]{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-050) / var(--tw-bg-opacity, 1))}.data-\[state\=unchecked\]\:bg-neutral-100[data-state=unchecked]{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-100) / var(--tw-bg-opacity, 1))}.data-\[state\=unchecked\]\:bg-neutral-200[data-state=unchecked]{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-200) / var(--tw-bg-opacity, 1))}.data-\[failed\=true\]\:text-theme-text-error[data-failed=true]{--tw-text-opacity: 1;color:hsl(var(--color-text-error) / var(--tw-text-opacity, 1))}.data-\[selected\=true\]\:text-theme-text-brand[data-selected=true],.data-\[state\=active\]\:text-theme-text-brand[data-state=active]{--tw-text-opacity: 1;color:hsl(var(--color-text-brand) / var(--tw-text-opacity, 1))}.data-\[state\=checked\]\:data-\[disabled\]\:text-theme-surface-primary[data-disabled][data-state=checked]{--tw-text-opacity: 1;color:hsl(var(--color-surface-primary) / var(--tw-text-opacity, 1))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[selected\=true\]\:shadow-md[data-selected=true]{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[state\=active\]\:shadow-inner[data-state=active]{--tw-shadow: inset 0 -2px 0 0,0 2px 0 0;--tw-shadow-colored: inset 0 -2px 0 0 var(--tw-shadow-color), 0 2px 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[state\=active\]\:shadow-primary-400[data-state=active]{--tw-shadow-color: hsl(var(--color-primary-400) / 1);--tw-shadow: var(--tw-shadow-colored)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity: .8}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.75rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .75rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.75rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .75rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.hover\:data-\[state\=inactive\]\:shadow-inner[data-state=inactive]:hover{--tw-shadow: inset 0 -2px 0 0,0 2px 0 0;--tw-shadow-colored: inset 0 -2px 0 0 var(--tw-shadow-color), 0 2px 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:data-\[state\=inactive\]\:shadow-neutral-200[data-state=inactive]:hover{--tw-shadow-color: hsl(var(--color-neutral-200) / 1);--tw-shadow: var(--tw-shadow-colored)}.data-\[state\=checked\]\:active\:border-primary-200:active[data-state=checked]{--tw-border-opacity: 1;border-color:hsl(var(--color-primary-200) / var(--tw-border-opacity, 1))}.data-\[state\=checked\]\:active\:bg-primary-200:active[data-state=checked]{--tw-bg-opacity: 1;background-color:hsl(var(--color-primary-200) / var(--tw-bg-opacity, 1))}.disabled\:data-\[state\=checked\]\:border-neutral-300[data-state=checked]:disabled{--tw-border-opacity: 1;border-color:hsl(var(--color-neutral-300) / var(--tw-border-opacity, 1))}.data-\[state\=checked\]\:disabled\:bg-primary-400\/30:disabled[data-state=checked]{background-color:hsl(var(--color-primary-400) / .3)}.disabled\:data-\[state\=checked\]\:bg-neutral-300[data-state=checked]:disabled{--tw-bg-opacity: 1;background-color:hsl(var(--color-neutral-300) / var(--tw-bg-opacity, 1))}.disabled\:data-\[state\=checked\]\:data-\[half\=true\]\:bg-primary-50\/30[data-half=true][data-state=checked]:disabled{background-color:hsl(var(--color-primary-050) / .3)}.disabled\:data-\[state\=unchecked\]\:bg-neutral-100\/30[data-state=unchecked]:disabled{background-color:hsl(var(--color-neutral-100) / .3)}.disabled\:data-\[state\=unchecked\]\:opacity-30[data-state=unchecked]:disabled{opacity:.3}.group[data-selected=true] .group-data-\[selected\=true\]\:bg-white\/20{background-color:#fff3}.group\/trigger[data-state=active] .group-data-\[state\=active\]\/trigger\:bg-theme-surface-primary{--tw-bg-opacity: 1;background-color:hsl(var(--color-surface-primary) / var(--tw-bg-opacity, 1))}.group[data-selected=true] .group-data-\[selected\=true\]\:fill-theme-text-negative{fill:hsl(var(--color-text-negative) / 1)}.group\/trigger[data-state=active] .group-data-\[state\=active\]\/trigger\:fill-theme-surface-strong{fill:hsl(var(--color-surface-strong) / 1)}.group[data-selected=true] .group-data-\[selected\=true\]\:text-theme-text-negative{--tw-text-opacity: 1;color:hsl(var(--color-text-negative) / var(--tw-text-opacity, 1))}.group[data-selected=true] .group-data-\[selected\=true\]\:text-white\/70{color:#ffffffb3}.group\/trigger[data-state=active] .group-data-\[state\=active\]\/trigger\:shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group\/trigger[data-state=active] .data-\[error\=false\]\:data-\[filled\=false\]\:group-data-\[state\=active\]\/trigger\:border-theme-border-bold[data-filled=false][data-error=false]{--tw-border-opacity: 1;border-color:hsl(var(--color-border-bold) / var(--tw-border-opacity, 1))}@container (min-width: 64rem){.\@5xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion: reduce){.motion-reduce\:animate-none{animation:none}}@media (min-width: 640px){.sm\:right-0{right:0rem}.sm\:top-7{top:2.5rem}.sm\:h-7{height:2.5rem}.sm\:max-w-\[640px\]{max-width:640px}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y: 100%}}@media (min-width: 768px){.md\:w-2\/3{width:66.666667%}.md\:w-full{width:100%}.md\:max-w-3xl{max-width:48rem}.md\:max-w-\[480px\]{max-width:480px}.md\:translate-y-\[30\%\]{--tw-translate-y: 30%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:gap-y-4{row-gap:1.25rem}.md\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}}@media (min-width: 1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:block{display:block}.lg\:w-1\/3{width:33.333333%}.lg\:w-2\/3{width:66.666667%}.lg\:w-\[200px\]{width:200px}.lg\:w-\[700px\]{width:700px}.lg\:w-full{width:100%}.lg\:min-w-\[600px\]{min-width:600px}.lg\:min-w-\[700px\]{min-width:700px}.lg\:max-w-\[1000px\]{max-width:1000px}.lg\:max-w-\[320px\]{max-width:320px}.lg\:max-w-\[900px\]{max-width:900px}.lg\:flex-row{flex-direction:row}.lg\:flex-col{flex-direction:column}.lg\:items-start{align-items:flex-start}.lg\:gap-\[100px\]{gap:100px}.lg\:px-0{padding-left:0rem;padding-right:0rem}.lg\:px-10{padding-left:4.5rem;padding-right:4.5rem}}@media (min-width: 1280px){.xl\:block{display:block}.xl\:w-1\/2{width:50%}.xl\:w-1\/3{width:33.333333%}.xl\:max-w-\[1080px\]{max-width:1080px}.xl\:max-w-\[300px\]{max-width:300px}.xl\:-translate-y-\[5\%\]{--tw-translate-y: -5%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:flex-row{flex-direction:row}.xl\:flex-row-reverse{flex-direction:row-reverse}.xl\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.xl\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.xl\:divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 1}.xl\:pl-\[200px\]{padding-left:200px}}@media (min-width: 1536px){.\32xl\:block{display:block}.\32xl\:-translate-x-\[60\%\]{--tw-translate-x: -60%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\32xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.\32xl\:pl-\[300px\]{padding-left:300px}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0rem}.\[\&\>\*\]\:\!block>*{display:block!important}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y: 2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>div\]\:w-full>div{width:100%}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.75rem;padding-right:.75rem}.\[\&_\[cmdk-group-heading\]\]\:py-2 [cmdk-group-heading]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-group-heading\]\]\:text-text-sm [cmdk-group-heading]{font-size:.875rem;line-height:1.25rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:font-semibold [cmdk-group-heading]{font-weight:600}.\[\&_\[cmdk-group-heading\]\]\:text-theme-text-secondary [cmdk-group-heading]{--tw-text-opacity: 1;color:hsl(var(--color-text-secondary) / var(--tw-text-opacity, 1))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0rem}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.75rem;padding-right:.75rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.5rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:6rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.75rem;padding-right:.75rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:1rem;padding-bottom:1rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.5rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.5rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1.25rem;height:1.25rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}
|
@@ -1 +1 @@
|
|
1
|
-
import{q as o}from"./@tanstack-CSxjHCME.js";import{o as n,s as i,F as c,p as u}from"./index-
|
1
|
+
import{q as o}from"./@tanstack-CSxjHCME.js";import{o as n,s as i,F as c,p as u}from"./index-BygJE88j.js";async function l({workspaceId:e}){const a=n(u.workspaces.detail(e)),t=await fetch(a,{method:"GET",credentials:"include",headers:{"Content-Type":"application/json"}});if(t.status===404&&i(),!t.ok){const r=await t.json().then(s=>Array.isArray(s.detail)?s.detail[1]:s.detail).catch(()=>`Error while fetching workspace ${e}`);throw new c({status:t.status,statusText:t.statusText,message:r})}return t.json()}const p={all:["workspaces"],workspaceDetail:e=>o({queryKey:[...p.all,e],queryFn:async()=>l({workspaceId:e})})};export{p as w};
|
@@ -1 +1 @@
|
|
1
|
-
import{j as s,o as r,F as i,p as u}from"./index-
|
1
|
+
import{j as s,o as r,F as i,p as u}from"./index-BygJE88j.js";import{b as c}from"./@tanstack-CSxjHCME.js";async function h(a){const o=r(u.login),t=await s(o,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(a)});if(!t.ok){const e=await t.json().then(n=>n.detail).catch(()=>["","Failed to login"]);throw new i({status:t.status,statusText:t.statusText,message:e[1]||"Failed to login"})}return t.json()}function m(a){return c({mutationFn:async o=>h(o),...a})}export{m as u};
|
@@ -1 +1 @@
|
|
1
|
-
import{j as e}from"./@radix-C7hRs6Kx.js";import{i as s,h as r}from"./index-
|
1
|
+
import{j as e}from"./@radix-C7hRs6Kx.js";import{i as s,h as r}from"./index-BygJE88j.js";import{S as a}from"./arrow-left-CwgF2MEM.js";import{c as n}from"./@react-router-CNP6g_RL.js";import"./@tanstack-CSxjHCME.js";import"./@reactflow-CQi1Z1Wq.js";function h(){const t=n();return e.jsx(e.Fragment,{children:e.jsxs("section",{className:"layout-container my-9 flex flex-col items-center gap-5",children:[e.jsx(s,{className:"h-[120px] w-[120px] fill-neutral-300"}),e.jsxs("div",{className:"text-center",children:[e.jsx("h1",{className:"mb-2 text-display-xs font-semibold",children:"Error 404 - Run Not Found"}),e.jsx("p",{className:"text-theme-text-secondary",children:"Oh no! It seems that the run you are looking for doesn't exist."})]}),e.jsxs(r,{intent:"primary",size:"lg",onClick:()=>t(-1),children:[e.jsx(a,{className:"h-5 w-5 fill-theme-text-negative"})," ",e.jsx("span",{children:"Go back"})]})]})})}export{h as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{r as f,j as e}from"./@radix-C7hRs6Kx.js";import{S as X,u as y,C as v,P as N,a as $,W as ee,L as te}from"./ProviderRadio-
|
1
|
+
import{r as f,j as e}from"./@radix-C7hRs6Kx.js";import{S as X,u as y,C as v,P as N,a as $,W as ee,L as te}from"./ProviderRadio-26EB5tY-.js";import{u,R as se,a as re,E as ae,D as F,G as oe,A as ne,C as O,b as ie,N as ce}from"./Partials-BNBtCjuT.js";import{S as V,B as Y,aN as de,h as le,r as T}from"./index-BygJE88j.js";import{d as me,c as ue}from"./@react-router-CNP6g_RL.js";import{I as G}from"./Infobox-Bai0JtFs.js";import{t as H}from"./zod-C0xYeTvL.js";import{u as Q,F as pe}from"./index.esm-D7jFlf5N.js";import{a as xe,c as q,b as fe,p as he}from"./persist-SSTTV5q0.js";import{C as h}from"./ProviderIcon-kkODO9tx.js";import{s as J}from"./index-8uhUi12k.js";import{a as K}from"./@tanstack-CSxjHCME.js";import"./Tick-ay3Bgtro.js";import"./check-DK77doTf.js";import"./package-D1Mhqeh8.js";import"./ComponentBadge-BgGnzcLu.js";import"./ComponentIcon-B_7Y_oV-.js";import"./layout-h3cbx8WZ.js";import"./rocket-Cf-B-XOR.js";import"./logs-B5n0U7tB.js";import"./CodeSnippet-Di-loaZu.js";import"./NumberBox-D2A7ENHb.js";import"./link-external-DUhCSKNm.js";import"./@reactflow-CQi1Z1Wq.js";import"./sharedSchema-BACERDat.js";import"./gcp-CHNvgEss.js";import"./stack-detail-query-ihiJr6nq.js";function je(){const{formRef:t,setIsNextButtonDisabled:s,setData:a,data:o}=u(),n=Q({resolver:H(xe),mode:"onChange",defaultValues:{region:o.location,stackName:o.stackName||""}});f.useEffect(()=>{s(!n.formState.isValid)},[n.formState.isValid,s]);function l(r){a(m=>({...m,location:r.region,stackName:r.stackName}))}return e.jsx(j,{title:"Review Stack Configuration",children:e.jsx(pe,{...n,children:e.jsxs("div",{className:"space-y-5",children:[e.jsxs(G,{className:"text-text-sm",children:[e.jsx("p",{className:"font-semibold",children:"Important"}),e.jsx("p",{children:"This will create new resources in your account. Ensure you have the necessary permissions and are aware of any potential costs."})]}),e.jsxs("form",{onSubmit:n.handleSubmit(l),ref:t,className:"space-y-5",children:[e.jsx(se,{provider:o.provider||"aws"}),e.jsx(X,{})]}),e.jsx(re,{provider:o.provider||"aws"}),e.jsx(ae,{provider:o.provider||"aws"})]})})})}function ve(){const{data:t,timestamp:s,setIsNextButtonDisabled:a}=u(),{setCurrentStep:o}=y(),{isPending:n,isError:l,data:r}=K({...J.stackDeploymentStack({provider:t.provider,stack_name:t.stackName,date_start:s}),refetchInterval:5e3,throwOnError:!0});return f.useEffect(()=>{r&&(q(),o(m=>m+1),a(!1))},[r]),n?e.jsx(V,{className:"h-[200px] w-full"}):l?null:e.jsxs("div",{className:"space-y-5",children:[e.jsx(Ne,{}),e.jsx(ye,{stack:r})]})}function Ne(){const{data:t}=u();return e.jsxs("section",{className:"space-y-5 border-b border-theme-border-moderate pb-5",children:[e.jsxs(Y,{className:"flex items-center justify-between gap-4 px-6 py-5",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(h,{provider:t.provider,className:"h-6 w-6 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-text-lg font-semibold",children:"Deploying the Stack..."}),e.jsx("p",{className:"text-theme-text-secondary",children:"Follow the steps in your Cloud console to finish the setup. You can come back to check once your components are deployed."})]})]}),t.provider==="azure"?e.jsx(F,{children:e.jsx("span",{children:"Deploy in Azure"})}):e.jsx(F,{})]}),t.provider==="gcp"&&e.jsx(oe,{}),t.provider==="azure"&&e.jsx(ne,{})]})}function ye({stack:t}){const s=!!t;return e.jsxs("div",{className:"space-y-5",children:[!s&&e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"flex items-center gap-1 text-text-lg font-semibold",children:[e.jsx(de,{className:"h-5 w-5 fill-primary-400"}),"Creating your stack and components..."]}),e.jsx("p",{className:"text-theme-text-secondary",children:"We are creating your stack and stack components based on your configuration. Once you finish the setup, come back to check your brand new stack and components ready."})]}),e.jsx(Se,{isReady:s}),e.jsx(ge,{stack:t})]})}function ge({stack:t}){const s=!!t,{data:a}=u();return e.jsxs("div",{className:"relative overflow-hidden rounded-md",children:[!s&&e.jsx("div",{className:"absolute z-50 h-full w-full bg-neutral-50/50"}),e.jsx(O,{type:a.provider,componentProps:{isLoading:!s,isSuccess:s,stackName:a.stackName}})]})}function Se({isReady:t}){const[s,a]=f.useState(!1);return f.useEffect(()=>{const o=setTimeout(()=>{a(!0)},3e5);return()=>clearTimeout(o)},[]),!s||t?null:e.jsx(G,{children:"Your stack is taking longer than usual to deploy. Please check your Cloud console, or the stacks list in ZenML."})}function ke(){return e.jsx(j,{title:"Deploy ZenML Stack",children:e.jsx(be,{})})}function be(){const{setIsNextButtonDisabled:t,isLoading:s}=u();return f.useEffect(()=>{t(!0)},[]),s?e.jsx(ve,{}):e.jsx(ie,{})}function we(){const{formRef:t,setIsNextButtonDisabled:s,setData:a,data:o}=u(),{register:n,handleSubmit:l,formState:{isValid:r}}=Q({resolver:H(fe),defaultValues:{provider:o.provider}});f.useEffect(()=>{s(!r)},[r,s]);function m(d){a(c=>({...c,provider:d.provider}))}return e.jsx(j,{title:"New Cloud Infrastructure",children:e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-lg font-semibold",children:"Select a Cloud Provider"}),e.jsx("p",{className:"text-theme-text-secondary",children:"Select the cloud provider where your want to create your infrastructure and deploy your ZenML models. You will be able to remove the ZenML stack at any time."})]}),e.jsxs("form",{id:"provider-form",onSubmit:l(m),className:"grid grid-cols-1 gap-3 xl:grid-cols-3",ref:t,children:[e.jsx(v,{id:"aws-provider",...n("provider"),value:"aws",children:e.jsx(N,{icon:e.jsx(h,{provider:"aws",className:"h-6 w-6 shrink-0"}),title:"AWS",subtitle:"ZenML stack with S3, ECR, and SageMaker integration"})}),e.jsx(v,{id:"gcp-provider",...n("provider"),value:"gcp",children:e.jsx(N,{icon:e.jsx(h,{provider:"gcp",className:"h-6 w-6 shrink-0"}),title:"GCP",subtitle:"Create ZenML infrastructure using GCS, Artifact Registry, and Vertex AI"})}),e.jsx(v,{id:"azure-provider",...n("provider"),value:"azure",children:e.jsx(N,{icon:e.jsx(h,{provider:"azure",className:"h-6 w-6 shrink-0"}),title:"Azure",subtitle:"Set up ZenML with Azure Storage, Container Registry, and ML services"})})]})]})})}function Ce({provider:t,stackName:s,timestamp:a,isTerraform:o}){var g,S,k,b,w,C,P,D,I,z,L,R,B,E,W,M,_,A;const{isPending:n,isError:l,data:r}=K({...J.stackDeploymentStack({provider:t,stack_name:s,date_start:a,terraform:o}),throwOnError:!0});if(n)return e.jsx(V,{className:"h-[200px] w-full"});if(l)return null;const m=r.stack.name,d=(g=r.stack.metadata)==null?void 0:g.components.orchestrator,c=(S=r.stack.metadata)==null?void 0:S.components.artifact_store,i=(k=r.stack.metadata)==null?void 0:k.components.container_registry,p=(b=r.stack.metadata)==null?void 0:b.components.image_builder,x=(w=r.stack.metadata)==null?void 0:w.components.step_operator,U={orchestrator:{name:((C=d==null?void 0:d[0])==null?void 0:C.name)??"Orchestrator",id:((P=d==null?void 0:d[0])==null?void 0:P.id.split("-")[0])??""},artifactStore:{name:((D=c==null?void 0:c[0])==null?void 0:D.name)??"Artifact Store",id:((I=c==null?void 0:c[0])==null?void 0:I.id.split("-")[0])??""},registry:{name:((z=i==null?void 0:i[0])==null?void 0:z.name)??"Container Registry",id:((L=i==null?void 0:i[0])==null?void 0:L.id.split("-")[0])??""},connector:{name:(R=r.service_connector)==null?void 0:R.name,id:((E=(B=r.service_connector)==null?void 0:B.id)==null?void 0:E.split("-")[0])??""},imageBuilder:{name:((W=p==null?void 0:p[0])==null?void 0:W.name)??"Image Builder",id:((M=p==null?void 0:p[0])==null?void 0:M.id.split("-")[0])??""},operator:{name:((_=x==null?void 0:x[0])==null?void 0:_.name)??"Step Operator",id:((A=x==null?void 0:x[0])==null?void 0:A.id.split("-")[0])??""}};return e.jsx(O,{type:t,componentProps:{components:U,isSuccess:!0,stackName:m}})}function Pe(){const{setIsNextButtonDisabled:t,data:s,timestamp:a}=u();return t(!1),e.jsx(j,{title:"Your Stack",children:e.jsxs("div",{className:"space-y-5",children:[e.jsx("p",{className:"text-theme-text-secondary",children:"Here you can review the created stack and stack components. Now you can start running pipelines using this new configuration."}),e.jsx(Ce,{provider:s.provider||"aws",stackName:s.stackName||"",timestamp:a})]})})}function De(){const{currentStep:t}=y();if(t===1)return e.jsx(we,{});if(t===2)return e.jsx(je,{});if(t===3)return e.jsx(ke,{});if(t===4)return e.jsx(Pe,{})}function Ie(){var c;const[s]=me(),{setCurrentStep:a,currentStep:o}=y(),{formRef:n,isNextButtonDisabled:l}=u(),r=ue(),m=s.get("origin")==="onboarding";async function d(){n.current&&(n.current.requestSubmit(),await new Promise(i=>setTimeout(i,20))),a(i=>i<4?i+1:i),o===4&&(q(),r(m?T.onboarding:T.stacks.overview))}return e.jsx(le,{form:(c=n.current)==null?void 0:c.id,disabled:l,onClick:()=>d(),size:"md",children:o===4?"Finish":"Next"})}function j({children:t,title:s}){return e.jsxs(Y,{className:"w-full",children:[e.jsx("div",{className:"border-b border-theme-border-moderate px-5 py-3 text-display-xs font-semibold",children:s}),e.jsx("div",{className:"p-5",children:t}),e.jsxs("div",{className:"flex items-center justify-end gap-2 border-t border-theme-border-moderate p-5",children:[e.jsx($,{}),e.jsx(Ie,{})]})]})}const Z=["Infrastructure Type","Cloud Provider","Review Configuration","Deploy Stack"];function rt(){const{success:t}=he();return e.jsx(ee,{maxSteps:Z.length,initialStep:t?3:1,children:e.jsx(ce,{children:e.jsxs("section",{className:"layout-container flex flex-col gap-5 p-5 xl:flex-row",children:[e.jsx(te,{entries:Z}),e.jsx("div",{className:"w-full overflow-y-hidden",children:e.jsx(De,{})})]})})})}export{rt as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{r as u,j as r}from"./@radix-C7hRs6Kx.js";import{B as f,F as x,W as h}from"./Wizard-
|
1
|
+
import{r as u,j as r}from"./@radix-C7hRs6Kx.js";import{B as f,F as x,W as h}from"./Wizard-DIllc07n.js";import{X as j,S as C,h as a,r as m}from"./index-BygJE88j.js";import{c as b,a as p,L as v}from"./@react-router-CNP6g_RL.js";import{a as g}from"./@tanstack-CSxjHCME.js";import{C as E}from"./configuration-form-DBZSb0FV.js";import"./@reactflow-CQi1Z1Wq.js";import"./index-D9-ukAem.js";import"./plus-COjQg3AG.js";import"./trash-BWSZ7NRK.js";import"./index.esm-D7jFlf5N.js";import"./type-guards-CaeD8wHO.js";import"./index-wYtmKLnQ.js";import"./zod-C0xYeTvL.js";import"./ComponentIcon-B_7Y_oV-.js";import"./layout-h3cbx8WZ.js";import"./rocket-Cf-B-XOR.js";import"./check-DK77doTf.js";import"./CodeSnippet-Di-loaZu.js";import"./file-text-BdxZdjP_.js";import"./terminal-square-DMtel8mb.js";function y(){var s,i;const e=b(),{componentId:t}=p(),o=g({...j.componentDetail(t),throwOnError:!0});function d(l){e(m.components.detail(l))}const c=u.useId();if(o.isPending)return r.jsx(C,{className:"h-[300px] w-full"});if(o.isError)return r.jsx("div",{children:"Error"});const n=(i=(s=o.data.resources)==null?void 0:s.flavor)==null?void 0:i.id;return n?r.jsx(r.Fragment,{children:r.jsx(f,{className:"p-0",children:r.jsx(E,{component:o.data,flavorId:n,formId:c,isCreate:!1,successHandler:d,FooterComponent:N})})}):r.jsx("div",{children:"No flavor found"})}function N({formId:e,isPending:t}){const o=p();return r.jsxs(x,{children:[r.jsx(a,{asChild:!0,intent:"secondary",size:"md",children:r.jsx(v,{to:m.components.detail(o.componentId),children:"Cancel"})}),r.jsxs(a,{size:"md",disabled:t,type:"submit",form:e,children:[t&&r.jsx("div",{role:"alert","aria-busy":"true",className:"full h-[20px] w-[20px] animate-spin rounded-rounded border-2 border-theme-text-negative border-b-theme-text-brand"}),"Update Component"]})]})}function K(){return r.jsx("section",{className:"layout-container mt-5 pb-5",children:r.jsx(h,{children:r.jsx(y,{})})})}export{K as default};
|
@@ -0,0 +1 @@
|
|
1
|
+
import{r as x,j as e}from"./@radix-C7hRs6Kx.js";import{o as D,p as C,j as E,F as T,ai as H,aj as K,h,ak as F,al as P,am as O,f as J,I as j,ap as A,aq as V,ar as G,s as U,D as W,w as X,x as Y,aH as Z,r as N,J as S,z as f,l as ee,M as se,S as w,n as te,B as ae}from"./index-BygJE88j.js";import{S as re,P as ne}from"./SearchField-DMCywawn.js";import{S as ie,s as le,E as ce,a as oe,b as de}from"./SecretTooltip-LLGP7AIC.js";import{b as I,c as L,a as v}from"./@tanstack-CSxjHCME.js";import{w as me}from"./index-wYtmKLnQ.js";import{S as ue}from"./plus-COjQg3AG.js";import{S as q}from"./trash-BWSZ7NRK.js";import{t as xe}from"./zod-C0xYeTvL.js";import{u as he,a as pe,C as g}from"./index.esm-D7jFlf5N.js";import{S as fe}from"./Lock-DW-0_M0o.js";import{D as je}from"./DisplayDate-CYVBBSgr.js";import{I as ge}from"./InlineAvatar-Cpj0lVRQ.js";import{c as ye}from"./code-snippets-CqONne41.js";import{L as b,d as Ne}from"./@react-router-CNP6g_RL.js";import{S as Se}from"./dots-horizontal-BGRJCPCs.js";import{D as k}from"./DialogItem-0fWTH7ki.js";import"./@reactflow-CQi1Z1Wq.js";import"./chevron-right-double-uNWbJT-C.js";import"./index-DR30v9MZ.js";import"./CodeSnippet-Di-loaZu.js";async function we(s){const t=D(C.secrets.add(s.workspace)),a=await E(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)});if(!a.ok){const r=await a.json().then(n=>n.detail).catch(()=>"Failed to create Secret");throw new T({status:a.status,statusText:a.statusText,message:r})}return a.json()}function ve(s){return I({mutationFn:async t=>we(t),...s})}function be({id:s,workspace:t}){const[a,r]=x.useState(!1);return e.jsxs(H,{open:a,onOpenChange:r,children:[e.jsx(K,{asChild:!0,children:e.jsx(h,{className:"shrink-0",intent:"primary",children:"Add secret"})}),e.jsxs(F,{className:"mx-auto w-[90vw] max-w-[744px]",children:[e.jsx(P,{children:e.jsx(O,{children:"Register New Secret"})}),e.jsx(ke,{userId:s,setOpen:r,workspaceId:t.id})]})]})}function ke({userId:s,setOpen:t,workspaceId:a}){const{handleSubmit:r,control:n,watch:i,setValue:o,formState:{isValid:u},reset:p}=he({resolver:xe(le),defaultValues:{secretName:"",keysValues:[{key:"",value:""}]}}),{fields:m,append:_,remove:M}=pe({control:n,name:"keysValues"}),{toast:R}=J(),B=L(),{mutate:Q}=ve({onError(l){G(l)&&R({status:"error",emphasis:"subtle",description:l.message,rounded:!0})},onSuccess(){B.invalidateQueries({queryKey:["secrets"]}),t(!1),p()}}),z=l=>{Q({user:s,workspace:a,name:l.secretName,scope:"workspace",values:l.keysValues.reduce((c,d)=>(d.key&&d.value&&(c[d.key]=d.value),c),{})})},$=l=>{z(l)};return e.jsxs(e.Fragment,{children:[e.jsx("form",{id:"create-secret-form",className:"gap-5 p-5",onSubmit:r($),children:e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsxs("label",{className:"font-inter text-sm text-left font-medium leading-5",children:["Secret Name",e.jsx("span",{className:"ml-1 text-theme-text-error",children:"*"})]}),e.jsx(g,{name:"secretName",control:n,render:({field:l})=>e.jsx(j,{...l,className:"mb-3 w-full",required:!0})})]}),e.jsxs("div",{className:"mt-10",children:[e.jsx("div",{children:e.jsx("h1",{className:"font-inter text-lg text-left font-semibold ",children:"Keys"})}),e.jsxs("div",{className:"mt-5 flex flex-row ",children:[e.jsx("div",{className:"flex-grow",children:e.jsx("label",{className:"font-inter text-sm text-left font-medium",children:"Key"})}),e.jsx("div",{className:"flex-grow pr-12",children:e.jsx("label",{className:"font-inter text-sm text-left font-medium",children:"Value"})})]})]}),m.map((l,c)=>e.jsxs("div",{className:"flex flex-row items-center space-x-1 ",children:[e.jsx("div",{className:"relative flex-grow ",children:e.jsx(g,{name:`keysValues.${c}.key`,control:n,render:({field:d})=>e.jsx(j,{...d,className:"mb-2 w-full",required:!0,placeholder:"key"})})}),e.jsx("div",{className:"relative flex-grow",children:e.jsxs("div",{className:"relative",children:[e.jsx(g,{name:`keysValues.${c}.value`,control:n,render:({field:d})=>e.jsx(j,{...d,className:"mb-2 w-full pr-10",required:!0,placeholder:"•••••••••",type:i(`keysValues.${c}.showPassword`)?"text":"password"})}),e.jsx("button",{type:"button",onClick:()=>{const d=i(`keysValues.${c}.showPassword`);o(`keysValues.${c}.showPassword`,!d)},className:"absolute inset-y-1 right-0 flex items-center pb-1 pr-3",children:e.jsx(ie,{className:"h-4 w-4 flex-shrink-0"})})]})}),e.jsxs("div",{className:"flex items-center",children:[c===m.length-1&&e.jsx(h,{intent:"primary",emphasis:"subtle",onClick:()=>_({key:"",value:""}),className:"mb-2 flex h-7 w-7 items-center justify-center",children:e.jsx(ue,{className:"flex-shrink-0 fill-primary-600"})}),c!==m.length-1&&e.jsx(h,{intent:"secondary",emphasis:"minimal",onClick:()=>M(c),className:"mb-2 h-7 w-7 items-center justify-center",children:e.jsx(q,{className:"flex-shrink-0 fill-theme-text-secondary"})})]})]},l.id))]})}),e.jsxs(A,{className:"gap-[10px]",children:[e.jsx(V,{asChild:!0,children:e.jsx(h,{size:"sm",intent:"secondary",children:"Cancel"})}),e.jsx(h,{intent:"primary",disabled:!u,type:"submit",form:"create-secret-form",children:"Register Secret"})]})]})}async function De(s){const t=D(C.secrets.detail(s)),a=await E(t,{method:"DELETE",headers:{"Content-Type":"application/json"}});if(a.status===404&&U(),!a.ok)throw new T({message:"Error deleting secret",status:a.status,statusText:a.statusText});return a.json()}function Ce(s){return I({mutationFn:async t=>De(t),...s})}function Ee({secretId:s}){const t=L(),{mutate:a}=Ce({onSuccess(){t.invalidateQueries({queryKey:["secrets"]})}}),[r,n]=x.useState("");function i(){a(s)}function o(u){n(u.target.value)}return e.jsxs(F,{children:[e.jsx(P,{children:e.jsx(O,{children:"Delete secret"})}),e.jsxs("div",{className:"gap-5 p-5",children:[e.jsx("p",{className:"text-text-md text-theme-text-secondary",children:"Are you sure you want to delete this secret?"}),e.jsx("p",{className:"text-text-md text-theme-text-secondary",children:"This action cannot be undone."}),e.jsx("h3",{className:"font-inter text-sm mb-1 mt-4 text-left font-medium leading-5",children:"Please type DELETE to confirm"}),e.jsx(j,{name:"key",onChange:o,className:"w-full",required:!0,value:r})]}),e.jsxs(A,{className:"gap-[10px]",children:[e.jsx(V,{asChild:!0,children:e.jsx(h,{size:"sm",intent:"secondary",children:"Cancel"})}),e.jsx(h,{intent:"danger",type:"submit",form:"edit-secret-form",onClick:i,disabled:r!=="DELETE",children:"Delete"})]})]})}function Te({secretId:s}){const[t,a]=x.useState(!1),[r,n]=x.useState(!1),i=x.useRef(null),o=x.useRef(null);function u(){o.current=i.current}function p(m){if(m===!1){a(!1),setTimeout(()=>{n(m)},200);return}n(m)}return e.jsxs(W,{onOpenChange:a,open:t,children:[e.jsx(X,{ref:i,children:e.jsx(Se,{className:"h-4 w-4 fill-theme-text-tertiary"})}),e.jsxs(Y,{hidden:r,onCloseAutoFocus:m=>{o.current&&(o.current.focus(),o.current=null,m.preventDefault())},align:"end",sideOffset:7,children:[e.jsx(k,{onSelect:u,onOpenChange:p,triggerChildren:"Edit ",icon:e.jsx(Z,{}),children:e.jsx(ce,{secretId:s,isSecretNameEditable:!0,dialogTitle:"Edit secret"})}),e.jsx(k,{onSelect:u,onOpenChange:p,triggerChildren:"Delete ",icon:e.jsx(q,{}),children:e.jsx(Ee,{secretId:s})})]})]})}const Fe=[{id:"secret",header:"Secret",accessorFn:s=>s.name,cell:({getValue:s,row:t})=>{const a=ye(t.original.name);return e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(fe,{className:"h-5 w-5 flex-shrink-0 fill-primary-400"}),e.jsxs("div",{className:"group/copybutton flex flex-col",children:[e.jsxs("div",{className:"flex flex-row items-center space-x-1",children:[e.jsxs("div",{className:"flex items-center space-x-1",children:[e.jsx(b,{className:"text-text-md font-semibold text-theme-text-primary",to:N.settings.secrets.detail(t.original.id),children:t.original.name}),e.jsx(oe,{code:a})]}),e.jsx(S,{copyText:s()})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(b,{to:N.settings.secrets.detail(t.original.id),className:"flex items-center gap-1 text-text-sm text-theme-text-secondary",children:t.original.id.slice(0,8)}),e.jsx(S,{copyText:t.original.id})]})]})]})}},{id:"author",header:"Author",accessorFn:s=>{var t,a;return(a=(t=s.body)==null?void 0:t.user)==null?void 0:a.name},cell:({getValue:s})=>{const t=s();return t?e.jsx(ge,{username:t}):null}},{id:"created_at",header:"Created At",accessorFn:s=>{var t;return(t=s.body)==null?void 0:t.created},cell:({getValue:s})=>e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:e.jsx(je,{dateString:s()})})},{id:"admin_actions",header:"",accessorFn:s=>String(s.id),cell:({row:s,getValue:t})=>{var r,n,i;const a=t();return(i=(n=(r=s.original.body)==null?void 0:r.user)==null?void 0:n.body)!=null&&i.is_admin?e.jsx(Te,{secretId:a}):e.jsx("p",{className:"text-sm text-theme-text-secondary",children:"No Actions"})}}],y=1,Pe=f.object({page:f.coerce.number().min(y).optional().default(y).catch(y),name:f.string().optional(),operator:f.enum(["and","or"]).optional()});function Oe(){const[s]=Ne(),{page:t,name:a,operator:r}=Pe.parse({page:s.get("page")||void 0,name:s.get("name")||void 0,operator:s.get("operator")||void 0});return{page:t,name:a,logical_operator:r}}function Ae(){const s=Oe(),{data:t}=v({...de.secretList({...s,sort_by:"desc:created"}),throwOnError:!0}),{data:a}=ee(),r=(a==null?void 0:a.id)||"",{data:n,isLoading:i,isError:o,isSuccess:u}=v({...me.workspaceDetail("default")});return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[e.jsx(re,{searchParams:s}),i?e.jsx("div",{children:"Loading..."}):o?e.jsx("div",{children:"Error loading workspace details."}):u&&e.jsx(be,{id:r,workspace:n})]}),e.jsxs("div",{className:"flex flex-col items-center gap-5",children:[e.jsx("div",{className:"w-full",children:t?e.jsx(se,{columns:Fe,data:t.items}):e.jsx(w,{className:"h-[250px] w-full"})}),t?t.total_pages>1&&e.jsx(ne,{searchParams:s,paginate:t}):e.jsx(w,{className:"h-[36px] w-[300px]"})]})]})}function ss(){const{setCurrentBreadcrumbData:s}=te();return x.useEffect(()=>{s({segment:"secrets",data:null})},[]),e.jsxs(ae,{className:"space-y-4 p-5",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"Secrets"}),e.jsxs("p",{className:"text-text-sm text-theme-text-secondary",children:["Configure and manage your pipeline secrets and configurations."," ",e.jsx("a",{target:"_blank",rel:"noreferrer noopener",href:"https://docs.zenml.io/how-to/interact-with-secrets",className:"link text-primary-400",children:"Learn More"})]})]}),e.jsx(Ae,{})]})}export{ss as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{r as i,j as s}from"./@radix-C7hRs6Kx.js";import{z as t,e as j,f as N,I as
|
1
|
+
import{r as i,j as s}from"./@radix-C7hRs6Kx.js";import{z as t,e as j,f as N,I as c,h as w,r as y,i as b,B as v}from"./index-BygJE88j.js";import{u as S}from"./login-mutation-DywLqguW.js";import{t as I}from"./zod-C0xYeTvL.js";import{u as L}from"./index.esm-D7jFlf5N.js";import{c as F,d as P}from"./@react-router-CNP6g_RL.js";import"./@tanstack-CSxjHCME.js";import"./@reactflow-CQi1Z1Wq.js";const E=t.object({username:t.string().min(1),password:t.string().optional()});function A(){const l=F(),{setAuthState:m}=j(),{toast:u}=N(),a=i.useId(),r=i.useId(),[o]=P(),d=o.get("redirect"),x=o.get("username")??void 0,{register:n,handleSubmit:p,formState:{isValid:h}}=L({resolver:I(E),defaultValues:{username:x}}),f=S({onError:e=>{e instanceof Error&&u({status:"error",emphasis:"subtle",icon:s.jsx(b,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:e.message,rounded:!0})},onSuccess:async()=>{m("true"),l(d||y.home)}});function g(e){f.mutate({username:e.username.trim(),password:e.password})}return s.jsxs("form",{onSubmit:p(g),className:"space-y-5",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"space-y-0.5",children:[s.jsx("label",{htmlFor:a,className:"text-text-sm",children:"Username"}),s.jsx(c,{...n("username"),id:a,className:"w-full"})]}),s.jsxs("div",{className:"space-y-0.5",children:[s.jsx("label",{htmlFor:r,className:"text-text-sm",children:"Password"}),s.jsx(c,{...n("password"),id:r,type:"password",className:"w-full"})]})]}),s.jsx(w,{disabled:!h,className:"w-full text-center",size:"md",children:s.jsx("span",{className:"w-full",children:"Login"})})]})}function U(){return s.jsxs(v,{className:"flex w-full max-w-[540px] flex-col gap-5 p-7",children:[s.jsxs("div",{className:"text-center",children:[s.jsx("h1",{className:"mb-0.5 text-display-xs font-semibold",children:"Log in to your account"}),s.jsx("p",{className:"text-theme-text-secondary",children:"Please, fill in your details to log in to your ZenML account."})]}),s.jsx(A,{})]})}export{U as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{r as i,j as e}from"./@radix-C7hRs6Kx.js";import{z as o,f as y,j as g,k as N,c as b,l as v,S,I as u,h as p,m as w,r as k,n as F}from"./index-
|
1
|
+
import{r as i,j as e}from"./@radix-C7hRs6Kx.js";import{z as o,f as y,j as g,k as N,c as b,l as v,S,I as u,h as p,m as w,r as k,n as F}from"./index-BygJE88j.js";import{T as C,P}from"./ProCta-BoTLdAdV.js";import{t as U}from"./zod-C0xYeTvL.js";import{b as E}from"./@tanstack-CSxjHCME.js";import{u as M}from"./index.esm-D7jFlf5N.js";import{S as L}from"./check-circle-mvyzYvIW.js";import{L as z}from"./@react-router-CNP6g_RL.js";import"./@reactflow-CQi1Z1Wq.js";import"./check-DK77doTf.js";const h=i.createContext(null);function B({children:s}){const[t,a]=i.useState(!1);return e.jsx(h.Provider,{value:{setSubmitSuccess:a,submitSuccess:t},children:s})}function f(){const s=i.useContext(h);if(s===null)throw new Error("useUpgradeContext must be used within an UpgradeProvider");return s}const T=o.object({name:o.string().min(1),company:o.string().min(1),email:o.string().email()});function I(){const{setSubmitSuccess:s}=f(),{toast:t}=y(),a=M({resolver:U(T),defaultValues:{company:"",email:"",name:""}}),n=E({mutationFn:Z,onSuccess:()=>s(!0),onError:r=>{t({emphasis:"subtle",status:"error",rounded:!0,description:r.message})}});async function c(r,l,m){n.mutate({...r,userId:l,isDebug:m})}return{form:a,submitFormMutation:n,handleSubmitForm:c}}async function Z({company:s,email:t,isDebug:a,name:n,userId:c}){return g(N,{method:"POST",credentials:"omit",headers:{"Content-Type":"application/json"},body:JSON.stringify([{debug:a,event:"Upgrade initiated",type:"track",user_id:c,properties:{company:s,email:t,name:n}}])})}function _(){return e.jsxs("div",{className:"space-y-5",children:[e.jsx(D,{}),e.jsx(R,{})]})}function D(){return e.jsxs("div",{className:"flex flex-col items-center space-y-0.5",children:[e.jsx("h1",{className:"text-center text-display-xs font-semibold",children:"Upgrade to ZenML Pro on your own VPC"}),e.jsx("p",{className:"text-theme-text-secondary",children:"Direct self-deployment, no sales calls"})]})}function R(){const s=b(),t=v(),{form:a,handleSubmitForm:n,submitFormMutation:c}=I(),{register:r,handleSubmit:l,formState:{isValid:m,isSubmitting:d}}=a,{isPending:x}=c;return s.isPending||t.isPending?e.jsx(S,{className:"h-[250px] w-full"}):s.isError||t.isError?e.jsx("p",{children:"Something went wrong...."}):e.jsxs("div",{className:"space-y-5",children:[e.jsxs("form",{onSubmit:l(j=>n(j,t.data.id,!!s.data.debug)),className:"space-y-5",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("label",{htmlFor:"name",className:"text-text-sm",children:"Your Name"}),e.jsx(u,{...r("name"),id:"name",className:"w-full"})]}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("label",{htmlFor:"company",className:"text-text-sm",children:"Company"}),e.jsx(u,{...r("company"),id:"company",className:"w-full"})]}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("label",{htmlFor:"email",className:"text-text-sm",children:"Email address"}),e.jsx(u,{...r("email"),id:"email",className:"w-full"})]}),e.jsxs(p,{size:"md",className:"w-full justify-center",disabled:d||x||!m,type:"submit",children:[(x||d)&&e.jsx("div",{role:"alert","aria-busy":"true",className:"full h-[20px] w-[20px] animate-spin rounded-rounded border-2 border-theme-text-negative border-b-theme-text-brand"}),"Continue"]})]}),e.jsxs("p",{className:"text-center text-text-xs text-theme-text-secondary",children:["By submitting the form you accept our"," ",e.jsx("a",{className:"link",href:"https://www.zenml.io/cloud-terms-and-privacy",target:"_blank",rel:"noopener noreferrer",children:"terms of use"})," ","and"," ",e.jsx("a",{href:"https://www.zenml.io/privacy-policy",target:"_blank",rel:"noopener noreferrer",className:"link",children:"privacy policy"}),"."]})]})}function V(){return e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("h2",{className:"text-display-xs font-semibold",children:"As easy as following the steps"}),e.jsx("p",{className:"text-theme-text-secondary",children:"From sign-up to deployment in minutes"})]}),e.jsx(Y,{})]})}const W=["Fill out your details","Receive comprehensive ZenML Pro documentation","Deploy ZenML Pro and upgrade your tenant","Get a free 14-day trial license"];function Y(){return e.jsx("ol",{className:"space-y-3",children:W.map((s,t)=>e.jsxs("li",{className:"flex items-center space-x-1",children:[e.jsx(q,{children:t+1}),e.jsx("span",{children:s})]},t))})}function q({className:s,...t}){return e.jsx("div",{...t,className:w("flex h-4 w-4 shrink-0 items-center justify-center rounded-rounded bg-warning-400 text-text-xs text-theme-text-negative")})}function G(){return e.jsxs("section",{className:"flex w-full flex-col-reverse items-center justify-end gap-5 lg:flex-row lg:gap-[100px] xl:pl-[200px] 2xl:pl-[300px]",children:[e.jsx(V,{}),e.jsx(_,{})]})}const H="/assets/upgrade-form-CwRHBuXB.webp",O=["Comprehensive documentation to get started","Your 14-day trial license key","Step-by-step deployment instructions"];function A(){return e.jsxs("section",{className:"flex h-full w-full flex-col items-center justify-center space-y-5",children:[e.jsx(L,{className:"h-[120px] w-[120px] fill-theme-text-success"}),e.jsxs("div",{className:"space-y-7",children:[e.jsxs("div",{className:"max-w-[500px] space-y-2 text-center",children:[e.jsx("h1",{className:"text-display-xs font-semibold",children:"You're on your way to ZenML Pro!"}),e.jsx("p",{className:"text-theme-text-secondary",children:"Thank you for choosing to upgrade to ZenML Pro. We've received your request and you'll receive an email with:"}),e.jsx("ul",{className:"mx-auto w-fit space-y-3",children:O.map((s,t)=>e.jsxs("li",{className:"flex items-center gap-1",children:[e.jsx(C,{}),e.jsx("span",{children:s})]},t))}),e.jsxs("p",{className:"text-theme-text-secondary",children:["Meanwhile, you can ask your questions in our"," ",e.jsx("a",{className:"link",href:"https://zenml.io/slack",target:"_blank",rel:"noopener noreferrer",children:"Slack channel"})," ","or"," ",e.jsx("a",{className:"link",href:"https://docs.zenml.io",target:"_blank",rel:"noopener noreferrer",children:"check our documentation."})]})]}),e.jsx(p,{size:"md",className:"mx-auto",children:e.jsx(z,{to:k.home,children:"Go to Dashboard"})})]})]})}function J(){const{submitSuccess:s}=f();return e.jsxs(P,{className:"relative min-h-[620px]",children:[e.jsx("img",{src:H,className:"absolute hidden -translate-x-3/4 -rotate-[5deg] scale-75 xl:block 2xl:-translate-x-[60%]"}),s===!1&&e.jsx(G,{}),s===!0&&e.jsx(A,{})]})}function ce(){const{setCurrentBreadcrumbData:s}=F();return i.useEffect(()=>{s({segment:"upgrade",data:null})},[]),e.jsx("div",{className:"flex h-full items-center justify-center",children:e.jsx("div",{className:"layout-container",children:e.jsx(B,{children:e.jsx(J,{})})})})}export{ce as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{j as e,r as m}from"./@radix-C7hRs6Kx.js";import{
|
1
|
+
import{j as e,r as m}from"./@radix-C7hRs6Kx.js";import{az as g,aA as b,aB as v,aC as y,aD as S,B as h,aE as C}from"./index-BygJE88j.js";import{I as l}from"./Infobox-Bai0JtFs.js";import{V as d,g as p}from"./Commands-CD9Y7FOE.js";import{H as j}from"./Helpbox-Dt3q7NGd.js";import{S as w,a as k,b as A}from"./gcp-CHNvgEss.js";import{S as z}from"./kubernetes-D6OUjwSK.js";import{S as T}from"./docker-BuDBFEDL.js";import"./@tanstack-CSxjHCME.js";import"./@react-router-CNP6g_RL.js";import"./@reactflow-CQi1Z1Wq.js";import"./CodeSnippet-Di-loaZu.js";import"./help-DyMolRxD.js";const N="/assets/connectors-video-C9qY4syJ.svg",s="w-5 h-5",P=[{label:"Kubernetes",value:"kubernetes",icon:e.jsx(z,{className:s})},{label:"GCP",value:"gcp",icon:e.jsx(w,{className:s})},{label:"Docker",value:"docker",icon:e.jsx(T,{className:s})},{label:"Azure",value:"azure",icon:e.jsx(k,{className:s})},{label:"AWS",value:"aws",icon:e.jsx(A,{className:s})}],I={help:{href:"https://docs.zenml.io/how-to/infrastructure-deployment/auth-management/kubernetes-service-connector",text:"Use the complete guide to set up your Kubernetes Service Connector."},prerequisites:i("kubernetes","Kubernetes"),listCommand:a("kubernetes","Kubernetes"),topInfobox:"The ZenML Kubernetes service connector facilitates authenticating and connecting to a Kubernetes cluster. The connector can be used to access to any generic Kubernetes cluster by providing pre-authenticated Kubernetes python clients to Stack Components that are linked to it and also allows configuring the local Kubernetes CLI (i.e. kubectl).",bottomInfobox:"Upon completion of the installation of the required prerequisites and integration, our documentation provides you with a comprehensive list of resource types that can be employed to establish your connector. Please refer to the documentation to explore all available options."},q={help:{text:"Use the complete guide to set up your GCP Service Connector.",href:"https://docs.zenml.io/how-to/infrastructure-deployment/auth-management/gcp-service-connector"},prerequisites:i("gcp","GCP"),listCommand:a("gcp","GCP"),bottomInfobox:"Upon completion of the installation of the required prerequisites and integration, our documentation will guide you with a comprehensive list of all the resource types that can be employed to establish your GCP connector. Please refer to the documentation to explore all available options.",topInfobox:"The ZenML GCP Service Connector facilitates the authentication and access to managed GCP services and resources. These encompass a range of resources, including GCS buckets, GCR container repositories, and GKE clusters. The connector provides support for various authentication methods, including GCP user accounts, service accounts, short-lived OAuth 2.0 tokens, and implicit authentication."},G={help:{text:"Use the complete guide to set up your Docker Service Connector.",href:"https://docs.zenml.io/how-to/infrastructure-deployment/auth-management/docker-service-connector"},listCommand:a("docker","Docker"),topInfobox:"The ZenML Docker Service Connector allows authenticating with a Docker or OCI container registry and managing Docker clients for the registry. This connector provides pre-authenticated python-docker Python clients to Stack Components that are linked to it.",bottomInfobox:"No Python packages are required for this Service Connector. All prerequisites are included in the base ZenML Python package. Docker needs to be installed on environments where container images are built and pushed to the target container registry. Please refer to the documentation to explore all available options."},K={help:{text:"Use the complete guide to set up your Azure Service Connector.",href:"https://docs.zenml.io/how-to/infrastructure-deployment/auth-management/azure-service-connector"},listCommand:a("azure","Azure"),prerequisites:i("azure","Azure"),topInfobox:"The ZenML Azure Service Connector facilitates the authentication and access to managed Azure services and resources. These encompass a range of resources, including blob storage containers, ACR repositories, and AKS clusters.",bottomInfobox:"Upon completion of the installation of the required prerequisites and integration, our documentation will guide you with a comprehensive list of all the resource types that can be employed to establish your Azure connector. Please refer to the documentation to explore all available options."},L={help:{text:"Use the complete guide to set up your AWS Service Connector.",href:"https://docs.zenml.io/how-to/infrastructure-deployment/auth-management/aws-service-connector"},listCommand:a("aws","AWS"),prerequisites:i("aws","AWS"),topInfobox:"The ZenML AWS Service Connector facilitates the authentication and access to managed AWS services and resources. These encompass a range of resources, including S3 buckets, ECR container repositories, and EKS clusters. The connector provides support for various authentication methods, including explicit long-lived AWS secret keys, IAM roles, short-lived STS tokens, and implicit authentication.",bottomInfobox:"Upon completion of the installation of the required prerequisites and integration, our documentation will guide you with a comprehensive list of all the resource types that can be employed to establish your AWS connector. Please refer to the documentation to explore all available options."};function a(t,o){return{command:`zenml service-connector list-types --type ${t}`,description:`List ${o} Connector Types`}}function i(t,o){return[{description:"Install the prerequisites",command:`pip install "zenml[connectors-${t}]"`},{description:`Install the entire ${o} ZenML integration`,command:`zenml integration install ${t}`}]}function M({id:t,selectedType:o,onTypeChange:c}){return e.jsxs(g,{value:o,onValueChange:n=>c(n),children:[e.jsx(b,{id:t,className:"w-[250px] border border-neutral-300 px-2 text-left text-text-md",children:e.jsx(v,{placeholder:"Select Connector Type"})}),e.jsx(y,{className:"",children:P.map(n=>e.jsx(S,{value:n.value,children:e.jsxs("div",{className:"flex items-center gap-1",children:[n.icon,n.label]})},n.value))})]})}function D(){return e.jsx(l,{children:e.jsxs("div",{className:"flex w-full flex-wrap items-center gap-x-2 gap-y-0.5 text-text-md",children:[e.jsx("p",{className:"font-semibold",children:"We are creating a new Connectors experience"}),e.jsx("p",{children:"In the meanwhile you can use the CLI to add and manage your connectors."})]})})}function W(){const t="https://zenml.portal.trainn.co/share/V6magMJZZvMptz1wdnUmPA/embed?autoplay=false";return e.jsxs(h,{className:"flex flex-col-reverse items-stretch overflow-hidden lg:flex-row",children:[e.jsxs("div",{className:"w-full p-7 lg:w-2/3",children:[e.jsx("h2",{className:"text-display-xs font-semibold",children:"Learn More about Connectors"}),e.jsx("p",{className:"mt-2 text-text-lg text-theme-text-secondary",children:"Dive into Service Connector Types for a documented approach to secure authentication and authorization practices."}),e.jsx(d,{videoLink:t,buttonText:"Watch the Starter Guide (2 min)"})]}),e.jsx("div",{className:"flex w-full items-center justify-center bg-primary-50 lg:w-1/3",children:e.jsx(d,{fallbackImage:e.jsx("img",{src:N,alt:"Purple squares with text indicating a starter guide for secrets",className:"h-full w-full"}),videoLink:t,isButton:!1})})]})}function U(){const[t,o]=m.useState("kubernetes");return e.jsxs("section",{className:"space-y-5 pl-8 pr-5",children:[e.jsx(M,{selectedType:t,onTypeChange:o,id:"connector-select"}),Z(t)]})}function r({topInfobox:t,bottomInfobox:o,listCommand:c,prerequisites:n,help:u}){return e.jsxs(e.Fragment,{children:[e.jsx(l,{className:"text-text-md",intent:"neutral",children:t}),p(c),n&&e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"Prerequisites"}),n.map((x,f)=>e.jsx(m.Fragment,{children:p(x)},f))]}),e.jsx(l,{className:"text-text-md",intent:"neutral",children:o}),e.jsx(j,{text:u.text,link:u.href})]})}function Z(t){switch(t){case"kubernetes":return r(I);case"gcp":return r(q);case"docker":return r(G);case"azure":return r(K);case"aws":return r(L)}}function ee(){return e.jsxs(h,{className:"space-y-4 p-5",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"Secrets"}),e.jsx(D,{}),e.jsx(W,{}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(C,{}),"Administering your Connectors"]}),e.jsx(U,{})]})}export{ee as default};
|
@@ -0,0 +1 @@
|
|
1
|
+
import{j as e,r as j}from"./@radix-C7hRs6Kx.js";import{V as f,y as g,z as o,L as b,r as c,T as y,E as N,G as v,H as P,J as p,K as u,h as R,M as S,S as x,n as T}from"./index-BygJE88j.js";import{d as k,L as l,a as h}from"./@react-router-CNP6g_RL.js";import{S as C}from"./refresh-CM5T3QeU.js";import{u as _}from"./all-pipeline-runs-query-BUT1PiTp.js";import{S as E,P as w}from"./SearchField-DMCywawn.js";import{D}from"./DisplayDate-CYVBBSgr.js";import{g as F,E as A}from"./ExecutionStatus-B-ysY113.js";import{I as B}from"./InlineAvatar-Cpj0lVRQ.js";import{a as I,b as z,u as L,c as G,R as H}from"./RunSelector-j0C_TPVp.js";import"./@tanstack-CSxjHCME.js";import"./@reactflow-CQi1Z1Wq.js";import"./dots-horizontal-BGRJCPCs.js";import"./chevron-right-double-uNWbJT-C.js";import"./index-DR30v9MZ.js";import"./check-circle-mvyzYvIW.js";import"./trash-BWSZ7NRK.js";import"./DeleteAlertDialog-9RTDnEx3.js";import"./zod-C0xYeTvL.js";import"./index.esm-D7jFlf5N.js";import"./AlertDialogDropdownItem-CRZjthRL.js";import"./delete-run-DzcYxUnd.js";function U({namespace:s}){return e.jsx(f,{children:e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(g,{className:"h-5 w-5 fill-neutral-400"}),e.jsx("h1",{className:"text-display-xs font-semibold",children:decodeURIComponent(s)})]})})}const d=1,q=o.object({page:o.coerce.number().min(d).optional().default(d).catch(d),name:o.string().optional(),operator:o.enum(["and","or"]).optional()});function J(){const[s]=k(),{page:a,name:t,operator:r}=q.parse({page:s.get("page")||void 0,name:s.get("name")||void 0});return{page:a,name:t,logical_operator:r}}function K(){return[{id:"check",header:"",meta:{width:"1%"},accessorFn:s=>({id:s.id}),cell:({getValue:s})=>{const{id:a}=s();return e.jsx(I,{id:a})}},{id:"run",header:"Run",accessorFn:s=>{var a;return{name:s.name,id:s.id,status:(a=s.body)==null?void 0:a.status}},cell:({getValue:s})=>{const{name:a,status:t,id:r}=s();return e.jsxs("div",{className:"group/copybutton flex items-center gap-2",children:[e.jsx(b,{className:`h-5 w-5 shrink-0 ${F(t)}`}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(l,{to:c.runs.detail(r),className:"flex items-center gap-1",children:e.jsx("h2",{className:"text-text-md font-semibold",children:a})}),e.jsx(y,{children:e.jsxs(N,{children:[e.jsx(v,{className:"hover:text-theme-text-brand hover:underline",children:e.jsx(A,{status:t})}),e.jsx(P,{className:"z-20 capitalize",children:t})]})}),e.jsx(p,{copyText:a})]}),e.jsxs(l,{to:c.runs.detail(r),className:"flex items-center gap-1",children:[e.jsx("p",{className:"text-text-xs text-theme-text-secondary",children:r.split("-")[0]}),e.jsx(p,{copyText:r})]})]})]})}},{id:"stack",header:"Stack",accessorFn:s=>{var a,t,r,n;return{name:(t=(a=s.body)==null?void 0:a.stack)==null?void 0:t.name,id:(n=(r=s.body)==null?void 0:r.stack)==null?void 0:n.id}},cell:({getValue:s})=>{const{name:a,id:t}=s();return!a||!t?null:e.jsx(l,{to:c.stacks.overview,children:e.jsx(u,{rounded:!1,className:"inline-block",color:"turquoise",emphasis:"subtle",children:a})})}},{id:"repository",header:"Repository",accessorFn:s=>{var a,t,r,n,i,m;return{name:(r=(t=(a=s.body)==null?void 0:a.code_reference)==null?void 0:t.body)==null?void 0:r.code_repository.name,id:(m=(i=(n=s.body)==null?void 0:n.code_reference)==null?void 0:i.body)==null?void 0:m.code_repository.id}},cell:({getValue:s})=>{const{name:a,id:t}=s();return!a||!t?null:e.jsx("div",{children:e.jsx(u,{rounded:!1,className:"inline-block",color:"grey",emphasis:"subtle",children:a})})}},{id:"created",header:"Created at",accessorFn:s=>{var a;return(a=s.body)==null?void 0:a.created},cell:({getValue:s})=>e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:e.jsx(D,{dateString:s()})})},{id:"author",header:"Author",accessorFn:s=>{var a;return{author:(a=s.body)==null?void 0:a.user}},cell:({getValue:s})=>{const{author:a}=s();return e.jsx(B,{username:a.name})}},{id:"admin_actions",header:"",meta:{width:"5%"},cell:({row:s})=>e.jsx(z,{id:s.original.id})}]}function M(){const{namespace:s}=h(),a=J(),t=K(),{selectedRuns:r}=L(),{data:n,refetch:i}=_({params:{pipeline_name:decodeURIComponent(s),...a,sort_by:"desc:updated"}},{throwOnError:!0});return e.jsxs("div",{className:"flex flex-col gap-5 p-5",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[r.length?e.jsx(G,{}):e.jsx(E,{searchParams:a}),e.jsxs(R,{intent:"primary",emphasis:"subtle",size:"md",onClick:()=>i(),children:[e.jsx(C,{className:"h-5 w-5 fill-theme-text-brand"}),"Refresh"]})]}),e.jsxs("div",{className:"flex flex-col items-center gap-5",children:[e.jsx("div",{className:"w-full",children:n?e.jsx(S,{columns:t,data:n.items}):e.jsx(x,{className:"h-[500px] w-full"})}),n?n.total_pages>1&&e.jsx(w,{searchParams:a,paginate:n}):e.jsx(x,{className:"h-[36px] w-[300px]"})]})]})}function xe(){const{namespace:s}=h(),{setCurrentBreadcrumbData:a}=T();return j.useEffect(()=>{s&&a({segment:"pipeline_detail",data:{name:s}})},[s]),e.jsx("div",{children:e.jsxs(H,{children:[e.jsx(U,{namespace:s}),e.jsx(M,{})]})})}export{xe as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{j as e,r}from"./@radix-C7hRs6Kx.js";import{B as o,
|
1
|
+
import{j as e,r}from"./@radix-C7hRs6Kx.js";import{B as o,aP as n,V as l}from"./index-BygJE88j.js";import{P as i}from"./ProBadge-3vtouJQf.js";import{P as m,a as c,b as d,c as x,d as u,e as p}from"./ProCta-BoTLdAdV.js";import{C as f}from"./CodeSnippet-Di-loaZu.js";import{d as h}from"./@react-router-CNP6g_RL.js";import"./@tanstack-CSxjHCME.js";import"./@reactflow-CQi1Z1Wq.js";import"./check-DK77doTf.js";const j="/assets/mcp-Cb1aMeoq.webp";function P(){const[a]=h(),t=a.get("model");function s(){return t?`zenml model list --name='contains:${t}'`:"zenml model list"}return e.jsxs(o,{className:"flex flex-wrap justify-between p-5",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-text-xl font-semibold",children:"Staying Open Source? "}),e.jsx("p",{className:"text-theme-text-secondary",children:"No problem! Use this CLI command to list your models"})]}),e.jsx(f,{code:s()})]})}function A(){const{setTourState:a,tourState:{tourActive:t}}=n();return r.useEffect(()=>{t&&a(s=>({...s,run:!0,stepIndex:s.stepIndex}))},[t]),e.jsxs("div",{children:[e.jsxs(l,{className:"flex items-center gap-1",children:[e.jsx("h1",{className:"text-display-xs font-semibold",children:"Models"}),e.jsx(i,{})]}),e.jsxs("div",{className:"layout-container space-y-5 py-5",children:[e.jsxs(m,{className:"relative overflow-y-hidden",children:[e.jsxs("div",{className:"w-full max-w-none space-y-5 lg:max-w-[900px]",children:[e.jsx(c,{children:"Access Advanced Model Management Features with ZenML Pro"}),e.jsx(d,{}),e.jsx(x,{features:[{title:"Model Control Plane Dashboard",subtitle:"Centralized model management and monitoring"},{title:"Enterprise Security",subtitle:"Social SSO, RBAC, and User Management"},{title:"Managed ZenML Server",subtitle:"On your VPC or hosted on our infrastructure"},{title:"Advanced MLOps",subtitle:"CI/CD/CT, Artifact Control Plane and more"}]}),e.jsx(u,{})]}),e.jsx(p,{className:"absolute translate-x-[30%] translate-y-[15%] scale-[40%]",src:j,alt:"Screenshot of the ZenML Pro Artifact Control Plane"})]}),e.jsx(P,{})]})]})}export{A as default};
|