diff --git a/.github/extensions/replica-prototype/README.md b/.github/extensions/replica-prototype/README.md index 72b09b8c..65386b5d 100644 --- a/.github/extensions/replica-prototype/README.md +++ b/.github/extensions/replica-prototype/README.md @@ -70,6 +70,8 @@ Contributors can load uncommitted changes from a local Replica checkout with `co ## Pick & polish +New improvements remain local until their captured source matches a successful published Build, including on branches with an older Build. Target selection captures the source without changing the real Git index. Capture failures and older notes without provenance still allow local use but cannot synchronize. Once uploaded, later changes retain the original Build identity and remain private owner notes. + **Fix all** invokes the bundled, model-discoverable [`/replica-pick-and-polish` skill](skills/replica-pick-and-polish/SKILL.md) with the verified checkout, branch, batch ID, and thread count. Notes, conversation history, and images are retrieved separately from the immutable batch. When the skill is missing or disabled, or the runtime has no skill catalog, the request includes the same bundled procedure inline. Catalog or fallback-file errors stop preparation without sending work or leaving a batch awaiting results. See the [Pick & polish guide](../../../hub/docs/prototype-canvas.md#pick--polish) for saved-note and recovery behavior. ## Learnings @@ -268,7 +270,7 @@ Without a usable connection, the canvas offers a dismissible dialog once per ope Seven-day access tokens renew automatically while repository access remains valid and the connection has not been revoked or inactive for 30 days. Focus and user-initiated Hub actions count as activity; background polling and renewal do not. Expiry or revocation requires approval again. Temporary outages keep the preview usable and preserve saved credentials. Older connections keep their original expiry and need one new approval to become renewable. **Disconnect Hub** revokes the selected connection; you can also revoke it at `/canvas/connections` in Hub. Switching Hubs does not revoke an earlier connection. -The canvas follows branch changes. If Hub has not discovered the branch, the repository remains connected; push the branch and wait for discovery to use its Builds and reviews. Once Hub imports a successful Build of the current checkout, the canvas automatically registers eligible prototypes using the branch name as the initial title. Existing metadata is preserved. Use **Edit metadata** in **Hub** to change the title or description afterward. Registration requires write access and Hub's branch eligibility checks; errors appear in the shared critical banner and status polling retries automatically. Updated Hub APIs supply a `registrationReason` code explaining missing write access, excluded branches, missing remote heads, or branch authorship requirements. Unknown codes and older Hubs retain a generic error; independently verified permission and remote-ref facts can supply a specific explanation. Installing the extension does not deploy the updated Hub API. +The canvas follows branch changes. If Hub has not discovered the branch, the repository remains connected and comments can be saved locally; push the branch and wait for discovery to use its published Builds and reviews. Once Hub imports a successful Build of the current checkout, the canvas automatically registers eligible prototypes using the branch name as the initial title. Existing metadata is preserved. Use **Edit metadata** in **Hub** to change the title or description afterward. Registration requires write access and Hub's branch eligibility checks; errors appear in the shared critical banner and status polling retries automatically. Updated Hub APIs supply a `registrationReason` code explaining missing write access, excluded branches, missing remote heads, or branch authorship requirements. Unknown codes and older Hubs retain a generic error; independently verified permission and remote-ref facts can supply a specific explanation. Installing the extension does not deploy the updated Hub API. For a Hub started in [local development mode](https://github.com/github/replica/blob/main/hub/docs/local-development.md), open Copilot in Hub's `.local/prototypes/example` checkout and pass `"repository": "local/example"` when opening the canvas. Local repository hints only apply to matching checkouts under `.local/prototypes/` with a loopback Hub origin; they cannot redirect a remote checkout to another Hub repository. Start that example's dev server on a port reachable from the canvas before opening it. @@ -286,7 +288,9 @@ Pending commit-and-publish requests remain deduplicated across verified descenda Copilot uses the existing push workflow, not manual Actions dispatch or another publishing path. It follows `refresh_status`, registers discovered branches with `update_metadata`, and preserves saved metadata. If it stops before pushing, it calls `report_publish_result` with the request target and a `blocked`, `canceled`, or `failed` outcome so the canvas stops waiting and offers a retry. A later push of the current HEAD clears that failure so the canvas follows the new workflow and Build. The action rejects other canvases, targets, or modes, and any request whose push was already observed. It waits for Hub's imported Build matching the pushed commit and returns its exact URL. An older Build or Actions success alone is not enough. The local preview stays open. Entry-page checks still apply; incomplete landing-page verification is reported, not silently repaired and republished. -The canvas header uses Hub's review controls: **Add a comment** sits beside a comment count with unread state, and selecting the count opens the dedicated comments sidebar. The sidebar includes Hub's search, build/page/participant/read/resolved filters, pin visibility control, conversation rows, and thread view; the **Hub** panel remains focused on connection, prototype metadata, and publication state. Select a preview marker or conversation row to open the thread beside its target and reply without leaving the canvas. Markers use the same participant avatars, overflow, unread, resolved, focus, and accessible-label behavior as Hub. When the local checkout matches the imported Build's exact commit, **Add a comment** supports the same element and highlighted-area targets as Hub and saves the new thread directly to Hub. You can also reply, edit or delete your own messages, react, and resolve or reopen threads. Live changes arrive over Hub's review channel, with periodic refresh if that connection is unavailable. Hub credentials stay in the extension process and are never sent to the local preview. +**Add a comment** targets an element or highlighted area. Comments on unpublished changes stay on the author's device until a matching Build is published; comments on a clean checkout of the published Build save directly to Hub. See [local preview comments](../../../hub/docs/prototype-canvas.md#local-preview-comments) for requirements, storage and recovery. + +The header's comment count opens a sidebar with Hub's search, filters, unread state and pin visibility controls. Select a marker or row to open its conversation beside the target. Published conversations support replies, edits, deletion, reactions and resolution. Hub sends live updates, with periodic refresh when unavailable. The **Hub** panel remains focused on connection, metadata and publication. Hub credentials never reach the local preview. Open an already-running unauthenticated loopback prototype in this canvas. The extension's per-panel reverse proxy supplies its bundled bridge to ordinary Vite dev/preview and static HTML servers. Multiple prototypes, including servers in the same checkout, have independent proxy ports and lifecycles. Closing a panel stops only its proxy. diff --git a/.github/extensions/replica-prototype/assets/canvas-bridge.js b/.github/extensions/replica-prototype/assets/canvas-bridge.js index 1a6afeda..20e78998 100644 --- a/.github/extensions/replica-prototype/assets/canvas-bridge.js +++ b/.github/extensions/replica-prototype/assets/canvas-bridge.js @@ -1,4 +1,4 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=/* @__PURE__ */ ((n,r,o)=>(o=n==null?{}:e(i(n)),s(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n)))((/* @__PURE__ */ o((e=>{var t=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),n=t((e=>{Object.defineProperty(e,"__esModule",{value:!0});function t(e){let t=e.length,n=0,r=0,i;for(;r=55296&&i<=56319&&r{t.exports=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t==`object`&&typeof n==`object`){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if(!e(t[o],n[o]))return!1}return!0}return t!==t&&n!==n}})),i=t((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=r();t.code=`require("ajv/dist/runtime/equal").default`,e.default=t}));e.validateShape=P;var a={type:`object`,additionalProperties:!1,required:[`version`,`scope`,`controls`],properties:{$schema:{type:`string`},version:{const:1},scope:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},role:{enum:[`shared`,`page`]},container:{$ref:`#/$defs/selector`},panel:{type:`object`,additionalProperties:!1,required:[`width`],properties:{width:{type:`integer`,minimum:160,maximum:4096}}},groups:{type:`array`,maxItems:100,items:{type:`object`,additionalProperties:!1,required:[`id`,`label`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},when:{$ref:`#/$defs/condition`}}}},controls:{type:`array`,maxItems:500,items:{oneOf:[{$ref:`#/$defs/boolean`},{$ref:`#/$defs/number`},{$ref:`#/$defs/slider`},{$ref:`#/$defs/choice`},{$ref:`#/$defs/checkboxGroup`},{$ref:`#/$defs/text`},{$ref:`#/$defs/color`},{$ref:`#/$defs/button`}]}}}},o=Object.prototype.hasOwnProperty,s=n().default,c=RegExp(`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`,`u`),l={type:[`string`,`number`,`boolean`]},u=i().default,d={validate:f};function f(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0,s=o,p=!1,m=null,h=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.control===void 0){let e={instancePath:t,schemaPath:`#/oneOf/0/required`,keyword:`required`,params:{missingProperty:`control`},message:`must have required property 'control'`};a===null?a=[e]:a.push(e),o++}if(e.equals===void 0){let e={instancePath:t,schemaPath:`#/oneOf/0/required`,keyword:`required`,params:{missingProperty:`equals`},message:`must have required property 'equals'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`control`&&n!==`equals`){let e={instancePath:t,schemaPath:`#/oneOf/0/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.control!==void 0){let n=e.control;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.equals!==void 0){let n=e.equals;if(typeof n!=`string`&&!(typeof n==`number`&&isFinite(n))&&typeof n!=`boolean`){let e={instancePath:t+`/equals`,schemaPath:`#/$defs/scalar/type`,keyword:`type`,params:{type:l.type},message:`must be string,number,boolean`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/0/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var g=h===o;g&&(p=!0,m=0);let _=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.control===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`control`},message:`must have required property 'control'`};a===null?a=[e]:a.push(e),o++}if(e.in===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`in`},message:`must have required property 'in'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`control`&&n!==`in`){let e={instancePath:t,schemaPath:`#/oneOf/1/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.control!==void 0){let n=e.control;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.in!==void 0){let n=e.in;if(Array.isArray(n)){if(n.length>20){let e={instancePath:t+`/in`,schemaPath:`#/oneOf/1/properties/in/maxItems`,keyword:`maxItems`,params:{limit:20},message:`must NOT have more than 20 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/in`,schemaPath:`#/oneOf/1/properties/in/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r1){outer0:for(;r--;)for(i=r;i--;)if(u(n[r],n[i])){let e={instancePath:t+`/in`,schemaPath:`#/oneOf/1/properties/in/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[e]:a.push(e),o++;break outer0}}}else{let e={instancePath:t+`/in`,schemaPath:`#/oneOf/1/properties/in/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/1/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var g=_===o;if(g&&p)p=!1,m=[m,1];else{g&&(p=!0,m=1);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.control===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`control`},message:`must have required property 'control'`};a===null?a=[e]:a.push(e),o++}if(e.includes===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`includes`},message:`must have required property 'includes'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`control`&&n!==`includes`){let e={instancePath:t,schemaPath:`#/oneOf/2/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.control!==void 0){let n=e.control;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.includes!==void 0&&typeof e.includes!=`string`){let e={instancePath:t+`/includes`,schemaPath:`#/oneOf/2/properties/includes/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t,schemaPath:`#/oneOf/2/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var g=n===o;if(g&&p)p=!1,m=[m,2];else{g&&(p=!0,m=2);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.all===void 0){let e={instancePath:t,schemaPath:`#/oneOf/3/required`,keyword:`required`,params:{missingProperty:`all`},message:`must have required property 'all'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`all`){let e={instancePath:t,schemaPath:`#/oneOf/3/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.all!==void 0){let n=e.all;if(Array.isArray(n)){if(n.length>10){let e={instancePath:t+`/all`,schemaPath:`#/oneOf/3/properties/all/maxItems`,keyword:`maxItems`,params:{limit:10},message:`must NOT have more than 10 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/all`,schemaPath:`#/oneOf/3/properties/all/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r10){let e={instancePath:t+`/any`,schemaPath:`#/oneOf/4/properties/any/maxItems`,keyword:`maxItems`,params:{limit:10},message:`must NOT have more than 10 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/any`,schemaPath:`#/oneOf/4/properties/any/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r512){let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/maxLength`,keyword:`maxLength`,params:{limit:512},message:`must NOT have more than 512 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/0/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=d===o;f&&(l=!0,u=0);let v=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.selector===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`selector`},message:`must have required property 'selector'`};a===null?a=[e]:a.push(e),o++}if(e.property===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`property`},message:`must have required property 'property'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`type`&&n!==`selector`&&n!==`property`){let e={instancePath:t,schemaPath:`#/oneOf/1/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.type!==void 0&&e.type!==`style`){let e={instancePath:t+`/type`,schemaPath:`#/oneOf/1/properties/type/const`,keyword:`const`,params:{allowedValue:`style`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.selector!==void 0){let n=e.selector;if(typeof n==`string`){if(s(n)>512){let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/maxLength`,keyword:`maxLength`,params:{limit:512},message:`must NOT have more than 512 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.property!==void 0){let n=e.property;if(typeof n==`string`){if(s(n)>100){let e={instancePath:t+`/property`,schemaPath:`#/oneOf/1/properties/property/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};a===null?a=[e]:a.push(e),o++}if(!m.test(n)){let e={instancePath:t+`/property`,schemaPath:`#/oneOf/1/properties/property/pattern`,keyword:`pattern`,params:{pattern:`^(--[a-zA-Z0-9_-]+|[a-z][a-z-]*)$`},message:`must match pattern "^(--[a-zA-Z0-9_-]+|[a-z][a-z-]*)$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/property`,schemaPath:`#/oneOf/1/properties/property/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/1/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=v===o;if(f&&l)l=!1,u=[u,1];else{f&&(l=!0,u=1);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.key===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`key`},message:`must have required property 'key'`};a===null?a=[e]:a.push(e),o++}if(e.mode===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`mode`},message:`must have required property 'mode'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`type`&&n!==`key`&&n!==`mode`){let e={instancePath:t,schemaPath:`#/oneOf/2/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.type!==void 0&&e.type!==`query`){let e={instancePath:t+`/type`,schemaPath:`#/oneOf/2/properties/type/const`,keyword:`const`,params:{allowedValue:`query`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.key!==void 0){let n=e.key;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/key`,schemaPath:`#/oneOf/2/properties/key/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/key`,schemaPath:`#/oneOf/2/properties/key/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/key`,schemaPath:`#/oneOf/2/properties/key/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.mode!==void 0){let n=e.mode;if(n!==`in-place`&&n!==`navigate`){let e={instancePath:t+`/mode`,schemaPath:`#/oneOf/2/properties/mode/enum`,keyword:`enum`,params:{allowedValues:p.oneOf[2].properties.mode.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/2/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=n===o;if(f&&l)l=!1,u=[u,2];else{f&&(l=!0,u=2);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={instancePath:t,schemaPath:`#/oneOf/3/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.mode===void 0){let e={instancePath:t,schemaPath:`#/oneOf/3/required`,keyword:`required`,params:{missingProperty:`mode`},message:`must have required property 'mode'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`type`&&n!==`mode`){let e={instancePath:t,schemaPath:`#/oneOf/3/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.type!==void 0&&e.type!==`hash`){let e={instancePath:t+`/type`,schemaPath:`#/oneOf/3/properties/type/const`,keyword:`const`,params:{allowedValue:`hash`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.mode!==void 0){let n=e.mode;if(n!==`in-place`&&n!==`navigate`){let e={instancePath:t+`/mode`,schemaPath:`#/oneOf/3/properties/mode/enum`,keyword:`enum`,params:{allowedValues:p.oneOf[3].properties.mode.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/3/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=n===o;if(f&&l)l=!1,u=[u,3];else{f&&(l=!0,u=3);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={instancePath:t,schemaPath:`#/oneOf/4/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.object===void 0){let e={instancePath:t,schemaPath:`#/oneOf/4/required`,keyword:`required`,params:{missingProperty:`object`},message:`must have required property 'object'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`type`&&n!==`object`&&n!==`read`&&n!==`write`&&n!==`action`&&n!==`subscribe`&&n!==`pollMs`){let e={instancePath:t,schemaPath:`#/oneOf/4/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.type!==void 0&&e.type!==`api`){let e={instancePath:t+`/type`,schemaPath:`#/oneOf/4/properties/type/const`,keyword:`const`,params:{allowedValue:`api`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.object!==void 0){let n=e.object;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/object`,schemaPath:`#/oneOf/4/properties/object/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(!h.test(n)){let e={instancePath:t+`/object`,schemaPath:`#/oneOf/4/properties/object/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z_$][a-zA-Z0-9_$]*(\\.[a-zA-Z_$][a-zA-Z0-9_$]*)*$`},message:`must match pattern "^[a-zA-Z_$][a-zA-Z0-9_$]*(\\.[a-zA-Z_$][a-zA-Z0-9_$]*)*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/object`,schemaPath:`#/oneOf/4/properties/object/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.read!==void 0){let n=e.read;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/read`,schemaPath:`#/$defs/method/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};a===null?a=[e]:a.push(e),o++}if(!g.test(n)){let e={instancePath:t+`/read`,schemaPath:`#/$defs/method/pattern`,keyword:`pattern`,params:{pattern:`^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$`},message:`must match pattern "^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/read`,schemaPath:`#/$defs/method/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.write!==void 0){let n=e.write;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/write`,schemaPath:`#/$defs/method/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};a===null?a=[e]:a.push(e),o++}if(!g.test(n)){let e={instancePath:t+`/write`,schemaPath:`#/$defs/method/pattern`,keyword:`pattern`,params:{pattern:`^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$`},message:`must match pattern "^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/write`,schemaPath:`#/$defs/method/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.action!==void 0){let n=e.action;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/action`,schemaPath:`#/$defs/method/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};a===null?a=[e]:a.push(e),o++}if(!g.test(n)){let e={instancePath:t+`/action`,schemaPath:`#/$defs/method/pattern`,keyword:`pattern`,params:{pattern:`^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$`},message:`must match pattern "^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/action`,schemaPath:`#/$defs/method/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.subscribe!==void 0){let n=e.subscribe;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/subscribe`,schemaPath:`#/$defs/method/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};a===null?a=[e]:a.push(e),o++}if(!g.test(n)){let e={instancePath:t+`/subscribe`,schemaPath:`#/$defs/method/pattern`,keyword:`pattern`,params:{pattern:`^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$`},message:`must match pattern "^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/subscribe`,schemaPath:`#/$defs/method/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.pollMs!==void 0){let n=e.pollMs;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/pollMs`,schemaPath:`#/oneOf/4/properties/pollMs/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),o++}if(typeof n==`number`&&isFinite(n)){if(n>6e4||isNaN(n)){let e={instancePath:t+`/pollMs`,schemaPath:`#/oneOf/4/properties/pollMs/maximum`,keyword:`maximum`,params:{comparison:`<=`,limit:6e4},message:`must be <= 60000`};a===null?a=[e]:a.push(e),o++}if(n<100||isNaN(n)){let e={instancePath:t+`/pollMs`,schemaPath:`#/oneOf/4/properties/pollMs/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:100},message:`must be >= 100`};a===null?a=[e]:a.push(e),o++}}}}else{let e={instancePath:t,schemaPath:`#/oneOf/4/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=n===o;f&&l?(l=!1,u=[u,4]):f&&(l=!0,u=4)}}}if(l)o=c,a!==null&&(c?a.length=c:a=null);else{let e={instancePath:t,schemaPath:`#/oneOf`,keyword:`oneOf`,params:{passingSchemas:u},message:`must match exactly one schema in oneOf`};a===null?a=[e]:a.push(e),o++}return _.errors=a,o===0}function v(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`boolean`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`boolean`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.default!==void 0&&typeof e.default!=`boolean`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return v.errors=a,o===0}var y={type:`object`,additionalProperties:!1,required:[`id`,`label`,`type`,`default`,`min`,`max`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},type:{const:`number`},default:{type:`number`},binding:{$ref:`#/$defs/binding`},min:{type:`number`},max:{type:`number`},step:{type:`number`,exclusiveMinimum:0},group:{$ref:`#/$defs/id`},when:{$ref:`#/$defs/condition`}}};function b(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}if(e.min===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`min`},message:`must have required property 'min'`};a===null?a=[e]:a.push(e),l++}if(e.max===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`max`},message:`must have required property 'max'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(y.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0&&e.type!==`number`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`number`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),l++}if(e.default!==void 0){let n=e.default;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.min!==void 0){let n=e.min;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/min`,schemaPath:`#/properties/min/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.max!==void 0){let n=e.max;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/max`,schemaPath:`#/properties/max/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.step!==void 0){let n=e.step;if(typeof n==`number`&&isFinite(n)){if(n<=0||isNaN(n)){let e={instancePath:t+`/step`,schemaPath:`#/properties/step/exclusiveMinimum`,keyword:`exclusiveMinimum`,params:{comparison:`>`,limit:0},message:`must be > 0`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/step`,schemaPath:`#/properties/step/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return b.errors=a,l===0}var x={type:`object`,additionalProperties:!1,required:[`id`,`label`,`type`,`default`,`min`,`max`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},type:{const:`slider`},default:{type:`number`},binding:{$ref:`#/$defs/binding`},min:{type:`number`},max:{type:`number`},step:{type:`number`,exclusiveMinimum:0},group:{$ref:`#/$defs/id`},when:{$ref:`#/$defs/condition`}}};function S(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}if(e.min===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`min`},message:`must have required property 'min'`};a===null?a=[e]:a.push(e),l++}if(e.max===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`max`},message:`must have required property 'max'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(x.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0&&e.type!==`slider`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`slider`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),l++}if(e.default!==void 0){let n=e.default;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.min!==void 0){let n=e.min;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/min`,schemaPath:`#/properties/min/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.max!==void 0){let n=e.max;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/max`,schemaPath:`#/properties/max/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.step!==void 0){let n=e.step;if(typeof n==`number`&&isFinite(n)){if(n<=0||isNaN(n)){let e={instancePath:t+`/step`,schemaPath:`#/properties/step/exclusiveMinimum`,keyword:`exclusiveMinimum`,params:{comparison:`>`,limit:0},message:`must be > 0`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/step`,schemaPath:`#/properties/step/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return S.errors=a,l===0}var C={type:`object`,additionalProperties:!1,required:[`id`,`label`,`type`,`default`,`options`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},type:{enum:[`select`,`radio`,`segmented`]},default:{type:`string`},binding:{$ref:`#/$defs/binding`},options:{$ref:`#/$defs/options`},group:{$ref:`#/$defs/id`},when:{$ref:`#/$defs/condition`}}};function w(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}if(e.options===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`options`},message:`must have required property 'options'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`options`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0){let n=e.type;if(n!==`select`&&n!==`radio`&&n!==`segmented`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/enum`,keyword:`enum`,params:{allowedValues:C.properties.type.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),o++}}if(e.default!==void 0&&typeof e.default!=`string`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.options!==void 0){let n=e.options;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(e)<1){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}let r=n.length,i;if(r>1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/options`,schemaPath:`#/$defs/options/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return w.errors=a,o===0}function T(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}if(e.options===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`options`},message:`must have required property 'options'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!==`binding`&&n!=="default"&&n!==`options`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`checkboxGroup`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`checkboxGroup`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.default!==void 0){let n=e.default;if(Array.isArray(n)){let e=n.length;for(let r=0;r1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/default`,schemaPath:`#/properties/default/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.options!==void 0){let n=e.options;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(e)<1){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}let r=n.length,i;if(r>1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/options`,schemaPath:`#/$defs/options/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return T.errors=a,o===0}var E={type:`object`,additionalProperties:!1,required:[`id`,`label`,`type`,`default`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},type:{enum:[`text`,`textarea`]},default:{type:`string`},binding:{$ref:`#/$defs/binding`},minLength:{type:`integer`,minimum:0},maxLength:{type:`integer`,minimum:0},group:{$ref:`#/$defs/id`},when:{$ref:`#/$defs/condition`}}};function D(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(E.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0){let n=e.type;if(n!==`text`&&n!==`textarea`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/enum`,keyword:`enum`,params:{allowedValues:E.properties.type.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),l++}}if(e.default!==void 0&&typeof e.default!=`string`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.minLength!==void 0){let n=e.minLength;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/minLength`,schemaPath:`#/properties/minLength/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),l++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/minLength`,schemaPath:`#/properties/minLength/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};a===null?a=[e]:a.push(e),l++}}if(e.maxLength!==void 0){let n=e.maxLength;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/maxLength`,schemaPath:`#/properties/maxLength/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),l++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/maxLength`,schemaPath:`#/properties/maxLength/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return D.errors=a,l===0}var O=RegExp(`^#[0-9a-fA-F]{6}$`,`u`);function k(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`color`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`color`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.default!==void 0){let n=e.default;if(typeof n==`string`){if(!O.test(n)){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/pattern`,keyword:`pattern`,params:{pattern:`^#[0-9a-fA-F]{6}$`},message:`must match pattern "^#[0-9a-fA-F]{6}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return k.errors=a,o===0}function A(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`button`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`button`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return A.errors=a,o===0}function j(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let l=null,u=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.version===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`version`},message:`must have required property 'version'`};l===null?l=[e]:l.push(e),u++}if(e.scope===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`scope`},message:`must have required property 'scope'`};l===null?l=[e]:l.push(e),u++}if(e.controls===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`controls`},message:`must have required property 'controls'`};l===null?l=[e]:l.push(e),u++}for(let n in e)if(!o.call(a.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.$schema!==void 0&&typeof e.$schema!=`string`){let e={instancePath:t+`/$schema`,schemaPath:`#/properties/%24schema/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}if(e.version!==void 0&&e.version!==1){let e={instancePath:t+`/version`,schemaPath:`#/properties/version/const`,keyword:`const`,params:{allowedValue:1},message:`must be equal to constant`};l===null?l=[e]:l.push(e),u++}if(e.scope!==void 0){let n=e.scope;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/scope`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/scope`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.role!==void 0){let n=e.role;if(n!==`shared`&&n!==`page`){let e={instancePath:t+`/role`,schemaPath:`#/properties/role/enum`,keyword:`enum`,params:{allowedValues:a.properties.role.enum},message:`must be equal to one of the allowed values`};l===null?l=[e]:l.push(e),u++}}if(e.container!==void 0){let n=e.container;if(typeof n==`string`){if(s(n)>512){let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/maxLength`,keyword:`maxLength`,params:{limit:512},message:`must NOT have more than 512 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.panel!==void 0){let n=e.panel;if(n&&typeof n==`object`&&!Array.isArray(n)){if(n.width===void 0){let e={instancePath:t+`/panel`,schemaPath:`#/properties/panel/required`,keyword:`required`,params:{missingProperty:`width`},message:`must have required property 'width'`};l===null?l=[e]:l.push(e),u++}for(let e in n)if(e!==`width`){let n={instancePath:t+`/panel`,schemaPath:`#/properties/panel/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e},message:`must NOT have additional properties`};l===null?l=[n]:l.push(n),u++}if(n.width!==void 0){let e=n.width;if(typeof e!=`number`||e%1||isNaN(e)||!isFinite(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};l===null?l=[e]:l.push(e),u++}if(typeof e==`number`&&isFinite(e)){if(e>4096||isNaN(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/maximum`,keyword:`maximum`,params:{comparison:`<=`,limit:4096},message:`must be <= 4096`};l===null?l=[e]:l.push(e),u++}if(e<160||isNaN(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:160},message:`must be >= 160`};l===null?l=[e]:l.push(e),u++}}}}else{let e={instancePath:t+`/panel`,schemaPath:`#/properties/panel/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.groups!==void 0){let n=e.groups;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/groups`,schemaPath:`#/properties/groups/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/groups/`+r+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(l=l===null?f.errors:l.concat(f.errors),u=l.length))}else{let e={instancePath:t+`/groups/`+r,schemaPath:`#/properties/groups/items/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t+`/groups`,schemaPath:`#/properties/groups/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.controls!==void 0){let n=e.controls;if(Array.isArray(n)){if(n.length>500){let e={instancePath:t+`/controls`,schemaPath:`#/properties/controls/maxItems`,keyword:`maxItems`,params:{limit:500},message:`must NOT have more than 500 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r100){let e={instancePath:t+`/sets`,schemaPath:`#/properties/sets/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/sets`,schemaPath:`#/properties/sets/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.role!==void 0){let n=e.role;if(n!==`shared`&&n!==`page`){let e={instancePath:t+`/role`,schemaPath:`#/properties/role/enum`,keyword:`enum`,params:{allowedValues:a.properties.role.enum},message:`must be equal to one of the allowed values`};l===null?l=[e]:l.push(e),u++}}if(e.container!==void 0){let n=e.container;if(typeof n==`string`){if(s(n)>512){let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/maxLength`,keyword:`maxLength`,params:{limit:512},message:`must NOT have more than 512 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.panel!==void 0){let n=e.panel;if(n&&typeof n==`object`&&!Array.isArray(n)){if(n.width===void 0){let e={instancePath:t+`/panel`,schemaPath:`#/properties/panel/required`,keyword:`required`,params:{missingProperty:`width`},message:`must have required property 'width'`};l===null?l=[e]:l.push(e),u++}for(let e in n)if(e!==`width`){let n={instancePath:t+`/panel`,schemaPath:`#/properties/panel/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e},message:`must NOT have additional properties`};l===null?l=[n]:l.push(n),u++}if(n.width!==void 0){let e=n.width;if(typeof e!=`number`||e%1||isNaN(e)||!isFinite(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};l===null?l=[e]:l.push(e),u++}if(typeof e==`number`&&isFinite(e)){if(e>4096||isNaN(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/maximum`,keyword:`maximum`,params:{comparison:`<=`,limit:4096},message:`must be <= 4096`};l===null?l=[e]:l.push(e),u++}if(e<160||isNaN(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:160},message:`must be >= 160`};l===null?l=[e]:l.push(e),u++}}}}else{let e={instancePath:t+`/panel`,schemaPath:`#/properties/panel/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.groups!==void 0){let n=e.groups;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/groups`,schemaPath:`#/properties/groups/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/groups/`+r+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(l=l===null?f.errors:l.concat(f.errors),u=l.length))}else{let e={instancePath:t+`/groups/`+r,schemaPath:`#/properties/groups/items/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t+`/groups`,schemaPath:`#/properties/groups/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.controls!==void 0){let n=e.controls;if(Array.isArray(n)){if(n.length>500){let e={instancePath:t+`/controls`,schemaPath:`#/properties/controls/maxItems`,keyword:`maxItems`,params:{limit:500},message:`must NOT have more than 500 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r100){let e={instancePath:t+`/sets`,schemaPath:`#/properties/sets/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/sets`,schemaPath:`#/properties/sets/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`boolean`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`boolean`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.default!==void 0&&typeof e.default!=`boolean`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return L.errors=a,o===0}e.number=R;function R(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}if(e.min===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`min`},message:`must have required property 'min'`};a===null?a=[e]:a.push(e),l++}if(e.max===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`max`},message:`must have required property 'max'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(y.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0&&e.type!==`number`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`number`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),l++}if(e.default!==void 0){let n=e.default;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.min!==void 0){let n=e.min;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/min`,schemaPath:`#/properties/min/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.max!==void 0){let n=e.max;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/max`,schemaPath:`#/properties/max/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.step!==void 0){let n=e.step;if(typeof n==`number`&&isFinite(n)){if(n<=0||isNaN(n)){let e={instancePath:t+`/step`,schemaPath:`#/properties/step/exclusiveMinimum`,keyword:`exclusiveMinimum`,params:{comparison:`>`,limit:0},message:`must be > 0`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/step`,schemaPath:`#/properties/step/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return R.errors=a,l===0}e.slider=ee;function ee(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}if(e.min===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`min`},message:`must have required property 'min'`};a===null?a=[e]:a.push(e),l++}if(e.max===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`max`},message:`must have required property 'max'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(x.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0&&e.type!==`slider`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`slider`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),l++}if(e.default!==void 0){let n=e.default;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.min!==void 0){let n=e.min;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/min`,schemaPath:`#/properties/min/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.max!==void 0){let n=e.max;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/max`,schemaPath:`#/properties/max/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.step!==void 0){let n=e.step;if(typeof n==`number`&&isFinite(n)){if(n<=0||isNaN(n)){let e={instancePath:t+`/step`,schemaPath:`#/properties/step/exclusiveMinimum`,keyword:`exclusiveMinimum`,params:{comparison:`>`,limit:0},message:`must be > 0`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/step`,schemaPath:`#/properties/step/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return ee.errors=a,l===0}e.choice=te;function te(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}if(e.options===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`options`},message:`must have required property 'options'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`options`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0){let n=e.type;if(n!==`select`&&n!==`radio`&&n!==`segmented`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/enum`,keyword:`enum`,params:{allowedValues:C.properties.type.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),o++}}if(e.default!==void 0&&typeof e.default!=`string`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.options!==void 0){let n=e.options;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(e)<1){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}let r=n.length,i;if(r>1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/options`,schemaPath:`#/$defs/options/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return te.errors=a,o===0}e.checkboxGroup=ne;function ne(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}if(e.options===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`options`},message:`must have required property 'options'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!==`binding`&&n!=="default"&&n!==`options`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`checkboxGroup`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`checkboxGroup`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.default!==void 0){let n=e.default;if(Array.isArray(n)){let e=n.length;for(let r=0;r1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/default`,schemaPath:`#/properties/default/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.options!==void 0){let n=e.options;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(e)<1){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}let r=n.length,i;if(r>1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/options`,schemaPath:`#/$defs/options/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return ne.errors=a,o===0}e.text=re;function re(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(E.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0){let n=e.type;if(n!==`text`&&n!==`textarea`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/enum`,keyword:`enum`,params:{allowedValues:E.properties.type.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),l++}}if(e.default!==void 0&&typeof e.default!=`string`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.minLength!==void 0){let n=e.minLength;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/minLength`,schemaPath:`#/properties/minLength/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),l++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/minLength`,schemaPath:`#/properties/minLength/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};a===null?a=[e]:a.push(e),l++}}if(e.maxLength!==void 0){let n=e.maxLength;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/maxLength`,schemaPath:`#/properties/maxLength/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),l++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/maxLength`,schemaPath:`#/properties/maxLength/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return re.errors=a,l===0}e.color=z;function z(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`color`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`color`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.default!==void 0){let n=e.default;if(typeof n==`string`){if(!O.test(n)){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/pattern`,keyword:`pattern`,params:{pattern:`^#[0-9a-fA-F]{6}$`},message:`must match pattern "^#[0-9a-fA-F]{6}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return z.errors=a,o===0}e.button=ie;function ie(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`button`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`button`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return ie.errors=a,o===0}})))(),1);function l(e){if(e&&typeof e==`object`){for(let t of Object.values(e))l(t);Object.freeze(e)}return e}function u(e){return Array.isArray(e)?`[${e.map(u).join(`,`)}]`:e&&typeof e==`object`?`{${Object.keys(e).sort().map(t=>`${JSON.stringify(t)}:${u(e[t])}`).join(`,`)}}`:JSON.stringify(e)}function d(e,t){if(!e)return!0;if(e.all)return e.all.every(e=>d(e,t));if(e.any)return e.any.some(e=>d(e,t));let n=t[e.control];return`equals`in e?n===e.equals:`in`in e?e.in.includes(n):Array.isArray(n)&&n.includes(e.includes)}var{validateDocumentShape:f,validateDeclaration:p}=c.default,m={boolean:`boolean`,number:`number`,slider:`slider`,select:`choice`,radio:`choice`,segmented:`choice`,checkboxGroup:`checkboxGroup`,text:`text`,textarea:`text`,color:`color`,button:`button`};function h(e){let t=[...p.errors].filter(e=>!/^\/controls\/\d+(?:\/|$)/.test(e.instancePath)).map(e=>({...e}));return Array.isArray(e?.controls)&&e.controls.forEach((e,n)=>{let r=Object.hasOwn(m,e?.type)?m[e.type]:void 0,i=r&&c.default[r];i?i(e)||t.push(...i.errors.map(e=>({...e,instancePath:`/controls/${n}${e.instancePath}`}))):t.push({instancePath:`/controls/${n}/type`,message:`must name a supported control type`})}),t.map(e=>({path:e.instancePath,message:e.keyword===`additionalProperties`?`${e.message}: "${e.params.additionalProperty}"`:e.message,keyword:e.keyword,params:e.params}))}var g=class extends Error{constructor(e){super(`Invalid controls.replica.json:\n${e.map(e=>` ${e.path||`/`}: ${e.message}`).join(` `)}`),this.name=`ControlsValidationError`,this.issues=e}};function _(e,t){switch(e.type){case`boolean`:return typeof t==`boolean`?null:`must be a boolean`;case`number`:case`slider`:{if(typeof t!=`number`||!Number.isFinite(t))return`must be a finite number`;if(e.min!==void 0&&t= min`;if(e.max!==void 0&&t>e.max)return`must be <= max`;let n=(t-e.min)/(e.step??1);return!Number.isFinite(n)||Math.abs(n-Math.round(n))>1e-8?`must align with step (anchored at min)`:null}case`select`:case`radio`:case`segmented`:return e.options.includes(t)?null:`must be a declared option`;case`checkboxGroup`:return Array.isArray(t)&&new Set(t).size===t.length&&t.every(t=>e.options.includes(t))?null:`must be unique declared options`;case`text`:case`textarea`:return typeof t==`string`?e.minLength!==void 0&&[...t].lengthe.maxLength?`longer than maxLength`:null:`must be a string`;case`color`:return typeof t==`string`&&/^#[0-9a-fA-F]{6}$/.test(t)?null:`must be a six-digit hex color`;default:return`button controls have no value`}}function v(e){return e?e.control?[e.control]:(e.all??e.any).flatMap(v):[]}function y(e){let t=new Map((e.groups??[]).map(e=>[e.id,e])),n=new Map(e.controls.map(e=>[e.id,e])),r=/* @__PURE__ */ new Set,i=/* @__PURE__ */ new Set,a=[];function o(e){if(r.has(e))return;if(i.has(e))throw new g([{path:`/controls/${e}/when`,message:`conditional dependency cycle (including groups)`}]);i.add(e);let s=n.get(e);for(let e of[...v(s.when),...v(t.get(s.group)?.when)])o(e);i.delete(e),r.add(e),a.push(e)}for(let e of n.keys())o(e);return a}function b(e){let t=/* @__PURE__ */ new Set;function n(e,r=0){if(r>24)throw new g([{path:`/`,message:`document nesting exceeds 24`}]);if(typeof e==`number`&&!Number.isFinite(e))throw new g([{path:`/`,message:`numbers must be finite`}]);if(![`string`,`number`,`boolean`,`object`].includes(typeof e))throw new g([{path:`/`,message:`must contain only JSON values`}]);if(e&&typeof e==`object`){if(!Array.isArray(e)&&Object.getPrototypeOf(e)!==Object.prototype&&Object.getPrototypeOf(e)!==null)throw new g([{path:`/`,message:`must contain only JSON objects`}]);if(t.has(e))throw new g([{path:`/`,message:`must be an acyclic JSON document`}]);t.add(e);for(let t of Object.values(e))n(t,r+1);t.delete(e)}}n(e)}function x(e){b(e);let t=e&&typeof e==`object`&&Object.hasOwn(e,`sets`)?e.sets:[e];if(!e||typeof e!=`object`||!Object.hasOwn(e,`sets`))return C(e),S(e),e;if(!f(e))throw new g(f.errors.map(e=>({path:e.instancePath,message:e.keyword===`additionalProperties`?`${e.message}: "${e.params.additionalProperty}"`:e.message,keyword:e.keyword,params:e.params})));let n=/* @__PURE__ */ new Set;return t.forEach((e,t)=>{try{C(e),S(e)}catch(e){throw e instanceof g?new g(e.issues.map(e=>({...e,path:`/sets/${t}${e.path}`}))):e}if(n.has(e.scope))throw new g([{path:`/sets/${t}/scope`,message:`duplicate scope ${e.scope}`}]);n.add(e.scope)}),e}function S(e){let t=[];for(let[n,r]of e.controls.entries()){let e=r.binding,i=`/controls/${n}/binding`;e?((r.type===`button`&&![`button`,`api`].includes(e.type)||r.type!==`button`&&e.type===`button`)&&t.push({path:i,message:`binding does not match the control type`}),e.type===`query`&&(e.key===`rc`||e.key.startsWith(`rc.`))&&t.push({path:i,message:`rc and rc.* are reserved for control settings`}),e.type===`api`&&(([`window`,`globalThis`,`self`,`parent`,`top`,`document`,`location`,`history`,`navigator`].includes(e.object.split(`.`)[0])||[e.read,e.write,e.action,e.subscribe].some(e=>[`eval`,`Function`].includes(e)))&&t.push({path:i,message:`API bindings must name an app-owned object and ordinary methods`}),e.object.split(`.`).some(e=>[`constructor`,`prototype`,`__proto__`].includes(e))&&t.push({path:i,message:`API object must name the app's own exposed object`}),r.type===`button`?(!e.action||e.read||e.write||e.subscribe||e.pollMs)&&t.push({path:i,message:`API buttons require only object and action`}):(!e.read||!e.write||e.action||!!e.subscribe==!!e.pollMs)&&t.push({path:i,message:`API values require read, write, and either subscribe or pollMs`}))):t.push({path:i,message:`each control requires a binding`})}if(t.length)throw new g(t)}function C(e){if(b(e),!p(e))throw new g(h(e));let t=[];function n(e,n){t.push({path:e,message:n})}let r=/* @__PURE__ */ new Set,i=new Map((e.groups??[]).map(e=>[e.id,e])),a=new Map(e.controls.map(e=>[e.id,e]));for(let[t,i]of[[`groups`,e.groups??[]],[`controls`,e.controls]])i.forEach((e,i)=>{r.has(e.id)&&n(`/${t}/${i}/id`,`duplicate ID ${e.id}`),r.add(e.id)});function o(e,t,r=0){if(!e)return;if(r>4){n(t,`conditions support at most five levels`);return}if(e.all||e.any){let n=e.all?`all`:`any`;e[n].forEach((e,i)=>o(e,`${t}/${n}/${i}`,r+1));return}let i=a.get(e.control);if(!i||i.type===`button`)n(t,`condition must reference a value control`);else if(`includes`in e)(i.type!==`checkboxGroup`||!i.options.includes(e.includes))&&n(t,`includes requires a declared checkboxGroup option`);else if(i.type===`checkboxGroup`)n(t,`checkboxGroup conditions must use includes`);else for(let r of`in`in e?e.in:[e.equals]){let e=_(i,r);e&&n(t,`invalid condition for ${i.id}: ${e}`)}}if(e.controls.forEach((e,t)=>{let r=`/controls/${t}`;if(e.group&&!i.has(e.group)&&n(`${r}/group`,`unknown group`),e.min!==void 0&&e.max!==void 0&&e.min>e.max&&n(r,`min must not exceed max`),e.minLength!==void 0&&e.maxLength!==void 0&&e.minLength>e.maxLength&&n(r,`minLength must not exceed maxLength`),e.type===`segmented`&&e.options.length>3&&n(`${r}/options`,`segmented supports at most three options`),e.type!==`button`){let t=_(e,e.default);t&&n(`${r}/default`,t)}o(e.when,`${r}/when`)}),(e.groups??[]).forEach((e,t)=>o(e.when,`/groups/${t}/when`)),t.length)throw new g(t);return y(e),e}var w=Symbol.for(`replica.controls.injected.runtime`),T=/* @__PURE__ */ new WeakMap;function E(){let e=globalThis[w];if(e&&e.version!==2)throw Error(`Replica controls runtime version mismatch; reload the page`);if(!e){let e=/* @__PURE__ */ new Map,t=/* @__PURE__ */ new Set,n=Object.freeze({version:2,create:e=>D(e),list:()=>Object.freeze([...e.values()].map(e=>e.controller)),subscribe(e){return t.add(e),()=>t.delete(e)}});T.set(n,{scopes:e,notify:()=>{for(let e of[...t])e()}}),globalThis[w]=n}return globalThis[w]}function D(e){C(e);let t=l(structuredClone(e)),n=u(t),r=E(),i=r.list().find(e=>e.declaration.scope===t.scope);if(i){if(u(i.declaration)!==n)throw Error(`Conflicting controls declaration for scope "${t.scope}"; reload after schema changes`);return i}let a=T.get(r);if(!a)return r.create(e);let o=new Map(t.controls.map(e=>[e.id,e])),s=new Map((t.groups??[]).map(e=>[e.id,e])),c=y(t),f=/* @__PURE__ */ new Set,p=/* @__PURE__ */ new Map,m=/* @__PURE__ */ new Set,h={},g=0,v=!1,b=!1,x;function S(e){for(let t of[...p.values()].reverse()){let n=t();if(Object.hasOwn(n,e)&&typeof n[e]==`function`)return n}}function w(e){let n={};for(let t of c){let r=o.get(t);n[t]=d(r.when,e)&&d(s.get(r.group)?.when,e),!n[t]&&r.type!==`button`&&(e[t]=structuredClone(r.default))}return l({values:e,visible:n,groups:Object.fromEntries([...s].map(([t,n])=>[t,d(n.when,e)])),actions:Object.fromEntries(t.controls.filter(e=>e.type===`button`).map(e=>[e.id,{available:!!S(e.id)&&!h[e.id]?.error,busy:m.has(e.id)}])),...Object.keys(h).length?{bindings:structuredClone(h)}:{}})}function D(){return Object.fromEntries(t.controls.filter(e=>e.type!==`button`).map(e=>[e.id,structuredClone(e.default)]))}x=l({...w(D()),revision:g});function O(e){let t=w(e),n={values:x.values,visible:x.visible,groups:x.groups,actions:x.actions,...x.bindings?{bindings:x.bindings}:{}};if(u(t)!==u(n)&&(x=l({...t,revision:++g}),b=!0,!v)){v=!0;try{for(;b;){b=!1;for(let e of[...f])e();a.notify()}}finally{v=!1}}}function k(e){let t=o.get(e);if(!t)throw Error(`Unknown control "${e}"`);if(!x.visible[e])throw Error(`Control "${e}" is hidden`);return t}let A=Object.freeze({declaration:t,getSnapshot:()=>x,subscribe(e){return f.add(e),()=>f.delete(e)},update(e,t){let n=_(k(e),t);if(n)throw Error(`Control "${e}": ${n}`);O({...x.values,[e]:structuredClone(t)})},restore(e){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Controls restore requires an object`);let t={...x.values};for(let[n,r]of Object.entries(e)){let e=o.get(n);if(!e)throw Error(`Unknown control "${n}"`);let i=_(e,r);if(i)throw Error(`Control "${n}": ${i}`);t[n]=structuredClone(r)}O(t)},refreshActions(){O({...x.values})},bindingStatus(e,t,n=!1,r=!t){if(!o.has(e))throw Error(`Unknown control "${e}"`);h[e]={error:t.slice(0,500),busy:n,available:r},O({...x.values})},reset(e){if(e===void 0)return O(D());let t=k(e);if(t.type===`button`)throw Error(`Buttons cannot be reset`);O({...x.values,[e]:structuredClone(t.default)})},async action(e){if(k(e).type!==`button`)throw Error(`Control "${e}" is not a button`);let t=S(e);if(!t)throw Error(`No mounted action handler for "${e}"`);if(m.has(e))throw Error(`Action "${e}" is busy`);m.add(e),O({...x.values});try{return await t[e]()}finally{m.delete(e),O({...x.values})}},mount(e=()=>({})){let t=Symbol();p.set(t,e);try{O({...x.values}),a.notify()}catch(e){throw p.delete(t),O({...x.values}),a.notify(),e}let n=!0;return()=>{n&&(n=!1,p.delete(t),O({...x.values}),a.notify())}},get mountedCount(){return p.size}});return a.scopes.set(t.scope,Object.freeze({canonical:n,controller:A})),a.notify(),A}function O(e,t=!1){if(!(e instanceof HTMLElement)||!e.isConnected)return`The binding target is missing or stale.`;let n=e.getBoundingClientRect();for(let t=e;t;t=t.parentElement){let e=window.getComputedStyle(t);if(t.hasAttribute(`hidden`)||t.hasAttribute(`inert`)||t.getAttribute(`aria-hidden`)===`true`||t.getAttribute(`aria-disabled`)===`true`||e.visibility===`hidden`||e.visibility===`collapse`||e.display===`none`||Number(e.opacity||1)===0)return`The binding target is hidden or disabled.`}if(e.hasAttribute(`data-replica-canvas-bridge`)||e.matches(`:disabled`)||!n.width||!n.height)return`The binding target is hidden or disabled.`;if(!t)return``;let r=document.elementFromPoint(n.left+n.width/2,n.top+n.height/2);if(!r||r!==e&&!e.contains(r))return`The binding target is blocked by another element.`;let i=e.closest(`button, input, select, textarea, [role="button"], [role="link"], a`),a=e.closest(`form`)||(e instanceof HTMLButtonElement||e instanceof HTMLInputElement?e.form:null);if(i!==e||a)return`The binding target is not a safe standalone control.`;let o=e.closest(`a`);if(o){let e=o.getAttribute(`href`),t;try{t=new URL(e||``,window.location.href)}catch{return`The binding target has an invalid link URL.`}if(!e||![`http:`,`https:`].includes(t.protocol)||t.origin!==window.location.origin||t.username||t.password||o.hasAttribute(`download`)||o.hasAttribute(`target`)&&o.getAttribute(`target`)!==`_self`)return`The binding target leaves the prototype or downloads a file.`}return``}function k(e,t){return JSON.stringify(e)===JSON.stringify(t)}function A(){let e=new URL(window.location.href);for(let t of[...e.searchParams.keys()])(t===`rc`||t.startsWith(`rc.`))&&e.searchParams.delete(t);return e.href}function j(e){let t=document.querySelectorAll(e);if(t.length!==1)throw Error(t.length?`The binding target is ambiguous.`:`The binding target is missing.`);return t[0]}function M(e){let t=window;for(let n of e.split(`.`)){if(!t||!Object.hasOwn(t,n))throw Error(`The app API "${e}" is unavailable.`);t=t[n]}if(!t||typeof t!=`object`&&typeof t!=`function`)throw Error(`The app API "${e}" is not an object.`);if([window,window.document,window.location,window.history,window.navigator].includes(t))throw Error(`API bindings must use an app-owned object, not a browser API.`);return t}function N(e){let t=e.binding;if(t.type===`api`){let e=M(t.object);for(let n of[t.read,t.write,t.action,t.subscribe].filter(Boolean))if(!Object.hasOwn(e,n)||typeof e[n]!=`function`)throw Error(`The app API method "${n}" is unavailable.`);return e}if(t.type===`query`||t.type===`hash`)return window;let n=j(t.selector),r=O(n,t.type===`button`);if(r)throw Error(r);if(t.type===`field`){if(!(n instanceof HTMLInputElement||n instanceof HTMLSelectElement||n instanceof HTMLTextAreaElement)||n instanceof HTMLInputElement&&[`button`,`submit`,`reset`,`image`,`file`,`password`,`hidden`].includes(n.type))throw Error(`The binding requires a supported native form field.`);if(e.type===`boolean`&&!(n instanceof HTMLInputElement&&n.type===`checkbox`))throw Error(`A boolean field binding requires a checkbox.`);if(e.type===`checkboxGroup`&&!(n instanceof HTMLSelectElement&&n.multiple))throw Error(`A checkboxGroup field binding requires a multiple select.`);if(n.readOnly)throw Error(`The binding target is read-only.`)}if(t.type===`style`&&e.type===`checkboxGroup`)throw Error(`Style bindings require a scalar control.`);return n}function P(e,t){if(e.type===`boolean`)return t===`true`||t!==`false`&&t;if(e.type===`number`||e.type===`slider`)return t.trim()===``?NaN:Number(t);if(e.type===`checkboxGroup`)return JSON.parse(t);if(e.type===`color`&&/^rgb\(/.test(t)){let e=t.match(/\d+/g);if(e?.length===3)return`#${e.map(e=>Number(e).toString(16).padStart(2,`0`)).join(``)}`}return t}function F(e){return Array.isArray(e)?JSON.stringify(e):String(e)}function I(e,t){let n=e.binding;if(n.type===`api`)return t[n.read]();if(n.type===`field`)return e.type===`boolean`?t.checked:e.type===`checkboxGroup`?[...t.selectedOptions].map(e=>e.value):P(e,t.value);if(n.type===`style`)return P(e,window.getComputedStyle(t).getPropertyValue(n.property).trim());let r=new URL(window.location.href),i=n.type===`query`?r.searchParams.get(n.key):decodeURIComponent(r.hash.slice(1));return i===null?structuredClone(e.default):P(e,i)}function L(e){let t=typeof e==`string`?e:e?.message;return Error(typeof t==`string`&&t?t:`The app binding failed without an error message.`)}async function R(e,t=5e3){let n;try{return await Promise.race([Promise.resolve().then(e),new Promise((e,r)=>{n=window.setTimeout(()=>r(/* @__PURE__ */ Error(`The app API timed out. Its outcome is unknown.`)),t)})])}catch(e){throw L(e)}finally{window.clearTimeout(n)}}function ee(e,t,n){let r=e instanceof HTMLInputElement?HTMLInputElement.prototype:e instanceof HTMLSelectElement?HTMLSelectElement.prototype:HTMLTextAreaElement.prototype;Object.getOwnPropertyDescriptor(r,t).set.call(e,n)}async function te(e,t,n){let r=e.binding;if(r.type===`api`){await R(()=>t[r.write](structuredClone(n)));return}if(r.type===`field`){if(t instanceof HTMLSelectElement)for(let e of Array.isArray(n)?n:[F(n)]){let n=[...t.options].filter(t=>t.value===e);if(n.length!==1||n[0].disabled||n[0].closest(`optgroup[disabled], [hidden], [inert]`))throw Error(`The native option is missing, ambiguous, hidden or disabled.`)}if(e.type===`checkboxGroup`)for(let e of t.options)e.selected=n.includes(e.value);else e.type===`boolean`?t.checked!==n&&t.click():ee(t,`value`,F(n));t.dispatchEvent(new Event(`input`,{bubbles:!0})),t.dispatchEvent(new Event(`change`,{bubbles:!0}));return}if(r.type===`style`){t.style.setProperty(r.property,F(n));return}let i=new URL(window.location.href);if(r.type===`query`?i.searchParams.set(r.key,F(n)):i.hash=`#${F(n).replace(/%/g,`%25`)}`,i.href===window.location.href)return;if(i.origin!==window.location.origin)throw Error(`URL bindings cannot leave the prototype.`);if(r.mode===`navigate`)return i;window.history.replaceState(window.history.state,``,i);let a=new Event(r.type===`hash`?`hashchange`:`popstate`);Object.defineProperty(a,"replicaControlsBinding",{value:!0}),window.dispatchEvent(a)}function ne(e){x(e);let t=(e.sets??[e]).map(e=>({controller:D(e),release:void 0,records:new Map(e.controls.map(e=>[e.id,{control:e,object:void 0,cleanup:void 0,initialized:!1,lastRead:0,reading:!1}]))})),n=!1,r=0,i=Promise.resolve(),a=Promise.resolve(),o=!1,s=!1,c,l=/* @__PURE__ */ new Set,u=``;function d(){let e=JSON.stringify(t.map(({controller:e})=>[e.declaration.scope,e.mountedCount,e.getSnapshot().revision]));if(e!==u){u=e;for(let e of l)e()}}let f=E().subscribe(()=>{!s&&!r&&d()});function p(e){if(!e.controller.declaration.container)return!0;let t=document.querySelectorAll(e.controller.declaration.container);if(t.length>1)throw Error(`The page container is ambiguous.`);return t.length===1&&!O(t[0])}function m(e,t){let n=t.cleanup;t.cleanup=void 0,t.object=void 0,t.initialized=!1;try{n?.()}catch(n){let r=/* @__PURE__ */ Error(`API cleanup failed: ${L(n).message}`);return e.controller.bindingStatus(t.control.id,r.message),r}}function h(e){let n=e.binding;if(n.type===`query`||n.type===`hash`){let e=/* @__PURE__ */ new Set;for(let r of t){let t;try{t=p(r)}catch{continue}if(t)for(let t of r.records.values()){let i=t.control.binding;i.type===n.type&&(n.type===`hash`||i.key===n.key)&&e.add(F(r.controller.getSnapshot().values[t.control.id]))}}if(e.size>1)throw Error(`This URL setting has conflicting active Controls bindings.`)}return N(e)}function g(e,t,r,i){let a=t.control.binding.type===`api`?new URL(A()).origin!==new URL(i).origin:A()!==i;if(n||!p(e)||a||h(t.control)!==r)throw Error(`The binding target or prototype route changed. The outcome is unknown.`)}async function v(e,t,n,r){let i=await R(()=>I(t.control,n));g(e,t,n,r);let a=_(t.control,i);if(a)throw Error(`The app value ${a}.`);return e.controller.restore({[t.control.id]:i}),t.lastRead=Date.now(),i}async function b(e,t,n){let{control:r}=t,i=e.controller.getSnapshot().values[r.id],a=A(),o;e.controller.bindingStatus(r.id,``,!0);try{o=h(r);let i=await te(r,o,n);if(i){let t=new URL(c?.href??window.location.href);return r.binding.type===`query`?t.searchParams.set(r.binding.key,i.searchParams.get(r.binding.key)):t.hash=i.hash,c=t,e.controller.restore({[r.id]:n}),e.controller.bindingStatus(r.id,``),n}await new Promise(e=>{let t=window.setTimeout(()=>{window.cancelAnimationFrame(n),e()},100),n=window.requestAnimationFrame(()=>{window.clearTimeout(t),e()})});let s=[`query`,`hash`].includes(r.binding.type),l=await v(e,t,o,s?A():a);if(!k(l,n))throw t.rejection=`The app rejected or adjusted this value. Its actual value is shown.`,t.rejectedValue=l,Error(`The app rejected or adjusted this value. Its actual value is shown.`);return t.rejection=``,e.controller.bindingStatus(r.id,``),l}catch(s){let c=L(s),l=!1;if(o)try{let n=await v(e,t,o,a);t.rejection=c.message,t.rejectedValue=n,l=!0}catch(e){c=/* @__PURE__ */ Error(`${c.message} ${L(e).message}`)}throw!l&&k(e.controller.getSnapshot().values[r.id],n)&&e.controller.restore({[r.id]:i}),e.controller.bindingStatus(r.id,c.message,!1,l),c}}async function S(e,t){let{control:n}=t;if(!t.reading){t.reading=!0;try{let r=h(n);if(t.object!==r){let i=m(e,t);if(i)throw i;if(t.object=r,n.binding.type===`api`&&n.binding.subscribe){let e=r[n.binding.subscribe](()=>{t.lastRead=0,C()});if(typeof e!=`function`)throw Error(`The API notification method must return a cleanup function.`);t.cleanup=e}}if(n.type===`button`){e.controller.bindingStatus(n.id,t.rejection||``,!1,!0);return}if(!t.initialized)t.initialized=!0,await b(e,t,e.controller.getSnapshot().values[n.id]);else{let i=n.binding.type===`api`?n.binding.pollMs:250;if(t.lastRead===0||i&&Date.now()-t.lastRead>=i){if(!e.controller.getSnapshot().visible[n.id]&&!k(await R(()=>I(n,r)),n.default))await b(e,t,n.default);else{let n=await v(e,t,r,A());t.rejection&&!k(n,t.rejectedValue)&&(t.rejection=``)}e.controller.bindingStatus(n.id,t.rejection||``,!1,!0)}}}catch(t){e.controller.bindingStatus(n.id,L(t).message)}finally{t.reading=!1}}}function C(){return o||(o=!0,a=a.then(async()=>{if(!(n||r)){s=!0;try{await Promise.all(t.map(async e=>{let t,n=!1;try{t=p(e)}catch(r){t=!0,n=!0;for(let t of e.records.values())e.controller.bindingStatus(t.control.id,`Invalid page container: ${r.message}`)}if(t){if(!e.release){let t=Object.fromEntries([...e.records.values()].filter(e=>e.control.type===`button`).map(t=>[t.control.id,async()=>{let n=h(t.control),r=A();t.control.binding.type===`api`?await R(()=>n[t.control.binding.action](),3e4):n.click(),g(e,t,n,r)}]));e.release=e.controller.mount(()=>t)}n||await Promise.all([...e.records.values()].map(t=>S(e,t)))}else{e.release?.(),e.release=void 0;for(let t of e.records.values())m(e,t)}}))}finally{s=!1,d()}}}).finally(()=>{o=!1})),a}function w(e,t){let n=i.then(async()=>{await a,t?.(),c=void 0,r++;try{return await e()}catch(e){throw c=void 0,e}finally{r--,d()}});return i=n.catch(()=>{}),n}function T(e){let n=t.find(t=>t.controller===e);if(!n)throw Error(`Unknown controls set.`);return n}async function j(e,t,n){let r=T(e),i=e.getSnapshot();n?.(),e.restore(t);let a=[];for(let o of y(e.declaration)){n?.();let s=r.records.get(o);if(s.control.type===`button`)continue;let c=e.getSnapshot().values[o];if(Object.hasOwn(t,o)||!k(c,i.values[o])||[`query`,`hash`].includes(s.control.binding.type)&&s.control.binding.mode===`navigate`)try{await b(r,s,c)}catch(t){e.getSnapshot().bindings[o]?.available!==!0&&k(e.getSnapshot().values[o],c)&&e.restore({[o]:i.values[o]}),a.push(`${s.control.label}: ${t.message}`)}}if(n?.(),a.length)throw Error(a.join(` `).slice(0,1e3))}let M=window.setInterval(()=>{C()},250);function P(e){for(let n of t)for(let t of n.records.values())if(t.control.binding.type!==`api`&&t.control.type!==`button`){if(e.type===`input`||e.type===`change`){if(e.target!==t.object)continue;try{let e=I(t.control,t.object),r=_(t.control,e);if(r)throw Error(`The app value ${r}.`);n.controller.restore({[t.control.id]:e})}catch(e){n.controller.bindingStatus(t.control.id,e.message)}}t.lastRead=0}C()}for(let e of[`input`,`change`,`popstate`,`hashchange`])window.addEventListener(e,P);return C(),{runtime:E(),pending:()=>r>0||s,subscribe(e){return l.add(e),()=>l.delete(e)},settled:()=>a,restore:(e,t,n)=>w(()=>j(e,t,n),n),update:(e,t,n,r)=>w(()=>{let i=e.declaration.controls.find(e=>e.id===t),a=i?_(i,n):`Unknown control.`;if(a)throw Error(a);if(!e.getSnapshot().visible[t])throw Error(`This control is hidden.`);return j(e,{[t]:n},r)},r),takeNavigation(){if(!c)return;let e=c;c=void 0;for(let t of[...e.searchParams.keys()])(t===`rc`||t.startsWith(`rc.`))&&e.searchParams.delete(t);for(let[t,n]of new URL(window.location.href).searchParams)(t===`rc`||t.startsWith(`rc.`))&&e.searchParams.append(t,n);return e.href},navigate(){let e=this.takeNavigation();e&&window.location.assign(e)},reset:(e,n)=>w(async()=>{let r=e?[T(e)]:t,i=[];for(let e of r){let t=Object.fromEntries(e.controller.declaration.controls.filter(e=>e.type!==`button`).map(e=>[e.id,e.default]));if(!e.release)e.controller.reset();else try{await j(e.controller,t,n)}catch(e){i.push(e.message)}}if(i.length)throw Error(i.join(` -`).slice(0,1e3))},n),dispose(){n=!0,f(),window.clearInterval(M);for(let e of[`input`,`change`,`popstate`,`hashchange`])window.removeEventListener(e,P);for(let e of t){e.release?.();for(let t of e.records.values())m(e,t)}}}}async function re(){let e=await fetch(`/controls.replica.json`,{credentials:`same-origin`,redirect:`error`});if(e.status===404||e.status===410)return;if(!e.ok)throw Error(`controls.replica.json returned HTTP ${e.status}.`);let t=``,n=e.body?.getReader();if(n){let e=new TextDecoder,r=0;for(;;){let{done:i,value:a}=await n.read();if(i)break;if(r+=a.byteLength,r>256e3)throw await n.cancel(),Error(`controls.replica.json exceeds the 256,000-byte limit.`);t+=e.decode(a,{stream:!0})}t+=e.decode()}else t=await e.text();if(new TextEncoder().encode(t).length>256e3)throw Error(`controls.replica.json exceeds the 256,000-byte limit.`);if(!(e.headers.get(`content-type`)?.startsWith(`text/html`)&&/^\s*<(?:!doctype html|html)/i.test(t)))return ne(JSON.parse(t))}function z(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.entries(e).every(([e,t])=>/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e)&&(typeof t==`string`||typeof t==`boolean`||typeof t==`number`&&Number.isFinite(t)||Array.isArray(t)&&t.length<=100&&t.every(e=>typeof e==`string`)))}var ie=`replica:controls`;function ae(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;try{let n=JSON.stringify(e);if(!(typeof n==`string`&&new Blob([n]).size<=512e3&&Object.keys(e).every(e=>[`protocol`,`version`,`epoch`,`requestId`,`type`,`sequence`,`state`,`error`,`command`,`controlQuery`,`fromFrameUrl`].includes(e))&&(t.error===void 0||typeof t.error==`string`&&t.error.length<=1e3)&&(t.controlQuery===void 0||[`hello`,`snapshot`,`reply`].includes(t.type)&&typeof t.controlQuery==`string`&&new Blob([t.controlQuery]).size<=8192)&&(t.fromFrameUrl===void 0||t.type===`hello`&&typeof t.fromFrameUrl==`boolean`)&&t.protocol===`replica:controls`&&t.version===1&&typeof t.epoch==`string`&&/^[a-zA-Z0-9-]{1,100}$/.test(t.epoch)&&typeof t.requestId==`string`&&/^[a-zA-Z0-9-]{1,100}$/.test(t.requestId)&&[`hello`,`snapshot`,`command`,`reply`].includes(t.type)))return!1;if(t.type!==`command`)return t.command===void 0;let r=t.command;if(!r||typeof r!=`object`||Array.isArray(r))return!1;if(r.operation===`url`)return Object.keys(r).every(e=>[`operation`,`query`,`scope`].includes(e))&&(r.scope===void 0||typeof r.scope==`string`&&/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.scope))&&typeof r.query==`string`&&new Blob([r.query]).size<=8192&&[...new URLSearchParams(r.query).keys()].every(e=>/^rc\.[a-zA-Z][a-zA-Z0-9_-]{0,63}\.[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e));if(r.operation===`reset-all`)return Object.keys(r).every(e=>[`operation`,`contexts`].includes(e))&&Array.isArray(r.contexts)&&r.contexts.length<=100&&new Set(r.contexts.map(e=>e?.scope)).size===r.contexts.length&&r.contexts.every(e=>typeof e==`object`&&!!e&&Object.keys(e).length===3&&typeof e.scope==`string`&&/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e.scope)&&typeof e.fingerprint==`string`&&Number.isSafeInteger(e.revision)&&e.revision>=0);let i=[`operation`,`scope`,`fingerprint`,`revision`];return typeof r.scope!=`string`||!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.scope)||typeof r.fingerprint!=`string`||!Number.isSafeInteger(r.revision)||r.revision===void 0||r.revision<0?!1:r.operation===`restore`?Object.keys(r).every(e=>[...i,`values`].includes(e))&&z(r.values):r.operation===`reset`?Object.keys(r).every(e=>i.includes(e)):r.operation!==`action`&&r.operation!==`update`||typeof r.id!=`string`||!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.id)?!1:Object.keys(r).every(e=>[...i,`id`,...r.operation===`update`?[`value`]:[]].includes(e))&&(r.operation===`action`||z({[r.id]:r.value}))}catch{return!1}}function oe(e){return C(e.declaration),JSON.parse(JSON.stringify({declaration:e.declaration,fingerprint:JSON.stringify(e.declaration),snapshot:e.getSnapshot()}))}var se=/^rc\.([a-zA-Z][a-zA-Z0-9_-]{0,63})\.([a-zA-Z][a-zA-Z0-9_-]{0,63})$/;function ce(e){let t=new URLSearchParams;for(let n of Object.keys(e).sort()){let r=e[n];if(!z(r))throw Error(`Invalid control settings.`);for(let e of Object.keys(r).sort()){let i=`rc.${n}.${e}`;if(!se.test(i))throw Error(`Invalid control settings identifier.`);t.set(i,JSON.stringify(r[e]))}}let n=t.toString();if(new Blob([n]).size>8192)throw Error(`Control settings exceed the 8 KB URL limit. Reduce the settings before sharing.`);return n}function le(e){let t=new URLSearchParams(e),n=[...t].filter(([e])=>e.startsWith(`rc.`));if(new Blob([new URLSearchParams(n).toString()]).size>8192)return{scopes:{},notice:`Control settings in this URL exceed 8 KB. Defaults were used.`};let r=/* @__PURE__ */ new Map,i=!1;for(let[e,a]of n){let n=se.exec(e);if(!n||t.getAll(e).length!==1){i=!0;continue}let o=n[1],s=n[2],c;try{c=JSON.parse(a)}catch{c=a}if(!z({[s]:c})){i=!0;continue}let l=r.get(o)??/* @__PURE__ */ new Map;l.set(s,c),r.set(o,l)}let a=Object.fromEntries([...r].map(([e,t])=>[e,Object.fromEntries(t)]));try{ce(a)}catch{return{scopes:{},notice:`Control settings in this URL exceed 8 KB. Defaults were used.`}}return{scopes:a,notice:i?`Some URL control settings were invalid. Defaults were used instead.`:``}}function ue(e,t){let n=new URL(e,window.location.href),r=le(t);if(r.notice)throw Error(r.notice);for(let e of[...n.searchParams.keys()])e.startsWith(`rc.`)&&n.searchParams.delete(e);for(let[e,t]of new URLSearchParams(ce(r.scopes)))n.searchParams.set(e,t);return n.toString()}function de(e,t,n){let r=window.history.pushState.bind(window.history),i=window.history.replaceState.bind(window.history),a=!1,o=document.readyState===`complete`||(performance.getEntriesByType?.(`navigation`)??[]).some(e=>`domContentLoadedEventStart`in e&&typeof e.domContentLoadedEventStart==`number`&&e.domContentLoadedEventStart>0),s=new URLSearchParams([...new URLSearchParams(window.location.search)].filter(([e])=>e.startsWith(`rc.`))).toString();function c(){try{let e=ce({...le(s).scopes,...t()});return n(``),e}catch(e){return n(e instanceof Error?e.message:`Controls could not be saved in the URL.`),s}}function l(e){if(!a||!o)return new URL(String(e??window.location.href),window.location.href).toString();let t=new URL(ue(String(e??window.location.href),c()));return t.searchParams.set(`rc`,`1`),t.toString()}function u(e,t,n){r(e,t,l(n))}function d(e,t,n){i(e,t,l(n))}window.history.pushState=u,window.history.replaceState=d;function f(t){`replicaControlsBinding`in t&&t.replicaControlsBinding===!0||(s=new URLSearchParams([...new URLSearchParams(window.location.search)].filter(([e])=>e.startsWith(`rc.`))).toString(),e(s))}function p(e){if(!a||!o||e.defaultPrevented||!(e.target instanceof Element))return;let t=e.target.closest(`a[href]`);if(!(t instanceof HTMLAnchorElement)||t.hasAttribute(`download`)||t.target&&t.target!==`_self`)return;let n=new URL(t.href);n.origin===window.location.origin&&(t.href=l(n))}window.addEventListener(`popstate`,f),window.addEventListener(`click`,p,!0);function m(){if(!a||!o)return;s=c();let e=l(window.location.href);e!==window.location.href&&i(window.history.state,``,e)}function h(){o=!0,m()}return document.addEventListener(`DOMContentLoaded`,h,{once:!0}),{set(e){let t=le(e);if(t.notice)throw Error(t.notice);s=ce(t.scopes),a=!0,m()},refresh:m,current(){return new URLSearchParams([...new URLSearchParams(window.location.search)].filter(([e])=>e.startsWith(`rc.`))).toString()},managed(){return new URLSearchParams(window.location.search).get(`rc`)===`1`},dispose(){window.history.pushState===u&&(window.history.pushState=r),window.history.replaceState===d&&(window.history.replaceState=i),window.removeEventListener(`popstate`,f),window.removeEventListener(`click`,p,!0),document.removeEventListener(`DOMContentLoaded`,h)}}}function fe(e){return Object.fromEntries(e.declaration.controls.filter(t=>t.type!==`button`&&e.snapshot.visible[t.id]&&JSON.stringify(e.snapshot.values[t.id])!==JSON.stringify(t.default)).map(t=>[t.id,e.snapshot.values[t.id]]))}var pe={improvementNotesLoading:`Loading improvement notes demo...`,mentionSuggestions:`Mention suggestions`,mentionSuggestionsError:`Mention suggestions are unavailable. Try again.`,mentionSuggestionsLoading:`Loading people...`,mentionSuggestionsEmpty:`No matching people. You can type a GitHub login to check it when sending.`,mentionLimit:`Each message can mention at most 10 distinct people.`,controls:`Controls`,controlsMove:`Move controls`,controlsMoveHint:`Drag to move. Use arrow keys, or Shift and arrow keys for smaller steps.`,controlsCollapse:`Collapse controls`,controlsExpand:`Expand controls`,controlsCollapseGroup:e=>`Collapse ${e}`,controlsExpandGroup:e=>`Expand ${e}`,controlsDescription:`Settings stay in this prototype's URL. The app may paint before Controls apply declared defaults.`,controlsConnecting:`Connecting controls...`,controlsEmpty:`No active controls. This prototype may have no declaration or this route may not mount controls.`,controlsLearnMore:`Learn more`,controlsMissingRuntime:`No supported controls runtime found.`,controlsLocalMissingRuntime:`Local controls couldn't connect.`,controlsLocalConnectionFailed:`The preview has not responded to controls. Retry the connection or ask Copilot to diagnose the cause.`,controlsLocalStorageFailed:`Controls could not be saved in the prototype URL. Changes remain in memory.`,controlsDiagnose:`Diagnose with Copilot`,controlsFix:`Fix with Copilot`,controlsDiagnostics:`Technical details`,controlsUnavailable:e=>`${e} is unavailable`,controlsNotApplied:e=>`${e} could not be applied`,controlsDiagnosisRequested:`Requested in chat`,controlsDiagnosisFailed:`Could not request a diagnosis. Try again.`,controlsUnsupportedRuntime:`This controls runtime version is unsupported. Upgrade only after an approved release.`,controlsInvalid:`The Controls definitions are invalid. Fix controls.replica.json and reload.`,controlsScopeError:(e,t)=>`Controls scope "${e}" did not connect. ${t}`,controlsRetry:`Retry connection`,controlsRetryStorage:`Retry saving`,controlsResetAll:`Reset all controls`,controlsRegion:`Prototype controls`,controlsActionBusy:` - Working...`,controlsActionUnavailable:`No mounted action handler.`,controlsValueNotApplied:`This value was not applied.`,browserNavigation:`Prototype navigation`,browserBack:`Back`,browserForward:`Forward`,browserReload:`Reload preview`,browserAddress:`Prototype address`,browserAddressInvalid:`Enter a valid URL or route.`,browserAddressOrigin:`The address must stay on this prototype's origin.`,browserOpenTab:`Open preview in browser`,browserAppearance:`Preview appearance`,browserLight:`Light appearance`,browserDark:`Dark appearance`,commentingUnavailable:`Commenting needs attention`,commentingDescription:`The canvas could not connect to the preview's commenting bridge.`,closeCommentingDialog:`Close commenting dialog`,commentingFix:`Fix with Copilot`,commentingFixRequested:`Requested in chat`,commentingDismiss:`Dismiss`,commentingMissing:`The preview has not responded through its local proxy. Check that the selected server is running, then reopen the canvas. Script or framing policies, certificate errors, and origin-dependent apps can prevent connection. A Vite plugin or server restart is not required to connect.`,commentingIncompatible:`The preview responded with an incompatible commenting protocol. Update the installed Replica extension and reopen the canvas, or use Fix with Copilot to check the preview connection.`,connectToHub:`Connect to the Hub`,closeConnectionDialog:`Close connection dialog`,connectionDescription:`Connecting to the hub lets you share the prototype with others and enables commenting.`,connectionBeforePublishing:`Connect to the hub before publishing this prototype.`,connectionRepositoryRequired:`Open a repository with a GitHub origin before connecting.`,connectionHubRequired:`Enter and save a Hub URL before connecting.`,connectionOpeningBrowser:`Opening browser...`,connectionApproval:`Browser approval`,connectionWaiting:`Make sure your browser shows the same code`,connectionApprovalExpired:`The approval expired or was declined. Connect again to retry.`,connectionBrowserFailed:e=>`Could not open your browser. Open or copy the approval link below. ${e}`,hubUrl:`Hub URL`,editHubUrl:`Edit Hub URL`,saveHub:`Save Hub`,disconnectFailed:(e,t)=>`Could not disconnect from ${e}: ${t} The previous connection may still be active. Save another Hub URL to switch this canvas locally, or retry Disconnect Hub.`,resetHubUrl:`Reset to repository Hub URL`,resetHubUnavailable:`No repository Hub URL is available. Enter a URL manually or retry reset.`,hubHttpsHint:`Remote Hubs require HTTPS`,copyApprovalLink:`Copy Hub approval link`,approvalLinkCopied:`Approval link copied`,approvalCopyFailed:`Could not copy the link. Copy the Connect to the hub link manually.`,invalidResponse:`The extension returned an invalid response.`,startPage:`Start page`,prototypeFrameTitle:e=>`${e} prototype`,startPageOrigin:`Hub returned a start page outside the prototype.`,hubStatusUnavailable:e=>`Hub status unavailable: ${e}`,hubBuildImported:`Hub imported this Build.`,hubBuildMissing:`Hub has not imported a successful registered Build.`,hubPublicationUnavailable:`Connect to Hub to verify publication.`,editDetails:`Edit details`,startPageHint:`Paste a prototype URL or route. Leave blank to start at /.`,requestFailed:`The request failed.`,statusUnavailable:`Publish status unavailable.`,publishRequestPending:`Waiting for the current commit to run through the publish workflow.`,waitingForHubImport:`The workflow completed. Waiting for Hub to import this Build.`,workingTreeChanged:`Uncommitted changes`,workingTreeClean:`Working tree clean`,buildDetails:`Build details`,latestBuild:`Latest Build`,buildTitle:e=>`Build #${e}`,buildCommit:`Commit`,unknownCommitAuthor:`Unknown`,showBuildHistory:`Show build history`,closeBuildDetails:`Close build details`,branch:`Branch`,sessionId:`Session ID`,comparison:`Branch comparison`,comparisonNeedsRefresh:`Branch comparison unavailable until Git stats refresh.`,upToDate:`Up to date`,commitsBehind:e=>`${e} ${e===1?`commit`:`commits`} behind`,copyBranch:`Copy branch`,copySessionId:`Copy session ID`,branchCopied:`Branch copied`,sessionIdCopied:`Session ID copied`,buildDetailsCopyFailed:e=>`${e} could not be copied. Select it and copy it manually.`,unavailable:`Unavailable`,publishLabels:{succeeded:`Awaiting Hub`,failed:`Retry`,in_progress:`Publishing`,not_published:`Publish`,published:`Published`,requested:`Requested`,unavailable:`Publish`}};function me(e,t){let n=e.snapshot.bindings?.[t.id],r=e.snapshot.actions[t.id];return{scope:e.declaration.scope,id:t.id,visible:e.snapshot.visible[t.id]===!0,available:(t.type!==`button`||r?.available===!0)&&(!n?.error||n.available===!0),busy:n?.busy===!0||r?.busy===!0,error:n?.error||(t.type===`button`&&!r?.available?pe.controlsActionUnavailable:``)}}function he(e,t,n){return{status:t?`pending`:e.status,url:n,error:t?``:e.error??``,controls:t?[]:e.scopes.flatMap(e=>e.declaration.controls.map(t=>me(e,t)))}}function ge(e){let t=``,n,r,i=``,a=!1,o=/* @__PURE__ */ new Set,s=!1,c=0,l,u,d=!1,f,p=/* @__PURE__ */ new Set,m=/* @__PURE__ */ new Set,h=``,g=de(e=>{m.clear(),x(`snapshot`,`event`,void 0,e)},()=>Object.fromEntries((n?.list()??[]).filter(e=>m.has(e.declaration.scope)).map(e=>[e.declaration.scope,fe(oe(e))])),e=>{h!==e&&(h=e,x(`snapshot`,`event`))});async function _(){try{if(u=await re(),a){u?.dispose();return}n=u?.runtime,r=u?.subscribe(S),await u?.settled();let e=u;e&&v()&&await new Promise(t=>{function n(){clearTimeout(i),a(),f=void 0,t()}function r(){v()||n()}let i=setTimeout(n,500),a=e.subscribe(r);f=n,r()})}catch(e){l={status:`invalid-config`,error:e instanceof Error?e.message.slice(0,1e3):`Controls definitions could not be read.`}}finally{d=!0}S()}function v(){return n?.list().some(e=>Object.values(e.getSnapshot().bindings??{}).some(e=>e.error))}function y(){let e=!!n;if(l)return{runtimeAvailable:e,scopes:[],...l};if(!n)return{runtimeAvailable:!1,status:d?`no-controls`:`missing-runtime`,scopes:[]};try{let e=n.list().filter(e=>e.mountedCount>0).map(oe);return e.length>100?{runtimeAvailable:!0,status:`invalid-config`,scopes:[],error:`Too many active controls scopes.`}:{runtimeAvailable:!0,status:e.length?`ready`:`no-controls`,scopes:e}}catch{return{runtimeAvailable:!0,status:`invalid-config`,scopes:[],error:`The Controls definitions are invalid.`}}}function b(){return{...y(),scopeErrors:[],reconnectRequired:s,...s?{error:`Reconnect controls before sending more commands.`}:{},...h?{error:`${h} Changes remain in memory and are not in the URL.`}:{}}}function x(n,r,i,o){if(a||!t)return;let s={protocol:ie,version:1,type:n,epoch:t,requestId:r,sequence:++c,state:b(),...i?{error:i}:{},...o===void 0?{}:{controlQuery:o}};window.parent.postMessage(ae(s)?s:{...s,state:{runtimeAvailable:!0,status:`invalid-config`,scopes:[],error:`Controls exceed the transport size limit.`},error:`Controls exceed the transport size limit.`},e)}function S(){for(let e of p)e();if(!d||u?.pending())return;g?.refresh();let e=JSON.stringify(b());e!==i&&(i=e,x(`snapshot`,`event`))}async function C(r){if(r.source===window.parent&&r.origin===e&&r.data&&typeof r.data==`object`&&`type`in r.data&&r.data.type===`replica:controls:status`&&`nonce`in r.data&&typeof r.data.nonce==`string`&&r.data.nonce.length<=100&&`timeoutMs`in r.data&&Number.isInteger(r.data.timeoutMs)&&typeof r.data.timeoutMs==`number`&&r.data.timeoutMs>=0&&r.data.timeoutMs<=1e4){let{nonce:t,timeoutMs:n}=r.data;function i(){return!d||u?.pending()===!0&&!b().scopes.some(({snapshot:e})=>[...Object.values(e.actions),...Object.values(e.bindings??{})].some(e=>e.busy))}i()&&n>0&&await new Promise(e=>{function t(){clearTimeout(o),p.delete(r),e()}function r(){(a||!i())&&t()}let o=setTimeout(t,n);p.add(r),r()}),a||window.parent.postMessage({type:`replica:controls:status-result`,nonce:t,value:he(b(),i(),window.location.href)},e);return}if(r.source!==window.parent||r.origin!==e||!ae(r.data))return;let i=r.data;if(i.type===`hello`){t=i.epoch,o.clear(),s=!1,m.clear();let e=i.fromFrameUrl&&g?.managed();g?.set(e?g.current():i.controlQuery??``),d||await w,x(`reply`,i.requestId,void 0,e?g?.current():void 0);return}if(i.type!==`command`||i.epoch!==t||o.has(i.requestId))return;if(o.size>=2e3){s=!0,x(`reply`,i.requestId,`Reconnect controls before sending more commands.`);return}o.add(i.requestId);let c=i.command;function l(){if(a||t!==i.epoch)throw Error(`The preview reconnected. The command outcome is unknown.`)}try{if(c?.operation===`url`){g.set(c.query??``),c.scope&&n?.list().some(e=>e.declaration.scope===c.scope&&e.mountedCount>0)&&(m.add(c.scope),g.refresh()),x(`reply`,i.requestId);return}if(!c||!n||![`ready`,`no-controls`].includes(b().status))throw Error(`Controls runtime is unavailable.`);if(c.operation===`reset-all`){if(n.list().some(e=>Object.values(e.getSnapshot().actions).some(e=>e.busy)))throw Error(`Wait for pending actions before resetting controls.`);let e=n.list().filter(e=>e.mountedCount>0);if(!Array.isArray(c.contexts)||c.contexts.length!==e.length||e.some(e=>!c.contexts?.some(t=>t.scope===e.declaration.scope&&t.fingerprint===JSON.stringify(e.declaration)&&t.revision===e.getSnapshot().revision)))throw Error(`Controls changed. The stale reset was not applied.`);m.clear(),await u?.reset(void 0,l)}else{let e=n.list().find(e=>e.declaration.scope===c.scope&&e.mountedCount>0);if(!e)throw Error(`This controls scope is no longer active.`);if(c.fingerprint!==JSON.stringify(e.declaration)||c.revision!==e.getSnapshot().revision)throw Error(`Controls changed. The stale command was not applied.`);if(c.operation===`restore`){if(!z(c.values))throw Error(`Invalid saved controls.`);await u?.restore(e,c.values,l),m.add(e.declaration.scope),g?.refresh()}else if(c.operation===`reset`)m.add(e.declaration.scope),await u?.reset(e,l);else{let t=e.declaration.controls.find(e=>e.id===c.id);if(!t||!e.getSnapshot().visible[t.id])throw Error(`This control is unknown or hidden.`);if(m.add(e.declaration.scope),c.operation===`update`){let n={[t.id]:c.value};if(!z(n))throw Error(`Invalid control value.`);let r=n[t.id];if(r===void 0)throw Error(`Missing control value.`);await u?.update(e,t.id,r,l)}else if(c.operation===`action`)await e.action(t.id);else throw Error(`Unknown controls command.`)}S()}t===i.epoch&&(x(`reply`,i.requestId),u?.navigate())}catch(e){t===i.epoch&&x(`reply`,i.requestId,e instanceof Error?e.message.slice(0,300):`The controls command failed.`)}}let w=_();function T(e){C(e)}return window.addEventListener(`message`,T),()=>{a=!0,f?.();for(let e of p)e();r?.(),u?.dispose(),window.removeEventListener(`message`,T),g?.dispose()}}var B=`data-replica-canvas-bridge`,_e=new TextEncoder,ve=null,V=null,H=null,U=null,ye=`light-dark(#0969da, #58a6ff)`,W=null,be=``,xe=``,G=/* @__PURE__ */ new Map;function Se(){let e=q();return e.pathname+e.search+e.hash}for(let e of[`popstate`,`hashchange`])window.addEventListener(e,e=>{xe=`replicaControlsBinding`in e&&e.replicaControlsBinding?Se():``});function K(e){return e.replace(/\s+/g,` `).trim()}function Ce(e,t){let n=``,r=0;for(let i of e){let e=_e.encode(i).length;if(r+e>t)break;n+=i,r+=e}return n}function q(){let e=window.location.search.slice(1).split(`&`).filter(e=>{let t=new URLSearchParams(e).keys().next().value;return t!==`rc`&&!t?.startsWith(`rc.`)}).join(`&`);return{pathname:window.location.pathname,search:e?`?${e}`:``,hash:window.location.hash}}function we(){return{width:window.innerWidth,height:window.innerHeight,scrollX:window.scrollX,scrollY:window.scrollY}}function Te(e){return{x:e.left+window.scrollX,y:e.top+window.scrollY,width:e.width,height:e.height}}function Ee(e){let t=e.getAttribute(`aria-labelledby`),n=t?t.split(/\s+/).map(e=>document.getElementById(e)?.textContent||``).join(` `):``,r=`labels`in e&&e.labels?Array.from(e.labels).map(e=>e.textContent||``).join(` `):``;return Ce(K(e.getAttribute(`aria-label`)||n||r||e.getAttribute(`alt`)||e.getAttribute(`title`)||``),1e3)}function De(e){return typeof CSS<`u`&&CSS.escape?CSS.escape(e):e.replace(/[^a-zA-Z0-9_-]/g,e=>`\\${e}`)}function Oe(e){if(e.id){let t=`#${De(e.id)}`;if(document.querySelectorAll(t).length===1)return t}for(let t of[`data-testid`,`data-test-id`]){let n=e.getAttribute(t);if(!n)continue;let r=`[${t}="${De(n)}"]`;if(document.querySelectorAll(r).length===1)return r}let t=[],n=e;for(;n&&n!==document.documentElement;){let e=n.tagName.toLowerCase(),r=n.parentElement?Array.from(n.parentElement.children).filter(e=>e.tagName===n?.tagName):[],i=r.length>1?`${e}:nth-of-type(${r.indexOf(n)+1})`:e;t.unshift(i);let a=t.join(` > `);if(document.querySelectorAll(a).length===1)return a;n=n.parentElement}return t.join(` > `)}function ke(e,t){return e.tagName.toLowerCase()!==t.tagName||t.accessibleName&&Ee(e)!==t.accessibleName?!1:!t.selectedText||K(e.textContent||``).includes(t.selectedText)}function Ae(e){let t=null;try{t=document.querySelector(e.selector)}catch{}if(t&&ke(t,e))return t;if(!e.accessibleName&&!e.selectedText)return null;let n=null;for(let r of document.getElementsByTagName(e.tagName))if(r!==t&&ke(r,e)){if(n)return null;n=r}return n}function je(){let e=document.createElement(`div`);return e.setAttribute(B,``),Object.assign(e.style,{position:`fixed`,colorScheme:`light dark`,zIndex:`2147483647`,pointerEvents:`none`,border:`2px solid var(--replica-selection-accent)`,borderRadius:`4px`,background:`color-mix(in srgb, var(--replica-selection-accent) 12%, transparent)`,boxSizing:`border-box`}),e.style.setProperty(`--replica-selection-accent`,ye),document.documentElement.append(e),e}function J(e,t){let n=e.style.position===`absolute`,r=`left`in t?t.left:t.x-window.scrollX,i=`top`in t?t.top:t.y-window.scrollY;Object.assign(e.style,{left:`${r+(n?window.scrollX:0)}px`,top:`${i+(n?window.scrollY:0)}px`,width:`${t.width}px`,height:`${t.height}px`})}function Me(e,t=null){H?.remove(),H=e,U=t,H.style.pointerEvents=`none`}function Y(e,t){window.parent.postMessage(t,e)}function X(){V?.(),V=null}function Z(e,t,n){X(),Y(e,{type:`replica:canvas:selection-failed`,nonce:t,reason:n})}function Ne(e,t,n){let r=e.getBoundingClientRect(),i=Oe(e);if(!r.width||!r.height||!i)return null;let a=Ce(K(window.getSelection()?.toString()||``),2e3);return{schemaVersion:1,kind:`element`,route:q(),selector:i,accessibleName:Ee(e),tagName:e.tagName.toLowerCase(),selectedText:e.contains(window.getSelection()?.anchorNode||null)?a:``,rect:Te(r),viewport:we(),elementOffset:{x:Math.min(1,Math.max(0,(t-r.left)/r.width)),y:Math.min(1,Math.max(0,(n-r.top)/r.height))}}}function Pe(e,t){X();let n=null,r=je(),i=document.documentElement.style.cursor;document.documentElement.style.cursor=`crosshair`;function a(e){let t=e.target instanceof Element?e.target.closest(`:not([${B}])`):null;!t||t===document.documentElement||t===document.body?(n=null,r.style.display=`none`):(n=t,r.style.display=`block`,J(r,t.getBoundingClientRect()))}function o(i){if(!n)return;i.preventDefault(),i.stopImmediatePropagation();let a=Ne(n,i.clientX,i.clientY);a?(r.style.position=$(n)?`fixed`:`absolute`,J(r,n.getBoundingClientRect()),Me(r,n),X(),Y(e,{type:`replica:canvas:selected`,nonce:t,anchor:a})):(r.remove(),Z(e,t,`element-unavailable`))}function s(n){n.key===`Escape`&&(n.preventDefault(),X(),Y(e,{type:`replica:canvas:selection-cancelled`,nonce:t}))}document.addEventListener(`pointermove`,a,!0),document.addEventListener(`click`,o,!0),document.addEventListener(`keydown`,s,!0),V=()=>{document.removeEventListener(`pointermove`,a,!0),document.removeEventListener(`click`,o,!0),document.removeEventListener(`keydown`,s,!0),document.documentElement.style.cursor=i,H!==r&&r.remove()}}function Fe(e){let t=[[e.left+e.width/2,e.top+e.height/2],[e.left+1,e.top+1],[e.right-1,e.top+1],[e.right-1,e.bottom-1],[e.left+1,e.bottom-1]],n=/* @__PURE__ */ new Set;for(let[e,r]of t){for(let t of document.elementsFromPoint(e,r))if(t.hasAttribute(B)||n.add(t),n.size>=8)break;if(n.size>=8)break}return Array.from(n).flatMap(e=>{let t=Oe(e),n=e.getBoundingClientRect();return!t||!n.width||!n.height?[]:[{selector:t,accessibleName:Ee(e),tagName:e.tagName.toLowerCase(),role:Ce(e.getAttribute(`role`)||``,64),textExcerpt:Ce(K(e.textContent||``),500),rect:Te(n)}]})}function Ie(e){return{schemaVersion:1,kind:`area`,route:q(),path:[{x:0,y:0},{x:1,y:0},{x:1,y:1},{x:0,y:1},{x:0,y:0}],rect:Te(e),viewport:we(),elements:Fe(e)}}function Le(e,t,n=!1){X();let r=document.createElement(`div`);r.setAttribute(B,``),Object.assign(r.style,{position:`fixed`,inset:`0`,zIndex:`2147483646`,cursor:`crosshair`,touchAction:`none`});let i=je();i.style.display=`none`,document.body.append(r);let a=null,o=null,s=null,c=null;function l(e,t){r.style.pointerEvents=`none`;let n=document.elementFromPoint(e,t);return r.style.pointerEvents=``,n===document.body||n===document.documentElement?null:n}function u(n,r,a){i.style.position=a&&$(a)?`fixed`:`absolute`,J(i,r),Me(i,a),X(),Y(e,{type:`replica:canvas:selected`,nonce:t,anchor:n})}function d(e,t){if(!a)return;let n=Math.min(a.x,e),r=Math.min(a.y,t),o=Math.abs(e-a.x),s=Math.abs(t-a.y);i.style.display=`block`,J(i,new DOMRect(n,r,o,s))}function f(e){e.button!==0||a||(e.preventDefault(),a={x:e.clientX,y:e.clientY},s=e.pointerId,o=n?l(e.clientX,e.clientY):null,r.setPointerCapture(e.pointerId),d(e.clientX,e.clientY))}function p(e){if(a)e.pointerId===s&&(e.preventDefault(),d(e.clientX,e.clientY));else{if(!n)return;let t=l(e.clientX,e.clientY);i.style.display=t?`block`:`none`,t&&J(i,t.getBoundingClientRect())}}function m(r){if(!a||r.pointerId!==s)return;r.preventDefault();let i=Math.max(0,Math.min(window.innerWidth,r.clientX)),c=Math.max(0,Math.min(window.innerHeight,r.clientY)),l=new DOMRect(Math.min(a.x,i),Math.min(a.y,c),Math.abs(i-a.x),Math.abs(c-a.y));if(n&&Math.hypot(l.width,l.height)<8){let n=o?Ne(o,a.x,a.y):null;if(!n||!o){Z(e,t,`element-unavailable`);return}u(n,o.getBoundingClientRect(),o)}else(n?l.width<8||l.height<8:Math.hypot(l.width,l.height)<8)?Z(e,t,`area-too-small`):u(Ie(l),l)}function h(r){if(!n||r.detail!==0||!(r.target instanceof Element)||r.target.hasAttribute(B))return;r.preventDefault(),r.stopImmediatePropagation();let i=r.target,a=i.getBoundingClientRect(),o=Ne(i,a.left+a.width/2,a.top+a.height/2);o?u(o,a,i):Z(e,t,`element-unavailable`)}function g(n){X(),Y(e,{type:`replica:canvas:selection-cancelled`,nonce:t,reason:n?`interrupted`:`escape`})}function _(r){if(n&&r.shiftKey&&r.key===`Enter`)r.preventDefault(),c={x:window.innerWidth/2,y:window.innerHeight/2},a=null,i.style.display=`block`,J(i,new DOMRect(c.x,c.y,4,4));else if(c&&[`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Enter`,` `].includes(r.key)){if(r.preventDefault(),r.key===`Enter`||r.key===` `){if(!a)a={...c};else{let n=new DOMRect(Math.min(a.x,c.x),Math.min(a.y,c.y),Math.abs(a.x-c.x),Math.abs(a.y-c.y));if(n.width<8||n.height<8){Z(e,t,`area-too-small`);return}u(Ie(n),n)}}else c={x:Math.max(0,Math.min(window.innerWidth,c.x+(r.key===`ArrowRight`?10:r.key===`ArrowLeft`?-10:0))),y:Math.max(0,Math.min(window.innerHeight,c.y+(r.key===`ArrowDown`?10:r.key===`ArrowUp`?-10:0)))},a?d(c.x,c.y):J(i,new DOMRect(c.x,c.y,4,4))}else r.key===`Escape`&&(r.preventDefault(),g())}r.addEventListener(`pointerdown`,f),r.addEventListener(`pointermove`,p),r.addEventListener(`pointerup`,m),r.addEventListener(`pointercancel`,g),r.addEventListener(`lostpointercapture`,g),n&&document.addEventListener(`click`,h,!0),document.addEventListener(`keydown`,_,!0),V=()=>{r.removeEventListener(`pointerdown`,f),r.removeEventListener(`pointermove`,p),r.removeEventListener(`pointerup`,m),r.removeEventListener(`pointercancel`,g),r.removeEventListener(`lostpointercapture`,g),n&&document.removeEventListener(`click`,h,!0),document.removeEventListener(`keydown`,_,!0),r.remove(),H!==i&&i.remove()}}function Q(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function $(e){for(let t=e;t;t=t.parentElement){let e=window.getComputedStyle(t).position;if(e===`fixed`||e===`sticky`)return!0}return!1}function Re(e){let t=q();if(!Q(e)||!Q(e.route)||e.route.pathname!==t.pathname||e.route.search!==t.search||e.route.hash!==t.hash)return null;if(e.kind===`area`){if(!Q(e.rect)||typeof e.rect.x!=`number`||typeof e.rect.y!=`number`||typeof e.rect.width!=`number`||typeof e.rect.height!=`number`||!Object.values(e.rect).every(Number.isFinite))return null;let t={x:e.rect.x-window.scrollX,y:e.rect.y-window.scrollY,width:e.rect.width,height:e.rect.height};return{x:t.x+t.width,y:t.y,rect:t,viewportAnchored:!1}}if(e.kind!==`element`||typeof e.selector!=`string`||typeof e.accessibleName!=`string`||typeof e.tagName!=`string`||e.selectedText!==void 0&&typeof e.selectedText!=`string`||!Q(e.elementOffset)||typeof e.elementOffset.x!=`number`||typeof e.elementOffset.y!=`number`||!Number.isFinite(e.elementOffset.x)||!Number.isFinite(e.elementOffset.y))return null;let n=Ae({selector:e.selector,accessibleName:e.accessibleName,tagName:e.tagName,selectedText:e.selectedText});if(!n)return null;let r=n.getBoundingClientRect();return!r.width||!r.height?null:{x:r.left+r.width*e.elementOffset.x,y:r.top+r.height*e.elementOffset.y,viewportAnchored:$(n)}}function ze(e=!1){if(!W||!ve)return;let t=q(),n=JSON.stringify(t);e&&=n===be,be=n;let r=[];for(let t of W.anchors){let n=G.get(t.id),i;if(e&&n&&!n.viewportAnchored){let e=n.scrollX-window.scrollX,t=n.scrollY-window.scrollY;i={x:n.x+e,y:n.y+t,...n.rect?{rect:{...n.rect,x:n.rect.x+e,y:n.rect.y+t}}:{}}}else{let e=Re(t.anchor);if(!e){G.delete(t.id);continue}G.set(t.id,{...e,scrollX:window.scrollX,scrollY:window.scrollY}),i={x:e.x,y:e.y,...`rect`in e?{rect:e.rect}:{}}}r.push({id:t.id,...i})}Y(ve,{type:`replica:canvas:resolved`,protocolVersion:1,nonce:W.nonce,route:t,...xe===Se()?{replaceRoute:!0}:{},results:r})}function Be(e){let t=e.data;if(document.querySelector(`script[src="/__replica/bridge/v1.js"]`)||e.source!==window.parent||e.origin!==ve||!Q(t)||typeof t.nonce!=`string`||t.nonce.length>100)return;if(t.type===`replica:canvas:request-ready`){Y(e.origin,{type:`replica:canvas:ready`,protocolVersion:1,improvementSelection:!0,nonce:t.nonce,route:q(),...xe===Se()?{replaceRoute:!0}:{}});return}if(t.type===`replica:canvas:theme`){if(typeof t.accent!=`string`||t.accent.length>200||!CSS.supports(`color`,t.accent))return;ye=t.accent;for(let e of document.querySelectorAll(`[${B}]`))e.style.setProperty(`--replica-selection-accent`,ye);return}if(t.type===`replica:canvas:click`){let{selector:n,expectedLabel:r,route:i}=t,a=q(),o=`The click target is unavailable or ambiguous.`,s=null;if(typeof n==`string`&&n.length>0&&n.length<=512&&typeof r==`string`&&r.length>0&&r.length<=200&&Q(i)&&typeof i.pathname==`string`&&i.pathname===a.pathname&&i.search===a.search&&i.hash===a.hash)try{let e=document.querySelectorAll(n);e.length===1&&(s=e.item(0))}catch{o=`The click selector is invalid.`}else o=`The prototype route changed or the click input is invalid.`;if(s){let n=s;if(O(n,!0)||(Ee(n)||K(n.textContent||``).slice(0,200))!==r)o=`The target is hidden, blocked, disabled, unsafe, or its accessible name changed.`;else{n.click(),Y(e.origin,{type:`replica:canvas:click-result`,nonce:t.nonce,clicked:!0});return}}Y(e.origin,{type:`replica:canvas:click-result`,nonce:t.nonce,clicked:!1,error:o});return}if(t.type===`replica:canvas:select`){t.mode===`element`?Pe(e.origin,t.nonce):t.mode===`area`?Le(e.origin,t.nonce):t.mode===`improvement`&&Le(e.origin,t.nonce,!0);return}if(t.type===`replica:canvas:cancel-selection`){X(),Y(e.origin,{type:`replica:canvas:selection-cancelled`,nonce:t.nonce,reason:`command`});return}if(t.type===`replica:canvas:clear-selection`){H?.remove(),H=null,U=null;return}if(t.type!==`replica:canvas:resolve`||!Array.isArray(t.anchors)||t.anchors.length>200)return;let n=[],r=t.anchors;for(let e of r)Q(e)&&typeof e.id==`number`&&Number.isSafeInteger(e.id)&&n.push({id:e.id,anchor:e.anchor});W={nonce:t.nonce,anchors:n},G.clear(),ze()}var Ve=Symbol.for(`replica.canvas.bridge.v1`),He=window;function Ue(e){if(!/^http:\/\/127\.0\.0\.1:\d+$/.test(e))throw Error(`Invalid Replica canvas parent.`);let t=He[Ve];if(t===!0)throw Error(`Remove the old source bridge before using the extension-owned bridge.`);typeof t==`function`&&t(),ye=`light-dark(#0969da, #58a6ff)`,ve=e,W=null,be=``,G.clear();let n=ge(e),r=null;function i(){r!==null&&window.cancelAnimationFrame(r),r=null,H&&U&&(H.style.position=$(U)?`fixed`:`absolute`,J(H,U.getBoundingClientRect())),ze()}function a(){r===null&&W&&(r=window.requestAnimationFrame(i))}function o(e){H&&U&&(e.target!==document&&e.target!==window||$(U))&&J(H,U.getBoundingClientRect()),r===null?ze(e.target===document||e.target===window):i()}function s(){ze()}function c(t){if(t.key!==`Escape`||t.defaultPrevented||t.isComposing||V||!W||t.target instanceof Element&&t.target.closest(`[role="dialog"], dialog, [role="menu"]`))return;let n=W;window.setTimeout(()=>{t.defaultPrevented||V||W!==n||Y(e,{type:`replica:canvas:conversation-dismiss-requested`,nonce:n.nonce})},0)}window.addEventListener(`message`,Be),window.addEventListener(`scroll`,o,{capture:!0,passive:!0}),window.addEventListener(`resize`,s),window.addEventListener(`keydown`,c);let l=new MutationObserver(e=>{e.some(e=>!(e.target instanceof Element&&e.target.closest(`[${B}], [data-replica-controls-bridge]`)))&&a()});l.observe(document.documentElement,{attributes:!0,characterData:!0,childList:!0,subtree:!0});let u=typeof ResizeObserver==`function`?new ResizeObserver(a):null;u?.observe(document.documentElement),He[Ve]=()=>{window.removeEventListener(`message`,Be),window.removeEventListener(`scroll`,o,!0),window.removeEventListener(`resize`,s),window.removeEventListener(`keydown`,c),l.disconnect(),u?.disconnect(),r!==null&&window.cancelAnimationFrame(r),W=null,be=``,G.clear(),n(),X(),H?.remove(),H=null,U=null}}export{Ue as installBridge}; \ No newline at end of file +`).slice(0,1e3))},n),dispose(){n=!0,f(),window.clearInterval(M);for(let e of[`input`,`change`,`popstate`,`hashchange`])window.removeEventListener(e,P);for(let e of t){e.release?.();for(let t of e.records.values())m(e,t)}}}}async function re(){let e=await fetch(`/controls.replica.json`,{credentials:`same-origin`,redirect:`error`});if(e.status===404||e.status===410)return;if(!e.ok)throw Error(`controls.replica.json returned HTTP ${e.status}.`);let t=``,n=e.body?.getReader();if(n){let e=new TextDecoder,r=0;for(;;){let{done:i,value:a}=await n.read();if(i)break;if(r+=a.byteLength,r>256e3)throw await n.cancel(),Error(`controls.replica.json exceeds the 256,000-byte limit.`);t+=e.decode(a,{stream:!0})}t+=e.decode()}else t=await e.text();if(new TextEncoder().encode(t).length>256e3)throw Error(`controls.replica.json exceeds the 256,000-byte limit.`);if(!(e.headers.get(`content-type`)?.startsWith(`text/html`)&&/^\s*<(?:!doctype html|html)/i.test(t)))return ne(JSON.parse(t))}function z(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.entries(e).every(([e,t])=>/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e)&&(typeof t==`string`||typeof t==`boolean`||typeof t==`number`&&Number.isFinite(t)||Array.isArray(t)&&t.length<=100&&t.every(e=>typeof e==`string`)))}var ie=`replica:controls`;function ae(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;try{let n=JSON.stringify(e);if(!(typeof n==`string`&&new Blob([n]).size<=512e3&&Object.keys(e).every(e=>[`protocol`,`version`,`epoch`,`requestId`,`type`,`sequence`,`state`,`error`,`command`,`controlQuery`,`fromFrameUrl`].includes(e))&&(t.error===void 0||typeof t.error==`string`&&t.error.length<=1e3)&&(t.controlQuery===void 0||[`hello`,`snapshot`,`reply`].includes(t.type)&&typeof t.controlQuery==`string`&&new Blob([t.controlQuery]).size<=8192)&&(t.fromFrameUrl===void 0||t.type===`hello`&&typeof t.fromFrameUrl==`boolean`)&&t.protocol===`replica:controls`&&t.version===1&&typeof t.epoch==`string`&&/^[a-zA-Z0-9-]{1,100}$/.test(t.epoch)&&typeof t.requestId==`string`&&/^[a-zA-Z0-9-]{1,100}$/.test(t.requestId)&&[`hello`,`snapshot`,`command`,`reply`].includes(t.type)))return!1;if(t.type!==`command`)return t.command===void 0;let r=t.command;if(!r||typeof r!=`object`||Array.isArray(r))return!1;if(r.operation===`url`)return Object.keys(r).every(e=>[`operation`,`query`,`scope`].includes(e))&&(r.scope===void 0||typeof r.scope==`string`&&/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.scope))&&typeof r.query==`string`&&new Blob([r.query]).size<=8192&&[...new URLSearchParams(r.query).keys()].every(e=>/^rc\.[a-zA-Z][a-zA-Z0-9_-]{0,63}\.[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e));if(r.operation===`reset-all`)return Object.keys(r).every(e=>[`operation`,`contexts`].includes(e))&&Array.isArray(r.contexts)&&r.contexts.length<=100&&new Set(r.contexts.map(e=>e?.scope)).size===r.contexts.length&&r.contexts.every(e=>typeof e==`object`&&!!e&&Object.keys(e).length===3&&typeof e.scope==`string`&&/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e.scope)&&typeof e.fingerprint==`string`&&Number.isSafeInteger(e.revision)&&e.revision>=0);let i=[`operation`,`scope`,`fingerprint`,`revision`];return typeof r.scope!=`string`||!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.scope)||typeof r.fingerprint!=`string`||!Number.isSafeInteger(r.revision)||r.revision===void 0||r.revision<0?!1:r.operation===`restore`?Object.keys(r).every(e=>[...i,`values`].includes(e))&&z(r.values):r.operation===`reset`?Object.keys(r).every(e=>i.includes(e)):r.operation!==`action`&&r.operation!==`update`||typeof r.id!=`string`||!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.id)?!1:Object.keys(r).every(e=>[...i,`id`,...r.operation===`update`?[`value`]:[]].includes(e))&&(r.operation===`action`||z({[r.id]:r.value}))}catch{return!1}}function oe(e){return C(e.declaration),JSON.parse(JSON.stringify({declaration:e.declaration,fingerprint:JSON.stringify(e.declaration),snapshot:e.getSnapshot()}))}var se=/^rc\.([a-zA-Z][a-zA-Z0-9_-]{0,63})\.([a-zA-Z][a-zA-Z0-9_-]{0,63})$/;function ce(e){let t=new URLSearchParams;for(let n of Object.keys(e).sort()){let r=e[n];if(!z(r))throw Error(`Invalid control settings.`);for(let e of Object.keys(r).sort()){let i=`rc.${n}.${e}`;if(!se.test(i))throw Error(`Invalid control settings identifier.`);t.set(i,JSON.stringify(r[e]))}}let n=t.toString();if(new Blob([n]).size>8192)throw Error(`Control settings exceed the 8 KB URL limit. Reduce the settings before sharing.`);return n}function le(e){let t=new URLSearchParams(e),n=[...t].filter(([e])=>e.startsWith(`rc.`));if(new Blob([new URLSearchParams(n).toString()]).size>8192)return{scopes:{},notice:`Control settings in this URL exceed 8 KB. Defaults were used.`};let r=/* @__PURE__ */ new Map,i=!1;for(let[e,a]of n){let n=se.exec(e);if(!n||t.getAll(e).length!==1){i=!0;continue}let o=n[1],s=n[2],c;try{c=JSON.parse(a)}catch{c=a}if(!z({[s]:c})){i=!0;continue}let l=r.get(o)??/* @__PURE__ */ new Map;l.set(s,c),r.set(o,l)}let a=Object.fromEntries([...r].map(([e,t])=>[e,Object.fromEntries(t)]));try{ce(a)}catch{return{scopes:{},notice:`Control settings in this URL exceed 8 KB. Defaults were used.`}}return{scopes:a,notice:i?`Some URL control settings were invalid. Defaults were used instead.`:``}}function ue(e,t){let n=new URL(e,window.location.href),r=le(t);if(r.notice)throw Error(r.notice);for(let e of[...n.searchParams.keys()])e.startsWith(`rc.`)&&n.searchParams.delete(e);for(let[e,t]of new URLSearchParams(ce(r.scopes)))n.searchParams.set(e,t);return n.toString()}function de(e,t,n){let r=window.history.pushState.bind(window.history),i=window.history.replaceState.bind(window.history),a=!1,o=document.readyState===`complete`||(performance.getEntriesByType?.(`navigation`)??[]).some(e=>`domContentLoadedEventStart`in e&&typeof e.domContentLoadedEventStart==`number`&&e.domContentLoadedEventStart>0),s=new URLSearchParams([...new URLSearchParams(window.location.search)].filter(([e])=>e.startsWith(`rc.`))).toString();function c(){try{let e=ce({...le(s).scopes,...t()});return n(``),e}catch(e){return n(e instanceof Error?e.message:`Controls could not be saved in the URL.`),s}}function l(e){if(!a||!o)return new URL(String(e??window.location.href),window.location.href).toString();let t=new URL(ue(String(e??window.location.href),c()));return t.searchParams.set(`rc`,`1`),t.toString()}function u(e,t,n){r(e,t,l(n))}function d(e,t,n){i(e,t,l(n))}window.history.pushState=u,window.history.replaceState=d;function f(t){`replicaControlsBinding`in t&&t.replicaControlsBinding===!0||(s=new URLSearchParams([...new URLSearchParams(window.location.search)].filter(([e])=>e.startsWith(`rc.`))).toString(),e(s))}function p(e){if(!a||!o||e.defaultPrevented||!(e.target instanceof Element))return;let t=e.target.closest(`a[href]`);if(!(t instanceof HTMLAnchorElement)||t.hasAttribute(`download`)||t.target&&t.target!==`_self`)return;let n=new URL(t.href);n.origin===window.location.origin&&(t.href=l(n))}window.addEventListener(`popstate`,f),window.addEventListener(`click`,p,!0);function m(){if(!a||!o)return;s=c();let e=l(window.location.href);e!==window.location.href&&i(window.history.state,``,e)}function h(){o=!0,m()}return document.addEventListener(`DOMContentLoaded`,h,{once:!0}),{set(e){let t=le(e);if(t.notice)throw Error(t.notice);s=ce(t.scopes),a=!0,m()},refresh:m,current(){return new URLSearchParams([...new URLSearchParams(window.location.search)].filter(([e])=>e.startsWith(`rc.`))).toString()},managed(){return new URLSearchParams(window.location.search).get(`rc`)===`1`},dispose(){window.history.pushState===u&&(window.history.pushState=r),window.history.replaceState===d&&(window.history.replaceState=i),window.removeEventListener(`popstate`,f),window.removeEventListener(`click`,p,!0),document.removeEventListener(`DOMContentLoaded`,h)}}}function fe(e){return Object.fromEntries(e.declaration.controls.filter(t=>t.type!==`button`&&e.snapshot.visible[t.id]&&JSON.stringify(e.snapshot.values[t.id])!==JSON.stringify(t.default)).map(t=>[t.id,e.snapshot.values[t.id]]))}var pe={improvementNotesLoading:`Loading improvement notes...`,localCommentsSaved:`Comments stay on this device until a Build with matching content is published and the canvas syncs them to Hub.`,commentPagesExceeded:`Too many review comment pages.`,commentPreparationFailed:`Hub could not prepare this comment.`,commentRefreshFailed:e=>`The comment was saved, but Hub could not be refreshed: ${e}`,commentLiveUpdatesPaused:`Live updates paused; checking every 30 seconds.`,mentionSuggestions:`Mention suggestions`,mentionSuggestionsError:`Mention suggestions are unavailable. Try again.`,mentionSuggestionsLoading:`Loading people...`,mentionSuggestionsEmpty:`No matching people. You can type a GitHub login to check it when sending.`,mentionLimit:`Each message can mention at most 10 distinct people.`,controls:`Controls`,controlsMove:`Move controls`,controlsMoveHint:`Drag to move. Use arrow keys, or Shift and arrow keys for smaller steps.`,controlsCollapse:`Collapse controls`,controlsExpand:`Expand controls`,controlsCollapseGroup:e=>`Collapse ${e}`,controlsExpandGroup:e=>`Expand ${e}`,controlsDescription:`Settings stay in this prototype's URL. The app may paint before Controls apply declared defaults.`,controlsConnecting:`Connecting controls...`,controlsEmpty:`No active controls. This prototype may have no declaration or this route may not mount controls.`,controlsLearnMore:`Learn more`,controlsMissingRuntime:`No supported controls runtime found.`,controlsLocalMissingRuntime:`Local controls couldn't connect.`,controlsLocalConnectionFailed:`The preview has not responded to controls. Retry the connection or ask Copilot to diagnose the cause.`,controlsLocalStorageFailed:`Controls could not be saved in the prototype URL. Changes remain in memory.`,controlsDiagnose:`Diagnose with Copilot`,controlsFix:`Fix with Copilot`,controlsDiagnostics:`Technical details`,controlsUnavailable:e=>`${e} is unavailable`,controlsNotApplied:e=>`${e} could not be applied`,controlsDiagnosisRequested:`Requested in chat`,controlsDiagnosisFailed:`Could not request a diagnosis. Try again.`,controlsUnsupportedRuntime:`This controls runtime version is unsupported. Upgrade only after an approved release.`,controlsInvalid:`The Controls definitions are invalid. Fix controls.replica.json and reload.`,controlsScopeError:(e,t)=>`Controls scope "${e}" did not connect. ${t}`,controlsRetry:`Retry connection`,controlsRetryStorage:`Retry saving`,controlsResetAll:`Reset all controls`,controlsRegion:`Prototype controls`,controlsActionBusy:` - Working...`,controlsActionUnavailable:`No mounted action handler.`,controlsValueNotApplied:`This value was not applied.`,browserNavigation:`Prototype navigation`,browserBack:`Back`,browserForward:`Forward`,browserReload:`Reload preview`,browserAddress:`Prototype address`,browserAddressInvalid:`Enter a valid URL or route.`,browserAddressOrigin:`The address must stay on this prototype's origin.`,browserOpenTab:`Open preview in browser`,browserAppearance:`Preview appearance`,browserLight:`Light appearance`,browserDark:`Dark appearance`,commentingUnavailable:`Commenting needs attention`,commentingDescription:`The canvas could not connect to the preview's commenting bridge.`,closeCommentingDialog:`Close commenting dialog`,commentingFix:`Fix with Copilot`,commentingFixRequested:`Requested in chat`,commentingDismiss:`Dismiss`,commentingMissing:`The preview has not responded through its local proxy. Check that the selected server is running, then reopen the canvas. Script or framing policies, certificate errors, and origin-dependent apps can prevent connection. A Vite plugin or server restart is not required to connect.`,commentingIncompatible:`The preview responded with an incompatible commenting protocol. Update the installed Replica extension and reopen the canvas, or use Fix with Copilot to check the preview connection.`,connectToHub:`Connect to the Hub`,closeConnectionDialog:`Close connection dialog`,connectionDescription:`Connecting to the hub lets you share the prototype with others and enables commenting.`,connectionBeforePublishing:`Connect to the hub before publishing this prototype.`,connectionRepositoryRequired:`Open a repository with a GitHub origin before connecting.`,connectionHubRequired:`Enter and save a Hub URL before connecting.`,connectionOpeningBrowser:`Opening browser...`,connectionApproval:`Browser approval`,connectionWaiting:`Make sure your browser shows the same code`,connectionApprovalExpired:`The approval expired or was declined. Connect again to retry.`,connectionBrowserFailed:e=>`Could not open your browser. Open or copy the approval link below. ${e}`,hubUrl:`Hub URL`,editHubUrl:`Edit Hub URL`,saveHub:`Save Hub`,disconnectFailed:(e,t)=>`Could not disconnect from ${e}: ${t} The previous connection may still be active. Save another Hub URL to switch this canvas locally, or retry Disconnect Hub.`,resetHubUrl:`Reset to repository Hub URL`,resetHubUnavailable:`No repository Hub URL is available. Enter a URL manually or retry reset.`,hubHttpsHint:`Remote Hubs require HTTPS`,copyApprovalLink:`Copy Hub approval link`,approvalLinkCopied:`Approval link copied`,approvalCopyFailed:`Could not copy the link. Copy the Connect to the hub link manually.`,invalidResponse:`The extension returned an invalid response.`,startPage:`Start page`,prototypeFrameTitle:e=>`${e} prototype`,startPageOrigin:`Hub returned a start page outside the prototype.`,hubStatusUnavailable:e=>`Hub status unavailable: ${e}`,hubBuildImported:`Hub imported this Build.`,hubBuildMissing:`Hub has not imported a successful registered Build.`,hubPublicationUnavailable:`Connect to Hub to verify publication.`,editDetails:`Edit details`,startPageHint:`Paste a prototype URL or route. Leave blank to start at /.`,requestFailed:`The request failed.`,statusUnavailable:`Publish status unavailable.`,publishRequestPending:`Waiting for the current commit to run through the publish workflow.`,waitingForHubImport:`The workflow completed. Waiting for Hub to import this Build.`,workingTreeChanged:`Uncommitted changes`,workingTreeClean:`Working tree clean`,buildDetails:`Build details`,latestBuild:`Latest Build`,buildTitle:e=>`Build #${e}`,buildCommit:`Commit`,unknownCommitAuthor:`Unknown`,showBuildHistory:`Show build history`,closeBuildDetails:`Close build details`,branch:`Branch`,sessionId:`Session ID`,comparison:`Branch comparison`,comparisonNeedsRefresh:`Branch comparison unavailable until Git stats refresh.`,upToDate:`Up to date`,commitsBehind:e=>`${e} ${e===1?`commit`:`commits`} behind`,copyBranch:`Copy branch`,copySessionId:`Copy session ID`,branchCopied:`Branch copied`,sessionIdCopied:`Session ID copied`,buildDetailsCopyFailed:e=>`${e} could not be copied. Select it and copy it manually.`,unavailable:`Unavailable`,publishLabels:{succeeded:`Awaiting Hub`,failed:`Retry`,in_progress:`Publishing`,not_published:`Publish`,published:`Published`,requested:`Requested`,unavailable:`Publish`}};function me(e,t){let n=e.snapshot.bindings?.[t.id],r=e.snapshot.actions[t.id];return{scope:e.declaration.scope,id:t.id,visible:e.snapshot.visible[t.id]===!0,available:(t.type!==`button`||r?.available===!0)&&(!n?.error||n.available===!0),busy:n?.busy===!0||r?.busy===!0,error:n?.error||(t.type===`button`&&!r?.available?pe.controlsActionUnavailable:``)}}function he(e,t,n){return{status:t?`pending`:e.status,url:n,error:t?``:e.error??``,controls:t?[]:e.scopes.flatMap(e=>e.declaration.controls.map(t=>me(e,t)))}}function ge(e){let t=``,n,r,i=``,a=!1,o=/* @__PURE__ */ new Set,s=!1,c=0,l,u,d=!1,f,p=/* @__PURE__ */ new Set,m=/* @__PURE__ */ new Set,h=``,g=de(e=>{m.clear(),x(`snapshot`,`event`,void 0,e)},()=>Object.fromEntries((n?.list()??[]).filter(e=>m.has(e.declaration.scope)).map(e=>[e.declaration.scope,fe(oe(e))])),e=>{h!==e&&(h=e,x(`snapshot`,`event`))});async function _(){try{if(u=await re(),a){u?.dispose();return}n=u?.runtime,r=u?.subscribe(S),await u?.settled();let e=u;e&&v()&&await new Promise(t=>{function n(){clearTimeout(i),a(),f=void 0,t()}function r(){v()||n()}let i=setTimeout(n,500),a=e.subscribe(r);f=n,r()})}catch(e){l={status:`invalid-config`,error:e instanceof Error?e.message.slice(0,1e3):`Controls definitions could not be read.`}}finally{d=!0}S()}function v(){return n?.list().some(e=>Object.values(e.getSnapshot().bindings??{}).some(e=>e.error))}function y(){let e=!!n;if(l)return{runtimeAvailable:e,scopes:[],...l};if(!n)return{runtimeAvailable:!1,status:d?`no-controls`:`missing-runtime`,scopes:[]};try{let e=n.list().filter(e=>e.mountedCount>0).map(oe);return e.length>100?{runtimeAvailable:!0,status:`invalid-config`,scopes:[],error:`Too many active controls scopes.`}:{runtimeAvailable:!0,status:e.length?`ready`:`no-controls`,scopes:e}}catch{return{runtimeAvailable:!0,status:`invalid-config`,scopes:[],error:`The Controls definitions are invalid.`}}}function b(){return{...y(),scopeErrors:[],reconnectRequired:s,...s?{error:`Reconnect controls before sending more commands.`}:{},...h?{error:`${h} Changes remain in memory and are not in the URL.`}:{}}}function x(n,r,i,o){if(a||!t)return;let s={protocol:ie,version:1,type:n,epoch:t,requestId:r,sequence:++c,state:b(),...i?{error:i}:{},...o===void 0?{}:{controlQuery:o}};window.parent.postMessage(ae(s)?s:{...s,state:{runtimeAvailable:!0,status:`invalid-config`,scopes:[],error:`Controls exceed the transport size limit.`},error:`Controls exceed the transport size limit.`},e)}function S(){for(let e of p)e();if(!d||u?.pending())return;g?.refresh();let e=JSON.stringify(b());e!==i&&(i=e,x(`snapshot`,`event`))}async function C(r){if(r.source===window.parent&&r.origin===e&&r.data&&typeof r.data==`object`&&`type`in r.data&&r.data.type===`replica:controls:status`&&`nonce`in r.data&&typeof r.data.nonce==`string`&&r.data.nonce.length<=100&&`timeoutMs`in r.data&&Number.isInteger(r.data.timeoutMs)&&typeof r.data.timeoutMs==`number`&&r.data.timeoutMs>=0&&r.data.timeoutMs<=1e4){let{nonce:t,timeoutMs:n}=r.data;function i(){return!d||u?.pending()===!0&&!b().scopes.some(({snapshot:e})=>[...Object.values(e.actions),...Object.values(e.bindings??{})].some(e=>e.busy))}i()&&n>0&&await new Promise(e=>{function t(){clearTimeout(o),p.delete(r),e()}function r(){(a||!i())&&t()}let o=setTimeout(t,n);p.add(r),r()}),a||window.parent.postMessage({type:`replica:controls:status-result`,nonce:t,value:he(b(),i(),window.location.href)},e);return}if(r.source!==window.parent||r.origin!==e||!ae(r.data))return;let i=r.data;if(i.type===`hello`){t=i.epoch,o.clear(),s=!1,m.clear();let e=i.fromFrameUrl&&g?.managed();g?.set(e?g.current():i.controlQuery??``),d||await w,x(`reply`,i.requestId,void 0,e?g?.current():void 0);return}if(i.type!==`command`||i.epoch!==t||o.has(i.requestId))return;if(o.size>=2e3){s=!0,x(`reply`,i.requestId,`Reconnect controls before sending more commands.`);return}o.add(i.requestId);let c=i.command;function l(){if(a||t!==i.epoch)throw Error(`The preview reconnected. The command outcome is unknown.`)}try{if(c?.operation===`url`){g.set(c.query??``),c.scope&&n?.list().some(e=>e.declaration.scope===c.scope&&e.mountedCount>0)&&(m.add(c.scope),g.refresh()),x(`reply`,i.requestId);return}if(!c||!n||![`ready`,`no-controls`].includes(b().status))throw Error(`Controls runtime is unavailable.`);if(c.operation===`reset-all`){if(n.list().some(e=>Object.values(e.getSnapshot().actions).some(e=>e.busy)))throw Error(`Wait for pending actions before resetting controls.`);let e=n.list().filter(e=>e.mountedCount>0);if(!Array.isArray(c.contexts)||c.contexts.length!==e.length||e.some(e=>!c.contexts?.some(t=>t.scope===e.declaration.scope&&t.fingerprint===JSON.stringify(e.declaration)&&t.revision===e.getSnapshot().revision)))throw Error(`Controls changed. The stale reset was not applied.`);m.clear(),await u?.reset(void 0,l)}else{let e=n.list().find(e=>e.declaration.scope===c.scope&&e.mountedCount>0);if(!e)throw Error(`This controls scope is no longer active.`);if(c.fingerprint!==JSON.stringify(e.declaration)||c.revision!==e.getSnapshot().revision)throw Error(`Controls changed. The stale command was not applied.`);if(c.operation===`restore`){if(!z(c.values))throw Error(`Invalid saved controls.`);await u?.restore(e,c.values,l),m.add(e.declaration.scope),g?.refresh()}else if(c.operation===`reset`)m.add(e.declaration.scope),await u?.reset(e,l);else{let t=e.declaration.controls.find(e=>e.id===c.id);if(!t||!e.getSnapshot().visible[t.id])throw Error(`This control is unknown or hidden.`);if(m.add(e.declaration.scope),c.operation===`update`){let n={[t.id]:c.value};if(!z(n))throw Error(`Invalid control value.`);let r=n[t.id];if(r===void 0)throw Error(`Missing control value.`);await u?.update(e,t.id,r,l)}else if(c.operation===`action`)await e.action(t.id);else throw Error(`Unknown controls command.`)}S()}t===i.epoch&&(x(`reply`,i.requestId),u?.navigate())}catch(e){t===i.epoch&&x(`reply`,i.requestId,e instanceof Error?e.message.slice(0,300):`The controls command failed.`)}}let w=_();function T(e){C(e)}return window.addEventListener(`message`,T),()=>{a=!0,f?.();for(let e of p)e();r?.(),u?.dispose(),window.removeEventListener(`message`,T),g?.dispose()}}var B=`data-replica-canvas-bridge`,_e=new TextEncoder,ve=null,V=null,H=null,U=null,ye=`light-dark(#0969da, #58a6ff)`,W=null,be=``,xe=``,G=/* @__PURE__ */ new Map;function Se(){let e=q();return e.pathname+e.search+e.hash}for(let e of[`popstate`,`hashchange`])window.addEventListener(e,e=>{xe=`replicaControlsBinding`in e&&e.replicaControlsBinding?Se():``});function K(e){return e.replace(/\s+/g,` `).trim()}function Ce(e,t){let n=``,r=0;for(let i of e){let e=_e.encode(i).length;if(r+e>t)break;n+=i,r+=e}return n}function q(){let e=window.location.search.slice(1).split(`&`).filter(e=>{let t=new URLSearchParams(e).keys().next().value;return t!==`rc`&&!t?.startsWith(`rc.`)}).join(`&`);return{pathname:window.location.pathname,search:e?`?${e}`:``,hash:window.location.hash}}function we(){return{width:window.innerWidth,height:window.innerHeight,scrollX:window.scrollX,scrollY:window.scrollY}}function Te(e){return{x:e.left+window.scrollX,y:e.top+window.scrollY,width:e.width,height:e.height}}function Ee(e){let t=e.getAttribute(`aria-labelledby`),n=t?t.split(/\s+/).map(e=>document.getElementById(e)?.textContent||``).join(` `):``,r=`labels`in e&&e.labels?Array.from(e.labels).map(e=>e.textContent||``).join(` `):``;return Ce(K(e.getAttribute(`aria-label`)||n||r||e.getAttribute(`alt`)||e.getAttribute(`title`)||``),1e3)}function De(e){return typeof CSS<`u`&&CSS.escape?CSS.escape(e):e.replace(/[^a-zA-Z0-9_-]/g,e=>`\\${e}`)}function Oe(e){if(e.id){let t=`#${De(e.id)}`;if(document.querySelectorAll(t).length===1)return t}for(let t of[`data-testid`,`data-test-id`]){let n=e.getAttribute(t);if(!n)continue;let r=`[${t}="${De(n)}"]`;if(document.querySelectorAll(r).length===1)return r}let t=[],n=e;for(;n&&n!==document.documentElement;){let e=n.tagName.toLowerCase(),r=n.parentElement?Array.from(n.parentElement.children).filter(e=>e.tagName===n?.tagName):[],i=r.length>1?`${e}:nth-of-type(${r.indexOf(n)+1})`:e;t.unshift(i);let a=t.join(` > `);if(document.querySelectorAll(a).length===1)return a;n=n.parentElement}return t.join(` > `)}function ke(e,t){return e.tagName.toLowerCase()!==t.tagName||t.accessibleName&&Ee(e)!==t.accessibleName?!1:!t.selectedText||K(e.textContent||``).includes(t.selectedText)}function Ae(e){let t=null;try{t=document.querySelector(e.selector)}catch{}if(t&&ke(t,e))return t;if(!e.accessibleName&&!e.selectedText)return null;let n=null;for(let r of document.getElementsByTagName(e.tagName))if(r!==t&&ke(r,e)){if(n)return null;n=r}return n}function je(){let e=document.createElement(`div`);return e.setAttribute(B,``),Object.assign(e.style,{position:`fixed`,colorScheme:`light dark`,zIndex:`2147483647`,pointerEvents:`none`,border:`2px solid var(--replica-selection-accent)`,borderRadius:`4px`,background:`color-mix(in srgb, var(--replica-selection-accent) 12%, transparent)`,boxSizing:`border-box`}),e.style.setProperty(`--replica-selection-accent`,ye),document.documentElement.append(e),e}function J(e,t){let n=e.style.position===`absolute`,r=`left`in t?t.left:t.x-window.scrollX,i=`top`in t?t.top:t.y-window.scrollY;Object.assign(e.style,{left:`${r+(n?window.scrollX:0)}px`,top:`${i+(n?window.scrollY:0)}px`,width:`${t.width}px`,height:`${t.height}px`})}function Me(e,t=null){H?.remove(),H=e,U=t,H.style.pointerEvents=`none`}function Y(e,t){window.parent.postMessage(t,e)}function X(){V?.(),V=null}function Z(e,t,n){X(),Y(e,{type:`replica:canvas:selection-failed`,nonce:t,reason:n})}function Ne(e,t,n){let r=e.getBoundingClientRect(),i=Oe(e);if(!r.width||!r.height||!i)return null;let a=Ce(K(window.getSelection()?.toString()||``),2e3);return{schemaVersion:1,kind:`element`,route:q(),selector:i,accessibleName:Ee(e),tagName:e.tagName.toLowerCase(),selectedText:e.contains(window.getSelection()?.anchorNode||null)?a:``,rect:Te(r),viewport:we(),elementOffset:{x:Math.min(1,Math.max(0,(t-r.left)/r.width)),y:Math.min(1,Math.max(0,(n-r.top)/r.height))}}}function Pe(e,t){X();let n=null,r=je(),i=document.documentElement.style.cursor;document.documentElement.style.cursor=`crosshair`;function a(e){let t=e.target instanceof Element?e.target.closest(`:not([${B}])`):null;!t||t===document.documentElement||t===document.body?(n=null,r.style.display=`none`):(n=t,r.style.display=`block`,J(r,t.getBoundingClientRect()))}function o(i){if(!n)return;i.preventDefault(),i.stopImmediatePropagation();let a=Ne(n,i.clientX,i.clientY);a?(r.style.position=$(n)?`fixed`:`absolute`,J(r,n.getBoundingClientRect()),Me(r,n),X(),Y(e,{type:`replica:canvas:selected`,nonce:t,anchor:a})):(r.remove(),Z(e,t,`element-unavailable`))}function s(n){n.key===`Escape`&&(n.preventDefault(),X(),Y(e,{type:`replica:canvas:selection-cancelled`,nonce:t}))}document.addEventListener(`pointermove`,a,!0),document.addEventListener(`click`,o,!0),document.addEventListener(`keydown`,s,!0),V=()=>{document.removeEventListener(`pointermove`,a,!0),document.removeEventListener(`click`,o,!0),document.removeEventListener(`keydown`,s,!0),document.documentElement.style.cursor=i,H!==r&&r.remove()}}function Fe(e){let t=[[e.left+e.width/2,e.top+e.height/2],[e.left+1,e.top+1],[e.right-1,e.top+1],[e.right-1,e.bottom-1],[e.left+1,e.bottom-1]],n=/* @__PURE__ */ new Set;for(let[e,r]of t){for(let t of document.elementsFromPoint(e,r))if(t.hasAttribute(B)||n.add(t),n.size>=8)break;if(n.size>=8)break}return Array.from(n).flatMap(e=>{let t=Oe(e),n=e.getBoundingClientRect();return!t||!n.width||!n.height?[]:[{selector:t,accessibleName:Ee(e),tagName:e.tagName.toLowerCase(),role:Ce(e.getAttribute(`role`)||``,64),textExcerpt:Ce(K(e.textContent||``),500),rect:Te(n)}]})}function Ie(e){return{schemaVersion:1,kind:`area`,route:q(),path:[{x:0,y:0},{x:1,y:0},{x:1,y:1},{x:0,y:1},{x:0,y:0}],rect:Te(e),viewport:we(),elements:Fe(e)}}function Le(e,t,n=!1){X();let r=document.createElement(`div`);r.setAttribute(B,``),Object.assign(r.style,{position:`fixed`,inset:`0`,zIndex:`2147483646`,cursor:`crosshair`,touchAction:`none`});let i=je();i.style.display=`none`,document.body.append(r);let a=null,o=null,s=null,c=null;function l(e,t){r.style.pointerEvents=`none`;let n=document.elementFromPoint(e,t);return r.style.pointerEvents=``,n===document.body||n===document.documentElement?null:n}function u(n,r,a){i.style.position=a&&$(a)?`fixed`:`absolute`,J(i,r),Me(i,a),X(),Y(e,{type:`replica:canvas:selected`,nonce:t,anchor:n})}function d(e,t){if(!a)return;let n=Math.min(a.x,e),r=Math.min(a.y,t),o=Math.abs(e-a.x),s=Math.abs(t-a.y);i.style.display=`block`,J(i,new DOMRect(n,r,o,s))}function f(e){e.button!==0||a||(e.preventDefault(),a={x:e.clientX,y:e.clientY},s=e.pointerId,o=n?l(e.clientX,e.clientY):null,r.setPointerCapture(e.pointerId),d(e.clientX,e.clientY))}function p(e){if(a)e.pointerId===s&&(e.preventDefault(),d(e.clientX,e.clientY));else{if(!n)return;let t=l(e.clientX,e.clientY);i.style.display=t?`block`:`none`,t&&J(i,t.getBoundingClientRect())}}function m(r){if(!a||r.pointerId!==s)return;r.preventDefault();let i=Math.max(0,Math.min(window.innerWidth,r.clientX)),c=Math.max(0,Math.min(window.innerHeight,r.clientY)),l=new DOMRect(Math.min(a.x,i),Math.min(a.y,c),Math.abs(i-a.x),Math.abs(c-a.y));if(n&&Math.hypot(l.width,l.height)<8){let n=o?Ne(o,a.x,a.y):null;if(!n||!o){Z(e,t,`element-unavailable`);return}u(n,o.getBoundingClientRect(),o)}else(n?l.width<8||l.height<8:Math.hypot(l.width,l.height)<8)?Z(e,t,`area-too-small`):u(Ie(l),l)}function h(r){if(!n||r.detail!==0||!(r.target instanceof Element)||r.target.hasAttribute(B))return;r.preventDefault(),r.stopImmediatePropagation();let i=r.target,a=i.getBoundingClientRect(),o=Ne(i,a.left+a.width/2,a.top+a.height/2);o?u(o,a,i):Z(e,t,`element-unavailable`)}function g(n){X(),Y(e,{type:`replica:canvas:selection-cancelled`,nonce:t,reason:n?`interrupted`:`escape`})}function _(r){if(n&&r.shiftKey&&r.key===`Enter`)r.preventDefault(),c={x:window.innerWidth/2,y:window.innerHeight/2},a=null,i.style.display=`block`,J(i,new DOMRect(c.x,c.y,4,4));else if(c&&[`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Enter`,` `].includes(r.key)){if(r.preventDefault(),r.key===`Enter`||r.key===` `){if(!a)a={...c};else{let n=new DOMRect(Math.min(a.x,c.x),Math.min(a.y,c.y),Math.abs(a.x-c.x),Math.abs(a.y-c.y));if(n.width<8||n.height<8){Z(e,t,`area-too-small`);return}u(Ie(n),n)}}else c={x:Math.max(0,Math.min(window.innerWidth,c.x+(r.key===`ArrowRight`?10:r.key===`ArrowLeft`?-10:0))),y:Math.max(0,Math.min(window.innerHeight,c.y+(r.key===`ArrowDown`?10:r.key===`ArrowUp`?-10:0)))},a?d(c.x,c.y):J(i,new DOMRect(c.x,c.y,4,4))}else r.key===`Escape`&&(r.preventDefault(),g())}r.addEventListener(`pointerdown`,f),r.addEventListener(`pointermove`,p),r.addEventListener(`pointerup`,m),r.addEventListener(`pointercancel`,g),r.addEventListener(`lostpointercapture`,g),n&&document.addEventListener(`click`,h,!0),document.addEventListener(`keydown`,_,!0),V=()=>{r.removeEventListener(`pointerdown`,f),r.removeEventListener(`pointermove`,p),r.removeEventListener(`pointerup`,m),r.removeEventListener(`pointercancel`,g),r.removeEventListener(`lostpointercapture`,g),n&&document.removeEventListener(`click`,h,!0),document.removeEventListener(`keydown`,_,!0),r.remove(),H!==i&&i.remove()}}function Q(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function $(e){for(let t=e;t;t=t.parentElement){let e=window.getComputedStyle(t).position;if(e===`fixed`||e===`sticky`)return!0}return!1}function Re(e){let t=q();if(!Q(e)||!Q(e.route)||e.route.pathname!==t.pathname||e.route.search!==t.search||e.route.hash!==t.hash)return null;if(e.kind===`area`){if(!Q(e.rect)||typeof e.rect.x!=`number`||typeof e.rect.y!=`number`||typeof e.rect.width!=`number`||typeof e.rect.height!=`number`||!Object.values(e.rect).every(Number.isFinite))return null;let t={x:e.rect.x-window.scrollX,y:e.rect.y-window.scrollY,width:e.rect.width,height:e.rect.height};return{x:t.x+t.width,y:t.y,rect:t,viewportAnchored:!1}}if(e.kind!==`element`||typeof e.selector!=`string`||typeof e.accessibleName!=`string`||typeof e.tagName!=`string`||e.selectedText!==void 0&&typeof e.selectedText!=`string`||!Q(e.elementOffset)||typeof e.elementOffset.x!=`number`||typeof e.elementOffset.y!=`number`||!Number.isFinite(e.elementOffset.x)||!Number.isFinite(e.elementOffset.y))return null;let n=Ae({selector:e.selector,accessibleName:e.accessibleName,tagName:e.tagName,selectedText:e.selectedText});if(!n)return null;let r=n.getBoundingClientRect();return!r.width||!r.height?null:{x:r.left+r.width*e.elementOffset.x,y:r.top+r.height*e.elementOffset.y,viewportAnchored:$(n)}}function ze(e=!1){if(!W||!ve)return;let t=q(),n=JSON.stringify(t);e&&=n===be,be=n;let r=[];for(let t of W.anchors){let n=G.get(t.id),i;if(e&&n&&!n.viewportAnchored){let e=n.scrollX-window.scrollX,t=n.scrollY-window.scrollY;i={x:n.x+e,y:n.y+t,...n.rect?{rect:{...n.rect,x:n.rect.x+e,y:n.rect.y+t}}:{}}}else{let e=Re(t.anchor);if(!e){G.delete(t.id);continue}G.set(t.id,{...e,scrollX:window.scrollX,scrollY:window.scrollY}),i={x:e.x,y:e.y,...`rect`in e?{rect:e.rect}:{}}}r.push({id:t.id,...i})}Y(ve,{type:`replica:canvas:resolved`,protocolVersion:1,nonce:W.nonce,route:t,...xe===Se()?{replaceRoute:!0}:{},results:r})}function Be(e){let t=e.data;if(document.querySelector(`script[src="/__replica/bridge/v1.js"]`)||e.source!==window.parent||e.origin!==ve||!Q(t)||typeof t.nonce!=`string`||t.nonce.length>100)return;if(t.type===`replica:canvas:request-ready`){Y(e.origin,{type:`replica:canvas:ready`,protocolVersion:1,improvementSelection:!0,nonce:t.nonce,route:q(),...xe===Se()?{replaceRoute:!0}:{}});return}if(t.type===`replica:canvas:theme`){if(typeof t.accent!=`string`||t.accent.length>200||!CSS.supports(`color`,t.accent))return;ye=t.accent;for(let e of document.querySelectorAll(`[${B}]`))e.style.setProperty(`--replica-selection-accent`,ye);return}if(t.type===`replica:canvas:click`){let{selector:n,expectedLabel:r,route:i}=t,a=q(),o=`The click target is unavailable or ambiguous.`,s=null;if(typeof n==`string`&&n.length>0&&n.length<=512&&typeof r==`string`&&r.length>0&&r.length<=200&&Q(i)&&typeof i.pathname==`string`&&i.pathname===a.pathname&&i.search===a.search&&i.hash===a.hash)try{let e=document.querySelectorAll(n);e.length===1&&(s=e.item(0))}catch{o=`The click selector is invalid.`}else o=`The prototype route changed or the click input is invalid.`;if(s){let n=s;if(O(n,!0)||(Ee(n)||K(n.textContent||``).slice(0,200))!==r)o=`The target is hidden, blocked, disabled, unsafe, or its accessible name changed.`;else{n.click(),Y(e.origin,{type:`replica:canvas:click-result`,nonce:t.nonce,clicked:!0});return}}Y(e.origin,{type:`replica:canvas:click-result`,nonce:t.nonce,clicked:!1,error:o});return}if(t.type===`replica:canvas:select`){t.mode===`element`?Pe(e.origin,t.nonce):t.mode===`area`?Le(e.origin,t.nonce):t.mode===`improvement`&&Le(e.origin,t.nonce,!0);return}if(t.type===`replica:canvas:cancel-selection`){X(),Y(e.origin,{type:`replica:canvas:selection-cancelled`,nonce:t.nonce,reason:`command`});return}if(t.type===`replica:canvas:clear-selection`){H?.remove(),H=null,U=null;return}if(t.type!==`replica:canvas:resolve`||!Array.isArray(t.anchors)||t.anchors.length>200)return;let n=[],r=t.anchors;for(let e of r)Q(e)&&typeof e.id==`number`&&Number.isSafeInteger(e.id)&&n.push({id:e.id,anchor:e.anchor});W={nonce:t.nonce,anchors:n},G.clear(),ze()}var Ve=Symbol.for(`replica.canvas.bridge.v1`),He=window;function Ue(e){if(!/^http:\/\/127\.0\.0\.1:\d+$/.test(e))throw Error(`Invalid Replica canvas parent.`);let t=He[Ve];if(t===!0)throw Error(`Remove the old source bridge before using the extension-owned bridge.`);typeof t==`function`&&t(),ye=`light-dark(#0969da, #58a6ff)`,ve=e,W=null,be=``,G.clear();let n=ge(e),r=null;function i(){r!==null&&window.cancelAnimationFrame(r),r=null,H&&U&&(H.style.position=$(U)?`fixed`:`absolute`,J(H,U.getBoundingClientRect())),ze()}function a(){r===null&&W&&(r=window.requestAnimationFrame(i))}function o(e){H&&U&&(e.target!==document&&e.target!==window||$(U))&&J(H,U.getBoundingClientRect()),r===null?ze(e.target===document||e.target===window):i()}function s(){ze()}function c(t){if(t.key!==`Escape`||t.defaultPrevented||t.isComposing||V||!W||t.target instanceof Element&&t.target.closest(`[role="dialog"], dialog, [role="menu"]`))return;let n=W;window.setTimeout(()=>{t.defaultPrevented||V||W!==n||Y(e,{type:`replica:canvas:conversation-dismiss-requested`,nonce:n.nonce})},0)}window.addEventListener(`message`,Be),window.addEventListener(`scroll`,o,{capture:!0,passive:!0}),window.addEventListener(`resize`,s),window.addEventListener(`keydown`,c);let l=new MutationObserver(e=>{e.some(e=>!(e.target instanceof Element&&e.target.closest(`[${B}], [data-replica-controls-bridge]`)))&&a()});l.observe(document.documentElement,{attributes:!0,characterData:!0,childList:!0,subtree:!0});let u=typeof ResizeObserver==`function`?new ResizeObserver(a):null;u?.observe(document.documentElement),He[Ve]=()=>{window.removeEventListener(`message`,Be),window.removeEventListener(`scroll`,o,!0),window.removeEventListener(`resize`,s),window.removeEventListener(`keydown`,c),l.disconnect(),u?.disconnect(),r!==null&&window.cancelAnimationFrame(r),W=null,be=``,G.clear(),n(),X(),H?.remove(),H=null,U=null}}export{Ue as installBridge}; \ No newline at end of file diff --git a/.github/extensions/replica-prototype/assets/renderer-improvement-notes-prototype.js b/.github/extensions/replica-prototype/assets/renderer-improvement-notes-prototype.js index 3a03c9c7..e2d77626 100644 --- a/.github/extensions/replica-prototype/assets/renderer-improvement-notes-prototype.js +++ b/.github/extensions/replica-prototype/assets/renderer-improvement-notes-prototype.js @@ -1 +1 @@ -import{n as e,r as t}from"./renderer-rolldown-runtime.js";import{E as n,K as r,L as i,M as a,X as o,Y as s,f as c,g as l,q as u,x as d,z as f}from"./renderer-vendor.js";import{a as p,c as m,f as h,m as g,o as ee,p as te,s as _}from"./renderer.js";import{t as v}from"./renderer-improvement-notes-vendor.js";import{t as ne}from"./renderer-prototype-canvas-improvement-threads.js";var y=t(o(),1),re=s(),b=r(),ie=v(),x={title:`Pick & polish`,localAuthor:`Local author`,branch:`prototype/welcome`,demo:`UI prototype`,demoNotice:`Sample preview. Notes reset on reload. No Hub API calls or agent work.`,canvasDemoNotice:`UI-only notes over the live preview. Notes reset on canvas reload. Captures, Hub sync and agent results are simulated.`,canvasBatchSource:`Live preview · UI-only batch`,sampleBatchSource:`Local, uncommitted sample`,bridgeUnavailable:`Annotation needs the updated Replica preview bridge. Reconnect or reload the preview after updating the canvas.`,capturePlaceholder:`UI-only capture placeholder`,annotate:`Pick & polish`,fix:`Fix all`,openNotes:e=>`Open improvement notes (${e})`,fixAll:e=>`Fix all (${e})`,notes:`Pick & polish`,closeNotes:`Close pick & polish`,owner:`Only your notes appear here. Authorized API callers can request other authors' notes.`,selectHint:`Click an element or drag a rectangle. For a keyboard region, focus the preview, press Shift+Enter, then use arrows and Enter to choose two corners. Escape exits annotation mode.`,keyboardHint:`Click an element or drag a rectangle. Focus the preview and press Shift+Enter for keyboard region selection; arrows move the corner and Enter selects it.`,regionHint:`Choose two corners in the preview. Use arrow keys to move the corner, then Enter.`,firstCorner:`First corner selected. Choose the second corner.`,regionSmall:`Choose a larger region, at least 8 preview pixels wide and high.`,add:`Add improvement note`,edit:`Edit improvement note`,label:`What should change?`,placeholder:`Describe the improvement you want Copilot to make...`,save:`Save note`,saveEdit:`Save changes`,cancel:`Cancel`,discard:`Discard draft`,keep:`Keep writing`,discardTitle:`Discard your unsaved note?`,discardBody:`Your saved notes will stay unchanged.`,capture:`Captured target`,empty:`A little feedback goes a long way`,emptyBody:`Select an element or draw around an area. Collect notes across screens, then fix them together.`,emptyFilter:`No notes in this view.`,allActive:`Active notes`,readyFilter:`Ready to review`,resolvedFilter:`Resolved`,filter:`Filter improvement notes`,viewTarget:`View target`,noteActions:e=>`Note actions: ${e}`,editAction:`Edit`,deleteAction:`Delete`,deleteTitle:`Delete this improvement note?`,deleteBody:`This removes the note. It does not change the prototype.`,resolve:`Confirm resolved`,solution:`Solution`,solutionUnavailable:`The solution summary is not available in this canvas.`,readyReadOnly:`Ready notes are read-only. Add a new note to request further changes.`,reopen:`Reopen`,retryFix:`Retry fix`,noteSent:`Sent in the simulated batch. No real agent has started.`,noteReady:`Simulated change is ready. Review the target before resolving.`,noteBlocked:`Simulated agent could not safely identify the change. Edit the note or retry.`,handoff:`Demo handoff to Copilot`,handoffNotice:`This is the captured batch, not a live agent request. New notes stay out of this batch.`,complete:`Simulate ready to review`,block:`Simulate blocked`,closeHandoff:`Continue annotating`,sent:`Demo batch captured. No code was changed.`,finished:`Simulated result received. Review each note before resolving.`,fixBusy:`Finish or close the current simulated batch before sending another.`,syncControls:`Demo connection`,offline:`Offline`,connected:`Connected`,syncFailure:`Sync failure`,syncRetry:`Retry demo sync`,syncFailed:`Demo sync failed. Your note remains in this demo; retry when connected.`,syncSuccess:`Demo sync completed.`,targetMissing:`This sample target is no longer available. The saved capture is still shown.`,previewUnavailable:`The demo preview is unavailable. Try selecting the target again.`,saved:`Note added.`,savedLocally:`Notes are saved locally.`,storageLoading:`Loading your notes...`,productionSent:`Notes sent to Copilot. Review the changes before confirming resolution.`,productionBusy:`Copilot is working on the captured batch.`,branchChanged:`The prototype branch changed. Close this draft and select the target again.`,workChanged:`The open improvements changed while syncing. Review them and select Fix all again.`,returnToActive:`Return to active`,regionTarget:`Selected region`,closeComposer:`Close note composer`,closeDiscard:`Close discard confirmation`,closeDelete:`Close delete confirmation`,closeBatch:`Close demo handoff`,exit:`Exit annotation mode`,sampleScreens:`Sample prototype screens`,sampleWorkspace:`Octocat's workspace`,projects:`Projects`,settings:`Settings`,navigationHint:`Navigate between screens. Your notes stay together.`,authorContext:`Across this prototype · Demo author: octocat`,batchHint:`Fix only this batch. Do not commit, push, or publish. Report per-note results for the author to review.`,perNoteResult:`Simulate a result for this note`,batchLabel:e=>`View demo batch (${e})`,statuses:{open:`Open`,sent:`Sent to Copilot`,ready:`Ready to review`,resolved:`Resolved`,blocked:`Needs attention`},sync:{local:`Demo: local only`,synced:`Demo: synced`,failed:`Demo: sync failed`}};function ae(e,t){let n=[e.thread?.originalStatus??e.status,...e.thread?.messages.filter(e=>e.role===`author`).map(e=>e.status)??[]];return{id:e.id,revision:e.revision,body:e.body,capture:e.capture,author:e.thread?.originalAuthor?`@${e.thread.originalAuthor.login}`:e.author===`local`?x.localAuthor:`@${e.author}`,avatarUrl:(e.thread?.originalAuthor??e.authorProfile)?.avatarUrl,target:e.target,path:e.route,status:e.status,originalPending:(e.thread?.originalStatus??e.status)===`open`,...n.includes(`sent`)?{retryStatus:`sent`}:n.includes(`blocked`)?{retryStatus:`blocked`}:{},messages:e.thread?.messages.map(e=>({...e,...e.role===`author`&&e.author?{author:`@${e.author.login}`,avatarUrl:e.author.avatarUrl}:{author:void 0},pending:e.role===`author`&&e.status===`open`}))??(e.result?[{id:`legacy-result`,role:`copilot`,body:e.result,status:e.status===`blocked`?`blocked`:`ready`}]:[]),...t&&(t.status===`resolved`||t.status===`moved`)?{point:t.point}:{}}}function oe(e,t){let n=e.cloneNode(!0);if(!(n instanceof SVGSVGElement))throw Error(`The demo preview could not be captured.`);return n.setAttribute(`viewBox`,`${t.x} ${t.y} ${t.width} ${t.height}`),n.setAttribute(`width`,String(t.width)),n.setAttribute(`height`,String(t.height)),n.removeAttribute(`class`),`data:image/svg+xml;charset=utf-8,${encodeURIComponent(new XMLSerializer().serializeToString(n))}`}var se=[{id:`projects-heading`,label:`Projects heading`,route:`/projects`,rect:{x:40,y:35,width:640,height:78}},{id:`new-project`,label:`New project button`,route:`/projects`,rect:{x:764,y:42,width:156,height:42}},{id:`activity`,label:`Activity summary`,route:`/projects`,rect:{x:40,y:144,width:880,height:100}},{id:`welcome-card`,label:`Welcome project card`,route:`/projects`,rect:{x:40,y:285,width:420,height:230}},{id:`onboarding-card`,label:`Onboarding project card`,route:`/projects`,rect:{x:500,y:285,width:420,height:230}},{id:`settings-heading`,label:`Settings heading`,route:`/settings`,rect:{x:40,y:35,width:700,height:78}},{id:`workspace-name`,label:`Workspace name field`,route:`/settings`,rect:{x:40,y:152,width:880,height:138}},{id:`notifications`,label:`Notifications settings`,route:`/settings`,rect:{x:40,y:318,width:880,height:130}},{id:`save-settings`,label:`Save settings button`,route:`/settings`,rect:{x:40,y:478,width:166,height:42}}],ce=[{id:1,kind:`improvement_note`,author:`octocat`,body:`Make the primary action more prominent and shorten the label to 'New project'.`,route:`/projects`,target:`New project button`,selector:`[data-improvement-target="new-project"]`,rect:{x:764,y:42,width:156,height:42},capture:``,status:`open`,sync:`local`,revision:1},{id:2,kind:`improvement_note`,author:`octocat`,body:`Give the two cards a little more breathing room and align their metadata.`,route:`/projects`,target:`Selected region`,selector:null,rect:{x:28,y:273,width:904,height:250},capture:``,status:`open`,sync:`local`,revision:1},{id:3,kind:`improvement_note`,author:`octocat`,body:`Explain what notifications this switch controls before asking me to enable it.`,route:`/settings`,target:`Notifications settings`,selector:`[data-improvement-target="notifications"]`,rect:{x:40,y:318,width:880,height:130},capture:``,status:`ready`,sync:`synced`,revision:1}],S=u();function le({route:e}){return(0,S.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 960 560`,className:`improvement-demo__scene`,role:`group`,"aria-label":`Sample prototype ${e}`,fontFamily:`system-ui, sans-serif`,children:[(0,S.jsx)(`rect`,{width:`960`,height:`560`,fill:`#f8fafc`}),se.filter(t=>t.route===e).map(t=>(0,S.jsxs)(`g`,{"data-improvement-target":t.id,children:[(0,S.jsx)(`rect`,{...t.rect,rx:`10`,fill:t.id.includes(`heading`)?`#f8fafc`:t.id===`new-project`||t.id===`save-settings`?`#155d3d`:`#ffffff`,stroke:t.id.includes(`heading`)?`none`:`#dce3e9`}),t.id.includes(`heading`)?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`text`,{x:`40`,y:`67`,fill:`#172b24`,fontSize:`28`,fontWeight:`650`,children:e===`/projects`?`Your projects`:`Workspace settings`}),(0,S.jsx)(`text`,{x:`40`,y:`99`,fill:`#596b65`,fontSize:`15`,children:e===`/projects`?`A home for your team's next great idea.`:`Make this space work for your team.`})]}):t.id===`new-project`||t.id===`save-settings`?(0,S.jsx)(`text`,{x:t.rect.x+t.rect.width/2,y:t.rect.y+26,textAnchor:`middle`,fill:`#ffffff`,fontSize:`14`,fontWeight:`600`,children:t.id===`new-project`?`+ Create project`:`Save settings`}):t.id===`activity`?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`text`,{x:`64`,y:`179`,fill:`#596b65`,fontSize:`13`,children:`THIS WEEK`}),(0,S.jsx)(`text`,{x:`64`,y:`214`,fill:`#172b24`,fontSize:`23`,fontWeight:`600`,children:`12 prototypes`}),(0,S.jsx)(`text`,{x:`348`,y:`179`,fill:`#596b65`,fontSize:`13`,children:`IN REVIEW`}),(0,S.jsx)(`text`,{x:`348`,y:`214`,fill:`#172b24`,fontSize:`23`,fontWeight:`600`,children:`4 conversations`}),(0,S.jsx)(`text`,{x:`642`,y:`179`,fill:`#596b65`,fontSize:`13`,children:`YOUR TEAM`}),(0,S.jsx)(`text`,{x:`642`,y:`214`,fill:`#172b24`,fontSize:`23`,fontWeight:`600`,children:`Making things happen`})]}):t.id.includes(`card`)?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`rect`,{x:t.rect.x+16,y:`301`,width:`388`,height:`100`,rx:`6`,fill:t.id===`welcome-card`?`#e3efe9`:`#eee9f7`}),(0,S.jsx)(`rect`,{x:t.rect.x+40,y:`323`,width:`100`,height:`10`,rx:`4`,fill:`#ffffff`}),(0,S.jsx)(`rect`,{x:t.rect.x+40,y:`345`,width:`196`,height:`6`,rx:`3`,fill:`#ffffff`}),(0,S.jsx)(`rect`,{x:t.rect.x+40,y:`363`,width:`156`,height:`6`,rx:`3`,fill:`#ffffff`}),(0,S.jsx)(`text`,{x:t.rect.x+24,y:`437`,fill:`#172b24`,fontSize:`18`,fontWeight:`600`,children:t.id===`welcome-card`?`Welcome experience`:`A better onboarding`}),(0,S.jsx)(`text`,{x:t.rect.x+24,y:`463`,fill:`#596b65`,fontSize:`13`,children:t.id===`welcome-card`?`prototype/welcome`:`prototype/onboarding`}),(0,S.jsx)(`circle`,{cx:t.rect.x+30,cy:`490`,r:`5`,fill:`#2a7954`}),(0,S.jsx)(`text`,{x:t.rect.x+44,y:`495`,fill:`#596b65`,fontSize:`12`,children:`Updated today · The Octocat`})]}):t.id===`workspace-name`?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`text`,{x:`64`,y:`184`,fill:`#172b24`,fontSize:`17`,fontWeight:`600`,children:`Workspace name`}),(0,S.jsx)(`text`,{x:`64`,y:`209`,fill:`#596b65`,fontSize:`13`,children:`This is how your workspace appears to your team.`}),(0,S.jsx)(`rect`,{x:`64`,y:`230`,width:`600`,height:`38`,rx:`6`,fill:`#f8fafc`,stroke:`#dce3e9`}),(0,S.jsx)(`text`,{x:`78`,y:`255`,fill:`#172b24`,fontSize:`14`,children:`Octocat's workspace`})]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`text`,{x:`64`,y:`351`,fill:`#172b24`,fontSize:`17`,fontWeight:`600`,children:`Notifications`}),(0,S.jsx)(`text`,{x:`64`,y:`385`,fill:`#596b65`,fontSize:`14`,children:`Keep me in the loop`}),(0,S.jsx)(`rect`,{x:`824`,y:`366`,width:`48`,height:`26`,rx:`13`,fill:`#155d3d`}),(0,S.jsx)(`circle`,{cx:`857`,cy:`379`,r:`9`,fill:`#ffffff`})]})]},t.id))]})}function C(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function ue({frameRef:e,prototypeUrl:t,previewUrl:n,notes:r,annotating:i,composing:a,onSelect:o,onRoute:s,onCancel:c,onProblem:l}){let u=n??t,[d,f]=(0,y.useState)(null),[p,h]=(0,y.useState)(new Map),g=JSON.stringify(r.filter(e=>e.anchor).slice(0,200).map(e=>({id:e.id,anchor:e.anchor}))),te=(0,y.useEffectEvent)(e=>{if(!i||a)return;let t=_.safeParse(e);t.success?o(t.data):(c(),l(x.previewUnavailable))}),v=(0,y.useCallback)((t,n={})=>{u&&d&&e?.current?.contentWindow&&e.current.contentWindow.postMessage({type:t,nonce:d.nonce,...n},new URL(u).origin)},[d,e,u]);return(0,y.useEffect)(()=>{let t=e?.current;if(!t||!u)return;let n=new URL(u).origin,r=crypto.randomUUID(),i=Date.now(),a=JSON.parse(g);function o(){t?.contentWindow?.postMessage({type:`replica:canvas:request-ready`,nonce:r},n),t?.contentWindow?.postMessage({type:`replica:canvas:resolve`,nonce:r,anchors:a},n)}function d(){r=crypto.randomUUID(),i=Date.now(),f({nonce:r,ready:!1}),h(new Map),c(),o()}function p(e){let a=e.data;if(e.source===t?.contentWindow&&e.origin===n&&C(a)&&a.nonce===r){if(a.type===`replica:canvas:ready`){let e=m.safeParse(a.route);if(a.protocolVersion!==1||a.improvementSelection!==!0||!e.success){f({nonce:r,ready:!1}),l(x.bridgeUnavailable);return}i=Date.now(),f(e=>e?.nonce===r&&e.ready?e:{nonce:r,ready:!0}),s(e.data.pathname+e.data.search+e.data.hash)}else if(a.type===`replica:canvas:selected`)te(a.anchor);else if(a.type===`replica:canvas:resolved`&&Array.isArray(a.results)){let e=new Map;for(let t of a.results){if(!C(t))continue;let n=ee.safeParse({commentId:t.id,status:`resolved`,point:{x:t.x,y:t.y},rect:t.rect??{x:t.x,y:t.y,width:1,height:1}});n.success&&e.set(n.data.commentId,n.data)}h(e)}else a.type===`replica:canvas:selection-failed`||a.type===`replica:canvas:bridge-error`?(c(),l(a.reason===`area-too-small`?x.regionSmall:x.bridgeUnavailable)):a.type===`replica:canvas:selection-cancelled`?a.reason!==`command`&&c():a.type===`replica:canvas:conversation-dismiss-requested`&&window.dispatchEvent(new Event(`replica:review-dismiss`))}}t.addEventListener(`load`,d),window.addEventListener(`message`,p),f({nonce:r,ready:!1}),o();let _=window.setInterval(()=>{Date.now()-i>2e4&&(f({nonce:r,ready:!1}),h(new Map),c(),l(x.bridgeUnavailable)),o()},2e3);return()=>{t.removeEventListener(`load`,d),window.removeEventListener(`message`,p),window.clearInterval(_),t.contentWindow?.postMessage({type:`replica:canvas:cancel-selection`,nonce:r},n),t.contentWindow?.postMessage({type:`replica:canvas:clear-selection`,nonce:r},n)}},[g,e,u,c,l,s]),(0,y.useEffect)(()=>{d?.ready&&(i&&!a?v(`replica:canvas:select`,{mode:`improvement`}):v(`replica:canvas:cancel-selection`),a||v(`replica:canvas:clear-selection`))},[i,a,d?.ready,v]),{ready:d?.ready===!0,resolutions:p}}function de(e){let[t,n]=(0,y.useState)(null),[r,i]=(0,y.useState)(``),[a,o]=(0,y.useState)(``),[s,c]=(0,y.useState)(!1),l=(0,y.useRef)(null),u=(0,y.useRef)(!1),d=(0,y.useRef)(null),f=(0,y.useRef)(!1),m=(0,y.useRef)(0);function h(e){f.current&&(l.current=e,n(e))}(0,y.useEffect)(()=>{if(!e)return;f.current=!0;let t=!1,r=!1,a=0;async function s(){if(u.current||r)return;r=!0;let s=m.current;try{let n=await p(`/api/improvement-notes`,e);if(u.current||s!==m.current||t)return;if(h(n),Date.now()-a>15e3){a=Date.now();let r=p(`/api/improvement-notes/sync`,e,{method:`POST`,body:JSON.stringify({identity:n.identity,revision:n.revision})}).then(e=>{t||h(e)});d.current=r;try{await r}finally{d.current===r&&(d.current=null)}}t||o(``)}catch(e){t||(e instanceof Error&&`statusCode`in e&&e.statusCode===403&&(l.current=null,n(null),i(``)),o(e instanceof Error?e.message:String(e)))}finally{r=!1}}s();let c=window.setInterval(()=>void s(),3e3);return()=>{f.current=!1,t=!0,window.clearInterval(c)}},[e]);async function g(t,n={}){if(!e||!l.current||u.current)return!1;let r=l.current.identity,a=l.current.notes.filter(e=>e.status===`open`).map(e=>`${e.id}:${e.revision}`).sort().join(`,`);u.current=!0,m.current++,c(!0),i(``);try{if(await d.current,!f.current)return!1;if(!l.current||l.current.identity!==r)throw Error(x.branchChanged);if(t===`fix`&&l.current.notes.filter(e=>e.status===`open`).map(e=>`${e.id}:${e.revision}`).sort().join(`,`)!==a)throw Error(x.workChanged);return h(await p(t===`fix`?`/api/improvement-notes/fix`:`/api/improvement-notes`,e,{method:`POST`,body:JSON.stringify({identity:l.current.identity,revision:l.current.revision,operation:t,...n})})),!0}catch(e){return f.current&&i(e instanceof Error?e.message:String(e)),!1}finally{u.current=!1,f.current&&c(!1)}}return{state:t,error:r||a,busy:s,change:g}}var w=e({ImprovementNotesPrototype:()=>T});function T({initial:e=`empty`,canvas:t}){let[r,o]=(0,y.useState)(()=>ce.slice(0,e===`empty`?0:e===`single`?1:3).map(e=>{let t=new DOMParser().parseFromString((0,ie.renderToStaticMarkup)((0,S.jsx)(le,{route:e.route})),`image/svg+xml`).documentElement;if(!(t instanceof SVGSVGElement))throw Error(`The sample preview could not be captured.`);return{...e,capture:oe(t,e.rect)}})),s=de(t?.token),u=s.state?.syncError===`Notes are saved locally until Hub discovers this branch.`?null:s.state?.syncError,p=t?.token?s.state?.notes??[]:r,[m,ee]=(0,y.useState)(`/projects`),[_,v]=(0,y.useState)(!1),[C,w]=(0,y.useState)(!0),[T,E]=(0,y.useState)(null),[D,O]=(0,y.useState)(null),[k,A]=(0,y.useState)(``),[fe,pe]=(0,y.useState)(!1),[j,me]=(0,y.useState)(null),[M,he]=(0,y.useState)(`active`),[N,ge]=(0,y.useState)(`offline`),[P,_e]=(0,y.useState)([]),[ve,F]=(0,y.useState)(!1),[ye,I]=(0,y.useState)(``),[be,L]=(0,y.useState)(null),[R,z]=(0,y.useState)(!1),[B,xe]=(0,y.useState)({x:160,y:160}),[V,H]=(0,y.useState)(null),[Se,Ce]=(0,y.useState)(null),[U,W]=(0,y.useState)(null),G=(0,y.useRef)(null),we=(0,y.useRef)(null),K=(0,y.useRef)(null),Te=(0,y.useRef)(null),q=(0,y.useRef)(null),Ee=(0,y.useRef)(e===`empty`?1:e===`single`?2:4),J=p.filter(e=>e.status===`open`),Y=!t?.token||s.state!==null,De=T!==null&&!fe&&Y;(0,y.useLayoutEffect)(()=>{De&&Te.current?.focus()},[De]);let Oe=!!t?.token&&T!==null&&T.identity!==s.state?.identity,ke=D!==null&&p.some(e=>e.id===D&&e.status===`ready`),Ae=p.filter(e=>e.status!==`resolved`).length,je=M===`ready`?x.readyFilter:M===`resolved`?x.resolvedFilter:x.allActive,Me=p.filter(e=>M===`resolved`?e.status===`resolved`:M===`ready`?e.status===`ready`:e.status!==`resolved`),Ne=!!s.state?.activeBatch||P.some(e=>p.some(t=>t.id===e.id&&t.revision===e.revision&&t.status===`sent`)),Pe=p.filter(e=>e.route===m&&e.status!==`resolved`),X=p.find(e=>e.id===be&&e.route===m),Fe=(0,y.useCallback)(e=>{let t=e.kind===`element`?e.accessibleName||e.tagName:x.regionTarget;E({identity:s.state?.identity,anchor:e,route:e.route.pathname+e.route.search+e.route.hash,target:t,selector:e.kind===`element`?e.selector:null,rect:e.rect,capture:``,capturePlaceholder:!0}),O(null),A(``)},[s.state?.identity]),Ie=(0,y.useCallback)(()=>{K.current?.getAttribute(`aria-pressed`)===`true`&&K.current.focus(),v(!1)},[]),Le=t?.frameRef,Z=ue({frameRef:Le,prototypeUrl:t?.prototypeUrl,previewUrl:t?.previewUrl,notes:p,annotating:_,composing:T!==null,onSelect:Fe,onRoute:ee,onCancel:Ie,onProblem:I}),Q=!!t;(0,y.useLayoutEffect)(()=>{Le&&Ce(Le.current?.closest(`.canvas-shell`)?.querySelector(`#canvas-improvement-controls`)??null)},[Le]);function Re(){w(!0),t?.onOpenNotes()}function ze(e,t){let n=we.current?.querySelector(`svg`);n?(E({route:m,target:t?.label??x.regionTarget,selector:t?`[data-improvement-target="${t.id}"]`:null,rect:e,capture:oe(n,e)}),A(``),O(null),W(null),H(null),z(!1)):I(x.previewUnavailable)}function Be(e,t){return{x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),width:Math.abs(t.x-e.x),height:Math.abs(t.y-e.y)}}function Ve(e){let t=we.current?.getBoundingClientRect();return!t?.width||!t.height?(I(x.previewUnavailable),null):{x:Math.max(0,Math.min(960,(e.clientX-t.left)/t.width*960)),y:Math.max(0,Math.min(560,(e.clientY-t.top)/t.height*560))}}function He(e,t){let n=Be(e,t);W(null),H(null),n.width<8||n.height<8?I(x.regionSmall):ze(n)}function Ue(){let e=T?.originalBody??``;k===e?(E(null),O(null)):pe(!0)}async function We(){if(ke){I(x.readyReadOnly);return}if(!T||!k.trim()||s.busy||Oe)return;if(t?.token){if(!await s.change(D===null?`create`:`edit`,{id:D,identity:T.identity,expectedNoteRevision:T.noteRevision,body:k.trim(),anchor:T.anchor,capture:T.capturePlaceholder?``:T.capture}))return;he(`active`),Re(),E(null),O(null),I(x.saved);return}let e=N===`connected`?`synced`:N===`failed`?`failed`:`local`;if(D!==null)o(t=>t.map(t=>t.id===D?{...t,body:k.trim(),revision:t.revision+1,status:`open`,sync:e}:t));else{let t={...T,id:Ee.current++,body:k.trim(),kind:`improvement_note`,author:`octocat`,status:`open`,sync:e,revision:1};o(e=>[...e,t]),L(t.id)}he(`active`),Re(),E(null),O(null),I(N===`failed`?x.syncFailed:x.saved)}async function Ge(){J.length&&!Ne&&(t?.token?await s.change(`fix`)&&I(x.productionSent):(_e(J.map(e=>({...e}))),o(e=>e.map(e=>e.status===`open`?{...e,status:`sent`}:e)),F(!0),I(x.sent)))}function Ke(e){o(t=>t.map(t=>P.some(e=>e.id===t.id&&e.revision===t.revision)&&t.status===`sent`?{...t,status:e}:t)),F(!1),w(!0),I(x.finished)}async function $(e,n){t?.token?await s.change(`status`,{id:e.id,status:n,identity:s.state?.identity,expectedNoteRevision:e.revision})&&q.current?.focus():(o(t=>t.map(t=>t.id===e.id?{...t,status:n,sync:N===`connected`?`synced`:N===`failed`?`failed`:`local`}:t)),q.current?.focus())}let qe=(0,S.jsx)(`div`,{className:`improvement-demo__actions`,children:(0,S.jsxs)(`div`,{role:`group`,"aria-label":x.title,className:`improvement-demo__split`,children:[(0,S.jsx)(b.Button,{ref:K,size:`small`,variant:`secondary`,className:`canvas-toolbar-compact-button`,"aria-label":x.annotate,title:x.annotate,leadingVisual:(0,S.jsx)(a,{}),"aria-pressed":_,disabled:Q&&(!Z.ready||!!t?.token&&!s.state),onClick:()=>{v(!_),_||(w(!1),I(x.selectHint)),z(!1),H(null),W(null)},children:(0,S.jsx)(`span`,{className:`canvas-toolbar-button-label`,children:x.annotate})}),(0,S.jsx)(b.Button,{ref:q,size:`small`,variant:`secondary`,"aria-label":x.openNotes(Ae),"aria-expanded":C&&!t?.hubOpen,onClick:Re,children:(0,S.jsx)(te,{children:Ae})})]})});return(0,S.jsxs)(`section`,{"aria-label":x.title,className:`improvement-demo${Q?` improvement-demo--embedded`:``}`,onKeyDown:e=>{e.key!==`Escape`||e.defaultPrevented||T||j!==null||ve||(v(!1),z(!1),H(null),W(null),G.current=null,_&&K.current?.focus())},children:[Q?null:(0,S.jsxs)(`header`,{className:`improvement-demo__browser`,children:[(0,S.jsx)(`span`,{className:`improvement-demo__browser-dot`}),(0,S.jsxs)(`code`,{children:[`localhost:5173`,m]}),(0,S.jsx)(`span`,{className:`improvement-demo__badge`,children:x.demo})]}),Q?Se&&(0,re.createPortal)(qe,Se):(0,S.jsxs)(`header`,{className:`improvement-demo__toolbar`,children:[(0,S.jsxs)(`div`,{className:`improvement-demo__identity`,children:[(0,S.jsx)(`strong`,{children:x.branch}),(0,S.jsx)(`span`,{children:x.title})]}),qe]}),Q?null:(0,S.jsx)(`div`,{className:`improvement-demo__disclaimer`,children:x.demoNotice}),(0,S.jsxs)(`div`,{className:`improvement-demo__workspace`,children:[Q?null:(0,S.jsxs)(`section`,{className:`improvement-demo__preview`,"aria-label":`Prototype preview`,children:[(0,S.jsxs)(`nav`,{className:`improvement-demo__pages`,"aria-label":x.sampleScreens,children:[(0,S.jsx)(`span`,{className:`improvement-demo__app-name`,children:x.sampleWorkspace}),[`/projects`,`/settings`].map(e=>(0,S.jsx)(`button`,{type:`button`,"aria-current":m===e?`page`:void 0,onClick:()=>{ee(e),L(null),H(null),W(null)},children:e===`/projects`?x.projects:x.settings},e))]}),(0,S.jsxs)(`div`,{ref:we,className:`improvement-demo__stage${_?` improvement-demo__stage--selecting`:``}`,role:R?`button`:`group`,tabIndex:_?0:-1,"aria-describedby":`improvement-selection-hint`,"aria-label":R?`Choose region corners`:`Selectable preview`,onKeyDown:e=>{if(e.key===`Escape`)e.preventDefault(),v(!1),z(!1),H(null),W(null),G.current=null,K.current?.focus();else if(_&&e.shiftKey&&e.key===`Enter`)e.preventDefault(),z(!R),H(null),W(null),I(R?x.selectHint:x.regionHint);else if(R&&[`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Enter`,` `].includes(e.key)){if(e.preventDefault(),e.key===`Enter`||e.key===` `)V?He(V,B):(H(B),I(x.firstCorner));else{let t={x:Math.max(0,Math.min(960,B.x+(e.key===`ArrowRight`?10:e.key===`ArrowLeft`?-10:0))),y:Math.max(0,Math.min(560,B.y+(e.key===`ArrowDown`?10:e.key===`ArrowUp`?-10:0)))};xe(t),V&&W(Be(V,t))}}},onPointerDown:e=>{if(!_||e.button!==0||e.target instanceof Element&&e.target.closest(`[data-note-pin]`))return;e.preventDefault();let t=Ve(e);if(!t)return;if(R){xe(t),G.current={start:t,target:void 0,pointerId:e.pointerId},e.currentTarget.setPointerCapture(e.pointerId);return}let n=e.target instanceof Element?e.target.closest(`[data-improvement-target]`):null;G.current={start:t,target:se.find(e=>e.id===n?.getAttribute(`data-improvement-target`)),pointerId:e.pointerId},e.currentTarget.setPointerCapture(e.pointerId)},onPointerMove:e=>{if(!G.current||G.current.pointerId!==e.pointerId)return;let t=Ve(e);if(!t)return;if(R){xe(t),V&&W(Be(V,t));return}let n=Be(G.current.start,t);Math.hypot(n.width,n.height)>=8&&W(n)},onPointerUp:e=>{let t=G.current;if(!t||t.pointerId!==e.pointerId)return;G.current=null,e.currentTarget.releasePointerCapture(e.pointerId);let n=Ve(e);if(!n)return;if(R){xe(n),V?He(V,n):(H(n),I(x.firstCorner));return}let r=Be(t.start,n);Math.hypot(r.width,r.height)>=8?He(t.start,n):t.target&&ze(t.target.rect,t.target),W(null)},onPointerCancel:()=>{G.current=null,W(null)},onLostPointerCapture:()=>{G.current=null,W(null)},children:[(0,S.jsx)(le,{route:m}),_&&!R?se.filter(e=>e.route===m).map(e=>(0,S.jsx)(`button`,{type:`button`,"data-improvement-target":e.id,className:`improvement-demo__element-target`,"aria-label":e.label,style:{left:`${e.rect.x/960*100}%`,top:`${e.rect.y/560*100}%`,width:`${e.rect.width/960*100}%`,height:`${e.rect.height/560*100}%`},onClick:()=>{T||ze(e.rect,e)}},e.id)):null,U?(0,S.jsx)(`div`,{className:`improvement-demo__outline`,style:{left:`${U.x/960*100}%`,top:`${U.y/560*100}%`,width:`${U.width/960*100}%`,height:`${U.height/560*100}%`}}):null,R?(0,S.jsx)(`span`,{className:`improvement-demo__corner`,style:{left:`${B.x/960*100}%`,top:`${B.y/560*100}%`}}):null,Pe.map(e=>(0,S.jsx)(`button`,{"data-note-pin":!0,type:`button`,className:`improvement-demo__pin${be===e.id?` improvement-demo__pin--selected`:``}`,style:{left:`${Math.min(e.rect.x+e.rect.width,930)/960*100}%`,top:`${e.rect.y/560*100}%`},"aria-label":`Open improvement note ${e.id}: ${e.target}`,onClick:()=>{L(e.id),w(!0),he(`active`)},children:e.id},e.id)),X?(0,S.jsx)(`div`,{className:`improvement-demo__outline improvement-demo__outline--saved`,style:{left:`${X.rect.x/960*100}%`,top:`${X.rect.y/560*100}%`,width:`${X.rect.width/960*100}%`,height:`${X.rect.height/560*100}%`}}):null]}),(0,S.jsxs)(`footer`,{className:`improvement-demo__preview-footer`,children:[(0,S.jsx)(`span`,{id:`improvement-selection-hint`,children:_?x.keyboardHint:x.navigationHint}),(0,S.jsx)(`span`,{children:`960 × 560`})]})]}),Q&&!t?.token?(0,S.jsx)(`div`,{className:`canvas-improvement-markers`,children:Pe.map(e=>{let t=Z.resolutions.get(e.id);return!t||t.status!==`resolved`&&t.status!==`moved`?null:(0,S.jsx)(`button`,{type:`button`,className:`improvement-demo__pin`,style:{left:t.point.x,top:t.point.y},"aria-label":`Open improvement note ${e.id}: ${e.target}`,onClick:()=>{L(e.id),he(e.status===`ready`?`ready`:`active`),Re()},children:e.id},e.id)})}):null,t?.token?(0,S.jsx)(ne,{identity:s.state?.identity??``,controls:!1,returnFocusRef:q,open:C&&!t.hubOpen&&!T,active:(C||_)&&!t.hubOpen&&!T,onOpen:Re,onClose:()=>{w(!1),q.current?.focus()},threads:p.map(e=>ae(e,Z.resolutions.get(e.id))),busy:s.busy||!s.state,activeBatch:!!s.state?.activeBatch,error:s.error||u||s.state?.profileError||(s.state?Z.ready?``:x.bridgeUnavailable:x.storageLoading),onSelect:e=>{let n=p.find(t=>t.id===e);n&&n.route!==m&&t.onNavigate(new URL(n.route,t.prototypeUrl).href)},onFollowUp:(e,t)=>s.change(`follow-up`,{id:e.id,expectedNoteRevision:e.revision,body:t}),onResolve:e=>s.change(`status`,{id:e.id,expectedNoteRevision:e.revision,status:`resolved`}),onDelete:e=>s.change(`delete`,{id:e.id,expectedNoteRevision:e.revision}),onFix:()=>s.change(`fix`),onRetry:e=>s.change(`status`,{id:e.id,expectedNoteRevision:e.revision,status:`open`})}):(0,S.jsxs)(h,{className:`improvement-notes-sidebar`,contentClassName:`improvement-demo__panel`,title:x.notes,open:C&&!t?.hubOpen,closeLabel:x.closeNotes,onClose:()=>{w(!1),q.current?.focus()},children:[s.error&&(!T||!Y)?(0,S.jsx)(`p`,{role:`alert`,className:`improvement-demo__notice`,children:s.error}):null,u?(0,S.jsx)(`p`,{role:`status`,className:`improvement-demo__notice`,children:u}):null,t?.token&&!s.state?(0,S.jsx)(`p`,{role:`status`,className:`improvement-demo__notice`,children:x.storageLoading}):null,Q&&!Z.ready?(0,S.jsx)(`p`,{role:`status`,className:`improvement-demo__notice`,children:x.bridgeUnavailable}):null,(0,S.jsxs)(`div`,{className:`improvement-demo__filters`,children:[(0,S.jsxs)(b.ActionMenu,{size:`small`,selectionVariant:`single`,menuAlignment:`start`,onSelect:he,children:[(0,S.jsx)(b.ActionMenu.Button,{size:`small`,variant:`secondary`,"aria-label":`${x.filter}: ${je}`,children:je}),(0,S.jsx)(b.ActionMenu.Overlay,{"aria-label":x.filter,children:[{value:`active`,label:x.allActive},{value:`ready`,label:x.readyFilter},{value:`resolved`,label:x.resolvedFilter}].map(e=>(0,S.jsx)(b.ActionMenu.Item,{value:e.value,selected:M===e.value,role:`menuitemradio`,onKeyDownCapture:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),e.stopPropagation(),e.currentTarget.click())},children:e.label},e.value))})]}),M===`active`?(0,S.jsx)(b.Button,{size:`small`,variant:`primary`,className:`improvement-demo__fix-all`,leadingVisual:(0,S.jsx)(l,{}),"aria-label":x.fixAll(J.length),disabled:!J.length||Ne||s.busy,title:Ne?Q?x.productionBusy:x.fixBusy:void 0,onClick:()=>void Ge(),children:(0,S.jsxs)(`span`,{className:`improvement-demo__fix-label`,children:[x.fix,(0,S.jsx)(te,{children:J.length})]})}):null]}),(0,S.jsxs)(`div`,{className:`improvement-demo__note-list`,children:[Me.length?null:(0,S.jsxs)(`div`,{className:`improvement-demo__empty`,children:[(0,S.jsx)(d,{size:28}),(0,S.jsx)(`h2`,{children:p.length?x.emptyFilter:x.empty}),p.length?null:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`p`,{children:x.emptyBody}),(0,S.jsx)(b.Button,{size:`small`,variant:`secondary`,leadingVisual:(0,S.jsx)(a,{}),disabled:Q&&(!Z.ready||!Y),onClick:()=>{v(!0),w(!1),K.current?.focus()},children:x.annotate})]})]}),Me.map(e=>(0,S.jsxs)(`article`,{"aria-label":`Improvement note ${e.id}`,className:`improvement-demo__note${be===e.id?` improvement-demo__note--focused`:``}`,children:[(0,S.jsxs)(`div`,{className:`improvement-demo__note-header`,children:[e.status===`ready`?(0,S.jsx)(`span`,{className:`improvement-demo__status improvement-demo__status--ready`,children:x.statuses.ready}):null,(0,S.jsx)(`p`,{className:`improvement-demo__body`,children:e.body}),(0,S.jsx)(`div`,{className:`improvement-demo__note-menu`,children:(0,S.jsxs)(b.ActionMenu,{selectionVariant:`none`,size:`small`,menuAlignment:`end`,children:[(0,S.jsx)(b.ActionMenu.Button,{className:`improvement-demo__menu-trigger`,variant:`subtle`,"aria-label":x.noteActions(e.target),leadingVisual:(0,S.jsx)(n,{size:16}),children:``}),(0,S.jsxs)(b.ActionMenu.Overlay,{"aria-label":x.noteActions(e.target),children:[(0,S.jsx)(b.ActionMenu.Item,{value:`edit`,className:`improvement-demo__menu-item`,leadingVisual:(0,S.jsx)(d,{size:16}),disabled:e.status===`ready`,title:e.status===`ready`?x.readyReadOnly:void 0,onClick:()=>{e.status===`ready`?I(x.readyReadOnly):(E({...e,identity:s.state?.identity,noteRevision:e.revision,originalBody:e.body}),O(e.id),A(e.body))},onKeyDownCapture:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),e.stopPropagation(),e.currentTarget.click())},children:x.editAction}),(0,S.jsx)(b.ActionMenu.Item,{value:`delete`,className:`improvement-demo__menu-item improvement-demo__delete-item`,leadingVisual:(0,S.jsx)(c,{size:16}),onClick:()=>me({id:e.id,revision:e.revision,body:e.body,identity:s.state?.identity}),onKeyDownCapture:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),e.stopPropagation(),e.currentTarget.click())},children:x.deleteAction})]})]})})]}),(0,S.jsxs)(`div`,{className:`improvement-demo__note-meta`,children:[(0,S.jsx)(`span`,{children:e.target}),(0,S.jsx)(`span`,{className:`improvement-demo__note-separator`,"aria-hidden":`true`}),(0,S.jsx)(`button`,{className:`improvement-demo__note-route`,type:`button`,"aria-label":`${x.viewTarget}: ${e.target} (${e.route})`,onClick:()=>{if(t&&e.anchor){let n=new URL(t.prototypeUrl);n.pathname=e.anchor.route.pathname,n.search=e.anchor.route.search,n.hash=e.anchor.route.hash,t.onNavigate(n.href)}else ee(e.route);L(e.id)},children:(0,S.jsx)(`code`,{children:e.route})})]}),e.status!==`open`&&e.status!==`ready`?(0,S.jsx)(`span`,{className:`improvement-demo__status improvement-demo__status--${e.status}`,children:x.statuses[e.status]}):null,e.status===`ready`?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`details`,{className:`improvement-demo__solution`,children:[(0,S.jsxs)(`summary`,{children:[(0,S.jsx)(i,{size:14,"aria-hidden":`true`}),x.solution]}),(0,S.jsx)(`p`,{children:e.result||(Q?x.solutionUnavailable:x.noteReady)})]}),(0,S.jsx)(`p`,{className:`improvement-demo__read-only`,children:x.readyReadOnly})]}):e.result?(0,S.jsx)(`p`,{className:`improvement-demo__result`,children:e.result}):null,e.capture&&!e.capturePlaceholder?(0,S.jsx)(`img`,{className:`improvement-demo__thumbnail`,src:e.capture,alt:`${e.capturePlaceholder?x.capturePlaceholder:x.capture}: ${e.target}`}):null,!Q&&(e.status===`sent`||e.status===`blocked`)?(0,S.jsx)(`p`,{className:`improvement-demo__result`,children:e.status===`sent`?x.noteSent:x.noteBlocked}):null,(0,S.jsxs)(`div`,{className:`improvement-demo__note-actions`,children:[Q&&e.status===`sent`?(0,S.jsx)(b.Button,{size:`small`,variant:`secondary`,onClick:()=>void $(e,`open`),children:x.returnToActive}):null,e.status===`ready`?(0,S.jsx)(b.Button,{size:`small`,variant:`secondary`,leadingVisual:(0,S.jsx)(f,{}),onClick:()=>$(e,`resolved`),children:x.resolve}):null,e.status===`resolved`?(0,S.jsx)(b.Button,{size:`small`,variant:`secondary`,onClick:()=>$(e,`open`),children:x.reopen}):null,e.status===`blocked`?(0,S.jsx)(b.Button,{size:`small`,variant:`secondary`,onClick:()=>$(e,`open`),children:x.retryFix}):null]}),!Q&&e.status===`sent`?(0,S.jsxs)(`details`,{className:`improvement-demo__simulation`,children:[(0,S.jsx)(`summary`,{children:x.perNoteResult}),(0,S.jsx)(b.Button,{size:`small`,variant:`secondary`,onClick:()=>$(e,`ready`),children:x.complete}),(0,S.jsx)(b.Button,{size:`small`,variant:`secondary`,onClick:()=>$(e,`blocked`),children:x.block})]}):null,Q?null:(0,S.jsx)(`small`,{className:e.sync===`failed`?`improvement-demo__sync-error`:``,children:x.sync[e.sync]})]},e.id))]}),!Q&&Ne?(0,S.jsx)(b.Button,{size:`small`,variant:`secondary`,onClick:()=>F(!0),children:x.batchLabel(P.length)}):null,Q?null:(0,S.jsxs)(`footer`,{className:`improvement-demo__connection`,children:[(0,S.jsxs)(`label`,{children:[x.syncControls,(0,S.jsxs)(`select`,{value:N,onChange:e=>{let t=e.target.value;(t===`offline`||t===`connected`||t===`failed`)&&(ge(t),t!==`offline`&&o(e=>e.map(e=>({...e,sync:t===`connected`?`synced`:`failed`}))))},children:[(0,S.jsx)(`option`,{value:`offline`,children:x.offline}),(0,S.jsx)(`option`,{value:`connected`,children:x.connected}),(0,S.jsx)(`option`,{value:`failed`,children:x.syncFailure})]})]}),p.some(e=>e.sync===`failed`)?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`p`,{children:x.syncFailed}),(0,S.jsx)(b.Button,{size:`small`,variant:`secondary`,onClick:()=>{ge(`connected`),o(e=>e.map(e=>({...e,sync:`synced`}))),I(x.syncSuccess)},children:x.syncRetry})]}):null]})]})]}),(0,S.jsx)(`p`,{className:`improvement-demo__announcement${Q?` visually-hidden`:``}`,role:`status`,children:ye}),De?(0,S.jsxs)(g,{title:D===null?x.add:x.edit,closeLabel:x.closeComposer,returnFocusRef:K,onClose:Ue,className:`improvement-demo__composer`,children:[s.error?(0,S.jsx)(`p`,{role:`alert`,className:`improvement-demo__notice`,children:s.error}):null,Oe?(0,S.jsx)(`p`,{role:`alert`,className:`improvement-demo__notice`,children:x.branchChanged}):null,ke?(0,S.jsx)(`p`,{role:`alert`,className:`improvement-demo__notice`,children:x.readyReadOnly}):null,(0,S.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),We()},children:[(0,S.jsxs)(b.FormControl,{fullWidth:!0,children:[(0,S.jsx)(b.FormControl.Label,{children:x.label}),(0,S.jsx)(b.Textarea,{ref:Te,value:k,maxLength:1e4,rows:4,placeholder:x.placeholder,readOnly:ke,onChange:e=>A(e.target.value),required:!0})]}),(0,S.jsx)(`div`,{className:`improvement-demo__dialog-actions`,children:(0,S.jsx)(b.Button,{type:`submit`,size:`small`,variant:`primary`,disabled:!k.trim()||s.busy||Oe||ke,children:D===null?x.save:x.saveEdit})})]})]}):null,fe&&Y?(0,S.jsxs)(g,{title:x.discardTitle,closeLabel:x.closeDiscard,returnFocusRef:K,onClose:()=>pe(!1),children:[(0,S.jsx)(`p`,{children:x.discardBody}),(0,S.jsxs)(`div`,{className:`improvement-demo__dialog-actions`,children:[(0,S.jsx)(b.Button,{size:`small`,variant:`secondary`,onClick:()=>pe(!1),children:x.keep}),(0,S.jsx)(b.Button,{size:`small`,variant:`primary`,onClick:()=>{pe(!1),E(null),O(null),A(``)},children:x.discard})]})]}):null,j!==null&&Y?(0,S.jsxs)(g,{title:x.deleteTitle,closeLabel:x.closeDelete,returnFocusRef:q,onClose:()=>me(null),children:[(0,S.jsx)(`p`,{children:x.deleteBody}),(0,S.jsx)(`blockquote`,{className:`improvement-demo__delete-preview`,children:j.body}),(0,S.jsxs)(`div`,{className:`improvement-demo__dialog-actions`,children:[(0,S.jsx)(b.Button,{size:`small`,variant:`secondary`,onClick:()=>me(null),children:x.cancel}),(0,S.jsx)(b.Button,{size:`small`,variant:`primary`,className:`improvement-demo__delete-confirm`,onClick:async()=>{(!t?.token||await s.change(`delete`,{id:j.id,identity:j.identity,expectedNoteRevision:j.revision}))&&(o(e=>e.filter(e=>e.id!==j.id)),me(null),L(null))},children:x.deleteAction})]})]}):null,ve?(0,S.jsxs)(g,{title:x.handoff,closeLabel:x.closeBatch,returnFocusRef:q,onClose:()=>F(!1),className:`improvement-demo__handoff`,children:[(0,S.jsx)(`p`,{children:x.handoffNotice}),(0,S.jsxs)(`div`,{className:`improvement-demo__batch-context`,children:[(0,S.jsx)(`code`,{children:t?.branch??x.branch}),(0,S.jsxs)(`span`,{children:[Q?x.canvasBatchSource:x.sampleBatchSource,` · `,P.length,` notes`]})]}),(0,S.jsx)(`ol`,{children:P.map(e=>(0,S.jsxs)(`li`,{children:[(0,S.jsxs)(`strong`,{children:[`#`,e.id,` · `,e.target]}),(0,S.jsxs)(`code`,{children:[e.route,` · revision `,e.revision]}),(0,S.jsx)(`p`,{children:e.body}),(0,S.jsx)(`img`,{className:`improvement-demo__thumbnail`,src:e.capture,alt:`${e.capturePlaceholder?x.capturePlaceholder:x.capture}: ${e.target}`}),(0,S.jsx)(`code`,{children:e.selector??`Region: ${e.rect.x}, ${e.rect.y}, ${e.rect.width} × ${e.rect.height}`})]},`${e.id}-${e.revision}`))}),(0,S.jsx)(`p`,{className:`improvement-demo__form-hint`,children:x.batchHint}),(0,S.jsxs)(`div`,{className:`improvement-demo__dialog-actions`,children:[(0,S.jsx)(b.Button,{size:`small`,variant:`secondary`,onClick:()=>F(!1),children:x.closeHandoff}),(0,S.jsx)(b.Button,{size:`small`,variant:`secondary`,onClick:()=>Ke(`blocked`),children:x.block}),(0,S.jsx)(b.Button,{size:`small`,variant:`primary`,onClick:()=>Ke(`ready`),children:x.complete})]})]}):null]})}export{w as t}; \ No newline at end of file +import{n as e,r as t}from"./renderer-rolldown-runtime.js";import{K as n,M as r,X as i,Y as a,q as o}from"./renderer-vendor.js";import{a as s,c,m as l,o as u,p as d,s as f}from"./renderer.js";import{t as p}from"./renderer-prototype-canvas-improvement-threads.js";var m=t(i(),1),h=a(),g=n(),_={title:`Pick & polish`,localAuthor:`Local author`,bridgeUnavailable:`Annotation needs the updated Replica preview bridge. Reconnect or reload the preview after updating the canvas.`,sourceUnavailable:`You can still save this improvement locally, but it cannot sync without a captured source.`,annotate:`Pick & polish`,openNotes:e=>`Open improvement notes (${e})`,notes:`Pick & polish`,selectHint:`Click an element or drag a rectangle. For a keyboard region, focus the preview, press Shift+Enter, then use arrows and Enter to choose two corners. Escape exits annotation mode.`,regionSmall:`Choose a larger region, at least 8 preview pixels wide and high.`,add:`Add improvement note`,label:`What should change?`,placeholder:`Describe the improvement you want Copilot to make...`,save:`Save note`,cancel:`Cancel`,discard:`Discard draft`,keep:`Keep writing`,discardTitle:`Discard your unsaved note?`,discardBody:`Your saved notes will stay unchanged.`,capture:`Captured target`,editAction:`Edit`,previewUnavailable:`The preview selection is unavailable. Try selecting the target again.`,saved:`Note added.`,storageLoading:`Loading your notes...`,branchChanged:`The prototype branch changed. Close this draft and select the target again.`,workChanged:`The open improvements changed while syncing. Review them and select Fix all again.`,closeComposer:`Close note composer`,closeDiscard:`Close discard confirmation`};function v(e,t){let n=[e.thread?.originalStatus??e.status,...e.thread?.messages.filter(e=>e.role===`author`).map(e=>e.status)??[]];return{id:e.id,revision:e.revision,body:e.body,capture:e.capture,author:e.thread?.originalAuthor?`@${e.thread.originalAuthor.login}`:e.author===`local`?_.localAuthor:`@${e.author}`,avatarUrl:(e.thread?.originalAuthor??e.authorProfile)?.avatarUrl,target:e.target,path:e.route,status:e.status,originalPending:(e.thread?.originalStatus??e.status)===`open`,...n.includes(`sent`)?{retryStatus:`sent`}:n.includes(`blocked`)?{retryStatus:`blocked`}:{},messages:e.thread?.messages.map(e=>({...e,...e.role===`author`&&e.author?{author:`@${e.author.login}`,avatarUrl:e.author.avatarUrl}:{author:void 0},pending:e.role===`author`&&e.status===`open`}))??(e.result?[{id:`legacy-result`,role:`copilot`,body:e.result,status:e.status===`blocked`?`blocked`:`ready`}]:[]),...t&&(t.status===`resolved`||t.status===`moved`)?{point:t.point}:{}}}function y(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function b({frameRef:e,prototypeUrl:t,previewUrl:n,notes:r,annotating:i,composing:a,onSelect:o,onRoute:s,onCancel:l,onProblem:d}){let p=n??t,[h,g]=(0,m.useState)(null),[v,b]=(0,m.useState)(new Map),x=JSON.stringify(r.filter(e=>e.anchor).slice(0,200).map(e=>({id:e.id,anchor:e.anchor}))),S=(0,m.useEffectEvent)(e=>{if(!i||a)return;let t=f.safeParse(e);t.success?o(t.data):(l(),d(_.previewUnavailable))}),C=(0,m.useCallback)((t,n={})=>{p&&h&&e?.current?.contentWindow&&e.current.contentWindow.postMessage({type:t,nonce:h.nonce,...n},new URL(p).origin)},[h,e,p]);return(0,m.useEffect)(()=>{let t=e?.current;if(!t||!p)return;let n=new URL(p).origin,r=crypto.randomUUID(),i=Date.now(),a=JSON.parse(x);function o(){t?.contentWindow?.postMessage({type:`replica:canvas:request-ready`,nonce:r},n),t?.contentWindow?.postMessage({type:`replica:canvas:resolve`,nonce:r,anchors:a},n)}function f(){r=crypto.randomUUID(),i=Date.now(),g({nonce:r,ready:!1}),b(new Map),l(),o()}function m(e){let a=e.data;if(e.source===t?.contentWindow&&e.origin===n&&y(a)&&a.nonce===r){if(a.type===`replica:canvas:ready`){let e=c.safeParse(a.route);if(a.protocolVersion!==1||a.improvementSelection!==!0||!e.success){g({nonce:r,ready:!1}),d(_.bridgeUnavailable);return}i=Date.now(),g(e=>e?.nonce===r&&e.ready?e:{nonce:r,ready:!0}),s(e.data.pathname+e.data.search+e.data.hash)}else if(a.type===`replica:canvas:selected`)S(a.anchor);else if(a.type===`replica:canvas:resolved`&&Array.isArray(a.results)){let e=new Map;for(let t of a.results){if(!y(t))continue;let n=u.safeParse({commentId:t.id,status:`resolved`,point:{x:t.x,y:t.y},rect:t.rect??{x:t.x,y:t.y,width:1,height:1}});n.success&&e.set(n.data.commentId,n.data)}b(e)}else a.type===`replica:canvas:selection-failed`||a.type===`replica:canvas:bridge-error`?(l(),d(a.reason===`area-too-small`?_.regionSmall:_.bridgeUnavailable)):a.type===`replica:canvas:selection-cancelled`?a.reason!==`command`&&l():a.type===`replica:canvas:conversation-dismiss-requested`&&window.dispatchEvent(new Event(`replica:review-dismiss`))}}t.addEventListener(`load`,f),window.addEventListener(`message`,m),g({nonce:r,ready:!1}),o();let h=window.setInterval(()=>{Date.now()-i>2e4&&(g({nonce:r,ready:!1}),b(new Map),l(),d(_.bridgeUnavailable)),o()},2e3);return()=>{t.removeEventListener(`load`,f),window.removeEventListener(`message`,m),window.clearInterval(h),t.contentWindow?.postMessage({type:`replica:canvas:cancel-selection`,nonce:r},n),t.contentWindow?.postMessage({type:`replica:canvas:clear-selection`,nonce:r},n)}},[x,e,p,l,d,s]),(0,m.useEffect)(()=>{h?.ready&&(i&&!a?C(`replica:canvas:select`,{mode:`improvement`}):C(`replica:canvas:cancel-selection`),a||C(`replica:canvas:clear-selection`))},[i,a,h?.ready,C]),{ready:h?.ready===!0,resolutions:v}}function x(e){let[t,n]=(0,m.useState)(null),[r,i]=(0,m.useState)(``),[a,o]=(0,m.useState)(``),[c,l]=(0,m.useState)(!1),u=(0,m.useRef)(null),d=(0,m.useRef)(!1),f=(0,m.useRef)(null),p=(0,m.useRef)(!1),h=(0,m.useRef)(0);function g(e){p.current&&(u.current=e,n(e))}(0,m.useEffect)(()=>{if(!e)return;p.current=!0;let t=!1,r=!1,a=0;async function c(){if(d.current||r)return;r=!0;let c=h.current;try{let n=await s(`/api/improvement-notes`,e);if(d.current||c!==h.current||t)return;if(g(n),Date.now()-a>15e3){a=Date.now();let r=s(`/api/improvement-notes/sync`,e,{method:`POST`,body:JSON.stringify({identity:n.identity,revision:n.revision})}).then(e=>{t||g(e)});f.current=r;try{await r}finally{f.current===r&&(f.current=null)}}t||o(``)}catch(e){t||(e instanceof Error&&`statusCode`in e&&e.statusCode===403&&(u.current=null,n(null),i(``)),o(e instanceof Error?e.message:String(e)))}finally{r=!1}}c();let l=window.setInterval(()=>void c(),3e3);return()=>{p.current=!1,t=!0,window.clearInterval(l)}},[e]);async function v(t,n={}){if(!e||!u.current||d.current)return!1;let r=u.current.identity,a=u.current.notes.filter(e=>e.status===`open`).map(e=>`${e.id}:${e.revision}`).sort().join(`,`);d.current=!0,h.current++,l(!0),i(``);try{if(await f.current,!p.current)return!1;if(!u.current||u.current.identity!==r)throw Error(_.branchChanged);if(t===`fix`&&u.current.notes.filter(e=>e.status===`open`).map(e=>`${e.id}:${e.revision}`).sort().join(`,`)!==a)throw Error(_.workChanged);return g(await s(t===`fix`?`/api/improvement-notes/fix`:`/api/improvement-notes`,e,{method:`POST`,body:JSON.stringify({identity:u.current.identity,revision:u.current.revision,operation:t,...n})})),!0}catch(e){return p.current&&i(e instanceof Error?e.message:String(e)),!1}finally{d.current=!1,p.current&&l(!1)}}async function y(){if(!e)return null;i(``);try{return await s(`/api/improvement-notes/capture`,e,{method:`POST`})}catch(e){return i(`${e instanceof Error?e.message:String(e)} ${_.sourceUnavailable}`),null}}return{state:t,error:r||a,busy:c,change:v,capture:y}}var S=e({ImprovementNotesPrototype:()=>w}),C=o();function w({canvas:e}){let t=x(e.token),n=t.state?.notes??[],[i,a]=(0,m.useState)(``),[o,s]=(0,m.useState)(!1),[c,u]=(0,m.useState)(!1),[f,y]=(0,m.useState)(null),[S,w]=(0,m.useState)(null),[T,E]=(0,m.useState)(``),[D,O]=(0,m.useState)(!1),[k,A]=(0,m.useState)(!0),[j,M]=(0,m.useState)(``),N=(0,m.useRef)(0),P=(0,m.useRef)(null),F=(0,m.useRef)(null),I=(0,m.useRef)(null),L=S!==null&&S.identity!==t.state?.identity,R=S!==null&&!D&&t.state!==null,z=n.filter(e=>e.status!==`resolved`).length,B=t.state?.syncError===`Notes are saved locally until Hub discovers this branch.`?null:t.state?.syncError,V=(0,m.useCallback)(e=>{w({identity:f?.identity??t.state?.identity,sourceId:f?.sourceId,anchor:e}),E(``)},[t.state?.identity,f]),H=(0,m.useCallback)(()=>{N.current++,u(!1),P.current?.getAttribute(`aria-pressed`)===`true`&&P.current.focus(),s(!1)},[]),U=b({frameRef:e.frameRef,prototypeUrl:e.prototypeUrl,previewUrl:e.previewUrl,notes:n,annotating:o,composing:S!==null,onSelect:V,onRoute:a,onCancel:H,onProblem:M});(0,m.useLayoutEffect)(()=>{R&&F.current?.focus()},[R]);function W(){A(!0),e.onOpenNotes()}async function G(){let e=++N.current;u(!0);let n=await t.capture();e===N.current&&(u(!1),y(n),s(!0),A(!1),M(_.selectHint))}function K(){T===``?(w(null),H()):O(!0)}async function q(){S&&T.trim()&&!t.busy&&!L&&await t.change(`create`,{identity:S.identity,sourceId:S.sourceId,body:T.trim(),anchor:S.anchor,capture:``})&&(W(),H(),w(null),M(_.saved))}return(0,C.jsxs)(`section`,{"aria-label":_.title,className:`improvement-demo`,onKeyDown:e=>{e.key===`Escape`&&!e.defaultPrevented&&!S&&H()},children:[e.toolbarTarget&&(0,h.createPortal)((0,C.jsxs)(`div`,{role:`group`,"aria-label":_.title,className:`improvement-demo__split`,children:[(0,C.jsx)(g.Button,{ref:P,size:`small`,variant:`secondary`,className:`canvas-toolbar-compact-button`,title:_.annotate,leadingVisual:(0,C.jsx)(r,{}),"aria-pressed":o,disabled:c||!U.ready||!t.state,onClick:()=>{o?H():G()},children:(0,C.jsx)(`span`,{className:`canvas-toolbar-button-label`,children:_.annotate})}),(0,C.jsx)(g.Button,{ref:I,size:`small`,variant:`secondary`,"aria-label":_.openNotes(z),"aria-expanded":k&&!e.hubOpen,onClick:W,children:(0,C.jsx)(d,{children:z})})]}),e.toolbarTarget),(0,C.jsx)(p,{identity:t.state?.identity??``,controls:!1,returnFocusRef:I,open:k&&!e.hubOpen&&!S,active:(k||o)&&!e.hubOpen&&!S,onOpen:W,onClose:()=>{A(!1),I.current?.focus()},threads:n.map(e=>v(e,U.resolutions.get(e.id))),busy:t.busy||!t.state,activeBatch:!!t.state?.activeBatch,error:t.error||B||t.state?.profileError||(t.state?U.ready?``:_.bridgeUnavailable:_.storageLoading),onSelect:t=>{let r=n.find(e=>e.id===t);r&&r.route!==i&&e.onNavigate(new URL(r.route,e.prototypeUrl).href)},onFollowUp:(e,n)=>t.change(`follow-up`,{id:e.id,expectedNoteRevision:e.revision,body:n}),onResolve:e=>t.change(`status`,{id:e.id,expectedNoteRevision:e.revision,status:`resolved`}),onDelete:e=>t.change(`delete`,{id:e.id,expectedNoteRevision:e.revision}),onFix:()=>t.change(`fix`),onRetry:e=>t.change(`status`,{id:e.id,expectedNoteRevision:e.revision,status:`open`})}),(0,C.jsx)(`p`,{className:`visually-hidden`,role:`status`,children:j}),R?(0,C.jsxs)(l,{title:_.add,closeLabel:_.closeComposer,returnFocusRef:P,onClose:K,className:`improvement-demo__composer`,children:[t.error?(0,C.jsx)(`p`,{role:`alert`,className:`improvement-demo__notice`,children:t.error}):null,L?(0,C.jsx)(`p`,{role:`alert`,className:`improvement-demo__notice`,children:_.branchChanged}):null,(0,C.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),q()},children:[(0,C.jsxs)(g.FormControl,{fullWidth:!0,children:[(0,C.jsx)(g.FormControl.Label,{children:_.label}),(0,C.jsx)(g.Textarea,{ref:F,value:T,maxLength:1e4,rows:4,placeholder:_.placeholder,onChange:e=>E(e.target.value),required:!0})]}),(0,C.jsx)(`div`,{className:`improvement-demo__dialog-actions`,children:(0,C.jsx)(g.Button,{type:`submit`,size:`small`,variant:`primary`,disabled:!T.trim()||t.busy||L,children:_.save})})]})]}):null,D&&t.state?(0,C.jsxs)(l,{title:_.discardTitle,closeLabel:_.closeDiscard,returnFocusRef:P,onClose:()=>O(!1),children:[(0,C.jsx)(`p`,{children:_.discardBody}),(0,C.jsxs)(`div`,{className:`improvement-demo__dialog-actions`,children:[(0,C.jsx)(g.Button,{size:`small`,variant:`secondary`,onClick:()=>O(!1),children:_.keep}),(0,C.jsx)(g.Button,{size:`small`,variant:`primary`,onClick:()=>{O(!1),w(null),E(``),H()},children:_.discard})]})]}):null]})}export{S as t}; \ No newline at end of file diff --git a/.github/extensions/replica-prototype/assets/renderer.css b/.github/extensions/replica-prototype/assets/renderer.css index 4dcced1c..58914887 100644 --- a/.github/extensions/replica-prototype/assets/renderer.css +++ b/.github/extensions/replica-prototype/assets/renderer.css @@ -1,2 +1,2 @@ -.hub-spinner{vertical-align:middle;border:2px solid color-mix(in srgb, currentColor 23%, transparent);border-block-start-color:currentColor;border-radius:50%;flex:none;width:1.25rem;height:1.25rem;display:inline-block}.hub-spinner--small{width:1rem;height:1rem}@media (prefers-reduced-motion:no-preference){.hub-spinner{animation:.75s linear infinite hub-spinner-turn}}@keyframes hub-spinner-turn{to{transform:rotate(360deg)}}.hub-visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.hub-icon-button:is(button,a){width:var(--brand-control-small-size);min-width:var(--brand-control-small-size);height:var(--brand-control-small-size);min-height:var(--brand-control-small-size);flex:none;gap:0;padding:0}.hub-icon-button.hub-icon-button--danger:not(:disabled):not([aria-disabled=true]){color:var(--hub-fg-danger)}.hub-icon-button.hub-icon-button--invisible:is(button,a){box-shadow:none;background-color:#0000;border:0}.canvas-dialog{box-sizing:border-box;width:min(32rem,100% - 2rem);max-height:calc(100% - 2rem);color:var(--hub-fg-default);background:var(--hub-canvas-default);border:1px solid var(--hub-border-default);box-shadow:var(--hub-shadow-floating);border-radius:.75rem;padding:1.25rem}.canvas-dialog::backdrop{background:#00000080}.canvas-dialog-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.canvas-dialog-header h2{margin:0}.canvas-dialog>p{margin:.75rem 0}.build-details-list{gap:1.25rem;margin:0;display:grid}.build-details-list dt{color:var(--brand-color-text-muted,#656d76);margin-bottom:.375rem;font-weight:600}.build-details-list dd{min-width:0;font-size:var(--brand-text-size-200,1rem);align-items:center;gap:.5rem;margin:0;display:flex}.build-details-list code{overflow-wrap:anywhere;min-width:0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.build-details-list dd>svg{color:var(--brand-color-text-muted,#656d76);flex:none}.build-details-list button{flex-shrink:0}.build-details-copy-error{color:var(--brand-color-danger-fg,#cf222e);margin-top:1rem;display:block}.hub-connection-approval{gap:var(--base-size-16);margin-block:1rem 0;display:grid}.hub-connection-approval p{margin:0}.hub-connection-approval-actions{border:1px solid var(--brand-button-primary-bgColor-rest);border-radius:var(--base-size-6);justify-self:start;align-items:stretch;gap:0;display:inline-flex}.hub-connection-approval-actions>:is(a,button){box-shadow:none;border:0;border-radius:0;margin:0}.hub-connection-approval-actions>a{overflow-wrap:anywhere;border-start-start-radius:calc(var(--base-size-6) - 1px);border-end-start-radius:calc(var(--base-size-6) - 1px)}.hub-connection-approval-actions>.hub-connection-approval-copy{--hub-approval-separator:var(--brand-button-primary-borderColor-active);--brand-button-secondary-bgColor-rest:var(--brand-button-primary-bgColor-rest);--brand-button-secondary-bgColor-hover:var(--brand-button-primary-bgColor-hover);--brand-button-secondary-bgColor-active:var(--brand-button-primary-bgColor-active);--brand-button-secondary-fgColor-rest:var(--brand-button-primary-fgColor-rest);--brand-button-secondary-borderColor-rest:var(--hub-approval-separator);--brand-button-secondary-borderColor-hover:var(--hub-approval-separator);--brand-button-secondary-borderColor-active:var(--hub-approval-separator);width:var(--brand-control-medium-size);min-width:var(--brand-control-medium-size);border-inline-start:1px solid var(--hub-approval-separator);border-start-end-radius:calc(var(--base-size-6) - 1px);border-end-end-radius:calc(var(--base-size-6) - 1px);height:auto}.hub-connection-approval-actions>:focus-visible{z-index:1;position:relative}.hub-connection-origin{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.hub-connection-origin a{min-width:0;color:inherit;overflow-wrap:anywhere;text-decoration:none}.hub-connection-origin a:focus-visible{outline:2px solid var(--hub-focus);outline-offset:2px}.hub-connection-origin-field{justify-items:start;gap:.5rem;margin-bottom:1rem;display:grid}.hub-connection-origin-input{align-items:center;gap:.5rem;width:100%;display:flex}.hub-alert{--hub-alert-accent:var(--hub-attention);min-width:0;padding:var(--hub-space-16);align-items:center;gap:var(--hub-space-12);border:var(--brand-borderWidth-thin) solid var(--hub-border-default);border-inline-start:var(--brand-borderWidth-thicker) solid var(--hub-alert-accent);border-radius:var(--hub-radius-small);background:var(--hub-canvas-default);color:var(--hub-fg-default);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.hub-alert--critical{--hub-alert-accent:var(--hub-fg-danger)}.hub-alert--info{--hub-alert-accent:var(--hub-accent)}.hub-alert--success{--hub-alert-accent:var(--hub-fg-success)}.hub-alert--compact{padding:var(--hub-space-12) var(--hub-space-16)}.hub-alert__icon{color:var(--hub-alert-accent);flex:none}.hub-alert__content{min-width:0}.hub-alert__message{overflow-wrap:anywhere;min-width:0;margin:0}.hub-alert__title{font-weight:var(--brand-text-weight-bold)}.hub-alert__description{margin-block-start:var(--hub-space-4);display:block}.hub-alert__action{justify-self:end;align-items:center;gap:var(--hub-space-8);display:flex}@media (width<=48rem){.hub-alert__action{grid-column:2/-1;justify-self:start}}.publish-changes-dialog__actions{gap:var(--base-size-8);flex-wrap:wrap;display:flex}.publish-changes-dialog p{margin:0}.publish-changes-dialog__files{max-height:10rem;padding-left:var(--base-size-20);overflow-wrap:anywhere;margin:0;overflow-y:auto}.copyable-text-input{width:100%;min-width:0}.copyable-text-input__control{min-width:0;position:relative}.copyable-text-input__input{min-width:0;text-overflow:ellipsis;padding-inline-end:calc(var(--brand-control-small-size) + var(--hub-space-12))}.copyable-text-input:not(.copyable-text-input--compact) .copyable-text-input__input{text-overflow:clip;padding-inline-end:var(--hub-space-12)}.copyable-text-input .copyable-text-input__button{position:absolute;inset-block-start:50%;inset-inline-end:var(--hub-space-4);transform:translateY(-50%)}.copyable-text-input:not(.copyable-text-input--compact) .copyable-text-input__button:is(button){--brand-button-subtle-bgColor-hover:color-mix(in srgb, var(--hub-fg-default) 12%, var(--hub-canvas-default));--brand-button-subtle-bgColor-active:color-mix(in srgb, var(--hub-fg-default) 18%, var(--hub-canvas-default));width:calc(var(--brand-control-medium-size) - var(--hub-space-8));min-width:0;height:calc(var(--brand-control-medium-size) - var(--hub-space-8));background-color:var(--hub-canvas-default);min-height:0;color:var(--hub-fg-default);border-color:#0000}.copyable-text-input:not(.copyable-text-input--compact) .copyable-text-input__button:before{background:linear-gradient(to right, transparent, var(--hub-canvas-default));content:"";pointer-events:none;width:1rem;position:absolute;inset-block:0;inset-inline-end:100%}.copyable-text-input__button:focus-visible{outline:2px solid var(--hub-focus);outline-offset:-2px}.copyable-text-input__error{color:var(--hub-fg-danger);margin-block-start:var(--hub-space-8);display:block}.copyable-text-input--compact .copyable-text-input__control{align-items:center;gap:1px;display:flex}.copyable-text-input--compact .copyable-text-input__input{min-width:0;height:var(--brand-control-small-size);padding:0 var(--hub-space-12);border:1px solid var(--hub-border-default);border-radius:var(--hub-radius-medium);background:var(--hub-canvas-default);color:var(--hub-fg-default);font-size:var(--brand-text-size-100);flex:1}.copyable-text-input--compact .copyable-text-input__input:focus-visible{outline:2px solid var(--hub-focus);outline-offset:1px}.copyable-text-input--compact .copyable-text-input__button{position:static;transform:none}.prototype-workspace__body{width:min(100%,68rem);padding:var(--hub-space-32) var(--hub-space-24);margin:0 auto}@container (width<=48rem){.prototype-workspace__body{padding:var(--hub-space-24) var(--hub-space-16)}}.hub-content-page-header{gap:var(--hub-space-8);display:grid}.hub-content-page-header__top{align-items:center;gap:var(--hub-space-8) var(--hub-space-16);flex-wrap:wrap;min-height:2.5rem;display:flex}.hub-content-page-header__top h2{overflow-wrap:anywhere;margin:0}.hub-content-page-header__description{color:var(--hub-fg-muted);margin:0}.share-links__empty{padding:var(--hub-space-16) 0}.share-links__empty-description{color:var(--hub-fg-muted);margin:0}.share-links__list{margin:0;padding:0;list-style:none;display:grid}.share-link-item{padding:var(--hub-space-16) 0}.share-link-item+.share-link-item{border-top:1px solid var(--hub-border-muted)}.share-link-item__metadata{color:var(--hub-fg-muted)}.share-link-item__layout,.share-link-item__details{flex-direction:column;gap:.5rem;display:flex}.share-link-item__layout{gap:1rem}.share-link-item__actions{align-items:center;gap:var(--hub-space-8);flex-wrap:wrap;display:flex}.share-link-item__details h3{overflow-wrap:anywhere;margin:0;font-size:1rem}.share-link-item__actions{gap:.5rem}.share-link-item__actions>:first-child{flex:16rem;min-width:0}.share-link-item__actions .hub-icon-button{width:var(--brand-control-medium-size);min-width:var(--brand-control-medium-size);height:var(--brand-control-medium-size);min-height:var(--brand-control-medium-size)}.share-link-item--created{outline:1px solid var(--hub-accent);outline-offset:-1px}.share-links-form{gap:var(--hub-space-8);flex-direction:column;display:flex}.share-links__form{padding:var(--hub-space-16) 0;border-top:1px solid var(--hub-border-muted)}.share-links__form-row{gap:var(--hub-space-16);max-width:48rem;display:grid}.share-links__form-options{max-width:48rem;margin-block-start:var(--hub-space-8)}@container (width>=48rem){.share-links__form-row{grid-template-rows:auto auto auto;grid-template-columns:minmax(12rem,1fr) minmax(10rem,12rem) auto;row-gap:0}.share-links__form-row>.share-links__field{grid-row:1/span 3;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;align-items:start;row-gap:0;display:grid}.share-links__field>*{grid-column:1}.share-links__field>label{padding-bottom:var(--hub-space-8)}.share-links__validation{padding-top:var(--hub-space-8)}.share-links__form-actions{grid-area:2/3;align-self:start;min-height:2rem}}.share-control-settings{gap:var(--hub-space-12);flex-direction:column;max-width:48rem;display:flex}.share-control-settings__hint{gap:var(--hub-space-8);flex-direction:column;display:flex}.share-control-settings__description{color:var(--hub-fg-muted);margin:0;font-size:.875rem;line-height:1.5}.hub-alert.share-control-settings__warning{background:var(--hub-attention-subtle)}.canvas-share-page{background:var(--brand-color-canvas-subtle);width:100%;height:100%;color:var(--hub-fg-default);animation:canvas-share-fade-in var(--brand-animation-duration-fast) var(--brand-animation-easing-glide) both, canvas-share-slide-up .4s var(--brand-animation-easing-glide) both;flex-direction:column;display:flex;overflow-y:auto;container-type:inline-size}.canvas-share-build-details{color:var(--hub-fg-muted)}.canvas-share-internal{align-items:flex-start;gap:var(--hub-space-8);flex-direction:column;display:flex}.canvas-share-internal p,.canvas-share-public-header p{color:var(--hub-fg-muted);margin:0}.canvas-share-public-header{gap:var(--hub-space-8);border-top:1px solid var(--hub-border-muted);flex-direction:column;padding-block-start:var(--hub-space-24);display:flex}.canvas-share-page .copyable-text-input__input[readonly]{background-color:var(--hub-canvas-muted)}.canvas-share-internal-actions{width:100%}.canvas-share-build-details p{margin:0}.canvas-share-build-reference{border-radius:var(--hub-radius-small);color:inherit;font:inherit;text-underline-offset:.2em;cursor:help;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.canvas-share-build-reference:focus-visible{outline:2px solid var(--hub-focus);outline-offset:2px}.canvas-share-page .canvas-share-build-tooltip{white-space:pre-line;text-align:start;max-width:min(22rem,100vw - 2rem)}.canvas-share-page .canvas-share-link--older-build .share-link-item__details h3{color:var(--hub-fg-muted)}.canvas-share-list-actions{align-items:center;gap:var(--hub-space-8);flex-wrap:wrap;display:flex}.canvas-share-close{flex-shrink:0;margin-inline-start:auto}@keyframes canvas-share-fade-in{0%{opacity:0}to{opacity:1}}@keyframes canvas-share-slide-up{0%{transform:translateY(8rem)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.canvas-share-page{animation:none}}.canvas-branch-publication{overflow-wrap:anywhere;justify-items:start;gap:.75rem;display:grid}.canvas-branch-publication>p{margin:0}.canvas-branch-publication>.hub-alert{justify-self:stretch}.canvas-branch-publication__actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.canvas-branch-publication>p{color:var(--hub-fg-muted)}.canvas-branch-publication .canvas-branch-publication__workflow-link{--brand-InlineLink-color-rest:var(--hub-accent);--brand-InlineLink-color-pressed:var(--hub-accent)}.canvas-branch-publication__actions [aria-busy=true] svg{animation:1s linear infinite canvas-publication-spin}@keyframes canvas-publication-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.canvas-branch-publication__actions [aria-busy=true] svg{animation:none}}.canvas-browser-theme{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.canvas-browser-theme[data-color-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-color-mode=light] .canvas-browser-bar,body[data-color-mode=light] .canvas-browser-bar{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-color-mode=dark] .canvas-browser-bar,body[data-color-mode=dark] .canvas-browser-bar{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.canvas-browser-bar{--hub-canvas-default:var(--background-color-default,var(--brand-color-canvas-default));--hub-fg-default:var(--text-color-default,var(--brand-color-text-default));--hub-fg-muted:var(--text-color-muted,var(--brand-color-text-muted));--hub-border-default:var(--border-color-default,var(--brand-color-border-default));--hub-focus:var(--color-focus-outline,var(--brand-color-focus));--hub-fg-danger:var(--true-color-red,var(--brand-color-danger-fg));--canvas-browser-gap:.375rem;--canvas-browser-control-radius:.375rem;--canvas-browser-control-size:1.75rem;--canvas-browser-surface:color-mix(in srgb, var(--hub-canvas-default) 94%, var(--hub-fg-default));z-index:51;align-items:center;gap:var(--canvas-browser-gap);min-width:0;height:var(--canvas-browser-bar-height,2.5rem);background:var(--hub-canvas-default);border-bottom:1px solid var(--hub-border-default);color:var(--hub-fg-muted);padding:.25rem .5rem;display:flex;position:relative}.canvas-browser-bar__navigation,.canvas-browser-bar__tools,.canvas-browser-bar__appearance{flex:none;align-items:center;gap:1px;display:flex}.canvas-browser-bar__tools{gap:var(--canvas-browser-gap)}.canvas-browser-bar button{width:var(--canvas-browser-control-size);height:var(--canvas-browser-control-size);border-radius:var(--canvas-browser-control-radius);color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid}.canvas-browser-bar button:hover:not(:disabled){background:color-mix(in srgb, var(--hub-fg-default) 12%, transparent);color:var(--hub-fg-default)}.canvas-browser-bar button:focus-visible,.canvas-browser-bar input:focus-visible{outline:2px solid var(--hub-focus);outline-offset:1px}.canvas-browser-bar button:disabled{cursor:default;opacity:.45}.canvas-browser-bar__address{flex:1;min-width:0;position:relative}.canvas-browser-bar__address input{width:100%;height:var(--canvas-browser-control-size);border-radius:var(--canvas-browser-control-radius);background:var(--canvas-browser-surface);color:var(--hub-fg-default);font:inherit;border:1px solid #0000;padding:0 .5rem;font-size:.8125rem;display:block}.canvas-browser-bar__address input[aria-invalid=true]{border-color:var(--hub-fg-danger)}.canvas-browser-bar__error{border:1px solid var(--hub-fg-danger);border-radius:var(--canvas-browser-control-radius);background:var(--hub-canvas-default);color:var(--hub-fg-danger);box-shadow:0 .25rem .75rem color-mix(in srgb, var(--hub-fg-default) 12%, transparent);padding:.375rem .5rem;font-size:.75rem;position:absolute;top:calc(100% + .375rem);left:0}.canvas-browser-bar__appearance{border-radius:var(--canvas-browser-control-radius);background:var(--canvas-browser-surface);gap:0;padding:0}.canvas-browser-bar__appearance button[aria-pressed=true]{border-color:var(--hub-border-default);background:var(--hub-canvas-default);color:var(--hub-fg-default)}@media (width<=32rem){.canvas-browser-bar{--canvas-browser-gap:.25rem;padding-inline:.375rem}.canvas-browser-bar__navigation{gap:0}}.controls-fields{--brand-text-size-100:.875rem;--brand-control-medium-size:1.75rem;--brand-control-small-size:1.75rem;--brand-control-medium-paddingBlock-normal:var(--hub-space-4);--brand-control-medium-paddingInline-condensed:var(--hub-space-8);--controls-selection-shadow:var(--hub-shadow-selection);font-size:var(--brand-text-size-100)}.controls-fields,.controls-scope{gap:var(--hub-space-8);min-width:0;color:var(--hub-fg-default);grid-template-columns:minmax(0,1fr);display:grid}.controls-options,.controls-action-field{gap:var(--hub-space-4);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.controls-field{--brand-control-color-border-default:var(--hub-border-muted);gap:var(--hub-space-4);min-width:0;max-width:100%}.controls-fields .controls-action-button{--brand-text-size-100:var(--hub-text-size-small)}.controls-fields .controls-action-button:not(:disabled){--brand-button-secondary-bgColor-rest:var(--hub-canvas-muted);--brand-button-secondary-fgColor-rest:var(--brand-control-color-fg-default);--brand-button-secondary-borderColor-rest:var(--brand-control-color-border-default)}.controls-field-heading,.controls-fields .controls-field--select{align-items:flex-start;gap:var(--hub-space-4);flex-direction:column;display:flex}.controls-field-heading{width:100%}.controls-field-heading>span:has(>input){min-width:0;max-width:100%}:is(.controls-field>span:has(>:is(input,textarea)),.controls-slider-row>span:has(>input)){min-width:0;max-width:100%}.controls-fields .controls-field-label,.controls-fields .controls-choice-group-label,.controls-fields .controls-choice-group-label>span{color:var(--hub-fg-muted);font-size:.6875rem;line-height:1.5}.controls-fields .controls-field-label{overflow-wrap:anywhere;max-width:100%}.controls-fields .controls-number-input{font-variant-numeric:tabular-nums;min-width:0;max-width:100%}.controls-slider-row{align-items:center;gap:var(--hub-space-8);width:100%;min-width:0;display:flex}.controls-slider-row>.controls-native-slider{flex:1;width:0;min-width:0}.controls-slider-row>span{flex:none;max-width:100%}.controls-number-input--slider{appearance:textfield}.controls-number-input--slider::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.controls-number-input--slider::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.controls-field--select>span:has(>select){width:max-content;min-width:0;max-width:100%}.controls-fields .controls-select-input{width:auto;min-width:0;max-width:100%}.controls-fields :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),textarea,select):not(:disabled){background-color:var(--hub-canvas-muted)}.controls-fields :is(.controls-select-input,.controls-action-button):not(:disabled):not(:focus-visible){box-shadow:var(--hub-shadow-control-field)}.controls-field-validation{overflow-wrap:anywhere;width:100%;min-width:0}.controls-fields .controls-choice-row{align-items:center;column-gap:var(--hub-space-8);grid-template-columns:auto minmax(0,1fr)}.controls-choice-row>span:has(>.controls-choice-mark){align-items:center;display:flex}.controls-fields .controls-choice-label{min-height:var(--hub-space-24);line-height:1.5;font-size:var(--hub-text-size-small);overflow-wrap:anywhere;align-items:center;min-width:0;display:flex;top:0}.controls-fields .controls-choice-group-label{overflow-wrap:anywhere;max-width:100%;margin-block-end:var(--hub-space-4)}.controls-fields .controls-choice-mark{width:1rem;height:1rem;margin:0}.controls-fields .controls-choice-mark>svg{width:.75rem;height:.75rem}.controls-fields .controls-choice-mark--radio:before{width:1.5rem;height:1.5rem;inset:-.25rem}.controls-fields .controls-choice-mark--radio>span{width:.5rem;height:.5rem}.controls-scope-divider{border:0;border-top:var(--brand-borderWidth-thin) solid var(--hub-border-muted);width:100%;margin:0}.controls-group{--controls-group-heading-inset:var(--hub-space-8);--controls-group-heading-bottom-inset:var(--hub-space-8);gap:var(--hub-space-8);border:0;grid-template-columns:minmax(0,1fr);min-width:0;margin:0;padding:0;display:grid}.controls-group>legend{width:100%;min-width:0;max-width:100%;padding:0}.controls-scope>.controls-scope-divider+.controls-group{margin-top:calc(-1 * var(--controls-group-heading-inset))}.controls-scope>:is(.controls-field,.controls-group)+.controls-group>legend{border-top:var(--brand-borderWidth-thin) solid var(--hub-border-muted)}.controls-scope>.controls-group+.controls-field{padding-top:var(--hub-space-8);border-top:var(--brand-borderWidth-thin) solid var(--hub-border-muted)}.controls-scope-divider,.controls-scope>:is(.controls-field,.controls-group)+.controls-group>legend,.controls-scope>.controls-group+.controls-field{border-image-source:linear-gradient(var(--hub-border-muted), var(--hub-border-muted));border-image-slice:1;border-image-outset:0 var(--controls-group-heading-bleed,0px)}.controls-group-toggle:is(button){width:calc(100% + var(--controls-group-heading-bleed,0px) * 2);min-width:0;margin-left:calc(-1 * var(--controls-group-heading-bleed,0px));margin-bottom:calc(-1 * var(--controls-group-heading-bottom-inset));padding-left:var(--controls-group-heading-bleed,0px);padding-right:var(--controls-group-heading-bleed,0px);padding-block:0;padding-top:var(--controls-group-heading-inset);padding-bottom:var(--controls-group-heading-bottom-inset);min-height:calc(var(--hub-space-24) + var(--controls-group-heading-inset) + var(--controls-group-heading-bottom-inset));text-align:left;text-transform:none;color:var(--hub-fg-default);border-radius:0;justify-content:space-between}.controls-group-toggle .controls-group-label{font-size:var(--hub-text-size-small);color:var(--hub-fg-default);white-space:normal;overflow-wrap:anywhere}.controls-group-body{gap:var(--hub-space-8);min-width:0;padding-top:calc(var(--hub-space-4) + var(--controls-group-heading-bottom-inset));grid-template-columns:minmax(0,1fr);display:grid}.controls-group-body[hidden]{display:none}.controls-native-slider{--controls-slider-thumb-size:1rem;--controls-slider-track-size:.375rem;--controls-slider-fill:var(--hub-accent);--controls-slider-track-background:linear-gradient(to right, var(--controls-slider-fill) var(--controls-slider-progress), var(--hub-border-muted) var(--controls-slider-progress));appearance:none;width:100%;min-height:var(--brand-control-small-size);cursor:pointer;background:0 0;margin:0}.controls-native-slider::-webkit-slider-runnable-track{height:var(--controls-slider-track-size);border-radius:var(--controls-slider-track-size);background:var(--controls-slider-track-background)}.controls-native-slider::-webkit-slider-thumb{appearance:none;box-sizing:border-box;width:var(--controls-slider-thumb-size);height:var(--controls-slider-thumb-size);margin-top:calc((var(--controls-slider-track-size) - var(--controls-slider-thumb-size)) / 2);border:var(--brand-borderWidth-thin) solid var(--hub-border-default);background:var(--hub-canvas-default);box-shadow:var(--controls-selection-shadow);border-radius:50%}.controls-native-slider::-moz-range-track{height:var(--controls-slider-track-size);border-radius:var(--controls-slider-track-size);background:var(--controls-slider-track-background);border:0}.controls-native-slider::-moz-range-thumb{box-sizing:border-box;width:var(--controls-slider-thumb-size);height:var(--controls-slider-thumb-size);border:var(--brand-borderWidth-thin) solid var(--hub-border-default);background:var(--hub-canvas-default);box-shadow:var(--controls-selection-shadow);border-radius:50%}.controls-native-slider:disabled{--controls-slider-fill:var(--hub-fg-muted);cursor:not-allowed}@media (forced-colors:active){.controls-native-slider::-webkit-slider-runnable-track{background:canvastext}.controls-native-slider::-moz-range-track{background:canvastext}}.controls-native-color{width:var(--brand-control-small-size);height:var(--brand-control-small-size);padding:var(--hub-space-4);background:var(--hub-canvas-muted);border:var(--brand-borderWidth-thin) solid var(--hub-border-muted);border-radius:var(--hub-radius-medium);cursor:pointer}.controls-native-color:disabled{background:var(--hub-canvas-muted);cursor:not-allowed}.controls-segments{--brand-text-size-100:var(--hub-text-size-small);--controls-segment-inset:.125rem;width:100%;max-width:100%;padding:var(--controls-segment-inset);border:var(--brand-borderWidth-thin) solid var(--hub-border-muted);border-radius:var(--hub-radius-medium);background:var(--hub-canvas-muted);display:flex}.controls-segment{min-width:0;min-height:calc(var(--brand-control-medium-size) - (var(--brand-borderWidth-thin) + var(--controls-segment-inset)) * 2);padding-inline:var(--hub-space-8);border:var(--brand-borderWidth-thin) solid transparent;border-radius:max(0px, calc(var(--hub-radius-medium) - var(--brand-borderWidth-thin) - var(--controls-segment-inset)));cursor:pointer;color:var(--hub-fg-muted);flex:1 1 0;justify-content:center;align-items:center;display:flex;position:relative}.controls-segment>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:inherit;overflow:hidden}.controls-segment:has(input:checked){background:var(--hub-canvas-default);border-color:var(--hub-border-muted);box-shadow:var(--controls-selection-shadow);color:var(--hub-fg-default)}.controls-segment:has(input:disabled){color:var(--hub-fg-muted);cursor:not-allowed}.controls-fields:focus-visible,.controls-native-slider:focus-visible,.controls-native-color:focus-visible{outline:var(--hub-border-width-thick) solid var(--hub-focus);outline-offset:var(--hub-space-4)}.controls-segment:has(input:focus-visible){outline:var(--hub-border-width-thick) solid var(--hub-focus);outline-offset:var(--hub-space-4)}.controls-ghost-button{--controls-ghost-background:transparent;--brand-button-subtle-bgColor-rest:var(--controls-ghost-background);--brand-button-subtle-bgColor-hover:var(--controls-ghost-background);--brand-button-subtle-bgColor-active:var(--controls-ghost-background);--brand-button-subtle-borderColor-rest:transparent;--brand-button-subtle-borderColor-hover:transparent;--brand-button-subtle-borderColor-active:transparent}.controls-ghost-button.controls-ghost-button:is(button){background:var(--controls-ghost-background);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0}.controls-ghost-button:not(:disabled):hover{--controls-ghost-background:var(--hub-canvas-muted)}.canvas-controls-layer{z-index:40;inset:var(--canvas-preview-top,0) 0 0;pointer-events:none;position:absolute}.canvas-controls-panel{--brand-text-size-100:.875rem;--brand-control-small-size:1.75rem;top:var(--hub-space-16);left:var(--hub-space-16);width:min(18rem, calc(100% - var(--hub-space-16) * 2));max-height:calc(100% - var(--hub-space-16) * 2);background:var(--hub-canvas-default);color:var(--hub-fg-default);border:var(--brand-borderWidth-thin) solid var(--hub-border-default);border-radius:var(--hub-radius-medium);box-shadow:var(--hub-shadow-floating);pointer-events:auto;font-size:var(--brand-text-size-100);flex-direction:column;display:flex;position:absolute;overflow:hidden}.canvas-controls-header{align-items:center;gap:var(--hub-space-4);padding:var(--hub-space-8);flex:none;display:flex}.canvas-controls-grab{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.canvas-controls-panel[data-dragging=true] .canvas-controls-grab{cursor:grabbing}.canvas-shell:has(.canvas-controls-panel[data-dragging=true]) .prototype-frame{pointer-events:none}.canvas-controls-header .canvas-controls-title{min-width:0;padding-inline:var(--hub-space-8);text-align:left;flex:1;justify-content:space-between}.canvas-controls-body{border-top:var(--brand-borderWidth-thin) solid var(--hub-border-muted);flex-direction:column;min-width:0;min-height:0;display:flex}.canvas-controls-body[hidden]{display:none}.canvas-controls-content{--controls-group-heading-bleed:var(--hub-space-8);gap:var(--hub-space-8);min-width:0;min-height:0;padding:var(--hub-space-8);scrollbar-gutter:stable;overscroll-behavior:contain;grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden scroll}.canvas-controls-content [role=alert]{color:var(--hub-fg-danger)}.canvas-controls-content:has(>.controls-fields:first-child>.controls-scope:first-child>.controls-group:first-child){padding-top:0}.canvas-controls-footer{gap:var(--hub-space-8);padding:var(--hub-space-8);background:var(--hub-canvas-subtle);border-top:var(--brand-borderWidth-thin) solid var(--hub-border-muted);flex:none;display:grid}.canvas-controls-footer button:not(:disabled):not(:focus-visible){box-shadow:var(--hub-shadow-control-raised)}.canvas-controls-footer .canvas-controls-learn-more{--brand-InlineLink-color-rest:var(--hub-fg-success);--brand-InlineLink-color-pressed:var(--hub-fg-success);justify-self:start;align-items:center;gap:var(--hub-space-4);text-decoration:none;display:inline-flex}.canvas-controls-learn-more:focus-visible{outline:var(--hub-border-width-thick) solid var(--hub-focus);outline-offset:var(--hub-space-4)}.canvas-controls-diagnostics{overflow-wrap:anywhere;color:var(--hub-fg-muted);font-size:var(--brand-text-size-100)}.canvas-controls-diagnostics summary{cursor:pointer;padding:var(--hub-space-8)}.canvas-controls-diagnostics h4{font-size:var(--brand-text-size-100)}.canvas-controls-diagnostics summary:focus-visible{outline:var(--hub-border-width-thick) solid var(--hub-focus);outline-offset:var(--hub-space-4)}.canvas-controls-diagnostics p{margin-top:var(--hub-space-8);white-space:pre-wrap}.hub-counter{background:var(--hub-counter-background,color-mix(in srgb, currentColor 10%, Canvas));min-width:1.25rem;min-height:1.25rem;color:inherit;font-variant-numeric:tabular-nums;border-radius:100rem;justify-content:center;align-items:center;padding:0 .375rem;font-size:.75rem;font-weight:600;line-height:1.25rem;display:inline-flex}.hub-sidebar{z-index:var(--hub-sidebar-z-index,30);inset:var(--hub-sidebar-top,0) 0 0 auto;width:min(var(--hub-sidebar-width,24rem), 100%);background:var(--hub-canvas-muted);min-height:0;color:var(--hub-fg-default);border-left:var(--brand-borderWidth-thin) solid var(--hub-border-muted);box-shadow:var(--hub-shadow-floating);visibility:hidden;pointer-events:none;flex-direction:column;transition:transform .16s cubic-bezier(.4,0,1,1),visibility 0s linear .16s;display:flex;position:absolute;transform:translate(calc(100% + 1.5rem))}.hub-sidebar[data-open=true]{visibility:visible;pointer-events:auto;transition:transform .24s ease-in,visibility;transform:translate(0)}.hub-sidebar__header{justify-content:space-between;align-items:center;gap:var(--hub-space-12);padding:var(--hub-space-8) var(--hub-space-16);background:var(--hub-canvas-subtle);border-bottom:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);flex:none;display:flex}.hub-sidebar__heading{align-items:center;gap:var(--hub-space-8);min-width:0;display:flex}.hub-sidebar__heading h2{color:var(--hub-fg-default);font-size:var(--brand-text-size-200);overflow-wrap:anywhere;margin:0}.hub-sidebar .hub-sidebar__close{--brand-button-subtle-bgColor-hover:var(--brand-color-border-muted);--brand-button-subtle-borderColor-hover:transparent;background:0 0;border-color:#0000}.hub-sidebar__close:focus-visible{outline:2px solid var(--hub-focus);outline-offset:1px}.hub-sidebar__content{flex:1;min-height:0;overflow:auto}@media (prefers-reduced-motion:reduce){.hub-sidebar,.hub-sidebar[data-open=true]{transition:none}}.hub-user-avatar.hub-user-avatar{width:var(--hub-avatar-size);height:var(--hub-avatar-size);object-fit:cover;flex:none;display:block}.hub-user-avatar--20{--hub-avatar-size:1.25rem}.hub-user-avatar--24{--hub-avatar-size:1.5rem}.hub-user-avatar--28{--hub-avatar-size:1.75rem}.hub-user-avatar--32{--hub-avatar-size:2rem}.review-participant-stack{align-items:center;display:inline-flex}.review-participant-stack__avatar{background:var(--hub-canvas-default);border:2px solid var(--hub-canvas-default);color:var(--hub-fg-muted);transform:translateX(calc(var(--review-avatar-index,0) * var(--review-avatar-spread,0px)));border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.review-participant-stack__avatar:first-child{z-index:4}.review-participant-stack__avatar:nth-child(2){z-index:3;--review-avatar-index:1}.review-participant-stack__avatar:nth-child(3){z-index:2;--review-avatar-index:2}.review-participant-stack__avatar:nth-child(4){z-index:1;--review-avatar-index:3}.review-participant-stack__avatar+.review-participant-stack__avatar{margin-inline-start:calc(-1 * var(--hub-space-8))}.review-participant-stack--small .review-participant-stack__avatar,.review-participant-stack--medium .review-participant-stack__avatar{width:1.75rem;height:1.75rem}.review-participant-stack__avatar--overflow{background:var(--hub-canvas-muted);color:var(--hub-fg-default);font-size:.625rem;font-weight:600}@media (prefers-reduced-motion:no-preference){.review-participant-stack__avatar{transition:transform .15s cubic-bezier(.77,0,.175,1)}}.review-comment-markers{z-index:10;pointer-events:none;position:absolute;inset:0;overflow:hidden}.review-comment-marker{width:auto;min-width:var(--hub-space-32);height:var(--hub-space-32);transform:translate(calc(-1 * var(--hub-space-16) + var(--review-marker-offset-x,0px)), -50%);box-shadow:none;pointer-events:auto;color:var(--hub-fg-muted);background:0 0;border:0;border-radius:50%;padding:.125rem .875rem .125rem .125rem;position:absolute}.review-comment-marker--resolved{opacity:.65}.review-comment-marker .review-participant-stack__avatar:first-child{box-shadow:var(--hub-shadow-review-marker)}.review-comment-marker--unread .review-participant-stack__avatar:first-child{border-color:var(--hub-accent)}.review-comment-marker--unread:after{background:var(--hub-accent);width:var(--hub-space-8);height:var(--hub-space-8);border:1px solid var(--hub-canvas-default);content:"";border-radius:50%;position:absolute;top:-.125rem;right:-.125rem}.review-comment-marker--blocked{cursor:not-allowed}.review-comment-area{pointer-events:none;position:absolute;inset:0;overflow:visible}.review-comment-area__path{fill:none;stroke:var(--hub-accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.review-comment-area__path--selected{stroke:var(--hub-focus);stroke-width:4px}.review-comment-marker--selected,.review-comment-marker:focus-visible{outline:0}.review-comment-marker--selected .review-participant-stack__avatar:first-child,.review-comment-marker:focus-visible .review-participant-stack__avatar:first-child{outline:2px solid var(--hub-focus);outline-offset:.125rem}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.review-comment-marker:hover:not(:disabled) .review-participant-stack__avatar{--review-avatar-spread:.1875rem}}@media (prefers-reduced-motion:no-preference){.review-comment-marker:focus-visible .review-participant-stack__avatar{--review-avatar-spread:.1875rem;transition:none}}.hub-switch{width:var(--base-size-48);height:var(--base-size-40);cursor:pointer;vertical-align:middle;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.hub-switch--small{width:var(--base-size-40);height:var(--base-size-32)}.hub-switch__native-control{opacity:0;pointer-events:none;position:absolute;inset:0}.hub-switch__track{width:var(--base-size-36);height:var(--base-size-24);padding:var(--base-size-4);border-radius:var(--base-size-24);background:var(--brand-color-neutral-emphasis);align-items:center;display:flex}.hub-switch--small .hub-switch__track{width:var(--base-size-28);height:var(--base-size-16);padding:var(--base-size-2)}.hub-switch__thumb{width:var(--base-size-16);height:var(--base-size-16);border-radius:var(--base-size-16);background:var(--brand-color-text-onEmphasis);transition:transform var(--brand-animation-duration-faster) var(--brand-animation-easing-default)}.hub-switch--small .hub-switch__thumb{width:var(--base-size-12);height:var(--base-size-12)}.hub-switch__track[data-checked=true]{background:var(--brand-color-success-fg)}.hub-switch__track[data-checked=true] .hub-switch__thumb{transform:translateX(var(--base-size-12))}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .hub-switch__track[data-checked=true] .hub-switch__thumb{transform:translateX(calc(-1 * var(--base-size-12)))}.hub-switch:has(:focus-visible) .hub-switch__track{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.hub-switch[data-disabled]{opacity:.5;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.hub-switch__thumb{transition:none}}.review-comment-filter-controls{flex-direction:column;gap:.75rem;padding:0;display:flex}.review-comment-filter-controls__search{align-items:center;gap:.5rem;display:flex}.review-comment-filter-controls__search-field{flex:1;min-width:0;position:relative}.review-comment-filter-controls__input{box-sizing:border-box;border:1px solid var(--hub-border-default);border-radius:var(--hub-radius-medium);background:var(--hub-canvas-default);width:100%;height:2.5rem;min-height:2.5rem;color:var(--hub-fg-default);font-size:var(--brand-text-size-100);padding:.5rem 1rem .625rem 2.5rem;line-height:1.25rem}.review-comment-filter-controls__input:focus{border-color:var(--hub-focus);outline:none}.review-comment-filter-controls__input::placeholder{color:var(--hub-fg-muted)}.review-comment-filter-controls__search-icon{z-index:1;color:var(--hub-fg-muted);pointer-events:none;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.review-comment-filter-controls .review-comment-filter-controls__button{border-color:#0000}.review-comment-filter-controls .review-comment-filter-controls__button--active,.review-comment-filter-controls .review-comment-filter-controls__button:hover:not(:disabled){background:var(--brand-color-border-muted)}.review-comment-filter-controls__button:focus-visible{outline:2px solid var(--hub-focus);outline-offset:1px}.review-comment-filter-controls__filters{flex-direction:column;gap:.5rem;padding-top:.25rem;display:flex}.review-comment-filter-controls__toggle,.review-comment-filter-controls__participant{justify-content:space-between;align-items:center;gap:.75rem;min-height:2rem;font-size:.875rem;display:flex}.review-comment-filter-controls__participant{gap:.5rem}.review-comment-filter-controls__participant [data-testid=ActionMenu],.review-comment-filter-controls__participant-trigger{max-width:12rem}.review-comment-filter-controls__participant-name{text-overflow:ellipsis;white-space:nowrap;max-width:8rem;display:block;overflow:hidden}.review-comment-filter-controls__participant [role=menu]{width:max-content;min-width:12rem;max-width:min(20rem,100vw - 1rem)}.review-comment-row{padding:var(--hub-space-8) var(--hub-space-12);border-radius:var(--brand-borderRadius-medium);isolation:isolate;font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);background:0 0;border:0;margin-inline-start:var(--hub-space-12);position:relative}.review-comment-row:before{content:"";inset-block:0;inset-inline:calc(-1 * var(--hub-space-16) - var(--hub-space-4)) calc(-1 * var(--hub-space-4));border-radius:inherit;pointer-events:none;z-index:-1;position:absolute}.review-comment-row:hover:before,.review-comment-row--selected:before{background:var(--brand-color-border-muted)}.review-comment-row__button{appearance:none;cursor:pointer;width:100%;min-height:0;font:inherit;text-align:left;color:inherit;background:0 0;border:0;margin:0;padding:0;display:block}.review-comment-row__button:after{content:"";inset-block:0;inset-inline:calc(-1 * var(--hub-space-16) - var(--hub-space-4)) calc(-1 * var(--hub-space-4));border-radius:var(--brand-borderRadius-medium);position:absolute}.review-comment-row__button:focus-visible{outline:none}.review-comment-row__button:focus-visible:after{outline:2px solid var(--hub-focus);outline-offset:-2px}.review-comment-row__button:disabled{cursor:not-allowed;opacity:.6}.review-comment-row .review-comment-row__avatar{width:1.25rem;height:1.25rem;inset-inline-start:calc(-1 * var(--hub-space-24));color:var(--hub-fg-muted);border-radius:50%;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.review-comment-row__content{min-width:0}.review-comment-row__metadata{min-width:0;color:var(--hub-fg-muted);flex-wrap:wrap}.review-comment-row__author{text-overflow:ellipsis;white-space:nowrap;color:var(--hub-fg-muted);font-weight:400;overflow:hidden}.review-comment-row--unread .review-comment-row__author{font-weight:600}.review-comment-row__author-and-build{align-items:center;gap:var(--hub-space-4);flex:1;min-width:0;display:flex;position:relative}.review-comment-row__metadata time{z-index:1;cursor:pointer;white-space:nowrap;font-size:.75rem;position:relative}.review-comment-row__unread{z-index:1;cursor:pointer;background:var(--hub-accent);width:var(--hub-space-8);height:var(--hub-space-8);top:50%;border-radius:50%;position:absolute;inset-inline-start:calc(-1 * var(--hub-space-24) + (1.25rem - var(--hub-space-8)) / 2);transform:translateY(-50%)}.review-comment-row__body-container{display:block;position:relative}.review-comment-row__body{overflow-wrap:anywhere;-webkit-line-clamp:3;color:var(--hub-fg-muted);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.review-comment-row--unread .review-comment-row__author,.review-comment-row--unread .review-comment-row__body{color:var(--hub-fg-default)}.review-comment-row__context{padding-block-start:var(--hub-space-4)}.review-comment-row__build{white-space:nowrap;flex-shrink:0;font-size:.75rem}.review-comment-row__build a{z-index:1;color:var(--hub-fg-muted);text-decoration:none;position:relative}.review-comment-row__build a:hover{text-decoration:underline}.review-comment-row__replies{white-space:nowrap;color:var(--hub-fg-muted)}.review-comment-row__layout,.review-comment-row__metadata,.review-comment-row__context{align-items:flex-start;gap:.5rem;display:flex}.review-comment-row__content,.review-comment-row__replies{flex:1;min-width:0}.review-comment-row__author{flex:0 auto}.review-comment-row__copy{flex-direction:column;gap:.25rem;display:flex}.review-comment-row__metadata{align-items:center}.review-comment-row__context{align-items:center;font-size:.75rem}.review-comment-row__status{white-space:nowrap;margin-inline-start:auto}.review-comments-sidebar{flex-direction:column;width:100%;height:100%;display:flex}.review-comments-sidebar__header{justify-content:space-between;align-items:center;gap:.75rem;min-height:3.5rem;padding:0;display:flex}.review-comments-sidebar__heading{align-items:center;gap:.5rem;display:flex}.review-comments-sidebar__heading h2{margin:0;font-size:1rem}.review-comments-sidebar .review-comments-sidebar__close{--brand-button-subtle-bgColor-hover:var(--brand-color-border-muted);--brand-button-subtle-borderColor-hover:transparent;background:0 0;border-color:#0000}.review-comments-sidebar__close:focus-visible{outline:2px solid var(--hub-focus);outline-offset:1px}.review-comments-sidebar__body{min-height:0;margin-inline:calc(-1 * var(--hub-space-8)) calc(-1 * var(--hub-space-4));padding-inline:var(--hub-space-8) var(--hub-space-4);flex-direction:column;flex:1;display:flex;overflow:auto}.review-comments-sidebar__state{text-align:center;min-height:12rem;color:var(--hub-fg-muted);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;display:flex}.review-comments-sidebar__threads{padding:var(--hub-space-8) 0 0;flex-direction:column;gap:.25rem;display:flex}.review-comments-sidebar__loading{border-top:1px solid var(--hub-border-muted);color:var(--hub-fg-muted);justify-content:center;align-items:center;gap:.5rem;margin-top:auto;padding:.75rem 1rem;display:flex}.review-comment-control__trigger{width:var(--brand-control-small-size);min-width:var(--brand-control-small-size);height:var(--brand-control-small-size);min-height:var(--brand-control-small-size);gap:0;padding:0}.review-shell__comment-actions .review-comment-control__trigger{border-start-end-radius:0;border-end-end-radius:0}.review-comment-control__trigger>[data-testid=Button-trailing-visual],.review-comment-control__trigger>span:nth-child(2){display:none}.review-comment-control__trigger~div [role=menu]{max-height:min(460px, var(--review-comment-control-menu-height,460px))}.review-comment-control__menu-item{column-gap:var(--brand-control-medium-gap)}div:has(>[data-testid=ActionMenu] .review-comment-control__trigger[aria-expanded=true])+[role=tooltip]{display:none}.canvas-commenting-recovery__actions{flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;display:flex}.review-confirmation-panel{background:var(--hub-attention-subtle);border:1px solid var(--hub-border-default);border-radius:var(--hub-radius-medium);flex-direction:column;gap:.75rem;padding:.75rem;display:flex}.review-confirmation-panel--compact{gap:.5rem;padding:.5rem}.review-confirmation-panel--condensed{flex-flow:wrap;justify-content:space-between;align-items:center;gap:.375rem .5rem;padding:.375rem;padding-inline-start:.625rem}.review-confirmation-panel--condensed .review-confirmation-panel__copy{flex:1 0 auto;max-width:100%}.review-confirmation-panel--condensed .review-confirmation-panel__copy strong{font-size:.8125rem;line-height:1.25rem}.review-confirmation-panel--condensed .review-confirmation-panel__actions{margin-inline-start:auto}.review-confirmation-panel--condensed .review-confirmation-panel__error{flex-basis:100%}.review-confirmation-panel__copy{flex-direction:column;gap:.25rem;display:flex}.review-confirmation-panel__copy span,.review-confirmation-panel__error{font-size:.875rem}.review-confirmation-panel__actions{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.review-confirmation-panel__danger{border-color:var(--hub-danger-emphasis);background:var(--hub-danger-emphasis);color:var(--hub-fg-on-danger)}@media (hover:hover) and (pointer:fine){.review-confirmation-panel__danger:not(:disabled):hover{border-color:color-mix(in srgb, var(--hub-danger-emphasis) 85%, var(--hub-fg-default));background:color-mix(in srgb, var(--hub-danger-emphasis) 85%, var(--hub-fg-default))}}.review-confirmation-panel__error{color:var(--hub-fg-danger)}.mention-input{width:100%;position:relative}.mention-input textarea{box-sizing:border-box;border:1px solid var(--hub-border-default);border-radius:var(--hub-radius-medium);background:var(--hub-canvas-default);width:100%;color:var(--hub-fg-default);font:inherit;resize:vertical;padding:.5rem}.mention-input textarea:focus-visible{outline:2px solid var(--hub-focus);outline-offset:-1px}.mention-input__suggestions{z-index:100;border:1px solid var(--hub-border-default);border-radius:var(--hub-radius-medium);background:var(--hub-canvas-default);max-height:14rem;color:var(--hub-fg-default);padding:.25rem;position:fixed;overflow-y:auto}.mention-input__suggestions ul{margin:0;padding:0;list-style:none}.mention-input__suggestions button{width:100%;color:inherit;text-align:start;cursor:pointer;background:0 0;border:0;padding:.5rem}.mention-input__suggestions [aria-selected=true]{background:var(--hub-canvas-subtle)}.review-comment-composer-backdrop{z-index:39;background:0 0;border:0;position:absolute;inset:0}.review-comment-composer{width:min(20rem, calc(100% - var(--hub-space-16)));max-height:calc(100% - var(--hub-space-16));border:1px solid var(--hub-border-muted);background:var(--hub-canvas-subtle);z-index:40;box-shadow:var(--hub-shadow-review-overlay);border-radius:.5625rem;padding:.75rem 1rem 1rem;position:absolute;overflow:auto}.review-comment-composer__form{flex-direction:column;gap:.75rem;display:flex}.review-comment-composer__header,.review-comment-composer__actions{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.review-comment-composer__header h2{font-size:var(--brand-text-size-100);margin:0;font-weight:600}.review-comment-composer__actions{justify-content:flex-end}.review-comment-composer textarea{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100)}.review-comment-composer__error{color:var(--hub-fg-danger)}.review-comment-composer__banner{margin:0}.review-thread-reply-form__blocked{padding:var(--hub-space-8) var(--hub-space-12);color:var(--hub-fg-muted);font-size:.75rem;display:block}.review-thread-reply-form__error{color:var(--hub-fg-danger)}.review-thread-reply-form{flex-direction:column;gap:.5rem;display:flex}.review-thread-reply-form__composer{align-items:flex-end;display:flex;position:relative}.review-thread-reply-form__composer textarea{resize:none;border:1px solid var(--hub-border-default);border-radius:var(--hub-radius-medium);background:var(--hub-canvas-default);width:100%;min-height:2.5rem;max-height:min(7.5rem,20dvh);color:var(--hub-fg-default);font-size:var(--brand-text-size-100);padding:.5rem 2.75rem .625rem 1rem;line-height:1.25rem;display:block}.review-thread-reply-form__composer textarea:focus{border-color:var(--hub-focus);outline:none}.review-thread-reply-form__composer textarea::placeholder{color:var(--hub-fg-muted)}.review-thread-reply-form__composer textarea:placeholder-shown{white-space:nowrap}.review-thread-reply-form__submit{background:var(--brand-button-primary-bgColor-rest);width:1.875rem;height:1.875rem;color:var(--brand-button-primary-fgColor-rest);cursor:pointer;border:0;border-radius:.375rem;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;bottom:.3125rem;right:.3125rem}.review-thread-reply-form__submit:hover:not(:disabled){opacity:.85}.review-thread-reply-form__submit:disabled{background:var(--hub-border-default);color:var(--hub-fg-muted);cursor:default}.review-thread-reply-form__submit:focus-visible{outline:2px solid var(--hub-focus);outline-offset:2px}.review-thread-reply-form__error{font-size:.875rem}.mention-text{border-radius:var(--hub-radius-small);background:var(--hub-canvas-subtle);color:var(--hub-fg-default);padding-inline:.15em;font-weight:600}.review-thread-message__header{align-items:center;gap:.5rem;display:flex}.review-thread-message__byline{flex-wrap:wrap;flex:1;align-items:baseline;column-gap:.5rem;min-width:0;line-height:1.25rem;display:flex}.review-thread-message__byline time,.review-thread-message__byline>span:not(.review-thread-message__identity){color:var(--hub-fg-muted);font-size:.75rem}.review-thread-message__identity{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.review-comment-reactions{gap:var(--hub-space-4);flex-wrap:wrap;align-items:center;display:flex}.review-comment-reactions>button{border-color:var(--hub-border-muted);border-radius:.375rem;gap:.25rem;height:1.625rem;min-height:1.625rem;padding-inline:.375rem;font-size:.75rem}.review-comment-reactions>button>span:first-child{font-size:.75rem;line-height:1}.review-comment-reactions>button .hub-counter{background:var(--hub-counter-background,transparent);min-width:0;min-height:0;padding:0;font-size:.75rem;line-height:1}.review-comment-reactions>button.review-comment-reaction--selected{background:var(--hub-accent-subtle);border-color:color-mix(in srgb, var(--hub-accent) 40%, var(--hub-border-muted));color:var(--hub-fg-default)}.review-comment-reactions__picker-emoji{font-size:1rem;line-height:1}.review-comment-reactions__error{color:var(--hub-fg-danger)}.review-comment-reactions__tooltip[popover][role=tooltip]{white-space:nowrap}.review-comment-reactions__layout{flex-direction:column;gap:.25rem;display:flex}.review-comment-reactions__menu-trigger{width:var(--brand-control-small-size);min-width:var(--brand-control-small-size);height:var(--brand-control-small-size);min-height:var(--brand-control-small-size);background:0 0;border-color:#0000;gap:0;padding:0}.review-comment-reactions__menu-trigger>[data-testid=Button-trailing-visual],.review-comment-reactions__menu-trigger>span:nth-child(2),.review-comment-reactions__tooltip.review-comment-reactions__tooltip--suppressed[popover][role=tooltip]{display:none}.review-comment-reactions:has(.review-comment-reactions__menu-trigger[aria-expanded=true])>[role=tooltip]{display:none}.review-comment-reactions__layout [role=menu]{max-height:min(460px,100dvh - 2rem)}.review-comment-reactions__layout [role=menu] li{column-gap:var(--brand-control-medium-gap)}.review-thread-message{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);flex-direction:column;gap:.125rem;padding:.5rem 1rem 1rem;display:flex}.review-thread-message+.review-thread-message{padding-top:.5rem}.review-thread-message__actions{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.review-thread-message__edit{flex-direction:column;gap:.5rem;display:flex}.review-thread-message__body{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);overflow-wrap:anywhere;white-space:pre-wrap;margin:0 0 0 2.25rem}.review-thread-message__edit,.review-thread-message>.review-comment-reactions__layout{margin-inline-start:2.25rem}.review-thread-message>.review-comment-reactions__layout{margin-block-start:.5rem}.review-thread-message__body--deleted{color:var(--hub-fg-muted);font-style:italic}.review-thread-message__error{color:var(--hub-fg-danger)}.review-thread-message .review-thread-message__menu-trigger:is(button){width:var(--brand-control-small-size);min-width:var(--brand-control-small-size);height:var(--brand-control-small-size);min-height:var(--brand-control-small-size);box-shadow:none;background:0 0;border:0;gap:0;padding:0}.review-thread-message .review-thread-message__menu-trigger:not(:disabled):hover{background:var(--brand-color-border-muted)}.review-thread-message [role=menu] li{column-gap:var(--brand-control-medium-gap)}.review-thread-message__menu-trigger>[data-testid=Button-trailing-visual],.review-thread-message__menu-trigger>span:nth-child(2){display:none}.review-thread-message__header:has(.review-thread-message__menu-trigger[aria-expanded=true])>[role=tooltip]{display:none}.review-thread-message__delete-item{color:var(--hub-fg-danger)}.review-thread-message__menu-divider{border-top:1px solid var(--hub-border-muted);margin-block:var(--hub-space-4);list-style:none}.review-thread-message__delete-item span{color:var(--hub-fg-danger)}.review-thread-message[data-notification-target=true]{outline:2px solid var(--hub-focus);outline-offset:-2px;border-radius:var(--hub-radius-medium)}.review-thread-conversation{background:var(--hub-canvas-subtle);z-index:40;width:100%;height:100%;box-shadow:var(--hub-shadow-review-overlay);border:0;border-radius:0;display:flex;position:absolute;inset:0;overflow:visible}.review-thread-conversation__layout{max-height:inherit;flex-direction:column;flex:1;min-height:0;display:flex}@container (width>=48rem){.review-thread-conversation{width:min(20rem, calc(100% - var(--hub-space-16)));height:auto;max-height:calc(100% - var(--hub-space-16));border:1px solid var(--hub-border-default);border-radius:.75rem;inset:auto}.review-thread-conversation--anchored{top:var(--review-thread-top);left:var(--review-thread-left)}.review-thread-conversation--docked{top:var(--hub-space-12);right:var(--hub-space-12)}}.review-emoji-burst{z-index:50;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.review-thread-conversation__header{border-bottom:1px solid var(--hub-border-default);flex:none;align-items:center;gap:.5rem;min-height:3rem;padding:.5rem 1rem;display:flex}.review-thread-conversation__header h2{font-size:var(--brand-text-size-100);flex:1;margin:0;font-weight:600}.review-thread-conversation__close{background:0 0;border-color:#0000}.review-thread-conversation__banner{margin:var(--hub-space-8)}.review-thread-conversation__messages{flex:auto;min-height:0;overflow:auto}.review-thread-conversation__messages [data-testid=ActionMenu]{position:static}.review-thread-conversation__messages [data-testid=ActionMenu] [role=menu]{max-height:min(460px, var(--review-thread-menu-room-bottom,calc(100dvh - 2rem)))}.review-thread-conversation__messages [data-testid=ActionMenu] [role=menu][class*=ActionMenu__menu--pos-outside-top]{max-height:min(460px, var(--review-thread-menu-room-top,calc(100dvh - 2rem)))}.review-thread-conversation__footer{flex:none;padding:0 .25rem .25rem}.review-thread-conversation__footer--blocked{border-top:1px solid var(--hub-border-muted);padding:0}@container (width>=48rem){.review-thread-conversation__messages{min-height:5rem;max-height:20rem}}.canvas-hub-panel{--hub-sidebar-top:var(--canvas-preview-top,2.75rem)}.canvas-hub-content{padding:var(--hub-space-16);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);flex:1;overflow:auto}.canvas-hub-connection{margin-bottom:1.5rem}.canvas-hub-status{justify-items:start;gap:var(--hub-space-16);display:grid}.canvas-hub-status>.hub-alert{justify-self:stretch}.canvas-hub-content .canvas-hub-connection p{color:var(--hub-fg-default);margin-block-end:var(--base-size-8)}.canvas-hub-settings{margin-bottom:1rem}.canvas-hub-publication__title,.canvas-hub-section__heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.canvas-hub-publication__title{align-items:flex-start}.canvas-hub-publication__title h3,.canvas-hub-section h3{margin:0}.canvas-hub-publication__title h3{overflow-wrap:anywhere;min-width:0}.canvas-hub-publication__status{border:1px solid var(--hub-border-muted);color:var(--hub-fg-muted);border-radius:999px;flex:none;margin-top:.25rem;padding:.25rem .5rem;font-size:.75rem;line-height:1}.canvas-hub-publication__branch{color:var(--hub-fg-muted);overflow-wrap:anywhere;align-items:center;gap:.375rem;margin:.5rem 0 0;text-decoration:none;display:inline-flex}a.canvas-hub-publication__branch:hover{color:var(--hub-accent);text-decoration:underline}.canvas-hub-publication__description{overflow-wrap:anywhere;margin:1rem 0}.canvas-hub-publication__start-page{margin-bottom:0}.canvas-hub-content .canvas-hub-publication__form label{margin:0}.canvas-hub-publication__name-field{flex:1;min-width:0}.canvas-hub-content .canvas-hub-publication__name-field input{box-sizing:border-box;min-height:1.75rem;font-size:var(--brand-text-size-200);font-weight:var(--brand-text-weight-semibold);margin:0;padding-block:.25rem;line-height:1.25rem}.canvas-hub-publication__description-field{margin-top:1rem}.canvas-hub-content .canvas-hub-publication__description-field textarea{resize:vertical;min-height:5rem;margin:0}.canvas-hub-publication__form .canvas-hub-form-actions,.canvas-hub-content .canvas-hub-publication__form .canvas-hub-publication__start-page-field{margin-top:1rem}.canvas-hub-publication__hint{color:var(--hub-fg-muted);margin:.375rem 0 0;font-size:.75rem}.canvas-hub-publication>button{margin-top:var(--hub-space-16)}.canvas-hub-section,.canvas-hub-publication--after-status{border-top:1px solid var(--hub-border-muted);margin-top:1.25rem;padding-top:1.25rem}.canvas-hub-section>p{color:var(--hub-fg-muted);margin:.75rem 0 0}.canvas-hub-build{margin-top:.75rem}.canvas-hub-build__identity{align-items:baseline;gap:var(--hub-space-8);display:flex}.canvas-hub-build__identity>code{color:var(--hub-fg-muted)}.canvas-hub-build>p{color:var(--hub-fg-muted);margin:.5rem 0 0}.canvas-hub-build a,.canvas-hub-build__history{color:var(--hub-accent)}.canvas-hub-build .canvas-hub-build__author{color:inherit;text-decoration:none}.canvas-hub-build .canvas-hub-build__author:hover{color:var(--hub-accent);text-decoration:underline}.canvas-hub-build__history{margin-top:var(--hub-space-12);display:inline-block}.canvas-hub-build>.canvas-hub-build__notice{color:var(--hub-fg-default)}.canvas-hub-disconnect{margin-top:var(--hub-space-16)}.canvas-hub-origin{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem .5rem;display:grid}.canvas-hub-origin>a{min-width:0;color:var(--hub-accent);overflow-wrap:anywhere}.canvas-hub-origin button{white-space:nowrap;grid-area:1/2}.canvas-hub-origin+p,.canvas-hub-origin+.canvas-hub-publication,.canvas-hub-content>p+p{margin-top:1rem}.canvas-hub-origin-form{margin-block:.75rem}.canvas-hub-origin-form p{color:var(--hub-fg-muted)}.canvas-hub-origin-field{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.5rem;display:grid}.canvas-hub-content .canvas-hub-origin-field label{margin:0}.canvas-hub-origin-form>p{margin:.5rem 0 0}.canvas-hub-origin-form>.canvas-hub-form-actions{margin-top:1rem}.canvas-hub-content form label{margin-block:.75rem;display:block}.canvas-hub-content input,.canvas-hub-content textarea{width:100%;margin-top:.25rem;display:block}.canvas-hub-form-actions{gap:.5rem;display:flex}.canvas-marker-layer{inset:var(--canvas-preview-top,2.75rem) 0 0;z-index:20;pointer-events:none;position:absolute}.canvas-review-controls{align-items:center;gap:0;display:inline-flex}.canvas-review-controls .review-comment-control__trigger{border-start-end-radius:0;border-end-end-radius:0;border-top-right-radius:0;border-bottom-right-radius:0;overflow:visible}.canvas-review-controls .review-comment-control__trigger [data-testid=Button-leading-visual]{flex:0 0 1rem;overflow:visible}.canvas-review-controls .review-comment-control__trigger svg{overflow:visible}.canvas-review-controls .canvas-comments-toggle{--brand-button-secondary-bgColor-active:var(--brand-button-secondary-bgColor-rest);--brand-button-secondary-borderColor-active:var(--brand-button-secondary-borderColor-rest);min-width:var(--brand-control-small-size);height:var(--brand-control-small-size);padding-inline:var(--hub-space-8);gap:var(--hub-space-4);border-start-start-radius:0;border-end-start-radius:0;border-inline-start-width:0;border-left-width:0;border-top-left-radius:0;border-bottom-left-radius:0;margin-inline-start:0}.canvas-comments-toggle:focus-visible{outline:2px solid var(--hub-focus);outline-offset:1px}.canvas-comments-unread-badge{width:var(--hub-space-8);height:var(--hub-space-8);background:var(--hub-accent);border-radius:50%}.canvas-comments-sidebar-shell{--hub-sidebar-top:var(--canvas-preview-top,2.75rem);--hub-sidebar-z-index:35}.canvas-comments-sidebar-content{flex-direction:column;padding:0 1rem 1rem;display:flex;overflow:hidden}.canvas-comments-sidebar-shell .review-comment-filter-controls{padding-top:1rem}.canvas-comments-sidebar-shell .review-comment-filter-controls__filters{border-bottom:var(--brand-borderWidth-thin) solid var(--hub-border-muted);margin-inline:-1rem;padding:.25rem 1rem 1rem}.canvas-comments-live-notices{padding-top:.75rem}.canvas-comments-live-status{color:var(--hub-fg-muted);font-size:var(--brand-text-size-100);margin:0;padding:0}.canvas-comments-live-status+.canvas-comments-live-status{margin-top:.5rem}.canvas-conversation-shell{z-index:40;inset:var(--canvas-preview-top,2.75rem) 0 0;pointer-events:none;position:absolute;container-type:inline-size}.canvas-composer-shell{z-index:45;inset:var(--canvas-preview-top,2.75rem) 0 0;pointer-events:none;position:absolute;container-type:inline-size}.canvas-composer-shell .review-comment-composer,.canvas-composer-shell .review-comment-composer-backdrop{pointer-events:auto}.canvas-selection-notice{z-index:46;top:calc(var(--canvas-preview-top,2.75rem) + .75rem);border:1px solid var(--hub-danger-emphasis);border-radius:var(--brand-borderRadius-medium);background:var(--hub-canvas-default);max-width:min(30rem,100% - 2rem);color:var(--hub-fg-default);box-shadow:var(--hub-shadow-floating);padding:.75rem 1rem;position:absolute;left:50%;transform:translate(-50%)}.canvas-conversation-shell .review-thread-conversation{pointer-events:auto}.canvas-conversation-shell :is(.review-thread-message__menu-trigger,.review-comment-reactions__menu-trigger) [data-testid=Button-leading-visual]{flex:0 0 1rem;overflow:visible}.canvas-publish-settings__option{justify-content:space-between;align-items:center;gap:var(--hub-space-16);margin-top:var(--hub-space-12);display:flex}.canvas-publish-settings__option>label{min-width:0}.canvas-publish-settings__toggle:has([aria-disabled=true]){opacity:.5;cursor:not-allowed}.canvas-publish-settings__error{gap:var(--hub-space-12);margin-top:var(--hub-space-12);display:grid}.canvas-toolbar{--hub-toolbar-selected-bg:var(--brand-button-secondary-bgColor-hover);--hub-toolbar-selected-hover-bg:var(--brand-button-secondary-bgColor-active);z-index:50;background:var(--brand-color-canvas-subtle);border-bottom:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;min-height:2.75rem;padding-block:.375rem;padding-inline:.5rem;display:flex;position:relative}.canvas-toolbar .canvas-publish-share{flex-direction:row;flex:none;align-items:center;gap:0;display:flex}.canvas-publish-share:has(.hub-icon-button) .canvas-publish-button{border-start-end-radius:0;border-end-end-radius:0}.canvas-publish-share .hub-icon-button{border-start-start-radius:0;border-end-start-radius:0;margin-inline-start:-1px}.canvas-publish-share button:focus-visible{z-index:1;position:relative}.canvas-publish-share .hub-icon-button,.canvas-publish-share .canvas-publish-button{height:var(--brand-control-small-size);min-height:var(--brand-control-small-size)}.canvas-toolbar .canvas-title{width:fit-content;min-width:0;max-width:max-content;color:var(--brand-color-text-muted,#656d76);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:var(--brand-text-size-100);letter-spacing:-.015em;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1 1 0;justify-content:flex-start;margin-right:auto;font-weight:700;line-height:1.25rem;overflow:hidden}.canvas-toolbar .canvas-title>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.canvas-toolbar .canvas-title:hover{background:var(--brand-button-subtle-bgColor-hover)}.canvas-toolbar .canvas-title:focus-visible{outline:2px solid var(--hub-accent);outline-offset:2px}.canvas-toolbar button{flex-shrink:0}.canvas-toolbar button:is([aria-pressed=true],[aria-expanded=true]):not(.canvas-title,.canvas-publish-button):not(:disabled):not([aria-disabled=true]){background-color:var(--hub-toolbar-selected-bg)}.canvas-toolbar button:is([aria-pressed=true],[aria-expanded=true]):not(.canvas-title,.canvas-publish-button):not(:disabled):not([aria-disabled=true]):is(:hover,:active){background-color:var(--hub-toolbar-selected-hover-bg)}.canvas-review-controls-slot{align-items:center;display:flex}.canvas-publish-button[aria-busy=true] svg{animation:1s linear infinite canvas-publish-spin}@keyframes canvas-publish-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.canvas-publish-button[aria-busy=true] svg{animation:none}}@media (width<=30rem){.canvas-toolbar{padding-inline:.625rem}}@media (width<1024px){.canvas-toolbar .canvas-toolbar-compact-button{width:var(--brand-control-small-size);min-width:var(--brand-control-small-size);gap:0;padding-inline:0}.canvas-toolbar .canvas-toolbar-button-label{display:none}}*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{list-style:none}html,html:focus-within{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html,html:focus-within{scroll-behavior:auto}}body{min-height:100vh;line-height:1.5}a:not([class]){-webkit-text-decoration-skip:ink;-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto}img,picture{max-width:100%}input,button,textarea,select{font-family:inherit}:root,[data-color-mode=light]{--base-color-scale-black-0:#000;--base-color-scale-transparent:#fff0;--base-color-scale-white-0:#fff;--base-color-scale-gray-0:#f2f5f3;--base-color-scale-gray-1:#e4ebe6;--base-color-scale-gray-2:#d2d9d4;--base-color-scale-gray-3:#c4ccc6;--base-color-scale-gray-4:#b6bfb8;--base-color-scale-gray-5:#96a199;--base-color-scale-gray-6:#77827a;--base-color-scale-gray-7:#58635b;--base-color-scale-gray-8:#353d37;--base-color-scale-gray-9:#191f1b;--base-color-scale-blue-0:#ddf4ff;--base-color-scale-blue-1:#bcecff;--base-color-scale-blue-2:#8dd6ff;--base-color-scale-blue-3:#5fb9ff;--base-color-scale-blue-4:#3094ff;--base-color-scale-blue-5:#0377ff;--base-color-scale-blue-6:#0055d5;--base-color-scale-blue-7:#0040a7;--base-color-scale-blue-8:#002f7a;--base-color-scale-blue-9:#001c4d;--base-color-scale-green-0:#ebf9f4;--base-color-scale-green-1:#bfffd1;--base-color-scale-green-2:#8cf2a6;--base-color-scale-green-3:#5fed83;--base-color-scale-green-4:#23ea57;--base-color-scale-green-5:#0fbf3e;--base-color-scale-green-6:#08872b;--base-color-scale-green-7:#0d6731;--base-color-scale-green-8:#0e4a2e;--base-color-scale-green-9:#0d3024;--base-color-scale-yellow-0:#fff8c5;--base-color-scale-yellow-1:#ffe777;--base-color-scale-yellow-2:#ffd743;--base-color-scale-yellow-3:#fabf21;--base-color-scale-yellow-4:#db9d00;--base-color-scale-yellow-5:#be7d00;--base-color-scale-yellow-6:#a06100;--base-color-scale-yellow-7:#824800;--base-color-scale-yellow-8:#653200;--base-color-scale-yellow-9:#471f00;--base-color-scale-orange-0:#fff1e5;--base-color-scale-orange-1:#fcceab;--base-color-scale-orange-2:#f4a876;--base-color-scale-orange-3:#f08a3a;--base-color-scale-orange-4:#da7210;--base-color-scale-orange-5:#b85b06;--base-color-scale-orange-6:#954502;--base-color-scale-orange-7:#703100;--base-color-scale-orange-8:#5c2300;--base-color-scale-orange-9:#471700;--base-color-scale-red-0:#ffebe9;--base-color-scale-red-1:#ffcecb;--base-color-scale-red-2:#ffaba8;--base-color-scale-red-3:#ff8182;--base-color-scale-red-4:#fa4549;--base-color-scale-red-5:#cf2230;--base-color-scale-red-6:#ae0b29;--base-color-scale-red-7:#860620;--base-color-scale-red-8:#730019;--base-color-scale-red-9:#420011;--base-color-scale-purple-0:#f0e5ff;--base-color-scale-purple-1:#dbbffd;--base-color-scale-purple-2:#c898fd;--base-color-scale-purple-3:#b870ff;--base-color-scale-purple-4:#9f51fa;--base-color-scale-purple-5:#8534f3;--base-color-scale-purple-6:#6619e1;--base-color-scale-purple-7:#43179e;--base-color-scale-purple-8:#26115f;--base-color-scale-purple-9:#160048;--base-color-scale-pink-0:#fff0fc;--base-color-scale-pink-1:#ffc9f2;--base-color-scale-pink-2:#f67ed2;--base-color-scale-pink-3:#ff80d2;--base-color-scale-pink-4:#ff4ac0;--base-color-scale-pink-5:#ef2aa4;--base-color-scale-pink-6:#ca2186;--base-color-scale-pink-7:#952866;--base-color-scale-pink-8:#651643;--base-color-scale-pink-9:#3d0a28;--base-color-scale-coral-0:#fff0eb;--base-color-scale-coral-1:#ffcab8;--base-color-scale-coral-2:#ffa387;--base-color-scale-coral-3:#ff7b56;--base-color-scale-coral-4:#fe4c25;--base-color-scale-coral-5:#e13f1b;--base-color-scale-coral-6:#c53211;--base-color-scale-coral-7:#a22710;--base-color-scale-coral-8:#801e0f;--base-color-scale-coral-9:#500a00;--base-color-scale-lemon-0:#fdf5b3;--base-color-scale-lemon-1:#f5e36b;--base-color-scale-lemon-2:#f2da3b;--base-color-scale-lemon-3:#e1c50f;--base-color-scale-lemon-4:#c7a60b;--base-color-scale-lemon-5:#a98906;--base-color-scale-lemon-6:#806803;--base-color-scale-lemon-7:#614d01;--base-color-scale-lemon-8:#413200;--base-color-scale-lemon-9:#322400;--base-color-scale-lime-0:#f3fec8;--base-color-scale-lime-1:#e8fc97;--base-color-scale-lime-2:#dcfa67;--base-color-scale-lime-3:#d1f441;--base-color-scale-lime-4:#b2de28;--base-color-scale-lime-5:#92c219;--base-color-scale-lime-6:#698e17;--base-color-scale-lime-7:#425e13;--base-color-scale-lime-8:#2c440b;--base-color-scale-lime-9:#182c01;--base-color-scale-teal-0:#daf9f5;--base-color-scale-teal-1:#a4efe8;--base-color-scale-teal-2:#6ee5dc;--base-color-scale-teal-3:#39dad2;--base-color-scale-teal-4:#23b1ae;--base-color-scale-teal-5:#197b7b;--base-color-scale-teal-6:#136061;--base-color-scale-teal-7:#024b4d;--base-color-scale-teal-8:#083d3d;--base-color-scale-teal-9:#052b2c;--base-color-scale-indigo-0:#eff2ff;--base-color-scale-indigo-1:#d4dbff;--base-color-scale-indigo-2:#b3c1fd;--base-color-scale-indigo-3:#8e9df7;--base-color-scale-indigo-4:#6b7bef;--base-color-scale-indigo-5:#4956e5;--base-color-scale-indigo-6:#2d3dd7;--base-color-scale-indigo-7:#262dae;--base-color-scale-indigo-8:#212183;--base-color-scale-indigo-9:#12144f}[data-color-mode=dark]{--base-color-scale-black-0:#000;--base-color-scale-transparent:#0000;--base-color-scale-white-0:#fff;--base-color-scale-gray-0:#d2d9d4;--base-color-scale-gray-1:#c4ccc6;--base-color-scale-gray-2:#a4aea6;--base-color-scale-gray-3:#7c8980;--base-color-scale-gray-4:#58635b;--base-color-scale-gray-5:#353d37;--base-color-scale-gray-6:#262c28;--base-color-scale-gray-7:#191f1b;--base-color-scale-gray-8:#0f1511;--base-color-scale-gray-9:#060907;--base-color-scale-blue-0:#c2edff;--base-color-scale-blue-1:#a2daff;--base-color-scale-blue-2:#78bafe;--base-color-scale-blue-3:#3094ff;--base-color-scale-blue-4:#0377ff;--base-color-scale-blue-5:#0a50db;--base-color-scale-blue-6:#1530b7;--base-color-scale-blue-7:#082a8f;--base-color-scale-blue-8:#052063;--base-color-scale-blue-9:#000839;--base-color-scale-green-0:#cdfcd9;--base-color-scale-green-1:#8cf2a6;--base-color-scale-green-2:#5fed83;--base-color-scale-green-3:#23ea57;--base-color-scale-green-4:#0fbf3e;--base-color-scale-green-5:#08872b;--base-color-scale-green-6:#0d6731;--base-color-scale-green-7:#0e422c;--base-color-scale-green-8:#0d3024;--base-color-scale-green-9:#0a241b;--base-color-scale-yellow-0:#f8e3a1;--base-color-scale-yellow-1:#f7d162;--base-color-scale-yellow-2:#fabf21;--base-color-scale-yellow-3:#db9d00;--base-color-scale-yellow-4:#be7d00;--base-color-scale-yellow-5:#a06100;--base-color-scale-yellow-6:#834800;--base-color-scale-yellow-7:#653200;--base-color-scale-yellow-8:#471f00;--base-color-scale-yellow-9:#2a1000;--base-color-scale-orange-0:#ffe2cc;--base-color-scale-orange-1:#fab580;--base-color-scale-orange-2:#f08a3a;--base-color-scale-orange-3:#ea7110;--base-color-scale-orange-4:#d56101;--base-color-scale-orange-5:#b35101;--base-color-scale-orange-6:#924100;--base-color-scale-orange-7:#703100;--base-color-scale-orange-8:#572400;--base-color-scale-orange-9:#3d1800;--base-color-scale-red-0:#ffd9d6;--base-color-scale-red-1:#feb2ae;--base-color-scale-red-2:#fd8986;--base-color-scale-red-3:#fc5c5d;--base-color-scale-red-4:#fa383d;--base-color-scale-red-5:#d31231;--base-color-scale-red-6:#ae0b29;--base-color-scale-red-7:#860620;--base-color-scale-red-8:#5e0217;--base-color-scale-red-9:#33000d;--base-color-scale-purple-0:#eadbff;--base-color-scale-purple-1:#d3b3fe;--base-color-scale-purple-2:#c08bfc;--base-color-scale-purple-3:#a665f9;--base-color-scale-purple-4:#8b40f5;--base-color-scale-purple-5:#6619e1;--base-color-scale-purple-6:#43179e;--base-color-scale-purple-7:#26115f;--base-color-scale-purple-8:#160048;--base-color-scale-purple-9:#0e022c;--base-color-scale-pink-0:#ffdbf7;--base-color-scale-pink-1:#fcabe7;--base-color-scale-pink-2:#f67ed2;--base-color-scale-pink-3:#ed55ba;--base-color-scale-pink-4:#e22d9f;--base-color-scale-pink-5:#ca2186;--base-color-scale-pink-6:#961c66;--base-color-scale-pink-7:#741550;--base-color-scale-pink-8:#520e39;--base-color-scale-pink-9:#30081f;--base-color-scale-coral-0:#ffd5c7;--base-color-scale-coral-1:#fdb7a1;--base-color-scale-coral-2:#fa9072;--base-color-scale-coral-3:#f66945;--base-color-scale-coral-4:#ef4319;--base-color-scale-coral-5:#c53211;--base-color-scale-coral-6:#a22710;--base-color-scale-coral-7:#801e0f;--base-color-scale-coral-8:#500a00;--base-color-scale-coral-9:#3c0000;--base-color-scale-lemon-0:#fcf2a5;--base-color-scale-lemon-1:#f9e76a;--base-color-scale-lemon-2:#f4da38;--base-color-scale-lemon-3:#e4c411;--base-color-scale-lemon-4:#c7a60b;--base-color-scale-lemon-5:#a98906;--base-color-scale-lemon-6:#876a04;--base-color-scale-lemon-7:#654d02;--base-color-scale-lemon-8:#423101;--base-color-scale-lemon-9:#241900;--base-color-scale-lime-0:#edffc9;--base-color-scale-lime-1:#dcff96;--base-color-scale-lime-2:#cdf041;--base-color-scale-lime-3:#b1e119;--base-color-scale-lime-4:#88b80f;--base-color-scale-lime-5:#608a10;--base-color-scale-lime-6:#3e5f0f;--base-color-scale-lime-7:#22360b;--base-color-scale-lime-8:#142a08;--base-color-scale-lime-9:#091d05;--base-color-scale-teal-0:#cff7f2;--base-color-scale-teal-1:#99f1e8;--base-color-scale-teal-2:#61eee3;--base-color-scale-teal-3:#26ede2;--base-color-scale-teal-4:#10dcd4;--base-color-scale-teal-5:#0bbab6;--base-color-scale-teal-6:#079695;--base-color-scale-teal-7:#047172;--base-color-scale-teal-8:#024b4d;--base-color-scale-teal-9:#052d2e;--base-color-scale-indigo-0:#dbe3ff;--base-color-scale-indigo-1:#b3c1fd;--base-color-scale-indigo-2:#8d9ff8;--base-color-scale-indigo-3:#6a7df0;--base-color-scale-indigo-4:#4a5ce5;--base-color-scale-indigo-5:#2d3dd7;--base-color-scale-indigo-6:#232fb3;--base-color-scale-indigo-7:#212183;--base-color-scale-indigo-8:#161962;--base-color-scale-indigo-9:#0d103f}:root{--base-size-128:8rem;--base-size-112:7rem;--base-size-96:6rem;--base-size-88:5.5rem;--base-size-80:5rem;--base-size-64:4rem;--base-size-60:3.75rem;--base-size-48:3rem;--base-size-44:2.75rem;--base-size-40:2.5rem;--base-size-36:2.25rem;--base-size-32:2rem;--base-size-28:1.75rem;--base-size-24:1.5rem;--base-size-20:1.25rem;--base-size-16:1rem;--base-size-12:.75rem;--base-size-8:.5rem;--base-size-6:.375rem;--base-size-4:.25rem;--base-size-2:.125rem;--base-text-weight-heavy:900;--base-text-weight-extrabold:800;--base-text-weight-bold:700;--base-text-weight-semibold:600;--base-text-weight-medium:500;--base-text-weight-normal:400;--base-text-weight-regular:400;--base-text-weight-light:300;--base-text-weight-extralight:200;--brand-animation-variant-scaleInLeft-end:1;--brand-animation-variant-scaleInLeft-start:.9;--brand-animation-variant-scaleInLeft-distance:1.25rem;--brand-animation-variant-scaleInRight-end:1;--brand-animation-variant-scaleInRight-start:.9;--brand-animation-variant-scaleInRight-distance:-1.25rem;--brand-animation-variant-scaleInTop-distance: ;--brand-animation-variant-scaleIn-end:1;--brand-animation-variant-scaleIn-start:.96;--brand-animation-variant-scaleInDown-end:1;--brand-animation-variant-scaleInDown-start:0;--brand-animation-variant-scaleInDown-distance:-3.125rem;--brand-animation-variant-scaleInUp-end:1;--brand-animation-variant-scaleInUp-start:.96;--brand-animation-variant-scaleInUp-distance:1.5rem;--brand-animation-variant-slideInRight-distance:-.9375rem;--brand-animation-variant-slideInLeft-distance:.9375rem;--brand-animation-variant-slideInDown-distance:-.9375rem;--brand-animation-variant-slideInUp-distance:.9375rem;--brand-animation-transition-default:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), transform var(--brand-animation-duration-default) var(--brand-animation-easing-default);--brand-animation-easing-glide:cubic-bezier(.33, 1, .68, 1);--brand-animation-easing-default:cubic-bezier(.16, 1, .3, 1);--brand-animation-duration-extended:.7s;--brand-animation-duration-default:.6s;--brand-animation-duration-fast:.3s;--brand-animation-duration-faster:.2s;--brand-control-animation-easing:var(--brand-animation-easing-glide);--brand-control-animation-duration:80ms;--brand-control-large-size:3.75rem;--brand-control-medium-size:2.6875rem;--brand-controlStack-large-gap-spacious:var(--base-size-12);--brand-controlStack-large-gap-condensed:var(--base-size-8);--brand-controlStack-large-gap-auto:var(--base-size-8);--brand-controlStack-medium-gap-spacious:var(--base-size-12);--brand-controlStack-medium-gap-condensed:var(--base-size-8);--brand-controlStack-small-gap-spacious:var(--base-size-16);--brand-controlStack-small-gap-condensed:var(--base-size-8);--brand-stack-gap-spacious:var(--base-size-48);--brand-stack-gap-normal:var(--base-size-24);--brand-stack-gap-condensed:var(--base-size-16);--brand-stack-padding-spacious:var(--base-size-48);--brand-stack-padding-normal:var(--base-size-24);--brand-stack-padding-condensed:var(--base-size-16);--brand-box-spacing-spacious:var(--base-size-48);--brand-box-spacing-normal:var(--base-size-24);--brand-box-spacing-condensed:var(--base-size-16);--brand-control-large-gap:var(--base-size-16);--brand-control-large-paddingInline-spacious:var(--base-size-32);--brand-control-large-paddingInline-normal:var(--base-size-20);--brand-control-large-paddingInline-condensed:var(--base-size-16);--brand-control-large-paddingBlock-normal:var(--base-size-20);--brand-control-large-paddingBlock-condensed:var(--base-size-12);--brand-control-large-lineBoxHeight:var(--base-size-20);--brand-control-medium-gap:var(--base-size-12);--brand-control-medium-paddingInline-spacious:var(--base-size-28);--brand-control-medium-paddingInline-normal:var(--base-size-16);--brand-control-medium-paddingInline-condensed:var(--base-size-12);--brand-control-medium-paddingBlock-normal:var(--base-size-16);--brand-control-medium-paddingBlock-condensed:var(--base-size-6);--brand-control-medium-lineBoxHeight:var(--base-size-16);--brand-control-small-gap:var(--base-size-8);--brand-control-small-paddingInline-spacious:var(--base-size-24);--brand-control-small-paddingInline-normal:var(--base-size-12);--brand-control-small-paddingInline-condensed:var(--base-size-8);--brand-control-small-paddingBlock:var(--base-size-8);--brand-control-small-lineBoxHeight:var(--base-size-12);--brand-control-small-size:var(--base-size-32);--brand-control-minTarget-coarse:var(--base-size-44);--brand-control-minTarget-fine:var(--base-size-16);--brand-text-style-italic-10:"ital" 10;--brand-text-style-italic-9:"ital" 9;--brand-text-style-italic-8:"ital" 8;--brand-text-style-italic-7:"ital" 7;--brand-text-style-italic-6:"ital" 6;--brand-text-style-italic-5:"ital" 5;--brand-text-style-italic-4:"ital" 4;--brand-text-style-italic-3:"ital" 3;--brand-text-style-italic-2:"ital" 2;--brand-text-style-italic-1:"ital" 1;--brand-text-letterSpacing-1000:0;--brand-text-letterSpacing-900:0;--brand-text-letterSpacing-800:0;--brand-text-letterSpacing-700:0;--brand-text-letterSpacing-600:0;--brand-text-letterSpacing-500:0;--brand-text-letterSpacing-400:0;--brand-text-letterSpacing-350:.18px;--brand-text-letterSpacing-300:.18px;--brand-text-letterSpacing-200:.24px;--brand-text-letterSpacing-100:.21px;--brand-text-lineHeight-1000:1.149;--brand-text-lineHeight-900:1.2;--brand-text-lineHeight-800:1.2;--brand-text-lineHeight-700:1.2;--brand-text-lineHeight-600:1.3;--brand-text-lineHeight-500:1.3;--brand-text-lineHeight-400:1.4;--brand-text-lineHeight-350:1.5;--brand-text-lineHeight-300:1.5;--brand-text-lineHeight-200:1.5;--brand-text-lineHeight-100:1.5;--brand-text-size-1000:2.5rem;--brand-text-size-900:2.25rem;--brand-text-size-800:2rem;--brand-text-size-700:1.75rem;--brand-text-size-600:1.5rem;--brand-text-size-500:1.375rem;--brand-text-size-400:1.25rem;--brand-text-size-350:1.125rem;--brand-text-size-300:1.125rem;--brand-text-size-200:1rem;--brand-text-size-100:.875rem;--brand-text-weight-heavy:550;--brand-text-weight-extrabold:543;--brand-text-weight-bold:537;--brand-text-weight-semibold:525;--brand-text-weight-medium:500;--brand-text-weight-normal:400;--brand-text-weight-regular:400;--brand-text-weight-light:400;--brand-text-weight-extralight:400;--brand-text-weight-1000:var(--base-text-weight-normal);--brand-text-weight-900:var(--base-text-weight-normal);--brand-text-weight-800:var(--base-text-weight-normal);--brand-text-weight-700:var(--base-text-weight-normal);--brand-text-weight-600:var(--base-text-weight-normal);--brand-text-weight-500:var(--base-text-weight-normal);--brand-text-weight-400:var(--base-text-weight-normal);--brand-text-weight-350:var(--base-text-weight-normal);--brand-text-weight-300:var(--base-text-weight-normal);--brand-text-weight-200:var(--base-text-weight-normal);--brand-text-weight-100:var(--base-text-weight-normal);--brand-text-subhead-lineHeight-large:1.3;--brand-text-subhead-lineHeight-medium:1.3;--brand-text-subhead-weight-large:475;--brand-text-subhead-weight-medium:550;--brand-text-subhead-letterSpacing-large:.1px;--brand-text-subhead-letterSpacing-medium:.24px;--brand-text-subhead-size-large:1.125rem;--brand-text-subhead-size-medium:1rem;--brand-heading-lineHeight-1000:1.1;--brand-heading-lineHeight-900:1.1;--brand-heading-lineHeight-800:1.2;--brand-heading-lineHeight-700:1.2;--brand-heading-lineHeight-600:1.3;--brand-heading-lineHeight-500:1.3;--brand-heading-lineHeight-400:1.3;--brand-heading-letterSpacing-1000:0;--brand-heading-letterSpacing-900:0;--brand-heading-letterSpacing-800:0;--brand-heading-letterSpacing-700:0;--brand-heading-letterSpacing-600:0;--brand-heading-letterSpacing-500:0;--brand-heading-letterSpacing-400:0;--brand-heading-weight-1000:440;--brand-heading-weight-900:440;--brand-heading-weight-800:465;--brand-heading-weight-700:460;--brand-heading-weight-600:460;--brand-heading-weight-500:480;--brand-heading-weight-400:480;--brand-fontStack-monospace:"Mona Sans Mono", monospace;--brand-fontStack-sansSerifAlt:"Hubot Sans", "Hubot SansHeaderFallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--brand-fontStack-sansSerif:"Mona Sans", "MonaSansFallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--brand-fontStack-system:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--brand-heading-fontFamilyAlt:var(--brand-fontStack-sansSerifAlt);--brand-heading-fontFamily:var(--brand-fontStack-sansSerif);--brand-body-fontFamilyAlt:var(--brand-fontStack-sansSerifAlt);--brand-body-fontFamily:var(--brand-fontStack-sansSerif)}@media (width>=768px){:root{--brand-text-lineHeight-1000:1.08;--brand-text-lineHeight-900:1.2;--brand-text-lineHeight-800:1.2;--brand-text-size-1000:3.5rem;--brand-text-size-900:3rem;--brand-text-size-800:2.5rem;--brand-text-size-700:2.125rem;--brand-text-size-600:1.75rem;--brand-text-size-500:1.5rem;--brand-text-size-400:1.25rem;--brand-text-subhead-weight-large:525;--brand-heading-lineHeight-1000:1.05;--brand-heading-lineHeight-900:1.05;--brand-heading-weight-1000:440;--brand-heading-weight-900:440;--brand-heading-weight-800:465;--brand-heading-weight-700:460}}@media (width>=1012px){:root{--brand-text-letterSpacing-1000:-.035em;--brand-text-lineHeight-1000:1.08;--brand-text-lineHeight-900:1.1;--brand-text-lineHeight-800:1.18;--brand-text-lineHeight-500:1.35;--brand-text-size-1000:4rem;--brand-text-size-900:3.5rem;--brand-text-size-800:3rem;--brand-text-size-700:2.5rem;--brand-text-size-600:2.125rem;--brand-text-size-500:1.75rem;--brand-text-size-400:1.375rem;--brand-text-size-350:1.25rem;--brand-text-subhead-weight-large:500;--brand-text-subhead-size-large:1.25rem;--brand-heading-lineHeight-1000:1;--brand-heading-lineHeight-900:1;--brand-heading-lineHeight-600:1.2;--brand-heading-letterSpacing-1000:-.014rem;--brand-heading-weight-1000:425;--brand-heading-weight-900:440;--brand-heading-weight-800:440;--brand-heading-weight-700:460}}:root{--brand-breakpoint-xxlarge:87.5rem;--brand-breakpoint-xlarge:80rem;--brand-breakpoint-large:63.25rem;--brand-breakpoint-medium:48rem;--brand-breakpoint-small:34rem;--brand-breakpoint-xsmall:20rem;--brand-borderRadius-full:624.938rem;--brand-borderWidth-thicker:max(4px, .25rem);--brand-borderWidth-thick:max(2px, .125rem);--brand-borderWidth-thin:max(1px, .0625rem);--brand-borderRadius-xlarge:var(--base-size-24);--brand-borderRadius-large:var(--base-size-16);--brand-borderRadius-medium:var(--base-size-8);--brand-borderRadius-small:var(--base-size-4);--brand-borderInset-thicker:inset 0 0 0 var(--brand-borderWidth-thicker);--brand-borderInset-thick:inset 0 0 0 var(--brand-borderWidth-thick);--brand-borderInset-thin:inset 0 0 0 var(--brand-borderWidth-thin)}:root,[data-color-mode=light]{--brand-color-success-fg:var(--base-color-scale-green-6);--brand-color-success-emphasis:var(--base-color-scale-green-5);--brand-color-success-muted:#8cf2a699;--brand-color-success-subtle:var(--base-color-scale-green-1);--brand-color-danger-fg:var(--base-color-scale-red-5);--brand-color-danger-emphasis:var(--base-color-scale-red-5);--brand-color-danger-muted:#ffaba899;--brand-color-danger-subtle:var(--base-color-scale-red-0);--brand-color-error-fg:var(--brand-color-danger-fg);--brand-color-error-emphasis:var(--brand-color-danger-emphasis);--brand-color-error-muted:var(--brand-color-danger-muted);--brand-color-error-subtle:var(--brand-color-danger-subtle);--brand-color-accent-primary:var(--base-color-scale-green-7);--brand-color-accent-secondary:var(--base-color-scale-yellow-5);--brand-color-text-default:var(--base-color-scale-black-0);--brand-color-text-muted:var(--base-color-scale-gray-7);--brand-color-text-subtle:var(--brand-color-text-muted);--brand-color-text-onEmphasis:var(--base-color-scale-white-0);--brand-color-text-emphasized:var(--base-color-scale-green-6);--brand-color-text-link-rest:var(--base-color-scale-blue-6);--brand-color-text-link-pressed:var(--base-color-scale-blue-8);--brand-color-text-danger:#cf222e;--brand-color-text-error:var(--brand-color-text-danger);--brand-color-neutral-emphasisPlus:var(--base-color-scale-gray-8);--brand-color-neutral-emphasis:var(--base-color-scale-gray-6);--brand-color-neutral-muted:#c4ccc6fe;--brand-color-neutral-subtle:#e4ebe6fe;--brand-color-canvas-default:var(--base-color-scale-white-0);--brand-color-canvas-invert:var(--base-color-scale-black-0);--brand-color-canvas-overlay:var(--base-color-scale-white-0);--brand-color-canvas-inset:var(--base-color-scale-gray-0);--brand-color-canvas-subtle:var(--base-color-scale-gray-0);--brand-color-canvas-muted:#f9fbf9;--brand-color-border-default:var(--base-color-scale-gray-4);--brand-color-border-muted:var(--base-color-scale-gray-1);--brand-color-border-subtle:var(--base-color-scale-gray-2);--brand-color-focus:var(--base-color-scale-blue-5)}[data-color-mode=dark]{--brand-color-success-fg:var(--base-color-scale-green-3);--brand-color-success-emphasis:var(--base-color-scale-green-6);--brand-color-success-muted:#0d302499;--brand-color-success-subtle:#0e422cd9;--brand-color-danger-fg:var(--base-color-scale-red-4);--brand-color-danger-emphasis:var(--base-color-scale-red-5);--brand-color-danger-muted:#5e021799;--brand-color-danger-subtle:#fa383dd9;--brand-color-error-fg:var(--brand-color-danger-fg);--brand-color-error-emphasis:var(--brand-color-danger-emphasis);--brand-color-error-muted:var(--brand-color-danger-muted);--brand-color-error-subtle:var(--brand-color-danger-subtle);--brand-color-accent-primary:var(--base-color-scale-green-2);--brand-color-accent-secondary:var(--base-color-scale-yellow-3);--brand-color-text-default:var(--base-color-scale-white-0);--brand-color-text-muted:var(--base-color-scale-gray-2);--brand-color-text-subtle:var(--brand-color-text-muted);--brand-color-text-onEmphasis:var(--base-color-scale-black-0);--brand-color-text-emphasized:var(--base-color-scale-green-3);--brand-color-text-link-rest:var(--base-color-scale-blue-1);--brand-color-text-link-pressed:var(--base-color-scale-blue-1);--brand-color-text-danger:#ff8182;--brand-color-text-error:var(--brand-color-text-danger);--brand-color-neutral-emphasisPlus:var(--base-color-scale-gray-3);--brand-color-neutral-emphasis:var(--base-color-scale-gray-3);--brand-color-neutral-muted:#7c8980fe;--brand-color-neutral-subtle:#7c8980;--brand-color-canvas-default:var(--base-color-scale-black-0);--brand-color-canvas-invert:var(--base-color-scale-white-0);--brand-color-canvas-overlay:var(--base-color-scale-gray-6);--brand-color-canvas-inset:var(--base-color-scale-black-0);--brand-color-canvas-subtle:var(--base-color-scale-gray-8);--brand-color-canvas-muted:#090d0a;--brand-color-border-default:var(--base-color-scale-gray-5);--brand-color-border-muted:var(--base-color-scale-gray-7);--brand-color-border-subtle:var(--base-color-scale-gray-6);--brand-color-focus:var(--base-color-scale-blue-3)}.visually-hidden{clip:rect(0, 0, 0, 0);word-wrap:normal;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}:root{--brand-Grid-spacing-margin:var(--base-size-16);--brand-Grid-spacing-column-gap:var(--base-size-16);--brand-Grid-spacing-row:var(--base-size-16)}@media (width>=768px){:root{--brand-Grid-spacing-margin:var(--base-size-40);--brand-Grid-spacing-column-gap:var(--base-size-32);--brand-Grid-spacing-row:var(--base-size-32)}}@media (width>=1280px){:root{--brand-Grid-spacing-margin:var(--base-size-16);--brand-Grid-spacing-column-gap:var(--base-size-48);--brand-Grid-spacing-row:var(--base-size-48)}}:root,[data-color-mode=light],[data-color-mode=dark]{--brand-Grid-column-bgColor-overlay:#fb51544d}.Primer_Brand__Grid-module__Grid___q48mT{grid-template-columns:repeat(12,minmax(0,1fr));max-width:1280px;margin:0 auto;display:grid}.Primer_Brand__Grid-module__Grid--columnGap-default___NxZ0V{grid-column-gap:var(--brand-Grid-spacing-column-gap)}.Primer_Brand__Grid-module__Grid--columnGap-none___Qh5GF{grid-column-gap:0}.Primer_Brand__Grid-module__Grid--rowGap-default___X5kJS{grid-row-gap:var(--brand-Grid-spacing-row)}.Primer_Brand__Grid-module__Grid--rowGap-none___WSM_k{grid-row-gap:0}.Primer_Brand__Grid-module__Grid--full-width___pIgWW{width:100%;max-width:none}.Primer_Brand__Grid-module__Grid___q48mT+.Primer_Brand__Grid-module__Grid___q48mT{margin-top:var(--brand-Grid-spacing-row)}.Primer_Brand__Grid-module__Grid___q48mT .Primer_Brand__Grid-module__Grid___q48mT{margin:0;padding-inline:0}.Primer_Brand__Grid-module__Grid__column___HTpsw{grid-column:auto/span 12}.Primer_Brand__Grid-module__Grid--has-overlay___M9Cs0 .Primer_Brand__Grid-module__Grid__column___HTpsw{background-color:var(--brand-Grid-column-bgColor-overlay);min-height:var(--base-size-24)}.Primer_Brand__Grid-module__Grid--has-gutters___KoJD2{padding-inline:var(--brand-Grid-spacing-margin)}.Primer_Brand__Grid-module__Grid__column--span-1___T7v1_{grid-column:auto/span 1}.Primer_Brand__Grid-module__Grid__column--span-2___r4qRu{grid-column:auto/span 2}.Primer_Brand__Grid-module__Grid__column--span-3___Tnlwe{grid-column:auto/span 3}.Primer_Brand__Grid-module__Grid__column--span-4___Q9jA0{grid-column:auto/span 4}.Primer_Brand__Grid-module__Grid__column--span-5___UpILx{grid-column:auto/span 5}.Primer_Brand__Grid-module__Grid__column--span-6___vUUep{grid-column:auto/span 6}.Primer_Brand__Grid-module__Grid__column--span-7___lfMLa{grid-column:auto/span 7}.Primer_Brand__Grid-module__Grid__column--span-8___qarGZ{grid-column:auto/span 8}.Primer_Brand__Grid-module__Grid__column--span-9___L2waY{grid-column:auto/span 9}.Primer_Brand__Grid-module__Grid__column--span-10___VRJQp{grid-column:auto/span 10}.Primer_Brand__Grid-module__Grid__column--span-11___pjEQO{grid-column:auto/span 11}.Primer_Brand__Grid-module__Grid__column--span-12___Tn1Hg{grid-column:auto/span 12}.Primer_Brand__Grid-module__Grid__column--start-1___jF8hC{grid-column-start:1}.Primer_Brand__Grid-module__Grid__column--start-2___S9EWU{grid-column-start:2}.Primer_Brand__Grid-module__Grid__column--start-3___GwcI1{grid-column-start:3}.Primer_Brand__Grid-module__Grid__column--start-4___BIVqR{grid-column-start:4}.Primer_Brand__Grid-module__Grid__column--start-5___yTruZ{grid-column-start:5}.Primer_Brand__Grid-module__Grid__column--start-6___FAtcW{grid-column-start:6}.Primer_Brand__Grid-module__Grid__column--start-7___Jnzaq{grid-column-start:7}.Primer_Brand__Grid-module__Grid__column--start-8___CLuiS{grid-column-start:8}.Primer_Brand__Grid-module__Grid__column--start-9___hhyfE{grid-column-start:9}.Primer_Brand__Grid-module__Grid__column--start-10___ojxEo{grid-column-start:10}.Primer_Brand__Grid-module__Grid__column--start-11___oBenU{grid-column-start:11}.Primer_Brand__Grid-module__Grid__column--start-12___wQnvA{grid-column-start:12}@media screen and (width>=0){.Primer_Brand__Grid-module__Grid__column--xsmall-span-1___srexO{grid-column:auto/span 1}.Primer_Brand__Grid-module__Grid__column--xsmall-span-2___XrAnt{grid-column:auto/span 2}.Primer_Brand__Grid-module__Grid__column--xsmall-span-3___Aps_z{grid-column:auto/span 3}.Primer_Brand__Grid-module__Grid__column--xsmall-span-4___OSsWO{grid-column:auto/span 4}.Primer_Brand__Grid-module__Grid__column--xsmall-span-5___ShR77{grid-column:auto/span 5}.Primer_Brand__Grid-module__Grid__column--xsmall-span-6___V4QJq{grid-column:auto/span 6}.Primer_Brand__Grid-module__Grid__column--xsmall-span-7___DtdFA{grid-column:auto/span 7}.Primer_Brand__Grid-module__Grid__column--xsmall-span-8___e5M5o{grid-column:auto/span 8}.Primer_Brand__Grid-module__Grid__column--xsmall-span-9___sdZ5a{grid-column:auto/span 9}.Primer_Brand__Grid-module__Grid__column--xsmall-span-10___YuS1a{grid-column:auto/span 10}.Primer_Brand__Grid-module__Grid__column--xsmall-span-11____RxYR{grid-column:auto/span 11}.Primer_Brand__Grid-module__Grid__column--xsmall-span-12___brXS7{grid-column:auto/span 12}.Primer_Brand__Grid-module__Grid__column--xsmall-start-1___Y9JJq{grid-column-start:1}.Primer_Brand__Grid-module__Grid__column--xsmall-start-2___ruZTF{grid-column-start:2}.Primer_Brand__Grid-module__Grid__column--xsmall-start-3___yEBif{grid-column-start:3}.Primer_Brand__Grid-module__Grid__column--xsmall-start-4___QPFc2{grid-column-start:4}.Primer_Brand__Grid-module__Grid__column--xsmall-start-5___WAqd0{grid-column-start:5}.Primer_Brand__Grid-module__Grid__column--xsmall-start-6___T1rhy{grid-column-start:6}.Primer_Brand__Grid-module__Grid__column--xsmall-start-7___uMQT1{grid-column-start:7}.Primer_Brand__Grid-module__Grid__column--xsmall-start-8___LUADA{grid-column-start:8}.Primer_Brand__Grid-module__Grid__column--xsmall-start-9___CBnBu{grid-column-start:9}.Primer_Brand__Grid-module__Grid__column--xsmall-start-10___EPRyw{grid-column-start:10}.Primer_Brand__Grid-module__Grid__column--xsmall-start-11___UbCAy{grid-column-start:11}.Primer_Brand__Grid-module__Grid__column--xsmall-start-12___gYCaa{grid-column-start:12}}@media screen and (width>=34rem){.Primer_Brand__Grid-module__Grid__column--small-span-1___rBTjf{grid-column:auto/span 1}.Primer_Brand__Grid-module__Grid__column--small-span-2___SHQM3{grid-column:auto/span 2}.Primer_Brand__Grid-module__Grid__column--small-span-3___cbAS8{grid-column:auto/span 3}.Primer_Brand__Grid-module__Grid__column--small-span-4___tv973{grid-column:auto/span 4}.Primer_Brand__Grid-module__Grid__column--small-span-5___EBkra{grid-column:auto/span 5}.Primer_Brand__Grid-module__Grid__column--small-span-6___OYZPl{grid-column:auto/span 6}.Primer_Brand__Grid-module__Grid__column--small-span-7___ymqG4{grid-column:auto/span 7}.Primer_Brand__Grid-module__Grid__column--small-span-8___qy9wb{grid-column:auto/span 8}.Primer_Brand__Grid-module__Grid__column--small-span-9___hWJAx{grid-column:auto/span 9}.Primer_Brand__Grid-module__Grid__column--small-span-10___apy3R{grid-column:auto/span 10}.Primer_Brand__Grid-module__Grid__column--small-span-11___tsz0q{grid-column:auto/span 11}.Primer_Brand__Grid-module__Grid__column--small-span-12___NdAWP{grid-column:auto/span 12}.Primer_Brand__Grid-module__Grid__column--small-start-1___epLTD{grid-column-start:1}.Primer_Brand__Grid-module__Grid__column--small-start-2___wlXcD{grid-column-start:2}.Primer_Brand__Grid-module__Grid__column--small-start-3___YFtvP{grid-column-start:3}.Primer_Brand__Grid-module__Grid__column--small-start-4___SOC6v{grid-column-start:4}.Primer_Brand__Grid-module__Grid__column--small-start-5___EVXuW{grid-column-start:5}.Primer_Brand__Grid-module__Grid__column--small-start-6___t1yYl{grid-column-start:6}.Primer_Brand__Grid-module__Grid__column--small-start-7___MDozK{grid-column-start:7}.Primer_Brand__Grid-module__Grid__column--small-start-8___CR0Zw{grid-column-start:8}.Primer_Brand__Grid-module__Grid__column--small-start-9___W0svP{grid-column-start:9}.Primer_Brand__Grid-module__Grid__column--small-start-10___vxEwX{grid-column-start:10}.Primer_Brand__Grid-module__Grid__column--small-start-11___orcQZ{grid-column-start:11}.Primer_Brand__Grid-module__Grid__column--small-start-12___o4V7W{grid-column-start:12}}@media screen and (width>=48rem){.Primer_Brand__Grid-module__Grid__column--medium-span-1___BiHOE{grid-column:auto/span 1}.Primer_Brand__Grid-module__Grid__column--medium-span-2___nANvY{grid-column:auto/span 2}.Primer_Brand__Grid-module__Grid__column--medium-span-3___GpBD0{grid-column:auto/span 3}.Primer_Brand__Grid-module__Grid__column--medium-span-4___zBxBa{grid-column:auto/span 4}.Primer_Brand__Grid-module__Grid__column--medium-span-5___CnPWN{grid-column:auto/span 5}.Primer_Brand__Grid-module__Grid__column--medium-span-6___DACuh{grid-column:auto/span 6}.Primer_Brand__Grid-module__Grid__column--medium-span-7___R2Isv{grid-column:auto/span 7}.Primer_Brand__Grid-module__Grid__column--medium-span-8___KI5ir{grid-column:auto/span 8}.Primer_Brand__Grid-module__Grid__column--medium-span-9___is8dv{grid-column:auto/span 9}.Primer_Brand__Grid-module__Grid__column--medium-span-10___eN2sH{grid-column:auto/span 10}.Primer_Brand__Grid-module__Grid__column--medium-span-11___anfim{grid-column:auto/span 11}.Primer_Brand__Grid-module__Grid__column--medium-span-12___eT5YS{grid-column:auto/span 12}.Primer_Brand__Grid-module__Grid__column--medium-start-1___bCFG1{grid-column-start:1}.Primer_Brand__Grid-module__Grid__column--medium-start-2___ZxYOX{grid-column-start:2}.Primer_Brand__Grid-module__Grid__column--medium-start-3___aPUJ0{grid-column-start:3}.Primer_Brand__Grid-module__Grid__column--medium-start-4___VTIjA{grid-column-start:4}.Primer_Brand__Grid-module__Grid__column--medium-start-5___ccI5l{grid-column-start:5}.Primer_Brand__Grid-module__Grid__column--medium-start-6___Yc14i{grid-column-start:6}.Primer_Brand__Grid-module__Grid__column--medium-start-7___HOZSW{grid-column-start:7}.Primer_Brand__Grid-module__Grid__column--medium-start-8___G8VdF{grid-column-start:8}.Primer_Brand__Grid-module__Grid__column--medium-start-9___Ebcy8{grid-column-start:9}.Primer_Brand__Grid-module__Grid__column--medium-start-10___dY7pN{grid-column-start:10}.Primer_Brand__Grid-module__Grid__column--medium-start-11___hVffM{grid-column-start:11}.Primer_Brand__Grid-module__Grid__column--medium-start-12___N3mIQ{grid-column-start:12}}@media screen and (width>=63.25rem){.Primer_Brand__Grid-module__Grid__column--large-span-1___Nfkto{grid-column:auto/span 1}.Primer_Brand__Grid-module__Grid__column--large-span-2___GyGH4{grid-column:auto/span 2}.Primer_Brand__Grid-module__Grid__column--large-span-3___iwGxK{grid-column:auto/span 3}.Primer_Brand__Grid-module__Grid__column--large-span-4___eJREG{grid-column:auto/span 4}.Primer_Brand__Grid-module__Grid__column--large-span-5___rCJ_b{grid-column:auto/span 5}.Primer_Brand__Grid-module__Grid__column--large-span-6___JNphY{grid-column:auto/span 6}.Primer_Brand__Grid-module__Grid__column--large-span-7___TySdj{grid-column:auto/span 7}.Primer_Brand__Grid-module__Grid__column--large-span-8___dkJwh{grid-column:auto/span 8}.Primer_Brand__Grid-module__Grid__column--large-span-9___aamnY{grid-column:auto/span 9}.Primer_Brand__Grid-module__Grid__column--large-span-10___nH4Bt{grid-column:auto/span 10}.Primer_Brand__Grid-module__Grid__column--large-span-11___mDo3B{grid-column:auto/span 11}.Primer_Brand__Grid-module__Grid__column--large-span-12___zSL6d{grid-column:auto/span 12}.Primer_Brand__Grid-module__Grid__column--large-start-1___Hc53V{grid-column-start:1}.Primer_Brand__Grid-module__Grid__column--large-start-2____RsQ_{grid-column-start:2}.Primer_Brand__Grid-module__Grid__column--large-start-3___DN5KJ{grid-column-start:3}.Primer_Brand__Grid-module__Grid__column--large-start-4___iKrrW{grid-column-start:4}.Primer_Brand__Grid-module__Grid__column--large-start-5___t3K5k{grid-column-start:5}.Primer_Brand__Grid-module__Grid__column--large-start-6___uFIIO{grid-column-start:6}.Primer_Brand__Grid-module__Grid__column--large-start-7___YeqWt{grid-column-start:7}.Primer_Brand__Grid-module__Grid__column--large-start-8___fmHfg{grid-column-start:8}.Primer_Brand__Grid-module__Grid__column--large-start-9___UIwRf{grid-column-start:9}.Primer_Brand__Grid-module__Grid__column--large-start-10___rOnsb{grid-column-start:10}.Primer_Brand__Grid-module__Grid__column--large-start-11___oPN0R{grid-column-start:11}.Primer_Brand__Grid-module__Grid__column--large-start-12___tZLO7{grid-column-start:12}}@media screen and (width>=80rem){.Primer_Brand__Grid-module__Grid__column--xlarge-span-1___VzjSN{grid-column:auto/span 1}.Primer_Brand__Grid-module__Grid__column--xlarge-span-2___p1QuZ{grid-column:auto/span 2}.Primer_Brand__Grid-module__Grid__column--xlarge-span-3___xvbnJ{grid-column:auto/span 3}.Primer_Brand__Grid-module__Grid__column--xlarge-span-4___D_9gq{grid-column:auto/span 4}.Primer_Brand__Grid-module__Grid__column--xlarge-span-5___AWQN4{grid-column:auto/span 5}.Primer_Brand__Grid-module__Grid__column--xlarge-span-6___FY68d{grid-column:auto/span 6}.Primer_Brand__Grid-module__Grid__column--xlarge-span-7___PDVrC{grid-column:auto/span 7}.Primer_Brand__Grid-module__Grid__column--xlarge-span-8___Np3vn{grid-column:auto/span 8}.Primer_Brand__Grid-module__Grid__column--xlarge-span-9___QnUTm{grid-column:auto/span 9}.Primer_Brand__Grid-module__Grid__column--xlarge-span-10___GPYff{grid-column:auto/span 10}.Primer_Brand__Grid-module__Grid__column--xlarge-span-11____dXqr{grid-column:auto/span 11}.Primer_Brand__Grid-module__Grid__column--xlarge-span-12___Faxbf{grid-column:auto/span 12}.Primer_Brand__Grid-module__Grid__column--xlarge-start-1___8hqMz{grid-column-start:1}.Primer_Brand__Grid-module__Grid__column--xlarge-start-2___aiylo{grid-column-start:2}.Primer_Brand__Grid-module__Grid__column--xlarge-start-3___Iuufu{grid-column-start:3}.Primer_Brand__Grid-module__Grid__column--xlarge-start-4___ynfkD{grid-column-start:4}.Primer_Brand__Grid-module__Grid__column--xlarge-start-5___smnkV{grid-column-start:5}.Primer_Brand__Grid-module__Grid__column--xlarge-start-6___Z4EoQ{grid-column-start:6}.Primer_Brand__Grid-module__Grid__column--xlarge-start-7___NCAWz{grid-column-start:7}.Primer_Brand__Grid-module__Grid__column--xlarge-start-8___CZ8J_{grid-column-start:8}.Primer_Brand__Grid-module__Grid__column--xlarge-start-9___yhpyy{grid-column-start:9}.Primer_Brand__Grid-module__Grid__column--xlarge-start-10___E5Jou{grid-column-start:10}.Primer_Brand__Grid-module__Grid__column--xlarge-start-11___OGVVw{grid-column-start:11}.Primer_Brand__Grid-module__Grid__column--xlarge-start-12____kw0D{grid-column-start:12}}@media screen and (width>=87.5rem){.Primer_Brand__Grid-module__Grid__column--xxlarge-span-1___K9YLn{grid-column:auto/span 1}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-2___FoOLk{grid-column:auto/span 2}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-3___AvRFb{grid-column:auto/span 3}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-4___wmisc{grid-column:auto/span 4}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-5___oSh5q{grid-column:auto/span 5}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-6___zg0Yr{grid-column:auto/span 6}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-7___CxtNE{grid-column:auto/span 7}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-8___r4GdW{grid-column:auto/span 8}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-9___mfOCW{grid-column:auto/span 9}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-10___xjus8{grid-column:auto/span 10}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-11___AZC4h{grid-column:auto/span 11}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-12___DjdAU{grid-column:auto/span 12}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-1___HFYSu{grid-column-start:1}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-2___dBj41{grid-column-start:2}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-3___BX9bn{grid-column-start:3}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-4___FwEd9{grid-column-start:4}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-5____pwv6{grid-column-start:5}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-6___u1opn{grid-column-start:6}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-7___GuJAv{grid-column-start:7}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-8___Z7ZFc{grid-column-start:8}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-9___CcH1u{grid-column-start:9}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-10___sck1f{grid-column-start:10}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-11___VvIqo{grid-column-start:11}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-12___MKYFP{grid-column-start:12}}.Primer_Brand__Animation-module__Animation___KNtEW{transition:var(--brand-animation-transition-default)}.Primer_Brand__Animation-module__Animation--fade-in___jUvJD{opacity:0;transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--fade-in___jUvJD.Primer_Brand__Animation-module__Animation--active___g_UBK,.Primer_Brand__Animation-module__Animation--fade-out___CsyfK{opacity:1}.Primer_Brand__Animation-module__Animation--fade-out___CsyfK.Primer_Brand__Animation-module__Animation--active___g_UBK{opacity:0;transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--slide-in-up___ONnmI{opacity:0;transform:translateY(var(--brand-animation-variant-slideInUp-distance));transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), transform var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--slide-in-up___ONnmI.Primer_Brand__Animation-module__Animation--active___g_UBK{opacity:1;transform:translateY(0)}.Primer_Brand__Animation-module__Animation--slide-in-down___bjmGv{opacity:0;transform:translateY(var(--brand-animation-variant-slideInDown-distance));transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), transform var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--slide-in-down___bjmGv.Primer_Brand__Animation-module__Animation--active___g_UBK{opacity:1;transform:translateY(0)}.Primer_Brand__Animation-module__Animation--slide-in-left___iy5Js{opacity:0;transform:translateX(var(--brand-animation-variant-slideInLeft-distance));transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), transform var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--slide-in-left___iy5Js.Primer_Brand__Animation-module__Animation--active___g_UBK{opacity:1;transform:translate(0)}.Primer_Brand__Animation-module__Animation--slide-in-right___UZvNx{opacity:0;transform:translateX(var(--brand-animation-variant-slideInRight-distance));transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), transform var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--slide-in-right___UZvNx.Primer_Brand__Animation-module__Animation--active___g_UBK{opacity:1;transform:translate(0)}.Primer_Brand__Animation-module__Animation--scale-in___P7xzG{opacity:0;transform:scale(var(--brand-animation-variant-scaleIn-start));transition:opacity var(--brand-animation-duration-extended) var(--brand-animation-easing-default), transform var(--brand-animation-duration-extended) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--scale-in___P7xzG.Primer_Brand__Animation-module__Animation--active___g_UBK{opacity:1;transform:scale(--brand-animation-variant-scaleIn-end)}.Primer_Brand__Animation-module__Animation--scale-in-up___n0qDP{opacity:0;transform:scale(var(--brand-animation-variant-scaleInUp-start)) translateY(var(--brand-animation-variant-scaleInUp-distance));transition:opacity var(--brand-animation-duration-extended) var(--brand-animation-easing-default), transform var(--brand-animation-duration-extended) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--scale-in-up___n0qDP.Primer_Brand__Animation-module__Animation--active___g_UBK{opacity:1;transform:scale(var(--brand-animation-variant-scaleInUp-end)) translateY(0)}.Primer_Brand__Animation-module__Animation--scale-in-down___YEgko{opacity:0;transform:translateY(var(--brand-animation-variant-scaleInDown-distance)) scale(var(--brand-animation-variant-scaleInDown-start));transition:opacity var(--brand-animation-duration-extended) var(--brand-animation-easing-default), transform var(--brand-animation-duration-extended) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--scale-in-down___YEgko.Primer_Brand__Animation-module__Animation--active___g_UBK{opacity:1;transform:translateY(0) scale(var(--brand-animation-variant-scaleInDown-end))}.Primer_Brand__Animation-module__Animation--scale-in-right___jBPh4{opacity:0;transform:scale(var(--brand-animation-variant-scaleInRight-start)) translateX(var(--brand-animation-variant-scaleInRight-distance));transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), transform var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--scale-in-right___jBPh4.Primer_Brand__Animation-module__Animation--active___g_UBK{opacity:1;transform:translateX(0) scale(var(--brand-animation-variant-scaleInRight-end))}.Primer_Brand__Animation-module__Animation--scale-in-left___g8_dC{opacity:0;transform:scale(var(--brand-animation-variant-scaleInLeft-start)) translateX(var(--brand-animation-variant-scaleInLeft-distance));transition:opacity var(--brand-animation-duration-extended) var(--brand-animation-easing-default), transform var(--brand-animation-duration-extended) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--scale-in-left___g8_dC.Primer_Brand__Animation-module__Animation--active___g_UBK{opacity:1;transform:translateX(0) scale(var(--brand-animation-variant-scaleInLeft-end))}.Primer_Brand__Animation-module__Animation--fill-in-right___G_LYH{transform-origin:0;transition:transform var(--brand-animation-duration-default) var(--brand-animation-easing-default);transform:scaleX(0)}.Primer_Brand__Animation-module__Animation--fill-in-right___G_LYH.Primer_Brand__Animation-module__Animation--active___g_UBK{transform:scaleX(1)}.Primer_Brand__Animation-module__Animation--fill-in-top___AHELS{transform-origin:top;transition:transform var(--brand-animation-duration-extended) var(--brand-animation-easing-default);transform:scaleY(0)}.Primer_Brand__Animation-module__Animation--fill-in-top___AHELS.Primer_Brand__Animation-module__Animation--active___g_UBK{transform:scaleY(1)}.Primer_Brand__Animation-module__Animation--reveal-in-up___xMAnz{clip-path:inset(-100% 0 100%);transition:transform var(--brand-animation-duration-default) var(--brand-animation-easing-default), clip-path var(--brand-animation-duration-default) var(--brand-animation-easing-default);transform:translateY(100%)}.Primer_Brand__Animation-module__Animation--reveal-in-up___xMAnz.Primer_Brand__Animation-module__Animation--active___g_UBK{clip-path:inset(0 0 -.2em);transform:translateY(0)}@media (prefers-reduced-motion:reduce){.Primer_Brand__Animation-module__Animation___KNtEW,.Primer_Brand__Animation-module__Animation___KNtEW:before,.Primer_Brand__Animation-module__Animation___KNtEW:after,.Primer_Brand__Animation-module__Animation___KNtEW *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__Stack-module__Stack___tASKe{display:flex}.Primer_Brand__Stack-module__Stack--vertical___CFzE7{flex-direction:column}.Primer_Brand__Stack-module__Stack--horizontal___YJFas{flex-direction:row}.Primer_Brand__Stack-module__Stack-narrow--vertical___GDT_Z{flex-direction:column}.Primer_Brand__Stack-module__Stack-narrow--horizontal___Co6IL{flex-direction:row}@media screen and (width>=48rem){.Primer_Brand__Stack-module__Stack-regular--vertical___TMpL8{flex-direction:column}.Primer_Brand__Stack-module__Stack-regular--horizontal___WDLyR{flex-direction:row}}@media screen and (width>=80rem){.Primer_Brand__Stack-module__Stack-wide--vertical___G1Eu6{flex-direction:column}.Primer_Brand__Stack-module__Stack-wide--horizontal___cvxh3{flex-direction:row}}.Primer_Brand__Stack-module__Stack--gap-none___M7T_v{gap:0}.Primer_Brand__Stack-module__Stack--gap-condensed___Xe9jx{gap:var(--brand-stack-gap-condensed)}.Primer_Brand__Stack-module__Stack--gap-normal___JEO7_{gap:var(--brand-stack-gap-normal)}.Primer_Brand__Stack-module__Stack--gap-spacious___w5ugZ{gap:var(--brand-stack-gap-spacious)}.Primer_Brand__Stack-module__Stack--gap-4___Ig30K{gap:var(--base-size-4)}.Primer_Brand__Stack-module__Stack--gap-8___fQ3Ul{gap:var(--base-size-8)}.Primer_Brand__Stack-module__Stack--gap-12___hJNHc{gap:var(--base-size-12)}.Primer_Brand__Stack-module__Stack--gap-16___gT_Of{gap:var(--base-size-16)}.Primer_Brand__Stack-module__Stack--gap-20___eVLBq{gap:var(--base-size-20)}.Primer_Brand__Stack-module__Stack--gap-24___TQnkj{gap:var(--base-size-24)}.Primer_Brand__Stack-module__Stack--gap-28___Ao4f4{gap:var(--base-size-28)}.Primer_Brand__Stack-module__Stack--gap-32___iSq9y{gap:var(--base-size-32)}.Primer_Brand__Stack-module__Stack--gap-36___QzYro{gap:var(--base-size-36)}.Primer_Brand__Stack-module__Stack--gap-40___m5Kys{gap:var(--base-size-40)}.Primer_Brand__Stack-module__Stack--gap-44___grqBd{gap:var(--base-size-44)}.Primer_Brand__Stack-module__Stack--gap-48___vhQgW{gap:var(--base-size-48)}.Primer_Brand__Stack-module__Stack--gap-60___eZ7wt{gap:var(--base-size-60)}.Primer_Brand__Stack-module__Stack--gap-64___XKCAY{gap:var(--base-size-64)}.Primer_Brand__Stack-module__Stack--gap-80___GfDtU{gap:var(--base-size-80)}.Primer_Brand__Stack-module__Stack--gap-88___IfwPj{gap:var(--base-size-88)}.Primer_Brand__Stack-module__Stack--gap-96___wM4RB{gap:var(--base-size-96)}.Primer_Brand__Stack-module__Stack--gap-112___Rva1x{gap:var(--base-size-112)}.Primer_Brand__Stack-module__Stack--gap-128___KJAoH{gap:var(--base-size-128)}.Primer_Brand__Stack-module__Stack-narrow--gap-none___YtqsL{gap:0}.Primer_Brand__Stack-module__Stack-narrow--gap-condensed___zwHUG{gap:var(--brand-stack-gap-condensed)}.Primer_Brand__Stack-module__Stack-narrow--gap-normal___smNw5{gap:var(--brand-stack-gap-normal)}.Primer_Brand__Stack-module__Stack-narrow--gap-spacious___TX17G{gap:var(--brand-stack-gap-spacious)}.Primer_Brand__Stack-module__Stack--padding-none___RCMh9{padding:0}.Primer_Brand__Stack-module__Stack--padding-condensed___mo7Aq{padding:var(--brand-stack-padding-condensed)}.Primer_Brand__Stack-module__Stack--padding-normal___ySRTI{padding:var(--brand-stack-padding-normal)}.Primer_Brand__Stack-module__Stack--padding-spacious___REyye{padding:var(--brand-stack-padding-spacious)}.Primer_Brand__Stack-module__Stack--padding-4___aj4uj{padding:var(--base-size-4)}.Primer_Brand__Stack-module__Stack--padding-8___roPlm{padding:var(--base-size-8)}.Primer_Brand__Stack-module__Stack--padding-12___x5qIX{padding:var(--base-size-12)}.Primer_Brand__Stack-module__Stack--padding-16___ZFRO_{padding:var(--base-size-16)}.Primer_Brand__Stack-module__Stack--padding-20___pi8jv{padding:var(--base-size-20)}.Primer_Brand__Stack-module__Stack--padding-24___iHVEv{padding:var(--base-size-24)}.Primer_Brand__Stack-module__Stack--padding-28___ZzMnF{padding:var(--base-size-28)}.Primer_Brand__Stack-module__Stack--padding-32___m4XKv{padding:var(--base-size-32)}.Primer_Brand__Stack-module__Stack--padding-36___TssXo{padding:var(--base-size-36)}.Primer_Brand__Stack-module__Stack--padding-40___GoH03{padding:var(--base-size-40)}.Primer_Brand__Stack-module__Stack--padding-44___yXX7f{padding:var(--base-size-44)}.Primer_Brand__Stack-module__Stack--padding-48___Owl4z{padding:var(--base-size-48)}.Primer_Brand__Stack-module__Stack--padding-60___gm0l0{padding:var(--base-size-60)}.Primer_Brand__Stack-module__Stack--padding-64___IIv9e{padding:var(--base-size-64)}.Primer_Brand__Stack-module__Stack--padding-80___GvEJb{padding:var(--base-size-80)}.Primer_Brand__Stack-module__Stack--padding-88___ZuA5D{padding:var(--base-size-88)}.Primer_Brand__Stack-module__Stack--padding-96___JF88r{padding:var(--base-size-96)}.Primer_Brand__Stack-module__Stack--padding-112___wzOyM{padding:var(--base-size-112)}.Primer_Brand__Stack-module__Stack--padding-128___uuMnk{padding:var(--base-size-128)}.Primer_Brand__Stack-module__Stack-narrow--padding-none___ndsvs{padding:0}.Primer_Brand__Stack-module__Stack-narrow--padding-condensed___f1f4j{padding:var(--brand-stack-padding-condensed)}.Primer_Brand__Stack-module__Stack-narrow--padding-normal___TQe_D{padding:var(--brand-stack-padding-normal)}.Primer_Brand__Stack-module__Stack-narrow--padding-spacious___YeMDB{padding:var(--brand-stack-padding-spacious)}.Primer_Brand__Stack-module__Stack-narrow--padding-4___u7vTZ{padding:var(--base-size-4)}.Primer_Brand__Stack-module__Stack-narrow--padding-8___I46C6{padding:var(--base-size-8)}.Primer_Brand__Stack-module__Stack-narrow--padding-12___dDOxC{padding:var(--base-size-12)}.Primer_Brand__Stack-module__Stack-narrow--padding-16___fP_Cf{padding:var(--base-size-16)}.Primer_Brand__Stack-module__Stack-narrow--padding-20___iQimO{padding:var(--base-size-20)}.Primer_Brand__Stack-module__Stack-narrow--padding-24___A3O7E{padding:var(--base-size-24)}.Primer_Brand__Stack-module__Stack-narrow--padding-28___AQ6m1{padding:var(--base-size-28)}.Primer_Brand__Stack-module__Stack-narrow--padding-32___fwzmW{padding:var(--base-size-32)}.Primer_Brand__Stack-module__Stack-narrow--padding-36___nREO8{padding:var(--base-size-36)}.Primer_Brand__Stack-module__Stack-narrow--padding-40___Z0my5{padding:var(--base-size-40)}.Primer_Brand__Stack-module__Stack-narrow--padding-44___DBucu{padding:var(--base-size-44)}.Primer_Brand__Stack-module__Stack-narrow--padding-48___FmiJM{padding:var(--base-size-48)}.Primer_Brand__Stack-module__Stack-narrow--padding-60___wMl0S{padding:var(--base-size-60)}.Primer_Brand__Stack-module__Stack-narrow--padding-64___X7fQc{padding:var(--base-size-64)}.Primer_Brand__Stack-module__Stack-narrow--padding-80___URxqt{padding:var(--base-size-80)}.Primer_Brand__Stack-module__Stack-narrow--padding-88___TTW75{padding:var(--base-size-88)}.Primer_Brand__Stack-module__Stack-narrow--padding-96___OHxcW{padding:var(--base-size-96)}.Primer_Brand__Stack-module__Stack-narrow--padding-112___tNmYE{padding:var(--base-size-112)}.Primer_Brand__Stack-module__Stack-narrow--padding-128___MeCmA{padding:var(--base-size-128)}.Primer_Brand__Stack-module__Stack-narrow--gap-4___DPSDt{gap:var(--base-size-4)}.Primer_Brand__Stack-module__Stack-narrow--gap-8___kbBO7{gap:var(--base-size-8)}.Primer_Brand__Stack-module__Stack-narrow--gap-12___g2DMv{gap:var(--base-size-12)}.Primer_Brand__Stack-module__Stack-narrow--gap-16___txy3T{gap:var(--base-size-16)}.Primer_Brand__Stack-module__Stack-narrow--gap-20___EI1Lr{gap:var(--base-size-20)}.Primer_Brand__Stack-module__Stack-narrow--gap-24___eCYeX{gap:var(--base-size-24)}.Primer_Brand__Stack-module__Stack-narrow--gap-28___lFWdB{gap:var(--base-size-28)}.Primer_Brand__Stack-module__Stack-narrow--gap-32___OvuFF{gap:var(--base-size-32)}.Primer_Brand__Stack-module__Stack-narrow--gap-36___iDp6W{gap:var(--base-size-36)}.Primer_Brand__Stack-module__Stack-narrow--gap-40___nCuFr{gap:var(--base-size-40)}.Primer_Brand__Stack-module__Stack-narrow--gap-44___aAL4O{gap:var(--base-size-44)}.Primer_Brand__Stack-module__Stack-narrow--gap-48___NmFRy{gap:var(--base-size-48)}.Primer_Brand__Stack-module__Stack-narrow--gap-60___gC89b{gap:var(--base-size-60)}.Primer_Brand__Stack-module__Stack-narrow--gap-64___zmJsB{gap:var(--base-size-64)}.Primer_Brand__Stack-module__Stack-narrow--gap-80___PZ_rn{gap:var(--base-size-80)}.Primer_Brand__Stack-module__Stack-narrow--gap-88___jCo0m{gap:var(--base-size-88)}.Primer_Brand__Stack-module__Stack-narrow--gap-96___lmTUq{gap:var(--base-size-96)}.Primer_Brand__Stack-module__Stack-narrow--gap-112___WsPB0{gap:var(--base-size-112)}.Primer_Brand__Stack-module__Stack-narrow--gap-128___gWyum{gap:var(--base-size-128)}@media screen and (width>=48rem){.Primer_Brand__Stack-module__Stack-regular--gap-none____ZDEx{gap:0}.Primer_Brand__Stack-module__Stack-regular--gap-condensed___ZYYsD{gap:var(--brand-stack-gap-condensed)}.Primer_Brand__Stack-module__Stack-regular--gap-normal___dRchQ{gap:var(--brand-stack-gap-normal)}.Primer_Brand__Stack-module__Stack-regular--gap-spacious___oMqRv{gap:var(--brand-stack-gap-spacious)}.Primer_Brand__Stack-module__Stack-regular--gap-4___S08kR{gap:var(--base-size-4)}.Primer_Brand__Stack-module__Stack-regular--gap-8___TtKx9{gap:var(--base-size-8)}.Primer_Brand__Stack-module__Stack-regular--gap-12___hzuKq{gap:var(--base-size-12)}.Primer_Brand__Stack-module__Stack-regular--gap-16___o7HsO{gap:var(--base-size-16)}.Primer_Brand__Stack-module__Stack-regular--gap-20___QDl67{gap:var(--base-size-20)}.Primer_Brand__Stack-module__Stack-regular--gap-24___CweJ8{gap:var(--base-size-24)}.Primer_Brand__Stack-module__Stack-regular--gap-28___Ud6HO{gap:var(--base-size-28)}.Primer_Brand__Stack-module__Stack-regular--gap-32___pua20{gap:var(--base-size-32)}.Primer_Brand__Stack-module__Stack-regular--gap-36___q_Cjl{gap:var(--base-size-36)}.Primer_Brand__Stack-module__Stack-regular--gap-40___cZw83{gap:var(--base-size-40)}.Primer_Brand__Stack-module__Stack-regular--gap-44___EzLI4{gap:var(--base-size-44)}.Primer_Brand__Stack-module__Stack-regular--gap-48___IECRy{gap:var(--base-size-48)}.Primer_Brand__Stack-module__Stack-regular--gap-60___BuFRm{gap:var(--base-size-60)}.Primer_Brand__Stack-module__Stack-regular--gap-64___Jiu59{gap:var(--base-size-64)}.Primer_Brand__Stack-module__Stack-regular--gap-80___f0xxA{gap:var(--base-size-80)}.Primer_Brand__Stack-module__Stack-regular--gap-88___p830y{gap:var(--base-size-88)}.Primer_Brand__Stack-module__Stack-regular--gap-96___BYfZt{gap:var(--base-size-96)}.Primer_Brand__Stack-module__Stack-regular--gap-112___VFbdf{gap:var(--base-size-112)}.Primer_Brand__Stack-module__Stack-regular--gap-128___o25ih{gap:var(--base-size-128)}.Primer_Brand__Stack-module__Stack-regular--padding-none____wmhn{padding:0}.Primer_Brand__Stack-module__Stack-regular--padding-condensed___WxLyH{padding:var(--brand-stack-padding-condensed)}.Primer_Brand__Stack-module__Stack-regular--padding-normal___oKpGh{padding:var(--brand-stack-padding-normal)}.Primer_Brand__Stack-module__Stack-regular--padding-spacious___pL7HW{padding:var(--brand-stack-padding-spacious)}.Primer_Brand__Stack-module__Stack-regular--padding-4___g1MlZ{padding:var(--base-size-4)}.Primer_Brand__Stack-module__Stack-regular--padding-8___MV9gV{padding:var(--base-size-8)}.Primer_Brand__Stack-module__Stack-regular--padding-12___U43Fw{padding:var(--base-size-12)}.Primer_Brand__Stack-module__Stack-regular--padding-16___KvH6B{padding:var(--base-size-16)}.Primer_Brand__Stack-module__Stack-regular--padding-20___eppyK{padding:var(--base-size-20)}.Primer_Brand__Stack-module__Stack-regular--padding-24___vtwRC{padding:var(--base-size-24)}.Primer_Brand__Stack-module__Stack-regular--padding-28___nTiOJ{padding:var(--base-size-28)}.Primer_Brand__Stack-module__Stack-regular--padding-32___I5REZ{padding:var(--base-size-32)}.Primer_Brand__Stack-module__Stack-regular--padding-36___WS1K6{padding:var(--base-size-36)}.Primer_Brand__Stack-module__Stack-regular--padding-40___JMmOa{padding:var(--base-size-40)}.Primer_Brand__Stack-module__Stack-regular--padding-44____aK4u{padding:var(--base-size-44)}.Primer_Brand__Stack-module__Stack-regular--padding-48___oQ2EH{padding:var(--base-size-48)}.Primer_Brand__Stack-module__Stack-regular--padding-60___iStI8{padding:var(--base-size-60)}.Primer_Brand__Stack-module__Stack-regular--padding-64___lVIL3{padding:var(--base-size-64)}.Primer_Brand__Stack-module__Stack-regular--padding-80___iDn3V{padding:var(--base-size-80)}.Primer_Brand__Stack-module__Stack-regular--padding-88___ugAjz{padding:var(--base-size-88)}.Primer_Brand__Stack-module__Stack-regular--padding-96___a2rM5{padding:var(--base-size-96)}.Primer_Brand__Stack-module__Stack-regular--padding-112___iIwN_{padding:var(--base-size-112)}.Primer_Brand__Stack-module__Stack-regular--padding-128___CNuPG{padding:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Stack-module__Stack-wide--gap-none___V9yZQ{gap:0}.Primer_Brand__Stack-module__Stack-wide--gap-condensed___TB7xm{gap:var(--brand-stack-gap-condensed)}.Primer_Brand__Stack-module__Stack-wide--gap-normal___Et9_A{gap:var(--brand-stack-gap-normal)}.Primer_Brand__Stack-module__Stack-wide--gap-spacious___WXQyb{gap:var(--brand-stack-gap-spacious)}.Primer_Brand__Stack-module__Stack-wide--gap-4___jztrv{gap:var(--base-size-4)}.Primer_Brand__Stack-module__Stack-wide--gap-8___qaywr{gap:var(--base-size-8)}.Primer_Brand__Stack-module__Stack-wide--gap-12___bCgki{gap:var(--base-size-12)}.Primer_Brand__Stack-module__Stack-wide--gap-16___V0Ly_{gap:var(--base-size-16)}.Primer_Brand__Stack-module__Stack-wide--gap-20___lcLAk{gap:var(--base-size-20)}.Primer_Brand__Stack-module__Stack-wide--gap-24___H0crZ{gap:var(--base-size-24)}.Primer_Brand__Stack-module__Stack-wide--gap-28___IVObp{gap:var(--base-size-28)}.Primer_Brand__Stack-module__Stack-wide--gap-32___HXuJZ{gap:var(--base-size-32)}.Primer_Brand__Stack-module__Stack-wide--gap-36___nP2T_{gap:var(--base-size-36)}.Primer_Brand__Stack-module__Stack-wide--gap-40___NfVDb{gap:var(--base-size-40)}.Primer_Brand__Stack-module__Stack-wide--gap-44___bqym2{gap:var(--base-size-44)}.Primer_Brand__Stack-module__Stack-wide--gap-48___M3ciy{gap:var(--base-size-48)}.Primer_Brand__Stack-module__Stack-wide--gap-60___X9p2c{gap:var(--base-size-60)}.Primer_Brand__Stack-module__Stack-wide--gap-64___x2ZRh{gap:var(--base-size-64)}.Primer_Brand__Stack-module__Stack-wide--gap-80___OKRwQ{gap:var(--base-size-80)}.Primer_Brand__Stack-module__Stack-wide--gap-88___OXC9b{gap:var(--base-size-88)}.Primer_Brand__Stack-module__Stack-wide--gap-96___piUPg{gap:var(--base-size-96)}.Primer_Brand__Stack-module__Stack-wide--gap-112___s5WKM{gap:var(--base-size-112)}.Primer_Brand__Stack-module__Stack-wide--gap-128___JJ87b{gap:var(--base-size-128)}.Primer_Brand__Stack-module__Stack-wide--padding-none___GEcfF{padding:0}.Primer_Brand__Stack-module__Stack-wide--padding-condensed___heIOO{padding:var(--brand-stack-padding-condensed)}.Primer_Brand__Stack-module__Stack-wide--padding-normal___Pdr2C{padding:var(--brand-stack-padding-normal)}.Primer_Brand__Stack-module__Stack-wide--padding-spacious___d_AmA{padding:var(--brand-stack-padding-spacious)}.Primer_Brand__Stack-module__Stack-wide--padding-4___a4P38{padding:var(--base-size-4)}.Primer_Brand__Stack-module__Stack-wide--padding-8___JPU6G{padding:var(--base-size-8)}.Primer_Brand__Stack-module__Stack-wide--padding-12___neDmy{padding:var(--base-size-12)}.Primer_Brand__Stack-module__Stack-wide--padding-16___Cj2BV{padding:var(--base-size-16)}.Primer_Brand__Stack-module__Stack-wide--padding-20___lPynX{padding:var(--base-size-20)}.Primer_Brand__Stack-module__Stack-wide--padding-24___Ypw7V{padding:var(--base-size-24)}.Primer_Brand__Stack-module__Stack-wide--padding-28___k80vm{padding:var(--base-size-28)}.Primer_Brand__Stack-module__Stack-wide--padding-32___SHTUT{padding:var(--base-size-32)}.Primer_Brand__Stack-module__Stack-wide--padding-36___iWSDo{padding:var(--base-size-36)}.Primer_Brand__Stack-module__Stack-wide--padding-40___qk1Hg{padding:var(--base-size-40)}.Primer_Brand__Stack-module__Stack-wide--padding-44___a8DV4{padding:var(--base-size-44)}.Primer_Brand__Stack-module__Stack-wide--padding-48___yc5OP{padding:var(--base-size-48)}.Primer_Brand__Stack-module__Stack-wide--padding-60___JHhf2{padding:var(--base-size-60)}.Primer_Brand__Stack-module__Stack-wide--padding-64____opnu{padding:var(--base-size-64)}.Primer_Brand__Stack-module__Stack-wide--padding-80___c5WnH{padding:var(--base-size-80)}.Primer_Brand__Stack-module__Stack-wide--padding-88___cQ0Vq{padding:var(--base-size-88)}.Primer_Brand__Stack-module__Stack-wide--padding-96___xJjZt{padding:var(--base-size-96)}.Primer_Brand__Stack-module__Stack-wide--padding-112___xmuIf{padding:var(--base-size-112)}.Primer_Brand__Stack-module__Stack-wide--padding-128___OV3zg{padding:var(--base-size-128)}}.Primer_Brand__Stack-module__Stack--align-items-flex-end___cJG6k{align-items:flex-end}.Primer_Brand__Stack-module__Stack--align-items-flex-start___Vh1Ca{align-items:flex-start}.Primer_Brand__Stack-module__Stack--align-items-center___xWKxj{align-items:center}.Primer_Brand__Stack-module__Stack-narrow--align-items-flex-end___bXiXc{align-items:flex-end}.Primer_Brand__Stack-module__Stack-narrow--align-items-flex-start___eBtSy{align-items:flex-start}.Primer_Brand__Stack-module__Stack-narrow--align-items-center___jZIXU{align-items:center}@media screen and (width>=48rem){.Primer_Brand__Stack-module__Stack-regular--align-items-flex-end___JlKOr{align-items:flex-end}.Primer_Brand__Stack-module__Stack-regular--align-items-flex-start___jusm2{align-items:flex-start}.Primer_Brand__Stack-module__Stack-regular--align-items-center___tY013{align-items:center}}@media screen and (width>=80rem){.Primer_Brand__Stack-module__Stack-wide--align-items-flex-end___z5xxr{align-items:flex-end}.Primer_Brand__Stack-module__Stack-wide--align-items-flex-start___QKRoP{align-items:flex-start}.Primer_Brand__Stack-module__Stack-wide--align-items-center___DUG9C{align-items:center}}.Primer_Brand__Stack-module__Stack--justify-content-flex-end___mp2Ka{justify-content:flex-end}.Primer_Brand__Stack-module__Stack--justify-content-flex-start___VIkHJ{justify-content:flex-start}.Primer_Brand__Stack-module__Stack--justify-content-center___uZGXl{justify-content:center}.Primer_Brand__Stack-module__Stack--justify-content-space-between___r8E3d{justify-content:space-between}.Primer_Brand__Stack-module__Stack--justify-content-space-evenly___G1eGw{justify-content:space-evenly}.Primer_Brand__Stack-module__Stack--justify-content-space-around___kqm4D{justify-content:space-around}.Primer_Brand__Stack-module__Stack-narrow--justify-content-flex-end___QUDo3{justify-content:flex-end}.Primer_Brand__Stack-module__Stack-narrow--justify-content-flex-start___fNLJd{justify-content:flex-start}.Primer_Brand__Stack-module__Stack-narrow--justify-content-center___kdlmI{justify-content:center}.Primer_Brand__Stack-module__Stack-narrow--justify-content-space-between___w7Ki5{justify-content:space-between}.Primer_Brand__Stack-module__Stack-narrow--justify-content-space-evenly___ntQwA{justify-content:space-evenly}.Primer_Brand__Stack-module__Stack-narrow--justify-content-space-around___NHZVk{justify-content:space-around}@media screen and (width>=48rem){.Primer_Brand__Stack-module__Stack-regular--justify-content-flex-end___B0xmt{justify-content:flex-end}.Primer_Brand__Stack-module__Stack-regular--justify-content-flex-start___DtA1j{justify-content:flex-start}.Primer_Brand__Stack-module__Stack-regular--justify-content-center___oEcdF{justify-content:center}.Primer_Brand__Stack-module__Stack-regular--justify-content-space-between___F1gqO{justify-content:space-between}.Primer_Brand__Stack-module__Stack-regular--justify-content-space-evenly___xZdXl{justify-content:space-evenly}.Primer_Brand__Stack-module__Stack-regular--justify-content-space-around___nSDM4{justify-content:space-around}}@media screen and (width>=80rem){.Primer_Brand__Stack-module__Stack-wide--justify-content-flex-end___Hztn5{justify-content:flex-end}.Primer_Brand__Stack-module__Stack-wide--justify-content-flex-start___gnhnO{justify-content:flex-start}.Primer_Brand__Stack-module__Stack-wide--justify-content-center___XxA7G{justify-content:center}.Primer_Brand__Stack-module__Stack-wide--justify-content-space-between___HEm_x{justify-content:space-between}.Primer_Brand__Stack-module__Stack-wide--justify-content-space-evenly___Hgs5B{justify-content:space-evenly}.Primer_Brand__Stack-module__Stack-wide--justify-content-space-around___B30C2{justify-content:space-around}}.Primer_Brand__Stack-module__Stack-flexWrap--wrap___oHt4z{flex-wrap:wrap}.Primer_Brand__Stack-module__Stack-flexWrap--no-wrap___bGR_x{flex-wrap:nowrap}.Primer_Brand__Stack-module__Stack-narrow-flexWrap--wrap___fnS6A{flex-wrap:wrap}.Primer_Brand__Stack-module__Stack-narrow-flexWrap--no-wrap___DYcBz{flex-wrap:nowrap}@media screen and (width>=48rem){.Primer_Brand__Stack-module__Stack-regular-flexWrap--wrap___hwBqs{flex-wrap:wrap}.Primer_Brand__Stack-module__Stack-regular-flexWrap--no-wrap___Y8wyw{flex-wrap:nowrap}}@media screen and (width>=80rem){.Primer_Brand__Stack-module__Stack-wide-flexWrap--wrap___i9hAC{flex-wrap:wrap}.Primer_Brand__Stack-module__Stack-wide-flexWrap--no-wrap___C__JU{flex-wrap:nowrap}}.Primer_Brand__Box-module__Box-padding--condensed___moOU_{padding:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-padding--normal___I99VZ{padding:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-padding--spacious___IDH0L{padding:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-padding--none___SiKZE{padding:0}.Primer_Brand__Box-module__Box-padding--4___P8ym4{padding:var(--base-size-4)}.Primer_Brand__Box-module__Box-padding--8___tkmC2{padding:var(--base-size-8)}.Primer_Brand__Box-module__Box-padding--12___WZtC5{padding:var(--base-size-12)}.Primer_Brand__Box-module__Box-padding--16___uSvFs{padding:var(--base-size-16)}.Primer_Brand__Box-module__Box-padding--20___CqPHd{padding:var(--base-size-20)}.Primer_Brand__Box-module__Box-padding--24___ns6vt{padding:var(--base-size-24)}.Primer_Brand__Box-module__Box-padding--28___C3Z0M{padding:var(--base-size-28)}.Primer_Brand__Box-module__Box-padding--32___Xi9K8{padding:var(--base-size-32)}.Primer_Brand__Box-module__Box-padding--36___elDVr{padding:var(--base-size-36)}.Primer_Brand__Box-module__Box-padding--40___FiQOK{padding:var(--base-size-40)}.Primer_Brand__Box-module__Box-padding--44___pcGzC{padding:var(--base-size-44)}.Primer_Brand__Box-module__Box-padding--48___sKAhw{padding:var(--base-size-48)}.Primer_Brand__Box-module__Box-padding--60___aeyGV{padding:var(--base-size-60)}.Primer_Brand__Box-module__Box-padding--64___eD0xN{padding:var(--base-size-64)}.Primer_Brand__Box-module__Box-padding--80___Ny1Eo{padding:var(--base-size-80)}.Primer_Brand__Box-module__Box-padding--88___yPev4{padding:var(--base-size-88)}.Primer_Brand__Box-module__Box-padding--96___vQxms{padding:var(--base-size-96)}.Primer_Brand__Box-module__Box-padding--112___UKjfn{padding:var(--base-size-112)}.Primer_Brand__Box-module__Box-padding--128___eM3cZ{padding:var(--base-size-128)}.Primer_Brand__Box-module__Box-narrow-padding--condensed___anAAR{padding:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-narrow-padding--normal___drqoL{padding:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-narrow-padding--spacious___JblB1{padding:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-narrow-padding--none___Ee52O{padding:0}.Primer_Brand__Box-module__Box-narrow-padding--4___gcJCt{padding:var(--base-size-4)}.Primer_Brand__Box-module__Box-narrow-padding--8___a7q08{padding:var(--base-size-8)}.Primer_Brand__Box-module__Box-narrow-padding--12___aaFXk{padding:var(--base-size-12)}.Primer_Brand__Box-module__Box-narrow-padding--16___jdlkw{padding:var(--base-size-16)}.Primer_Brand__Box-module__Box-narrow-padding--20___O5D_M{padding:var(--base-size-20)}.Primer_Brand__Box-module__Box-narrow-padding--24___lyefS{padding:var(--base-size-24)}.Primer_Brand__Box-module__Box-narrow-padding--28___TwWF_{padding:var(--base-size-28)}.Primer_Brand__Box-module__Box-narrow-padding--32___fPqRw{padding:var(--base-size-32)}.Primer_Brand__Box-module__Box-narrow-padding--36___IjUkb{padding:var(--base-size-36)}.Primer_Brand__Box-module__Box-narrow-padding--40___pxXrQ{padding:var(--base-size-40)}.Primer_Brand__Box-module__Box-narrow-padding--44___MCitQ{padding:var(--base-size-44)}.Primer_Brand__Box-module__Box-narrow-padding--48___TYalO{padding:var(--base-size-48)}.Primer_Brand__Box-module__Box-narrow-padding--60___GCUuJ{padding:var(--base-size-60)}.Primer_Brand__Box-module__Box-narrow-padding--64___DfG4r{padding:var(--base-size-64)}.Primer_Brand__Box-module__Box-narrow-padding--80___aM_tb{padding:var(--base-size-80)}.Primer_Brand__Box-module__Box-narrow-padding--88___RAwuQ{padding:var(--base-size-88)}.Primer_Brand__Box-module__Box-narrow-padding--96___AAjgj{padding:var(--base-size-96)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-padding--condensed___Sa56q{padding:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-regular-padding--normal___kPK0N{padding:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-regular-padding--spacious___eg7WK{padding:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-regular-padding--none___RqmqL{padding:0}.Primer_Brand__Box-module__Box-regular-padding--4___Hrlt7{padding:var(--base-size-4)}.Primer_Brand__Box-module__Box-regular-padding--8___S4Vzp{padding:var(--base-size-8)}.Primer_Brand__Box-module__Box-regular-padding--12___aqPhA{padding:var(--base-size-12)}.Primer_Brand__Box-module__Box-regular-padding--16___dspf1{padding:var(--base-size-16)}.Primer_Brand__Box-module__Box-regular-padding--20___je3L4{padding:var(--base-size-20)}.Primer_Brand__Box-module__Box-regular-padding--24___BRWrO{padding:var(--base-size-24)}.Primer_Brand__Box-module__Box-regular-padding--28___MLuWu{padding:var(--base-size-28)}.Primer_Brand__Box-module__Box-regular-padding--32___UuJR3{padding:var(--base-size-32)}.Primer_Brand__Box-module__Box-regular-padding--36___pnnlM{padding:var(--base-size-36)}.Primer_Brand__Box-module__Box-regular-padding--40___KvG6x{padding:var(--base-size-40)}.Primer_Brand__Box-module__Box-regular-padding--44___QbfqE{padding:var(--base-size-44)}.Primer_Brand__Box-module__Box-regular-padding--48___o68vT{padding:var(--base-size-48)}.Primer_Brand__Box-module__Box-regular-padding--60___w5Ah3{padding:var(--base-size-60)}.Primer_Brand__Box-module__Box-regular-padding--64___VXnt9{padding:var(--base-size-64)}.Primer_Brand__Box-module__Box-regular-padding--80___sCKZd{padding:var(--base-size-80)}.Primer_Brand__Box-module__Box-regular-padding--88___rtS6L{padding:var(--base-size-88)}.Primer_Brand__Box-module__Box-regular-padding--96___MjgI_{padding:var(--base-size-96)}.Primer_Brand__Box-module__Box-regular-padding--112___uyz9m{padding:var(--base-size-112)}.Primer_Brand__Box-module__Box-regular-padding--128___a3PIs{padding:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Box-module__Box-wide-padding--condensed___G1jXL{padding:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-wide-padding--normal___tIQlq{padding:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-wide-padding--spacious___PGhNc{padding:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-wide-padding--none___qcMjk{padding:0}.Primer_Brand__Box-module__Box-wide-padding--4___aySqW{padding:var(--base-size-4)}.Primer_Brand__Box-module__Box-wide-padding--8___cPNFj{padding:var(--base-size-8)}.Primer_Brand__Box-module__Box-wide-padding--12___OUxUa{padding:var(--base-size-12)}.Primer_Brand__Box-module__Box-wide-padding--16___IIZ2x{padding:var(--base-size-16)}.Primer_Brand__Box-module__Box-wide-padding--20___IMkXv{padding:var(--base-size-20)}.Primer_Brand__Box-module__Box-wide-padding--24___Jqf0K{padding:var(--base-size-24)}.Primer_Brand__Box-module__Box-wide-padding--28___qJoHf{padding:var(--base-size-28)}.Primer_Brand__Box-module__Box-wide-padding--32___QiAzQ{padding:var(--base-size-32)}.Primer_Brand__Box-module__Box-wide-padding--36___HliwM{padding:var(--base-size-36)}.Primer_Brand__Box-module__Box-wide-padding--40___ebzR0{padding:var(--base-size-40)}.Primer_Brand__Box-module__Box-wide-padding--44___kxHFt{padding:var(--base-size-44)}.Primer_Brand__Box-module__Box-wide-padding--48___VI8OS{padding:var(--base-size-48)}.Primer_Brand__Box-module__Box-wide-padding--60___aDgU_{padding:var(--base-size-60)}.Primer_Brand__Box-module__Box-wide-padding--64___ZIZly{padding:var(--base-size-64)}.Primer_Brand__Box-module__Box-wide-padding--80___Pm5Do{padding:var(--base-size-80)}.Primer_Brand__Box-module__Box-wide-padding--88___fj9YB{padding:var(--base-size-88)}.Primer_Brand__Box-module__Box-wide-padding--96___cdgwB{padding:var(--base-size-96)}.Primer_Brand__Box-module__Box-wide-padding--112___xnULq{padding:var(--base-size-112)}.Primer_Brand__Box-module__Box-wide-padding--128___Cd7wM{padding:var(--base-size-128)}}.Primer_Brand__Box-module__Box-paddingBlockStart--condensed___W1bY3{padding-block-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-paddingBlockStart--normal___Zg_Os{padding-block-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-paddingBlockStart--spacious___ViXP1{padding-block-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-paddingBlockStart--none___OMRh1{padding-block-start:0}.Primer_Brand__Box-module__Box-paddingBlockStart--4___dVFMa{padding-block-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-paddingBlockStart--8___TNzCC{padding-block-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-paddingBlockStart--12___QFOW7{padding-block-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-paddingBlockStart--16___ZVevq{padding-block-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-paddingBlockStart--20___BIULn{padding-block-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-paddingBlockStart--24___W0xXx{padding-block-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-paddingBlockStart--28___cfKdr{padding-block-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-paddingBlockStart--32___nFZZ8{padding-block-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-paddingBlockStart--36___c5djO{padding-block-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-paddingBlockStart--40___vX8Fj{padding-block-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-paddingBlockStart--44___gHVxS{padding-block-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-paddingBlockStart--48___dATiV{padding-block-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-paddingBlockStart--60___iBaCb{padding-block-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-paddingBlockStart--64___GC9HQ{padding-block-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-paddingBlockStart--80___AzNIY{padding-block-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-paddingBlockStart--88___mlghT{padding-block-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-paddingBlockStart--96___eirfv{padding-block-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-paddingBlockStart--112___WErQC{padding-block-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-paddingBlockStart--128___PQBNx{padding-block-start:var(--base-size-128)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--condensed___TpPWY{padding-block-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--normal___WoejX{padding-block-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--spacious___YGOfc{padding-block-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--none___rBPCn{padding-block-start:0}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--4___pKCVF{padding-block-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--8___Mno90{padding-block-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--12___o4TBL{padding-block-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--16___e1SBw{padding-block-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--20___n1NNi{padding-block-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--24___uZOxT{padding-block-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--28___m2mO9{padding-block-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--32___qReqY{padding-block-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--36___FeGVX{padding-block-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--40___NWdbk{padding-block-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--44___xUghA{padding-block-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--48___QXRZC{padding-block-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--60___Q10gK{padding-block-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--64___xkgoO{padding-block-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--80___VP_yD{padding-block-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--88___rCE4P{padding-block-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--96___DwVjV{padding-block-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--112___KR3bh{padding-block-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--128___sY3Vs{padding-block-start:var(--base-size-128)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-paddingBlockStart--condensed____4rsh{padding-block-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--normal___D08eA{padding-block-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--spacious___ANm3m{padding-block-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--none___gWbHQ{padding-block-start:0}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--4___hDJd4{padding-block-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--8___sMD28{padding-block-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--12___vUJnn{padding-block-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--16___N8Zxa{padding-block-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--20___BsEXk{padding-block-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--24___AI2B1{padding-block-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--28___OZFGX{padding-block-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--32___viH7U{padding-block-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--36___E6h7E{padding-block-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--40___qZE9d{padding-block-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--44___mveRI{padding-block-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--48___HcGS_{padding-block-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--60___h0JrH{padding-block-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--64___nx8cK{padding-block-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--80___ld1du{padding-block-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--88___lU6HN{padding-block-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--96___BOrMI{padding-block-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--112___OpuYq{padding-block-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--128___Gp33i{padding-block-start:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Box-module__Box-wide-paddingBlockStart--condensed___PXi4I{padding-block-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--normal___GnoL0{padding-block-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--spacious___krfm9{padding-block-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--none___Y9qJB{padding-block-start:0}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--4___Zryv_{padding-block-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--8___u5PHy{padding-block-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--12___U5Ofg{padding-block-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--16___ZBJ3Y{padding-block-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--20___pAFgx{padding-block-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--24___MEQNA{padding-block-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--28___dNYbO{padding-block-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--32___ohjFs{padding-block-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--36___nZoBT{padding-block-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--40___ak06g{padding-block-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--44___o7t7i{padding-block-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--48___XERud{padding-block-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--60___DB6D9{padding-block-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--64___c4HWW{padding-block-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--80___IQUjF{padding-block-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--88___sNl4k{padding-block-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--96___ziRgY{padding-block-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--112___kU2x1{padding-block-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--128___nWESD{padding-block-start:var(--base-size-128)}}.Primer_Brand__Box-module__Box-paddingInlineEnd--condensed___eOQgc{padding-inline-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-paddingInlineEnd--normal___iaaKM{padding-inline-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-paddingInlineEnd--spacious___QRkuj{padding-inline-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-paddingInlineEnd--none___zgwVT{padding-inline-end:0}.Primer_Brand__Box-module__Box-paddingInlineEnd--4___QYTSr{padding-inline-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-paddingInlineEnd--8___qOjp8{padding-inline-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-paddingInlineEnd--12___ki7vg{padding-inline-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-paddingInlineEnd--16___eBvli{padding-inline-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-paddingInlineEnd--20___fUBLQ{padding-inline-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-paddingInlineEnd--24___qvm6U{padding-inline-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-paddingInlineEnd--28___RLJPP{padding-inline-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-paddingInlineEnd--32___rmFsu{padding-inline-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-paddingInlineEnd--36___eD4ie{padding-inline-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-paddingInlineEnd--40___Pa_hU{padding-inline-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-paddingInlineEnd--44___ISq6N{padding-inline-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-paddingInlineEnd--48____6VIs{padding-inline-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-paddingInlineEnd--60___nSk0c{padding-inline-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-paddingInlineEnd--64___XEdic{padding-inline-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-paddingInlineEnd--80___ro2Q6{padding-inline-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-paddingInlineEnd--88____tOlK{padding-inline-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-paddingInlineEnd--96___VGzUa{padding-inline-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-paddingInlineEnd--112___u399j{padding-inline-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-paddingInlineEnd--128___XCfRF{padding-inline-end:var(--base-size-128)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--condensed___tbVph{padding-inline-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--normal___J14DR{padding-inline-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--spacious___XYmJk{padding-inline-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--none____Uy0e{padding-inline-end:0}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--4___LCky2{padding-inline-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--8___s737E{padding-inline-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--12___F2fc4{padding-inline-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--16___hCEUi{padding-inline-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--20___moqMn{padding-inline-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--24___nUtP0{padding-inline-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--28___GoW1H{padding-inline-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--32___kE8pF{padding-inline-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--36___zUIaG{padding-inline-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--40___U_LUs{padding-inline-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--44___HfR2e{padding-inline-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--48___VpyWJ{padding-inline-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--60___M439R{padding-inline-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--64____U2Bb{padding-inline-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--80___xLRwJ{padding-inline-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--88___venIk{padding-inline-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--96___lz9Ah{padding-inline-end:var(--base-size-96)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--condensed___Y3PpC{padding-inline-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--normal___uQZJL{padding-inline-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--spacious___Yg_oy{padding-inline-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--none___d07JU{padding-inline-end:0}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--4____Mu6j{padding-inline-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--8___KLTjM{padding-inline-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--12___MZaFD{padding-inline-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--16___zuYxe{padding-inline-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--20___X7kQ7{padding-inline-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--24___OLwfl{padding-inline-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--28___S8g3g{padding-inline-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--32___fOGZt{padding-inline-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--36___Gsz4A{padding-inline-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--40___beKbG{padding-inline-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--44___Fbir5{padding-inline-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--48___JLuQO{padding-inline-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--60___RhhLC{padding-inline-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--64___j2pqZ{padding-inline-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--80____2Wqx{padding-inline-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--88___DFSeP{padding-inline-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--96___VLntF{padding-inline-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--112___fkEpY{padding-inline-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--128___gQRRw{padding-inline-end:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--condensed___Qcd9O{padding-inline-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--normal___RCW25{padding-inline-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--spacious___l9ArL{padding-inline-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--none___l9mTk{padding-inline-end:0}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--4___Po8UR{padding-inline-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--8___JogoU{padding-inline-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--12___mTBkP{padding-inline-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--16___yWWxx{padding-inline-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--20___Ho0IF{padding-inline-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--24___eQFrc{padding-inline-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--28___NDHpo{padding-inline-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--32___W5qHl{padding-inline-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--36___GjFzC{padding-inline-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--40___waIcY{padding-inline-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--44___JOSMH{padding-inline-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--48___pI6_m{padding-inline-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--60___ed3T2{padding-inline-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--64___D6UgI{padding-inline-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--80___A72UQ{padding-inline-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--88___DE0O8{padding-inline-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--96___JZowF{padding-inline-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--112___fAjZM{padding-inline-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--128___V6AHo{padding-inline-end:var(--base-size-128)}}.Primer_Brand__Box-module__Box-paddingBlockEnd--condensed___dEYMv{padding-block-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-paddingBlockEnd--normal___85pec{padding-block-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-paddingBlockEnd--spacious___LGfk7{padding-block-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-paddingBlockEnd--none____vlh7{padding-block-end:0}.Primer_Brand__Box-module__Box-paddingBlockEnd--4____i2UO{padding-block-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-paddingBlockEnd--8___bNx7n{padding-block-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-paddingBlockEnd--12____EOsG{padding-block-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-paddingBlockEnd--16___wkJ99{padding-block-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-paddingBlockEnd--20___xjcqw{padding-block-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-paddingBlockEnd--24___NFG9h{padding-block-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-paddingBlockEnd--28___u7XJS{padding-block-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-paddingBlockEnd--32___zjWVZ{padding-block-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-paddingBlockEnd--36___f12Tl{padding-block-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-paddingBlockEnd--40___j6T9R{padding-block-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-paddingBlockEnd--44___gl2rH{padding-block-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-paddingBlockEnd--48___OcWnm{padding-block-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-paddingBlockEnd--60___T7psX{padding-block-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-paddingBlockEnd--64___dSBrT{padding-block-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-paddingBlockEnd--80___Sbcpv{padding-block-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-paddingBlockEnd--88___tspXM{padding-block-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-paddingBlockEnd--96___eMrZV{padding-block-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-paddingBlockEnd--112___ty2_p{padding-block-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-paddingBlockEnd--128___H35FY{padding-block-end:var(--base-size-128)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--condensed___QTO1y{padding-block-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--normal___MupAF{padding-block-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--spacious____jivs{padding-block-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--none___xwpBe{padding-block-end:0}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--4___g4hDY{padding-block-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--8___dhfNf{padding-block-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--12___fLDtZ{padding-block-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--16___BHuqq{padding-block-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--20___JI4SX{padding-block-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--24___s1eco{padding-block-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--28___g6wCx{padding-block-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--32___wycVg{padding-block-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--36___wjt4p{padding-block-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--40___rVjJV{padding-block-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--44___akvlZ{padding-block-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--48___OPwru{padding-block-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--60___zRr4T{padding-block-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--64___icCAb{padding-block-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--80___Y_JGc{padding-block-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--88___dl3rO{padding-block-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--96___ojJIp{padding-block-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--112___pKYyd{padding-block-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--128___oI5vn{padding-block-end:var(--base-size-128)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--condensed___iiMOv{padding-block-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--normal___J5glu{padding-block-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--spacious___Qbwlq{padding-block-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--none___D1NkR{padding-block-end:0}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--4___TL1oP{padding-block-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--8___pKg9P{padding-block-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--12___UBth1{padding-block-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--16___LKRrT{padding-block-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--20___mRbHZ{padding-block-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--24___il8K_{padding-block-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--28___ZmE1R{padding-block-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--32____C9RT{padding-block-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--36___nocbv{padding-block-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--40___nsz4g{padding-block-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--44___bsz6J{padding-block-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--48___eApXN{padding-block-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--60___FR7Cn{padding-block-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--64___ATo_6{padding-block-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--80___HuPNm{padding-block-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--88___axhPf{padding-block-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--96___QWDd0{padding-block-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--112___Ql_U3{padding-block-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--128___R4xJd{padding-block-end:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--condensed___fKrol{padding-block-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--normal___Kbldz{padding-block-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--spacious___zbi5h{padding-block-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--none___rVFoE{padding-block-end:0}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--4___YjBbR{padding-block-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--8___CpDlD{padding-block-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--12___cjNk6{padding-block-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--16___PKo6_{padding-block-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--20___bNtXr{padding-block-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--24___o8_OD{padding-block-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--28___zR53L{padding-block-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--32___xX0KK{padding-block-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--36___KeAYu{padding-block-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--40___FUROs{padding-block-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--44___nWycQ{padding-block-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--48___J4Ljw{padding-block-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--60___YiIwB{padding-block-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--64___pbSxt{padding-block-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--80___wJtUa{padding-block-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--88___M2vDM{padding-block-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--96___Uq5AZ{padding-block-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--112___B96UD{padding-block-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--128___GcJ48{padding-block-end:var(--base-size-128)}}.Primer_Brand__Box-module__Box-paddingInlineStart--condensed___rq2fI{padding-inline-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-paddingInlineStart--normal___BmKv4{padding-inline-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-paddingInlineStart--spacious___rk6ci{padding-inline-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-paddingInlineStart--none___zXxYO{padding-inline-start:0}.Primer_Brand__Box-module__Box-paddingInlineStart--4___XP6SF{padding-inline-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-paddingInlineStart--8___OBQ5l{padding-inline-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-paddingInlineStart--12___F1XBU{padding-inline-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-paddingInlineStart--16___QesGK{padding-inline-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-paddingInlineStart--20___xOS1A{padding-inline-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-paddingInlineStart--24___moDQ8{padding-inline-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-paddingInlineStart--28___KBIxR{padding-inline-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-paddingInlineStart--32___nVH6P{padding-inline-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-paddingInlineStart--36___VqmhW{padding-inline-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-paddingInlineStart--40___DXgBn{padding-inline-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-paddingInlineStart--44___Bulbu{padding-inline-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-paddingInlineStart--48___x5m9Q{padding-inline-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-paddingInlineStart--60___Iprl6{padding-inline-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-paddingInlineStart--64___WUgUO{padding-inline-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-paddingInlineStart--80___Kn2gO{padding-inline-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-paddingInlineStart--88___kWkOB{padding-inline-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-paddingInlineStart--96___B2qkH{padding-inline-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-paddingInlineStart--112___v4yZC{padding-inline-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-paddingInlineStart--128___aafEk{padding-inline-start:var(--base-size-128)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--condensed___YI9Eh{padding-inline-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--normal___iqKMr{padding-inline-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--spacious___O1i9G{padding-inline-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--none___pGKmW{padding-inline-start:0}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--4___pS_Gh{padding-inline-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--8___F6dKN{padding-inline-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--12___Ci8GO{padding-inline-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--16___fkZ4s{padding-inline-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--20___tRwV3{padding-inline-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--24___uVuT2{padding-inline-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--28___ueTAO{padding-inline-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--32___e1dD1{padding-inline-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--36___kPOzQ{padding-inline-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--40___ekOE3{padding-inline-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--44___nALOu{padding-inline-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--48___cg27m{padding-inline-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--60___CwVSc{padding-inline-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--64___PBLfw{padding-inline-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--80___Mv5eX{padding-inline-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--88___QTgm8{padding-inline-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--96___W7uL8{padding-inline-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--112___qXECF{padding-inline-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--128___tBlKZ{padding-inline-start:var(--base-size-128)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-paddingInlineStart--condensed___K1JTe{padding-inline-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--normal___hE24G{padding-inline-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--spacious___Y3FYm{padding-inline-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--none___rA7QC{padding-inline-start:0}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--4___ffJtu{padding-inline-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--8___K3PDT{padding-inline-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--12___ZI1Zt{padding-inline-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--16___pSuDM{padding-inline-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--20___J_Lac{padding-inline-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--24___olfR2{padding-inline-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--28___u3Jxq{padding-inline-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--32___j8YOd{padding-inline-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--36___ioVRd{padding-inline-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--40___CZDsm{padding-inline-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--44___eBvKb{padding-inline-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--48___JdZPY{padding-inline-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--60___gyHKL{padding-inline-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--64___GGNhi{padding-inline-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--80___oqP9L{padding-inline-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--88___dCPPv{padding-inline-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--96___XT27R{padding-inline-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--112___MFUWm{padding-inline-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--128___lfSNz{padding-inline-start:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Box-module__Box-wide-paddingInlineStart--condensed___p04xa{padding-inline-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--normal___fUsFX{padding-inline-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--spacious___Sqsw2{padding-inline-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--none___Nv0wp{padding-inline-start:0}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--4___nVn_B{padding-inline-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--8___wLVn9{padding-inline-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--12___rnbWe{padding-inline-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--16___lhOME{padding-inline-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--20___ULYpU{padding-inline-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--24___HVDrv{padding-inline-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--28___CDihC{padding-inline-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--32___Wq77T{padding-inline-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--36___tCHNn{padding-inline-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--40___Yfoos{padding-inline-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--44___GIxDS{padding-inline-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--48___GlLkg{padding-inline-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--60___nBbo0{padding-inline-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--64___EVzB4{padding-inline-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--80___F366d{padding-inline-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--88___yrcrw{padding-inline-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--96___jvQgf{padding-inline-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--112___Z_i9M{padding-inline-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--128___dxJ4W{padding-inline-start:var(--base-size-128)}}.Primer_Brand__Box-module__Box-margin--condensed___t8Ura{margin:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-margin--normal___ZVHSh{margin:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-margin--spacious___j0gGh{margin:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-margin--none___x7HE0{margin:0}.Primer_Brand__Box-module__Box-margin--4___SAGHe{margin:var(--base-size-4)}.Primer_Brand__Box-module__Box-margin--8___rwesA{margin:var(--base-size-8)}.Primer_Brand__Box-module__Box-margin--12___olT6x{margin:var(--base-size-12)}.Primer_Brand__Box-module__Box-margin--16___bf8KF{margin:var(--base-size-16)}.Primer_Brand__Box-module__Box-margin--20___eRoV_{margin:var(--base-size-20)}.Primer_Brand__Box-module__Box-margin--24___pFF57{margin:var(--base-size-24)}.Primer_Brand__Box-module__Box-margin--28___EGGCf{margin:var(--base-size-28)}.Primer_Brand__Box-module__Box-margin--32___piqFe{margin:var(--base-size-32)}.Primer_Brand__Box-module__Box-margin--36___xujLX{margin:var(--base-size-36)}.Primer_Brand__Box-module__Box-margin--40___75KiU{margin:var(--base-size-40)}.Primer_Brand__Box-module__Box-margin--44___eoeZ9{margin:var(--base-size-44)}.Primer_Brand__Box-module__Box-margin--48___RveUf{margin:var(--base-size-48)}.Primer_Brand__Box-module__Box-margin--60___A8h1D{margin:var(--base-size-60)}.Primer_Brand__Box-module__Box-margin--64___U6GY0{margin:var(--base-size-64)}.Primer_Brand__Box-module__Box-margin--80___VXJ1m{margin:var(--base-size-80)}.Primer_Brand__Box-module__Box-margin--88___dr4BK{margin:var(--base-size-88)}.Primer_Brand__Box-module__Box-margin--96___W5lUS{margin:var(--base-size-96)}.Primer_Brand__Box-module__Box-margin--112___CMH1O{margin:var(--base-size-112)}.Primer_Brand__Box-module__Box-margin--128___chyQh{margin:var(--base-size-128)}.Primer_Brand__Box-module__Box-narrow-margin--condensed____oxX7{margin:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-narrow-margin--normal___XezR0{margin:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-narrow-margin--spacious___g6g0f{margin:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-narrow-margin--none___POgbx{margin:0}.Primer_Brand__Box-module__Box-narrow-margin--4___Q2uQ_{margin:var(--base-size-4)}.Primer_Brand__Box-module__Box-narrow-margin--8___rBgr8{margin:var(--base-size-8)}.Primer_Brand__Box-module__Box-narrow-margin--12___iI8JN{margin:var(--base-size-12)}.Primer_Brand__Box-module__Box-narrow-margin--16____6lfa{margin:var(--base-size-16)}.Primer_Brand__Box-module__Box-narrow-margin--20___eP512{margin:var(--base-size-20)}.Primer_Brand__Box-module__Box-narrow-margin--24___WRxp2{margin:var(--base-size-24)}.Primer_Brand__Box-module__Box-narrow-margin--28___Go_go{margin:var(--base-size-28)}.Primer_Brand__Box-module__Box-narrow-margin--32___ZywhO{margin:var(--base-size-32)}.Primer_Brand__Box-module__Box-narrow-margin--36___I5ZXC{margin:var(--base-size-36)}.Primer_Brand__Box-module__Box-narrow-margin--40___LLwK7{margin:var(--base-size-40)}.Primer_Brand__Box-module__Box-narrow-margin--44____tEzU{margin:var(--base-size-44)}.Primer_Brand__Box-module__Box-narrow-margin--48___isJ89{margin:var(--base-size-48)}.Primer_Brand__Box-module__Box-narrow-margin--60___GhiZZ{margin:var(--base-size-60)}.Primer_Brand__Box-module__Box-narrow-margin--64___L0c0n{margin:var(--base-size-64)}.Primer_Brand__Box-module__Box-narrow-margin--80___vvJ9F{margin:var(--base-size-80)}.Primer_Brand__Box-module__Box-narrow-margin--88____rLH2{margin:var(--base-size-88)}.Primer_Brand__Box-module__Box-narrow-margin--96___lp2Ry{margin:var(--base-size-96)}.Primer_Brand__Box-module__Box-narrow-margin--112___a5t03{margin:var(--base-size-112)}.Primer_Brand__Box-module__Box-narrow-margin--128___P5b03{margin:var(--base-size-128)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-margin--condensed___Caa8r{margin:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-regular-margin--normal___KdX5O{margin:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-regular-margin--spacious___mG0NN{margin:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-regular-margin--none____xN9L{margin:0}.Primer_Brand__Box-module__Box-regular-margin--4___J8A2t{margin:var(--base-size-4)}.Primer_Brand__Box-module__Box-regular-margin--8___iSM8W{margin:var(--base-size-8)}.Primer_Brand__Box-module__Box-regular-margin--12___jqgj2{margin:var(--base-size-12)}.Primer_Brand__Box-module__Box-regular-margin--16___UkF2r{margin:var(--base-size-16)}.Primer_Brand__Box-module__Box-regular-margin--20___QOTe2{margin:var(--base-size-20)}.Primer_Brand__Box-module__Box-regular-margin--24___g6Kqw{margin:var(--base-size-24)}.Primer_Brand__Box-module__Box-regular-margin--28___rycHv{margin:var(--base-size-28)}.Primer_Brand__Box-module__Box-regular-margin--32___mqhOH{margin:var(--base-size-32)}.Primer_Brand__Box-module__Box-regular-margin--36___WB582{margin:var(--base-size-36)}.Primer_Brand__Box-module__Box-regular-margin--40___ZtXXm{margin:var(--base-size-40)}.Primer_Brand__Box-module__Box-regular-margin--44___WzwUP{margin:var(--base-size-44)}.Primer_Brand__Box-module__Box-regular-margin--48___AI_QF{margin:var(--base-size-48)}.Primer_Brand__Box-module__Box-regular-margin--60___srQSO{margin:var(--base-size-60)}.Primer_Brand__Box-module__Box-regular-margin--64___feT35{margin:var(--base-size-64)}.Primer_Brand__Box-module__Box-regular-margin--80___RT7fB{margin:var(--base-size-80)}.Primer_Brand__Box-module__Box-regular-margin--88___Q182S{margin:var(--base-size-88)}.Primer_Brand__Box-module__Box-regular-margin--96___Rvbjm{margin:var(--base-size-96)}.Primer_Brand__Box-module__Box-regular-margin--112___A6xDo{margin:var(--base-size-112)}.Primer_Brand__Box-module__Box-regular-margin--128___kHwQC{margin:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Box-module__Box-wide-margin--condensed___Uj_ap{margin:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-wide-margin--normal___o0WKl{margin:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-wide-margin--spacious___Fmgze{margin:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-wide-margin--none___RuZOH{margin:0}.Primer_Brand__Box-module__Box-wide-margin--4___dGG0a{margin:var(--base-size-4)}.Primer_Brand__Box-module__Box-wide-margin--8___VEXWc{margin:var(--base-size-8)}.Primer_Brand__Box-module__Box-wide-margin--12___sqf5U{margin:var(--base-size-12)}.Primer_Brand__Box-module__Box-wide-margin--16___DTrBi{margin:var(--base-size-16)}.Primer_Brand__Box-module__Box-wide-margin--20___dlbWa{margin:var(--base-size-20)}.Primer_Brand__Box-module__Box-wide-margin--24___L_Aj9{margin:var(--base-size-24)}.Primer_Brand__Box-module__Box-wide-margin--28___Vjv_a{margin:var(--base-size-28)}.Primer_Brand__Box-module__Box-wide-margin--32___GECyy{margin:var(--base-size-32)}.Primer_Brand__Box-module__Box-wide-margin--36___PWhqP{margin:var(--base-size-36)}.Primer_Brand__Box-module__Box-wide-margin--40___vemke{margin:var(--base-size-40)}.Primer_Brand__Box-module__Box-wide-margin--44___Ennon{margin:var(--base-size-44)}.Primer_Brand__Box-module__Box-wide-margin--48___MkKEg{margin:var(--base-size-48)}.Primer_Brand__Box-module__Box-wide-margin--60___WPJsx{margin:var(--base-size-60)}.Primer_Brand__Box-module__Box-wide-margin--64___vYLMh{margin:var(--base-size-64)}.Primer_Brand__Box-module__Box-wide-margin--80___I3XVP{margin:var(--base-size-80)}.Primer_Brand__Box-module__Box-wide-margin--88___Tlgzv{margin:var(--base-size-88)}.Primer_Brand__Box-module__Box-wide-margin--112___HsLag{margin:var(--base-size-112)}.Primer_Brand__Box-module__Box-wide-margin--128___v9LVz{margin:var(--base-size-128)}}.Primer_Brand__Box-module__Box-marginBlockStart--condensed___bTE8Q{margin-block-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-marginBlockStart--normal___wUotH{margin-block-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-marginBlockStart--spacious___EOasI{margin-block-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-marginBlockStart--none___iS0_r{margin-block-start:0}.Primer_Brand__Box-module__Box-marginBlockStart--4___ZxS80{margin-block-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-marginBlockStart--8___RPhvf{margin-block-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-marginBlockStart--12___Dw4MT{margin-block-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-marginBlockStart--16___plaHc{margin-block-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-marginBlockStart--20___gqeBE{margin-block-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-marginBlockStart--24___puxKK{margin-block-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-marginBlockStart--28___X08BZ{margin-block-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-marginBlockStart--32___pWodO{margin-block-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-marginBlockStart--36___v5wHR{margin-block-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-marginBlockStart--40___hq_Nv{margin-block-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-marginBlockStart--44___uLLSf{margin-block-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-marginBlockStart--48___S_MhS{margin-block-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-marginBlockStart--60___0Lb4o{margin-block-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-marginBlockStart--64___oLHvC{margin-block-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-marginBlockStart--80___Q0HsD{margin-block-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-marginBlockStart--88___T0gdB{margin-block-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-marginBlockStart--96___MqNC0{margin-block-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-marginBlockStart--112___j68wy{margin-block-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-marginBlockStart--128___mzbEa{margin-block-start:var(--base-size-128)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--condensed___QUr7S{margin-block-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--normal___jTtqc{margin-block-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--spacious___O2UPE{margin-block-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--none___vMaok{margin-block-start:0}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--4___t9ZC4{margin-block-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--8___ZsShH{margin-block-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--12___eaiGT{margin-block-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--16___ViXmT{margin-block-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--20___Y_3F2{margin-block-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--24___fQcVJ{margin-block-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--28___Pi7Wt{margin-block-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--32___fWuQe{margin-block-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--36___IK1Mg{margin-block-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--40___GbLEW{margin-block-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--44___J8fNf{margin-block-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--48___foZDz{margin-block-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--60___xlE0n{margin-block-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--64___AU4LW{margin-block-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--80___PMcaT{margin-block-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--88___RQRKe{margin-block-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--96___mYSKK{margin-block-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--112___tW2zB{margin-block-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--128___p0QMw{margin-block-start:var(--base-size-128)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-marginBlockStart--condensed___rp3ys{margin-block-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--normal___SPLfG{margin-block-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--spacious___fq56Y{margin-block-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--none___KYSzT{margin-block-start:0}.Primer_Brand__Box-module__Box-regular-marginBlockStart--4___Uv8gl{margin-block-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--8___jnZgW{margin-block-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--12___fCXkQ{margin-block-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--16___Z9p0d{margin-block-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--20___E559T{margin-block-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--24___CjRGa{margin-block-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--28___VwKD6{margin-block-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--32___eskz2{margin-block-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--36___s1z4f{margin-block-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--40___QXz1n{margin-block-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--44___OSyKv{margin-block-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--48___qNEcn{margin-block-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--60___nhnZh{margin-block-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--64___Y0G5A{margin-block-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--80___BlU1a{margin-block-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--88___nSxLP{margin-block-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--96___ZD_SH{margin-block-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--112___GVoQX{margin-block-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--128___TFhvb{margin-block-start:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Box-module__Box-wide-marginBlockStart--condensed___mqYho{margin-block-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--normal___c81Vf{margin-block-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--spacious___gD8F4{margin-block-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--none___o5UYw{margin-block-start:0}.Primer_Brand__Box-module__Box-wide-marginBlockStart--4___k48Xj{margin-block-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--8___EmewZ{margin-block-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--12___Xxtk6{margin-block-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--16___NYL3P{margin-block-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--20___W9gU2{margin-block-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--24___lMuAD{margin-block-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--28___FT3Mf{margin-block-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--32___dlVS5{margin-block-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--36___ZCOj2{margin-block-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--40___rEDpG{margin-block-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--44___DGFwo{margin-block-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--48___WRSPh{margin-block-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--60___OWBYp{margin-block-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--64___ZueKk{margin-block-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--80___TA3IX{margin-block-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--88___eU6Uu{margin-block-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--96___trWhE{margin-block-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--112___M351c{margin-block-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--128___I90P4{margin-block-start:var(--base-size-128)}}.Primer_Brand__Box-module__Box-marginInlineEnd--condensed___EVJUU{margin-inline-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-marginInlineEnd--normal___AdtDi{margin-inline-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-marginInlineEnd--spacious___rqfRo{margin-inline-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-marginInlineEnd--none___cJZUG{margin-inline-end:0}.Primer_Brand__Box-module__Box-marginInlineEnd--4___CmFW9{margin-inline-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-marginInlineEnd--8___9dSA9{margin-inline-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-marginInlineEnd--12___uJExr{margin-inline-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-marginInlineEnd--16___dw6kz{margin-inline-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-marginInlineEnd--20___qfURL{margin-inline-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-marginInlineEnd--24___Q353Q{margin-inline-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-marginInlineEnd--28___fQ3mR{margin-inline-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-marginInlineEnd--32___bruVR{margin-inline-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-marginInlineEnd--36___knq3Z{margin-inline-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-marginInlineEnd--40___iZcVw{margin-inline-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-marginInlineEnd--44___GKLwd{margin-inline-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-marginInlineEnd--48___i5HE8{margin-inline-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-marginInlineEnd--60___KIgH3{margin-inline-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-marginInlineEnd--64___C5Tp6{margin-inline-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-marginInlineEnd--80___j058F{margin-inline-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-marginInlineEnd--88___dzYTi{margin-inline-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-marginInlineEnd--96___YGHeA{margin-inline-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-marginInlineEnd--112___It02k{margin-inline-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-marginInlineEnd--128___S5_Lm{margin-inline-end:var(--base-size-128)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--condensed___QlOtm{margin-inline-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--normal____4LoS{margin-inline-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--spacious___ESjqc{margin-inline-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--none___LYYdL{margin-inline-end:0}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--4___j15Se{margin-inline-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--8___ivk9J{margin-inline-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--12___InPz1{margin-inline-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--16___UZzSI{margin-inline-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--20___AOZlY{margin-inline-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--24___uMFom{margin-inline-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--28___P312F{margin-inline-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--32___NfeGi{margin-inline-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--36___iU_kf{margin-inline-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--40___lme45{margin-inline-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--44___lUlZs{margin-inline-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--48___sUFp9{margin-inline-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--60___NOyzc{margin-inline-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--64___BtND9{margin-inline-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--80____4Pas{margin-inline-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--88___uL4kN{margin-inline-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--96___gtx55{margin-inline-end:var(--base-size-96)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-marginInlineEnd--condensed___BCcsA{margin-inline-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--normal___silfR{margin-inline-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--spacious___sjnml{margin-inline-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--none___W0mRJ{margin-inline-end:0}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--4___dn_Re{margin-inline-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--8___VFtdE{margin-inline-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--12___k07gg{margin-inline-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--16___OOs0G{margin-inline-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--20___fsTtM{margin-inline-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--24___uOaQI{margin-inline-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--28___FbHfF{margin-inline-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--32___Ukveq{margin-inline-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--36___M92aJ{margin-inline-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--40____e3SN{margin-inline-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--44___UEAQj{margin-inline-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--48___ei98i{margin-inline-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--60___tipua{margin-inline-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--64___PIZxy{margin-inline-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--80___lnDcp{margin-inline-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--88___BPqAI{margin-inline-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--96___aRTvT{margin-inline-end:var(--base-size-96)}}@media screen and (width>=80rem){.Primer_Brand__Box-module__Box-wide-marginInlineEnd--condensed___QoI21{margin-inline-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--normal___HNliJ{margin-inline-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--spacious___X8NXv{margin-inline-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--none___JwlqX{margin-inline-end:0}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--4___sWBPo{margin-inline-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--8___kacX3{margin-inline-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--12___uQT7v{margin-inline-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--16___n01ap{margin-inline-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--20___X4OVV{margin-inline-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--24___AJ1ri{margin-inline-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--28___E5VbM{margin-inline-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--32___ypePn{margin-inline-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--36___gmvEm{margin-inline-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--40___r90G7{margin-inline-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--44___Q4G5c{margin-inline-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--48___z9Lmw{margin-inline-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--60___TTkKW{margin-inline-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--64___F57r_{margin-inline-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--80___E0tJe{margin-inline-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--88___v8a26{margin-inline-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--96___pUCiy{margin-inline-end:var(--base-size-96)}}.Primer_Brand__Box-module__Box-marginBlockEnd--condensed___yZSjt{margin-block-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-marginBlockEnd--normal___BkMQg{margin-block-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-marginBlockEnd--spacious___Jjk8D{margin-block-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-marginBlockEnd--none___q_Aov{margin-block-end:0}.Primer_Brand__Box-module__Box-marginBlockEnd--4___uZDEK{margin-block-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-marginBlockEnd--8___dx_JW{margin-block-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-marginBlockEnd--12___kgVMq{margin-block-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-marginBlockEnd--16___N2MVF{margin-block-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-marginBlockEnd--20___aX_J0{margin-block-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-marginBlockEnd--24___RTiyC{margin-block-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-marginBlockEnd--28___jhXpG{margin-block-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-marginBlockEnd--32___W5xYE{margin-block-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-marginBlockEnd--36___cj9Vj{margin-block-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-marginBlockEnd--40___ewAlH{margin-block-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-marginBlockEnd--44___ZxEv_{margin-block-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-marginBlockEnd--48___zt2OJ{margin-block-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-marginBlockEnd--60___c2uN1{margin-block-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-marginBlockEnd--64___a6txk{margin-block-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-marginBlockEnd--80___EZyqj{margin-block-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-marginBlockEnd--88___nMO9c{margin-block-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-marginBlockEnd--96___Lbz6K{margin-block-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-marginBlockEnd--112___oSXen{margin-block-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-marginBlockEnd--128___zrQ7e{margin-block-end:var(--base-size-128)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--condensed___Tltof{margin-block-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--normal___ShWay{margin-block-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--spacious___LV3s_{margin-block-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--none___CBZnh{margin-block-end:0}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--4___CtSfn{margin-block-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--8___Y45AZ{margin-block-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--12___c87Ua{margin-block-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--16___XP5Uw{margin-block-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--20___p3Udz{margin-block-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--24___oh65t{margin-block-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--28___trRzs{margin-block-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--32___qYFHR{margin-block-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--36___mV2L1{margin-block-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--40___taWN_{margin-block-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--44___q5psW{margin-block-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--48___u5_N1{margin-block-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--60___znsW7{margin-block-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--64___iRYFP{margin-block-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--80___h7LUD{margin-block-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--88___mBsMQ{margin-block-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--96___TcQuV{margin-block-end:var(--base-size-96)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-marginBlockEnd--condensed___nz4bt{margin-block-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--normal___PDHRc{margin-block-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--spacious___l348T{margin-block-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--none___KZ8GC{margin-block-end:0}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--4___xY73v{margin-block-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--8___BUGRd{margin-block-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--12___FKbqC{margin-block-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--16___EkpkB{margin-block-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--20___j3pUk{margin-block-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--24___gnnxL{margin-block-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--28___tHNzb{margin-block-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--32___XIqmt{margin-block-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--36___blLjI{margin-block-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--40___V9Sxn{margin-block-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--44___xMsFn{margin-block-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--48___pdAjC{margin-block-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--60___km_JN{margin-block-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--64___uLUtn{margin-block-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--80___OlgXb{margin-block-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--88___vClp9{margin-block-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--96____imff{margin-block-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--112___NDi61{margin-block-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--128___GUa4G{margin-block-end:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Box-module__Box-wide-marginBlockEnd--condensed___UBH5e{margin-block-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--normal___Bi1K6{margin-block-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--spacious___fC5ai{margin-block-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--none___k2UfA{margin-block-end:0}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--4___qjlqV{margin-block-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--8___jhRo2{margin-block-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--12___UmBRd{margin-block-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--16___GfSQm{margin-block-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--20___D4t78{margin-block-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--24___Vokvc{margin-block-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--28___l4an3{margin-block-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--32___iAcDG{margin-block-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--36___uWsmR{margin-block-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--40___DlDrK{margin-block-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--44___c9aSx{margin-block-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--48___X5ONp{margin-block-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--60___ZNOYi{margin-block-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--64___FOyXs{margin-block-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--80___Jqalb{margin-block-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--88___G6Art{margin-block-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--96___gjf5z{margin-block-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--112___ddfRk{margin-block-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--128___ESEm8{margin-block-end:var(--base-size-128)}}.Primer_Brand__Box-module__Box-marginInlineStart--condensed___IBp_X{margin-inline-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-marginInlineStart--normal___BHhHI{margin-inline-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-marginInlineStart--spacious___ZtXj1{margin-inline-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-marginInlineStart--none___fdOWF{margin-inline-start:0}.Primer_Brand__Box-module__Box-marginInlineStart--4___Wn1Ko{margin-inline-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-marginInlineStart--8___pDo7p{margin-inline-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-marginInlineStart--12___TQxPD{margin-inline-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-marginInlineStart--16___J7y4b{margin-inline-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-marginInlineStart--20___ISuSe{margin-inline-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-marginInlineStart--24___IrW9d{margin-inline-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-marginInlineStart--28___xff1V{margin-inline-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-marginInlineStart--32___HQOmB{margin-inline-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-marginInlineStart--36___WdZwx{margin-inline-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-marginInlineStart--40___R3wYL{margin-inline-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-marginInlineStart--44___wwo_O{margin-inline-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-marginInlineStart--48___zdJZg{margin-inline-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-marginInlineStart--60___gPgQr{margin-inline-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-marginInlineStart--64___NHk5d{margin-inline-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-marginInlineStart--80___D1Kto{margin-inline-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-marginInlineStart--88___SqBcU{margin-inline-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-marginInlineStart--96___Cy8gp{margin-inline-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-marginInlineStart--112___UVHJh{margin-inline-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-marginInlineStart--128___rYSy2{margin-inline-start:var(--base-size-128)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--condensed___LrhcU{margin-inline-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--normal___yjn7b{margin-inline-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--spacious___D_nVs{margin-inline-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--none___pHChO{margin-inline-start:0}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--4___zqjtT{margin-inline-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--8___JQCG0{margin-inline-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--12___Uh4UZ{margin-inline-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--16___XZ8ZR{margin-inline-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--20___YbDKP{margin-inline-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--24___FNxOe{margin-inline-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--28___rMktN{margin-inline-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--32___tbEiO{margin-inline-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--36___uVdgf{margin-inline-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--40___LJia9{margin-inline-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--44___KmENz{margin-inline-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--48___zoftL{margin-inline-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--60___SWHzH{margin-inline-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--64___iwJE7{margin-inline-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--80___cekgc{margin-inline-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--88___bFGTa{margin-inline-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--96___J9dFk{margin-inline-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--112___ij9Sp{margin-inline-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--128___YmYWV{margin-inline-start:var(--base-size-128)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-marginInlineStart--condensed___b3jtW{margin-inline-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--normal___Afnyr{margin-inline-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--spacious___T94RJ{margin-inline-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--none___dMyhc{margin-inline-start:0}.Primer_Brand__Box-module__Box-regular-marginInlineStart--4____RoBu{margin-inline-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--8___HIT7W{margin-inline-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--12___GKnNE{margin-inline-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--16___zvb7s{margin-inline-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--20___TyM9P{margin-inline-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--24___FR9ti{margin-inline-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--28___cImoh{margin-inline-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--32___uzbKA{margin-inline-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--36___KDLC7{margin-inline-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--40___WtED9{margin-inline-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--44___T1yz0{margin-inline-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--48___RDHdq{margin-inline-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--60___MVbk9{margin-inline-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--64___sswJ8{margin-inline-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--80___V9k8f{margin-inline-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--88___Xo4dd{margin-inline-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--96___MRqfB{margin-inline-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--112___g0s1Q{margin-inline-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--128___txGNr{margin-inline-start:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Box-module__Box-wide-marginInlineStart--condensed___d78eT{margin-inline-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--normal___KvxjM{margin-inline-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--spacious___ttmF3{margin-inline-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--none___Ygvgs{margin-inline-start:0}.Primer_Brand__Box-module__Box-wide-marginInlineStart--4___k170X{margin-inline-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--8___dWDhU{margin-inline-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--12___j2X_6{margin-inline-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--16___tlIaR{margin-inline-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--20___tcnmb{margin-inline-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--24___faDE1{margin-inline-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--28___H0kuG{margin-inline-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--32___cEhsd{margin-inline-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--36___rotpN{margin-inline-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--40___a4Yp_{margin-inline-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--44___mAiW2{margin-inline-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--48___pJQ14{margin-inline-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--60___LZehP{margin-inline-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--64___yBVt2{margin-inline-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--80___UNM1_{margin-inline-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--88___xYk7j{margin-inline-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--96___ZVqGY{margin-inline-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--112___jFEAD{margin-inline-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--128___Ma3u7{margin-inline-start:var(--base-size-128)}}.Primer_Brand__Box-module__Box-backgroundColor--default___yHgTN{background-color:var(--brand-color-canvas-default)}.Primer_Brand__Box-module__Box-backgroundColor--inset___VVJ5E{background-color:var(--brand-color-canvas-inset)}.Primer_Brand__Box-module__Box-backgroundColor--subtle___G0wT9,.Primer_Brand__Box-module__Box-backgroundColor--overlay___R1w8K{background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__Box-module__Box-borderRadius--small___wqrhY{border-radius:var(--brand-borderRadius-small)}.Primer_Brand__Box-module__Box-borderRadius--medium___JB1YF{border-radius:var(--brand-borderRadius-medium)}.Primer_Brand__Box-module__Box-borderRadius--large___CCcts{border-radius:var(--brand-borderRadius-large)}.Primer_Brand__Box-module__Box-borderRadius--xlarge___Efss7{border-radius:var(--brand-borderRadius-xlarge)}.Primer_Brand__Box-module__Box-borderRadius--full___NXuE7{border-radius:var(--brand-borderRadius-full)}.Primer_Brand__Box-module__Box-borderStyle--solid___ejOCw{border-style:solid;border-width:0}.Primer_Brand__Box-module__Box-borderStyle--none___GDHF9{border-style:none}.Primer_Brand__Box-module__Box-borderWidth--thin___Np1R8{border-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-borderWidth--thick___dp1_H{border-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-borderWidth--thicker___HPZHA{border-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-borderBlockStartWidth--thin___y3sZf{border-block-start-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-borderBlockStartWidth--thick___kV7nz{border-block-start-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-borderBlockStartWidth--thicker___lU32t{border-block-start-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-borderInlineEndWidth--thin___irPIY{border-inline-end-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-borderInlineEndWidth--thick___OolZ3{border-inline-end-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-borderInlineEndWidth--thicker___bxZek{border-inline-end-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-borderBlockEndWidth--thin___aOdjf{border-block-end-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-borderBlockEndWidth--thick___ROxs5{border-block-end-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-borderBlockEndWidth--thicker___sED4_{border-block-end-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-borderInlineStartWidth--thin___A4ZPo{border-inline-start-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-borderInlineStartWidth--thick___OelxP{border-inline-start-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-borderInlineStartWidth--thicker___yWUW3{border-inline-start-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-borderWidth--none___Hy1LJ{border-width:0}.Primer_Brand__Box-module__Box-borderBlockStartWidth--none___U1tDw{border-block-start-width:0}.Primer_Brand__Box-module__Box-borderInlineEndWidth--none___K0Ey4{border-inline-end-width:0}.Primer_Brand__Box-module__Box-borderBlockEndWidth--none___U4vUs{border-block-end-width:0}.Primer_Brand__Box-module__Box-borderInlineStartWidth--none___R1fyF{border-inline-start-width:0}.Primer_Brand__Box-module__Box-narrow-borderWidth--none___wcZvW{border-width:0}.Primer_Brand__Box-module__Box-narrow-borderWidth--thin___uvzKl{border-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-narrow-borderWidth--thick___eCXhG{border-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-narrow-borderWidth--thicker___I_MYT{border-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-narrow-borderBlockStartWidth--none___DzZns{border-block-start-width:0}.Primer_Brand__Box-module__Box-narrow-borderBlockStartWidth--thin___YCetR{border-block-start-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-narrow-borderBlockStartWidth--thick___Xae6a{border-block-start-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-narrow-borderBlockStartWidth--thicker___q7RoY{border-block-start-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-narrow-borderInlineEndWidth--none___X45sx{border-inline-end-width:0}.Primer_Brand__Box-module__Box-narrow-borderInlineEndWidth--thin___jTAEO{border-inline-end-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-narrow-borderInlineEndWidth--thick___N4bpK{border-inline-end-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-narrow-borderInlineEndWidth--thicker___XP8q6{border-inline-end-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-narrow-borderBlockEndWidth--none___hKgwN{border-block-end-width:0}.Primer_Brand__Box-module__Box-narrow-borderBlockEndWidth--thin___uC5YX{border-block-end-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-narrow-borderBlockEndWidth--thick___vfk5w{border-block-end-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-narrow-borderBlockEndWidth--thicker___EjraB{border-block-end-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-narrow-borderInlineStartWidth--none___zbWQ4{border-inline-start-width:0}.Primer_Brand__Box-module__Box-narrow-borderInlineStartWidth--thin___wwv_V{border-inline-start-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-narrow-borderInlineStartWidth--thick___PSJnX{border-inline-start-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-narrow-borderInlineStartWidth--thicker___Oji76{border-inline-start-width:var(--brand-borderWidth-thicker)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-borderWidth--none___v_4r3{border-width:0}.Primer_Brand__Box-module__Box-regular-borderWidth--thin___WJJ4_{border-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-regular-borderWidth--thick___tAQPj{border-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-regular-borderWidth--thicker____Mei9{border-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-regular-borderBlockStartWidth--none___WSh9e{border-block-start-width:0}.Primer_Brand__Box-module__Box-regular-borderBlockStartWidth--thin___HDekH{border-block-start-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-regular-borderBlockStartWidth--thick___dKvYM{border-block-start-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-regular-borderBlockStartWidth--thicker___RzVQH{border-block-start-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-regular-borderInlineEndWidth--none___tpeE3{border-inline-end-width:0}.Primer_Brand__Box-module__Box-regular-borderInlineEndWidth--thin___IDHa2{border-inline-end-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-regular-borderInlineEndWidth--thick___ZP2wC{border-inline-end-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-regular-borderInlineEndWidth--thicker___TWPKx{border-inline-end-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-regular-borderBlockEndWidth--none____Cl_j{border-block-end-width:0}.Primer_Brand__Box-module__Box-regular-borderBlockEndWidth--thin___CDAYH{border-block-end-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-regular-borderBlockEndWidth--thick___YAX3O{border-block-end-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-regular-borderBlockEndWidth--thicker___GqngV{border-block-end-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-regular-borderInlineStartWidth--none___rx6Yf{border-inline-start-width:0}.Primer_Brand__Box-module__Box-regular-borderInlineStartWidth--thin___xkvhI{border-inline-start-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-regular-borderInlineStartWidth--thick___lbQHo{border-inline-start-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-regular-borderInlineStartWidth--thicker___HR4Nz{border-inline-start-width:var(--brand-borderWidth-thicker)}}@media screen and (width>=64rem){.Primer_Brand__Box-module__Box-wide-borderWidth--none___M7jW_{border-width:0}.Primer_Brand__Box-module__Box-wide-borderWidth--thin___xhh3v{border-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-wide-borderWidth--thick___XGwFE{border-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-wide-borderWidth--thicker___hVG5a{border-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-wide-borderBlockStartWidth--none___BZm7v{border-block-start-width:0}.Primer_Brand__Box-module__Box-wide-borderBlockStartWidth--thin___dDKTT{border-block-start-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-wide-borderBlockStartWidth--thick___q0gtM{border-block-start-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-wide-borderBlockStartWidth--thicker___gBysF{border-block-start-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-wide-borderInlineEndWidth--none___VvuSn{border-inline-end-width:0}.Primer_Brand__Box-module__Box-wide-borderInlineEndWidth--thin___RyHjJ{border-inline-end-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-wide-borderInlineEndWidth--thick___ATGqg{border-inline-end-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-wide-borderInlineEndWidth--thicker___RBeFn{border-inline-end-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-wide-borderBlockEndWidth--none___ucisL{border-block-end-width:0}.Primer_Brand__Box-module__Box-wide-borderBlockEndWidth--thin___yEtFX{border-block-end-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-wide-borderBlockEndWidth--thick___RG7PT{border-block-end-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-wide-borderBlockEndWidth--thicker___XpkDn{border-block-end-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-wide-borderInlineStartWidth--none___VywCc{border-inline-start-width:0}.Primer_Brand__Box-module__Box-wide-borderInlineStartWidth--thin___q9saE{border-inline-start-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-wide-borderInlineStartWidth--thick___gTJ8P{border-inline-start-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-wide-borderInlineStartWidth--thicker___Y1S9l{border-inline-start-width:var(--brand-borderWidth-thicker)}}.Primer_Brand__Box-module__Box-borderColor--default___XVJKE{border-color:var(--brand-color-border-default)}.Primer_Brand__Box-module__Box-borderColor--muted___S3wPy{border-color:var(--brand-color-border-muted)}.Primer_Brand__Box-module__Box-borderColor--subtle___SnZYA{border-color:var(--brand-color-border-subtle)}.Primer_Brand__Text-module__Text___pecHN{font-family:var(--brand-body-fontFamily)}[data-color-mode=dark] .Primer_Brand__Text-module__Text--antialiased___fYDxq{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:auto}.Primer_Brand__Text-module__Text--default___DChoE{color:var(--brand-color-text-default)}.Primer_Brand__Text-module__Text--muted___lTaVa{color:var(--brand-color-text-muted)}.Primer_Brand__Text-module__Text-font--mona-sans___GpzSG{font-family:var(--brand-body-fontFamily)}.Primer_Brand__Text-module__Text-font--hubot-sans___l0tzF{font-family:var(--brand-body-fontFamilyAlt)}.Primer_Brand__Text-module__Text-font--monospace___Mifnv{font-family:var(--brand-fontStack-monospace)}.Primer_Brand__Text-module__Text--1000___j3rsl{font-weight:var(--brand-text-weight-1000);font-size:var(--brand-text-size-1000);line-height:var(--brand-text-lineHeight-1000);letter-spacing:var(--brand-text-letterSpacing-1000)}.Primer_Brand__Text-module__Text--900___Fo_yP{font-weight:var(--brand-text-weight-900);font-size:var(--brand-text-size-900);line-height:var(--brand-text-lineHeight-900);letter-spacing:var(--brand-text-letterSpacing-900)}.Primer_Brand__Text-module__Text--800___OdB5a{font-weight:var(--brand-text-weight-800);font-size:var(--brand-text-size-800);line-height:var(--brand-text-lineHeight-800);letter-spacing:var(--brand-text-letterSpacing-800)}.Primer_Brand__Text-module__Text--700___cOggy{font-weight:var(--brand-text-weight-700);font-size:var(--brand-text-size-700);line-height:var(--brand-text-lineHeight-700);letter-spacing:var(--brand-text-letterSpacing-700)}.Primer_Brand__Text-module__Text--600___ThppA{font-weight:var(--brand-text-weight-600);font-size:var(--brand-text-size-600);line-height:var(--brand-text-lineHeight-600)}.Primer_Brand__Text-module__Text--500___orDRu{font-weight:var(--brand-text-weight-500);font-size:var(--brand-text-size-500);line-height:var(--brand-text-lineHeight-500)}.Primer_Brand__Text-module__Text--400___y7m4l{font-weight:var(--brand-text-weight-400);font-size:var(--brand-text-size-400);line-height:var(--brand-text-lineHeight-400);letter-spacing:var(--brand-text-letterSpacing-400)}.Primer_Brand__Text-module__Text--350___L4bn4{font-weight:var(--brand-text-weight-350);font-size:var(--brand-text-size-350);line-height:var(--brand-text-lineHeight-350);letter-spacing:var(--brand-text-letterSpacing-350)}.Primer_Brand__Text-module__Text--300___TBQTB{font-weight:var(--brand-text-weight-300);font-size:var(--brand-text-size-300);line-height:var(--brand-text-lineHeight-300);letter-spacing:var(--brand-text-letterSpacing-300)}.Primer_Brand__Text-module__Text--200___XAIGT{font-weight:var(--brand-text-weight-200);font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200);letter-spacing:var(--brand-text-letterSpacing-200)}.Primer_Brand__Text-module__Text--100___csEom{font-weight:var(--brand-text-weight-100);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);letter-spacing:var(--brand-text-letterSpacing-100)}.Primer_Brand__Text-module__Text--weight-heavy___ege7O,.Primer_Brand__Text-module__Text-narrow--weight-heavy___EZzqD{font-weight:var(--base-text-weight-heavy)}.Primer_Brand__Text-module__Text--weight-extrabold____UVFN,.Primer_Brand__Text-module__Text-narrow--weight-extrabold___ts3be{font-weight:var(--base-text-weight-extrabold)}.Primer_Brand__Text-module__Text--weight-bold___jgFdL,.Primer_Brand__Text-module__Text-narrow--weight-bold___Flbbf{font-weight:var(--base-text-weight-bold)}.Primer_Brand__Text-module__Text--weight-semibold___Ns19j,.Primer_Brand__Text-module__Text-narrow--weight-semibold___jtFFh{font-weight:var(--base-text-weight-semibold)}.Primer_Brand__Text-module__Text--weight-medium___E0iQL,.Primer_Brand__Text-module__Text-narrow--weight-medium___tQs9y{font-weight:var(--base-text-weight-medium)}.Primer_Brand__Text-module__Text--weight-normal___siVLX,.Primer_Brand__Text-module__Text-narrow--weight-normal___gb0q4{font-weight:var(--base-text-weight-normal)}.Primer_Brand__Text-module__Text--weight-light___SpQAz,.Primer_Brand__Text-module__Text-narrow--weight-light___cIyjf{font-weight:var(--base-text-weight-light)}.Primer_Brand__Text-module__Text--weight-extralight___JRMel,.Primer_Brand__Text-module__Text-narrow--weight-extralight___aHSut{font-weight:var(--base-text-weight-extralight)}@media screen and (width>=48rem){.Primer_Brand__Text-module__Text-regular--weight-heavy___YumNc{font-weight:var(--base-text-weight-heavy)}.Primer_Brand__Text-module__Text-regular--weight-extrabold___uvNQM{font-weight:var(--base-text-weight-extrabold)}.Primer_Brand__Text-module__Text-regular--weight-bold___E3xyf{font-weight:var(--base-text-weight-bold)}.Primer_Brand__Text-module__Text-regular--weight-semibold___Wwz9g{font-weight:var(--base-text-weight-semibold)}.Primer_Brand__Text-module__Text-regular--weight-medium___TnD35{font-weight:var(--base-text-weight-medium)}.Primer_Brand__Text-module__Text-regular--weight-normal___FEkFF{font-weight:var(--base-text-weight-normal)}.Primer_Brand__Text-module__Text-regular--weight-light___MalyV{font-weight:var(--base-text-weight-light)}.Primer_Brand__Text-module__Text-regular--weight-extralight___p7mr2{font-weight:var(--base-text-weight-extralight)}}@media screen and (width>=80rem){.Primer_Brand__Text-module__Text-wide--weight-heavy___AXiAN{font-weight:var(--base-text-weight-heavy)}.Primer_Brand__Text-module__Text-wide--weight-extrabold___rggXv{font-weight:var(--base-text-weight-extrabold)}.Primer_Brand__Text-module__Text-wide--weight-bold___CWJA2{font-weight:var(--base-text-weight-bold)}.Primer_Brand__Text-module__Text-wide--weight-semibold___LEBmW{font-weight:var(--base-text-weight-semibold)}.Primer_Brand__Text-module__Text-wide--weight-medium___QQ0IW{font-weight:var(--base-text-weight-medium)}.Primer_Brand__Text-module__Text-wide--weight-normal___KpqrG{font-weight:var(--base-text-weight-normal)}.Primer_Brand__Text-module__Text-wide--weight-light___iYFr9{font-weight:var(--base-text-weight-light)}.Primer_Brand__Text-module__Text-wide--weight-extralight___HH1z4{font-weight:var(--base-text-weight-extralight)}}.Primer_Brand__Text-module__Text-align--start___wkiCN{text-align:start}.Primer_Brand__Text-module__Text-align--end___E4m7M{text-align:end}.Primer_Brand__Text-module__Text-align--center___NbZtZ{text-align:center}.Primer_Brand__EyebrowText-module__EyebrowText___YZHDa{text-transform:uppercase;letter-spacing:var(--brand-text-letterSpacing-100)}.Primer_Brand__EyebrowText-module__EyebrowText--variant-accent___p07g3{color:var(--brand-color-accent-primary)}:root{--brand-TextCursorAnimation-cursor-animationDuration:.833s}:root,[data-color-mode=light]{--brand-TextCursorAnimation-cursor-color:var(--base-color-scale-purple-5);--brand-TextCursorAnimation-cursor-deleteColor:var(--base-color-scale-blue-4);--brand-TextCursorAnimation-cursor-finalColor:var(--base-color-scale-green-6)}[data-color-mode=dark]{--brand-TextCursorAnimation-cursor-color:var(--base-color-scale-purple-3);--brand-TextCursorAnimation-cursor-deleteColor:var(--base-color-scale-blue-3);--brand-TextCursorAnimation-cursor-finalColor:var(--base-color-scale-green-2)}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation___oT5SI{align-items:center;display:inline-flex}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__inner___MKMEx{align-items:center;display:inline-flex;position:relative}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__text___gB3n2{font-weight:var(--brand-text-weight-500);white-space:pre}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__sizingContainer___BLhzn{clip-path:inset(50%);display:inline-grid}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__sizingText___ipUBO{grid-area:1/1}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__content___V_c3N{align-items:center;gap:var(--base-size-6);display:inline-flex}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__content--animated___HgWNj{position:absolute;inset-block-start:0;inset-inline-start:0}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__cursor___fNada{width:calc(var(--base-size-8) + var(--base-size-2) / 2);height:calc(var(--base-size-12) + var(--base-size-2));flex:0 0 calc(var(--base-size-8) + var(--base-size-2) / 2);position:relative;top:-.5px}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__cursor--initial___y1m0J{background-color:var(--brand-TextCursorAnimation-cursor-color)}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__cursor--animated___NKuyb{animation:Primer_Brand__TextCursorAnimation-module__TextCursorAnimation-cursor-blink___B89IH var(--brand-TextCursorAnimation-cursor-animationDuration) steps(1, end) .25s 3 forwards}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__cursor--correction___H0shI{background-color:var(--brand-TextCursorAnimation-cursor-deleteColor)}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__cursor--final___HqWmn,.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__cursor--complete___eaBZl{background-color:var(--brand-TextCursorAnimation-cursor-finalColor)}@keyframes Primer_Brand__TextCursorAnimation-module__TextCursorAnimation-cursor-blink___B89IH{0%,79%{opacity:1}80%,99%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__cursor___fNada{animation:none}}.Primer_Brand__Hero-module__Hero___EM3jf{flex-direction:column;display:flex}.Primer_Brand__Hero-module__Hero--variant-default___TGFpg{padding:var(--brand-Hero-narrow-padding)}.Primer_Brand__Hero-module__Hero--align-start___m8GEr{text-align:left;align-items:flex-start}.Primer_Brand__Hero-module__Hero--align-center___HUXm3{text-align:center;place-items:center}.Primer_Brand__Hero-module__Hero-grid___ty4Y7{--brand-Grid-spacing-margin:0}.Primer_Brand__Hero-module__Hero-grid--contained___AU1X0{width:100%;max-width:1280px;padding:var(--base-size-32);background-color:var(--brand-Hero-bgColor-gridlineGridInner);margin-inline:auto}@container (width>=1280px){.Primer_Brand__Hero-module__Hero-grid--contained___AU1X0{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__Hero-module__Hero-grid--block-end___vzO3L,.Primer_Brand__Hero-module__Hero-grid--inline-end___Hh_fz{--brand-Grid-spacing-row:var(--base-size-40)}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero-grid--contained___AU1X0{padding:var(--base-size-64)}.Primer_Brand__Hero-module__Hero-grid--block-end___vzO3L{--brand-Grid-spacing-row:var(--base-size-80)}}.Primer_Brand__Hero-module__Hero--align-center___HUXm3 .Primer_Brand__Hero-module__Hero-actions___oH1NT{justify-content:center}.Primer_Brand__Hero-module__Hero--align-center___HUXm3 .Primer_Brand__Hero-module__Hero-content___kP85C{flex-direction:column;align-items:center;display:flex}.Primer_Brand__Hero-module__Hero-image___ctmnL{border-radius:var(--brand-borderRadius-medium);width:100%}.Primer_Brand__Hero-module__Hero-image___ctmnL>img{border-radius:inherit}.Primer_Brand__Hero-module__Hero-mediaContainer___DFAW_{flex:1;width:100%;height:100%;display:flex}.Primer_Brand__Hero-module__Hero-imageContainer--bg-subtle___pdiQ2{background-color:var(--brand-color-canvas-subtle);padding:var(--base-size-32) var(--base-size-32) 0}.Primer_Brand__Hero-module__Hero-imageContainer--inline-padding-all___Uu74V{padding:var(--base-size-32);background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__Hero-module__Hero-imageWrapper___hXPku{justify-content:center;width:100%;display:flex}.Primer_Brand__Hero-module__Hero-imageWrapper--bg-subtle___YSEjN{border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);background-color:var(--brand-color-canvas-subtle);padding:var(--base-size-32) var(--base-size-32) 0}.Primer_Brand__Hero-module__Hero-imageContainer--inline-bordered____bhxf{align-items:stretch;display:flex}.Primer_Brand__Hero-module__Hero-imageContainer--inline-bordered____bhxf:not(.Primer_Brand__Hero-module__Hero-imageContainer--inline-padding-none___xKjhe){background-color:var(--brand-color-canvas-subtle)}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero-imageContainer--inline-bordered____bhxf{min-height:calc(600px - var(--base-size-24))}.Primer_Brand__Hero-module__Hero-imageWrapper--bg-subtle___YSEjN{padding:var(--base-size-64) var(--base-size-64) 0}.Primer_Brand__Hero-module__Hero-imageContainer--inline-padding-all___Uu74V{padding:var(--base-size-64)}}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa{width:100%;container-type:inline-size}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-media___tN0uT{max-width:1176px;margin-inline:auto;display:block;overflow:hidden}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-media--pos-block-end___XPyHx:not(.Primer_Brand__Hero-module__Hero-media--padding-all___XQm3q):not(.Primer_Brand__Hero-module__Hero-media--padding-none___mvsXo){border-radius:var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0}.Primer_Brand__Hero-module__Hero-media--pos-block-end___XPyHx.Primer_Brand__Hero-module__Hero-media--padding-all___XQm3q{border-radius:var(--brand-borderRadius-medium)}.Primer_Brand__Hero-module__Hero-media-item--block-end___gAlCl{border-radius:var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-imageWrapper___hXPku{border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);width:100%}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-imageWrapper___hXPku:not(.Primer_Brand__Hero-module__Hero-imageWrapper--padding-none___e4ebj){background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-imageWrapper-inner___grxfI{width:100%;max-width:1280px;padding:var(--base-size-32) var(--base-size-32) 0;margin-inline:auto}@container (width>=1280px){.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-imageWrapper-inner--with-gridline___shdFJ{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-imageWrapper-inner--padding-all___Iu5X5{padding:var(--base-size-32)}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-imageWrapper-inner___grxfI{padding:var(--base-size-64) var(--base-size-64) 0}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-imageWrapper-inner--padding-all___Iu5X5{padding:var(--base-size-64)}}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-imageWrapper-inner--padding-none___aFKaV{padding:0}.Primer_Brand__Hero-module__Hero-grid--bordered-inline___WO6tw{width:100%;max-width:1280px;margin-inline:auto}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero-grid--bordered-inline___WO6tw{min-height:440px}}@container (width>=1280px){.Primer_Brand__Hero-module__Hero-grid--bordered-inline___WO6tw{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa.Primer_Brand__Hero-module__Hero--image-pos-inline___xR7vm{border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__Hero-module__Hero-contentColumn--bordered-inline___dpmwM{padding:var(--base-size-32);flex-direction:column;justify-content:center;display:flex}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero-contentColumn--bordered-inline___dpmwM{padding:var(--base-size-64)}}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-media--pos-inline___fithu:not(.Primer_Brand__Hero-module__Hero-media--padding-all___XQm3q),.Primer_Brand__Hero-module__Hero-media-item--inline___QS58d{border-radius:0}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-media--pos-inline___fithu.Primer_Brand__Hero-module__Hero-media--padding-all___XQm3q{align-self:center;max-width:100%;height:auto}.Primer_Brand__Hero-module__Hero-video___Nibos{width:100%}.Primer_Brand__Hero-module__Hero-media-item___ZpZ02{border-radius:var(--brand-borderRadius-large);width:100%}.Primer_Brand__Hero-module__Hero-label___exV9w{text-transform:uppercase;letter-spacing:1px;align-items:center;margin-block-end:calc(var(--base-size-16) - var(--base-size-2));display:flex}.Primer_Brand__Hero-module__Hero-heading___QuVBH{max-width:924px;margin:0}.Primer_Brand__Hero-module__Hero-heading___QuVBH b{color:var(--brand-color-accent-primary);font-style:normal;font-weight:inherit}.Primer_Brand__Hero-module__Hero-heading--fullWidth___Q3N1y{max-width:none;max-width:initial}.Primer_Brand__Hero-module__Hero-text-column--inline-gridline___ADqxq{height:100%}.Primer_Brand__Hero-module__Hero-description___vG4iA{margin:var(--base-size-24) 0 0;max-width:600px}.Primer_Brand__Hero-module__Hero--variant-inline-gridline___C1LBx .Primer_Brand__Hero-module__Hero-description___vG4iA{margin-block-start:auto;padding-block-start:var(--base-size-24)}.Primer_Brand__Hero-module__Hero-actions___oH1NT{align-items:center;gap:var(--base-size-8) var(--base-size-16);flex-wrap:wrap;margin-block-start:var(--base-size-28);display:flex}.Primer_Brand__Hero-module__Hero___EM3jf .Primer_Brand__Hero-module__Hero-actions___oH1NT>*{flex-grow:0}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-actions___oH1NT{align-items:stretch;gap:var(--base-size-8) var(--base-size-12)}.Primer_Brand__Hero-module__Hero-trailing___UeIyX{margin-block-start:var(--base-size-32)}.Primer_Brand__Hero-module__Hero-trailing___UeIyX img,.Primer_Brand__Hero-module__Hero-trailing___UeIyX picture{display:block}.Primer_Brand__Hero-module__Hero-eyebrow___NLX6a{margin-block-end:var(--base-size-32)}@media screen and (width>=34rem){.Primer_Brand__Hero-module__Hero--variant-default___TGFpg{padding:var(--brand-Hero-regular-padding)}}.Primer_Brand__Hero-module__Hero-video-poster-button___fXNeO{cursor:pointer;background:0 0;border:none;width:100%;height:100%;padding:0;font-size:0;line-height:0;display:block;position:relative}.Primer_Brand__Hero-module__Hero-video-poster-image___OF5WQ{width:100%;height:auto;display:block}.Primer_Brand__Hero-module__Hero-video-poster-icon___qBPv_{width:var(--base-size-96);height:var(--base-size-96);z-index:1;color:var(--base-color-scale-white-0);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.Primer_Brand__Hero-module__Hero-video-poster-header___RwX23{padding:var(--base-size-16) var(--base-size-24);align-items:center;gap:var(--base-size-16);height:var(--base-size-80);background:linear-gradient(#000000b3 60%,#0000);display:flex;position:absolute;inset:0 0 auto}.Primer_Brand__Hero-module__Hero-video-header-poster-icon___WOvuy,.Primer_Brand__Hero-module__Hero-video-poster-text___XZwq_{color:var(--base-color-scale-white-0)}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0{width:100%;container-type:inline-size}.Primer_Brand__Hero-module__Hero-grid--expressive___VviA1{--brand-Grid-spacing-row:0;gap:0;width:100%;max-width:1280px;margin-inline:auto}@container (width>=1280px){.Primer_Brand__Hero-module__Hero-grid--expressive___VviA1{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__Hero-module__Hero-expressive-header-column___ycDFD{padding:var(--base-size-36);padding-inline:var(--base-size-20);border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);align-items:center;padding-block-end:var(--base-size-28);display:flex}.Primer_Brand__Hero-module__Hero-expressive-body-column___k1AUC{padding:var(--base-size-32);padding-inline:var(--base-size-20);padding-block-start:var(--base-size-24)}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-description___vG4iA{margin-block-start:0}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-actions___oH1NT{margin-block-start:var(--base-size-28)}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-trailing___UeIyX{margin-block-start:var(--base-size-24)}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero-expressive-header-column___ycDFD{padding:var(--base-size-64);border-block-end:none;border-inline-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-inline-end:var(--base-size-64)}.Primer_Brand__Hero-module__Hero-expressive-body-column___k1AUC{padding:var(--base-size-64);flex-direction:column;justify-content:flex-end;padding-inline-start:var(--base-size-64);display:flex}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-actions___oH1NT{margin-block-start:var(--base-size-24)}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-trailing___UeIyX{margin-block-start:var(--base-size-20)}}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-imageWrapper___hXPku{border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);width:100%}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-imageWrapper___hXPku:not(.Primer_Brand__Hero-module__Hero-imageWrapper--padding-none___e4ebj){background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-imageWrapper-inner___grxfI{width:100%;max-width:1280px;padding:var(--base-size-32) var(--base-size-32) 0;margin-inline:auto}@container (width>=1280px){.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-imageWrapper-inner--with-gridline___shdFJ{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-imageWrapper-inner--padding-all___Iu5X5{padding:var(--base-size-32)}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-imageWrapper-inner___grxfI{padding:var(--base-size-64) var(--base-size-64) 0}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-imageWrapper-inner--padding-all___Iu5X5{padding:var(--base-size-64)}}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-imageWrapper-inner--padding-none___aFKaV{padding:0}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-media___tN0uT{max-width:1176px;margin-inline:auto;display:block;overflow:hidden}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-media--pos-block-end___XPyHx:not(.Primer_Brand__Hero-module__Hero-media--padding-all___XQm3q):not(.Primer_Brand__Hero-module__Hero-media--padding-none___mvsXo){border-radius:var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-media--padding-none___mvsXo,.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-media--padding-none___mvsXo{border-radius:0;max-width:100%}.Primer_Brand__Heading-module__Heading___IVpmp{--condensed-stretch:75%;color:var(--brand-color-text-default)}.Primer_Brand__Heading-module__Heading--textWrap-balance___AOKvC{text-wrap:balance}.Primer_Brand__Heading-module__Heading--textWrap-wrap___iM9k3{text-wrap:wrap}.Primer_Brand__Heading-module__Heading-font--hubot-sans___w3_5f{--condensed-stretch:90%}[data-color-mode=dark] .Primer_Brand__Heading-module__Heading___IVpmp{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.Primer_Brand__Heading-module__Heading-font--mona-sans___SCnTx{font-family:var(--brand-heading-fontFamily)}.Primer_Brand__Heading-module__Heading-font--hubot-sans___w3_5f{font-family:var(--brand-heading-fontFamilyAlt)}.Primer_Brand__Heading-module__Heading-font--monospace___dFpiK{font-family:var(--brand-fontStack-monospace)}.Primer_Brand__Heading-module__Heading--display___xFecE{font-weight:var(--brand-heading-weight-1000);font-size:var(--brand-text-size-1000);line-height:var(--brand-text-lineHeight-1000);letter-spacing:var(--brand-text-letterSpacing-1000)}.Primer_Brand__Heading-module__Heading--subhead-large____C6GZ{font-weight:var(--brand-text-subhead-weight-large);font-size:var(--brand-text-subhead-size-large);line-height:var(--brand-text-subhead-lineHeight-large)}.Primer_Brand__Heading-module__Heading--subhead-medium___Pik5E{font-weight:var(--brand-text-subhead-weight-medium);font-size:var(--brand-text-subhead-size-medium);line-height:var(--brand-text-subhead-lineHeight-medium)}.Primer_Brand__Heading-module__Heading--1___Ufc7G{font-weight:var(--brand-heading-weight-900);font-size:var(--brand-text-size-900);line-height:var(--brand-text-lineHeight-900);letter-spacing:var(--brand-text-letterSpacing-900)}.Primer_Brand__Heading-module__Heading--2___TFg09{font-weight:var(--brand-heading-weight-800);font-size:var(--brand-text-size-800);line-height:var(--brand-text-lineHeight-800);letter-spacing:var(--brand-text-letterSpacing-800)}.Primer_Brand__Heading-module__Heading--3___wsITu{font-weight:var(--brand-heading-weight-700);font-size:var(--brand-text-size-700);line-height:var(--brand-heading-lineHeight-700);letter-spacing:var(--brand-heading-letterSpacing-700)}.Primer_Brand__Heading-module__Heading--4___C9jDG{font-weight:var(--brand-heading-weight-600);font-size:var(--brand-text-size-600);line-height:var(--brand-text-lineHeight-600);letter-spacing:var(--brand-heading-letterSpacing-600)}.Primer_Brand__Heading-module__Heading--5___HgypG{font-weight:var(--brand-heading-weight-500);font-size:var(--brand-text-size-500);line-height:var(--brand-text-lineHeight-500);letter-spacing:var(--brand-heading-letterSpacing-500)}.Primer_Brand__Heading-module__Heading--6___FEQ_V{font-weight:var(--brand-heading-weight-400);font-size:var(--brand-text-size-400);line-height:var(--brand-text-lineHeight-400);letter-spacing:var(--brand-heading-letterSpacing-400)}.Primer_Brand__Heading-module__Heading--weight-heavy___ssSay,.Primer_Brand__Heading-module__Heading-narrow--weight-heavy___s43iL{font-weight:var(--base-text-weight-heavy)}.Primer_Brand__Heading-module__Heading--weight-extrabold___SJAUw,.Primer_Brand__Heading-module__Heading-narrow--weight-extrabold___vmOAQ{font-weight:var(--base-text-weight-extrabold)}.Primer_Brand__Heading-module__Heading--weight-bold___Zqsyk,.Primer_Brand__Heading-module__Heading-narrow--weight-bold___IXjRC{font-weight:var(--base-text-weight-bold)}.Primer_Brand__Heading-module__Heading--weight-semibold___NMvbh,.Primer_Brand__Heading-module__Heading-narrow--weight-semibold___bAIHy{font-weight:var(--base-text-weight-semibold)}.Primer_Brand__Heading-module__Heading--weight-medium___II172,.Primer_Brand__Heading-module__Heading-narrow--weight-medium___q5O6L{font-weight:var(--base-text-weight-medium)}.Primer_Brand__Heading-module__Heading--weight-normal___ZLGhx,.Primer_Brand__Heading-module__Heading-narrow--weight-normal___Q0Jkf{font-weight:var(--base-text-weight-normal)}.Primer_Brand__Heading-module__Heading--weight-light___aF2Rw,.Primer_Brand__Heading-module__Heading-narrow--weight-light___mOWUt{font-weight:var(--base-text-weight-light)}.Primer_Brand__Heading-module__Heading--weight-extralight___KRgjg,.Primer_Brand__Heading-module__Heading-narrow--weight-extralight___qHJfi{font-weight:var(--base-text-weight-extralight)}@media screen and (width>=48rem){.Primer_Brand__Heading-module__Heading-regular--weight-heavy___SwJ1c{font-weight:var(--base-text-weight-heavy)}.Primer_Brand__Heading-module__Heading-regular--weight-extrabold___H5Gyr{font-weight:var(--base-text-weight-extrabold)}.Primer_Brand__Heading-module__Heading-regular--weight-bold___QMMCW{font-weight:var(--base-text-weight-bold)}.Primer_Brand__Heading-module__Heading-regular--weight-semibold___h3bHv{font-weight:var(--base-text-weight-semibold)}.Primer_Brand__Heading-module__Heading-regular--weight-medium___wC9qR{font-weight:var(--base-text-weight-medium)}.Primer_Brand__Heading-module__Heading-regular--weight-normal___joqMx{font-weight:var(--base-text-weight-normal)}.Primer_Brand__Heading-module__Heading-regular--weight-light___CCVVF{font-weight:var(--base-text-weight-light)}.Primer_Brand__Heading-module__Heading-regular--weight-extralight___LE9Tu{font-weight:var(--base-text-weight-extralight)}}@media screen and (width>=80rem){.Primer_Brand__Heading-module__Heading-wide--weight-heavy___IiVTg{font-weight:var(--base-text-weight-heavy)}.Primer_Brand__Heading-module__Heading-wide--weight-extrabold___CIRWW{font-weight:var(--base-text-weight-extrabold)}.Primer_Brand__Heading-module__Heading-wide--weight-bold___wMxlL{font-weight:var(--base-text-weight-bold)}.Primer_Brand__Heading-module__Heading-wide--weight-semibold___IqaIc{font-weight:var(--base-text-weight-semibold)}.Primer_Brand__Heading-module__Heading-wide--weight-medium___Uq302{font-weight:var(--base-text-weight-medium)}.Primer_Brand__Heading-module__Heading-wide--weight-normal___zWzeR{font-weight:var(--base-text-weight-normal)}.Primer_Brand__Heading-module__Heading-wide--weight-light___Lh64A{font-weight:var(--base-text-weight-light)}}.Primer_Brand__Heading-module__Heading--stretch-condensed____i8A2,.Primer_Brand__Heading-module__Heading-narrow--stretch-condensed___koHLR{font-stretch:var(--condensed-stretch)}.Primer_Brand__Heading-module__Heading--stretch-normal___apWVy,.Primer_Brand__Heading-module__Heading-narrow--stretch-normal___AP9Ba{font-stretch:100%}.Primer_Brand__Heading-module__Heading--stretch-expanded___gzwLQ,.Primer_Brand__Heading-module__Heading-narrow--stretch-expanded___RHi1z{font-stretch:125%}@media screen and (width>=48rem){.Primer_Brand__Heading-module__Heading-regular--stretch-condensed___CHFa4{font-stretch:var(--condensed-stretch)}.Primer_Brand__Heading-module__Heading-regular--stretch-normal___IX9Vl{font-stretch:100%}.Primer_Brand__Heading-module__Heading-regular--stretch-expanded___ozx5y{font-stretch:125%}}@media screen and (width>=80rem){.Primer_Brand__Heading-module__Heading-narrow--weight-expanded___jvotv .Primer_Brand__Heading-module__Heading-wide--stretch-condensed___d3GoN{font-stretch:var(--condensed-stretch)}.Primer_Brand__Heading-module__Heading-wide--stretch-normal___te0lW{font-stretch:100%}.Primer_Brand__Heading-module__Heading-wide--stretch-expanded___TlWrW{font-stretch:125%}}.Primer_Brand__Heading-module__Heading--letter-spacing-condensed___b6mZa,.Primer_Brand__Heading-module__Heading-narrow--letter-spacing-condensed___U6uGD{letter-spacing:var(--brand-text-letterSpacing-900)}.Primer_Brand__Heading-module__Heading--letter-spacing-normal___Qhzoc,.Primer_Brand__Heading-module__Heading-narrow--letter-spacing-normal___gzn9r{letter-spacing:var(--brand-heading-letterSpacing-700)}.Primer_Brand__Heading-module__Heading--letter-spacing-none___vuohz,.Primer_Brand__Heading-module__Heading-narrow--letter-spacing-none___RR_W3{letter-spacing:0}@media screen and (width>=48rem){.Primer_Brand__Heading-module__Heading-regular--letter-spacing-condensed___gEGJy{letter-spacing:var(--brand-text-letterSpacing-900)}.Primer_Brand__Heading-module__Heading-regular--letter-spacing-normal___GWmk5{letter-spacing:var(--brand-heading-letterSpacing-700)}.Primer_Brand__Heading-module__Heading-regular--letter-spacing-none____NH9r{letter-spacing:0}}@media screen and (width>=80rem){.Primer_Brand__Heading-module__Heading-narrow--weight-wide___ikyG2 .Primer_Brand__Heading-module__Heading-wide--letter-spacing-condensed___RhUHL{letter-spacing:var(--brand-text-letterSpacing-900)}.Primer_Brand__Heading-module__Heading-wide--letter-spacing-normal___qPBdW{letter-spacing:var(--brand-heading-letterSpacing-700)}.Primer_Brand__Heading-module__Heading-wide--letter-spacing-none___w4Oh2{letter-spacing:0}}.Primer_Brand__ExpandableArrow-module__ExpandableArrow___rkfek{--ExpandableArrow-duration:.2s;--ExpandableArrow-easing:ease;transition:transform .2s;transition:transform var(--ExpandableArrow-duration) var(--ExpandableArrow-easing);transform:translate(0)}.Primer_Brand__ExpandableArrow-module__ExpandableArrow--expanded___gajDr{transform:translate(4px)}.Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___g4mdy{stroke-dasharray:10;stroke-dashoffset:10px;transition:stroke-dashoffset var(--ExpandableArrow-duration) var(--ExpandableArrow-easing)}.Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem--expanded___KwI_9{stroke-dashoffset:20px}.Primer_Brand__ExpandableArrow-module__ExpandableArrow--reversed___LPFUS{transform:rotate(180deg)}.Primer_Brand__ExpandableArrow-module__ExpandableArrow--reversed___LPFUS.Primer_Brand__ExpandableArrow-module__ExpandableArrow--expanded___gajDr{transform:rotate(180deg)translate(4px)}:root{--brand-Button-icon-size-large:var(--base-size-20);--brand-Button-icon-size-medium:var(--base-size-16);--brand-Button-icon-size-small:var(--base-size-16);--brand-Button-control-size-large:var(--brand-control-large-size);--brand-Button-control-size-medium:var(--brand-control-medium-size);--brand-Button-control-size-small:var(--brand-control-small-size)}:root,[data-color-mode=light]{--brand-button-primary-bgColor-rest:var(--base-color-scale-green-6);--brand-button-primary-bgColor-hover:color-mix(in srgb, var(--base-color-scale-green-6), #000 16%);--brand-button-primary-bgColor-active:linear-gradient(0deg, #0000003d 0%, #0000003d 100%), var(--base-color-scale-green-6);--brand-button-primary-bgColor-disabled:var(--base-color-scale-gray-4);--brand-button-primary-borderColor-rest:transparent;--brand-button-primary-borderColor-hover:transparent;--brand-button-primary-borderColor-active:var(--base-color-scale-green-7);--brand-button-primary-borderColor-disabled:transparent;--brand-button-primary-fgColor-rest:var(--base-color-scale-white-0);--brand-button-primary-fgColor-disabled:var(--base-color-scale-gray-2);--brand-button-primary-shadow-active:none;--brand-button-secondary-bgColor-rest:#0000000f;--brand-button-secondary-bgColor-hover:#0000001e;--brand-button-secondary-bgColor-active:#00000036;--brand-button-secondary-borderColor-rest:var(--base-color-scale-gray-2);--brand-button-secondary-borderColor-hover:var(--base-color-scale-gray-2);--brand-button-secondary-borderColor-active:var(--base-color-scale-gray-2);--brand-button-secondary-fgColor-rest:var(--brand-color-text-default);--brand-button-secondary-fgColor-disabled:var(--base-color-scale-gray-3);--brand-button-subtle-bgColor-rest:#00000003;--brand-button-subtle-bgColor-hover:#0000001e;--brand-button-subtle-bgColor-active:#00000036;--brand-button-subtle-borderColor-rest:var(--base-color-scale-gray-2);--brand-button-subtle-borderColor-hover:var(--base-color-scale-gray-2);--brand-button-subtle-borderColor-active:var(--base-color-scale-gray-2);--brand-button-subtle-fgColor-rest:var(--brand-color-text-default);--brand-button-subtle-fgColor-disabled:var(--base-color-scale-gray-3)}[data-color-mode=dark]{--brand-button-primary-bgColor-rest:var(--base-color-scale-green-5);--brand-button-primary-bgColor-hover:color-mix(in srgb, var(--base-color-scale-green-5), #000 16%);--brand-button-primary-bgColor-active:linear-gradient(0deg, #0000003d 0%, #0000003d 100%), var(--base-color-scale-green-5);--brand-button-primary-bgColor-disabled:var(--base-color-scale-gray-4);--brand-button-primary-borderColor-rest:transparent;--brand-button-primary-borderColor-hover:transparent;--brand-button-primary-borderColor-active:var(--base-color-scale-green-6);--brand-button-primary-borderColor-disabled:transparent;--brand-button-primary-fgColor-rest:var(--base-color-scale-white-0);--brand-button-primary-fgColor-disabled:var(--base-color-scale-gray-2);--brand-button-primary-shadow-active:none;--brand-button-secondary-bgColor-rest:#ffffff1f;--brand-button-secondary-bgColor-hover:#ffffff29;--brand-button-secondary-bgColor-active:#ffffff42;--brand-button-secondary-borderColor-rest:#ffffff0f;--brand-button-secondary-borderColor-hover:#ffffff1f;--brand-button-secondary-borderColor-active:#ffffff1f;--brand-button-secondary-fgColor-rest:var(--brand-color-text-default);--brand-button-secondary-fgColor-disabled:var(--base-color-scale-gray-4);--brand-button-subtle-bgColor-rest:#00000003;--brand-button-subtle-bgColor-hover:#ffffff29;--brand-button-subtle-bgColor-active:#ffffff3d;--brand-button-subtle-borderColor-rest:var(--base-color-scale-gray-6);--brand-button-subtle-borderColor-hover:#ffffff1f;--brand-button-subtle-borderColor-active:#ffffff1f;--brand-button-subtle-fgColor-rest:var(--brand-color-text-default);--brand-button-subtle-fgColor-disabled:var(--base-color-scale-gray-4)}.Primer_Brand__Button-module__Button___lDruK{appearance:none;-webkit-user-select:none;user-select:none;vertical-align:middle;border-radius:var(--base-size-6);cursor:pointer;border:solid var(--brand-borderWidth-thin) transparent;box-sizing:border-box;justify-content:center;align-items:center;gap:var(--brand-control-medium-gap);background:0 0;-webkit-text-decoration:none;text-decoration:none;transition:background-color .2s,border-color .2s;display:inline-flex}.Primer_Brand__Button-module__Button___lDruK:where(button){font:inherit}.Primer_Brand__Button-module__Button___lDruK:hover{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__Button-module__Button___lDruK:focus-visible{outline:4px solid var(--brand-color-focus);outline-offset:2px;transition:none}.Primer_Brand__Button-module__Button--disabled___Ba17E,.Primer_Brand__Button-module__Button--disabled___Ba17E:hover,.Primer_Brand__Button-module__Button--disabled___Ba17E:focus{cursor:not-allowed}.Primer_Brand__Button-module__Button--size-small___iNTn1 .Primer_Brand__Button-module__Button__text___Z3ocU{display:flex}.Primer_Brand__Button-module__Button__text___Z3ocU{position:relative}.Primer_Brand__Button-module__Button--label___lUBc0{font-family:var(--brand-body-fontFamily);font-style:normal;font-weight:var(--base-text-weight-medium);text-align:center}.Primer_Brand__Button-module__Button__icon-visual___zR2Hi{height:var(--brand-Button-icon-size-medium);fill:currentColor;align-self:center;width:auto;display:flex}.Primer_Brand__Button-module__Button__trailing-visual___zg8jd,.Primer_Brand__Button-module__Button__leading-visual___FIPvg{display:flex}.Primer_Brand__Button-module__Button-arrow___SkJXQ{margin-inline-start:calc(var(--base-size-8) * -1);margin-inline-end:calc(var(--base-size-4) * -1)}.Primer_Brand__Button-module__Button--primary___xIC7G{color:var(--brand-button-primary-fgColor-rest);background-color:var(--brand-button-primary-bgColor-rest)}.Primer_Brand__Button-module__Button--size-small___iNTn1.Primer_Brand__Button-module__Button--primary___xIC7G{border-width:var(--brand-borderWidth-thin)}.Primer_Brand__Button-module__Button--primary___xIC7G:where(:not(.Primer_Brand__Button-module__Button___lDruK[disabled]):not(.Primer_Brand__Button-module__Button___lDruK[aria-disabled=true]):not([aria-expanded=true])):hover{background-color:var(--brand-button-primary-bgColor-hover)}.Primer_Brand__Button-module__Button--primary___xIC7G:where(:not(.Primer_Brand__Button-module__Button___lDruK[disabled]):not(.Primer_Brand__Button-module__Button___lDruK[aria-disabled=true])):active,.Primer_Brand__Button-module__Button--primary___xIC7G[aria-expanded=true]{background:var(--brand-button-primary-bgColor-active);border-color:var(--brand-button-primary-borderColor-active)}.Primer_Brand__Button-module__Button--label-primary___Leisi{color:var(--brand-button-primary-fgColor-rest)}.Primer_Brand__Button-module__Button--primary___xIC7G:disabled,.Primer_Brand__Button-module__Button--primary___xIC7G[aria-disabled=true],.Primer_Brand__Button-module__Button--primary___xIC7G.Primer_Brand__Button-module__Button--disabled___Ba17E{background-color:var(--brand-button-primary-bgColor-disabled)}.Primer_Brand__Button-module__Button--primary___xIC7G:where(:disabled,[aria-disabled=true],.Primer_Brand__Button-module__Button--disabled___Ba17E) :where(.Primer_Brand__Button-module__Button-arrow--disabled____UgPq,.Primer_Brand__Button-module__Button__icon-visual--disabled___j7aVy),.Primer_Brand__Button-module__Button--label-primary___Leisi.Primer_Brand__Button-module__Button-label--disabled___ZBpbj{color:var(--brand-button-primary-fgColor-disabled)}.Primer_Brand__Button-module__Button--secondary___akMC2{background-color:var(--brand-button-secondary-bgColor-rest);border-color:var(--brand-button-secondary-borderColor-rest);color:var(--brand-button-secondary-fgColor-rest);-webkit-backdrop-filter:blur(var(--base-size-20));backdrop-filter:blur(var(--base-size-20))}.Primer_Brand__Button-module__Button--secondary___akMC2:where(:not(.Primer_Brand__Button-module__Button___lDruK[disabled]):not(.Primer_Brand__Button-module__Button___lDruK[aria-disabled=true]):not([aria-expanded=true])):hover{background-color:var(--brand-button-secondary-bgColor-hover);border-color:var(--brand-button-secondary-borderColor-hover)}.Primer_Brand__Button-module__Button--secondary___akMC2:where(:not(.Primer_Brand__Button-module__Button___lDruK[disabled]):not(.Primer_Brand__Button-module__Button___lDruK[aria-disabled=true])):active,.Primer_Brand__Button-module__Button--secondary___akMC2[aria-expanded=true]{background-color:var(--brand-button-secondary-bgColor-active);border-color:var(--brand-button-secondary-borderColor-active)}.Primer_Brand__Button-module__Button--secondary___akMC2:disabled{border-color:var(--brand-button-secondary-fgColor-disabled)}.Primer_Brand__Button-module__Button--secondary___akMC2:where(:disabled,[aria-disabled=true],.Primer_Brand__Button-module__Button--disabled___Ba17E) :where(.Primer_Brand__Button-module__Button-arrow--disabled____UgPq,.Primer_Brand__Button-module__Button__icon-visual--disabled___j7aVy),.Primer_Brand__Button-module__Button--label-secondary___DRJoJ.Primer_Brand__Button-module__Button-label--disabled___ZBpbj{color:var(--brand-button-secondary-fgColor-disabled)}.Primer_Brand__Button-module__Button--subtle___UMmi9{background-color:var(--brand-button-subtle-bgColor-rest);border-width:var(--brand-borderWidth-thin);border-color:var(--brand-button-subtle-borderColor-rest);color:var(--brand-color-text-default);-webkit-backdrop-filter:blur(var(--base-size-20));backdrop-filter:blur(var(--base-size-20))}.Primer_Brand__Button-module__Button--subtle___UMmi9:where(:not(.Primer_Brand__Button-module__Button___lDruK[disabled]):not(.Primer_Brand__Button-module__Button___lDruK[aria-disabled=true]):not([aria-expanded=true])):hover{background-color:var(--brand-button-subtle-bgColor-hover);border-color:var(--brand-button-subtle-borderColor-hover)}.Primer_Brand__Button-module__Button--subtle___UMmi9:where(:not(.Primer_Brand__Button-module__Button___lDruK[disabled]):not(.Primer_Brand__Button-module__Button___lDruK[aria-disabled=true])):active,.Primer_Brand__Button-module__Button--subtle___UMmi9[aria-expanded=true]{background-color:var(--brand-button-subtle-bgColor-active);border-color:var(--brand-button-subtle-borderColor-active)}.Primer_Brand__Button-module__Button--label-subtle___RRaqm{color:var(--brand-button-subtle-fgColor-rest)}.Primer_Brand__Button-module__Button--subtle___UMmi9:where(:disabled,[aria-disabled=true],.Primer_Brand__Button-module__Button--disabled___Ba17E) :where(.Primer_Brand__Button-module__Button-arrow--disabled____UgPq,.Primer_Brand__Button-module__Button__icon-visual--disabled___j7aVy),.Primer_Brand__Button-module__Button--label-subtle___RRaqm.Primer_Brand__Button-module__Button-label--disabled___ZBpbj{color:var(--brand-button-subtle-fgColor-disabled)}.Primer_Brand__Button-module__Button--size-small___iNTn1{min-height:var(--brand-Button-control-size-small);padding-inline:var(--brand-control-small-paddingInline-normal)}.Primer_Brand__Button-module__Button--size-medium___EyCyw{min-height:var(--brand-Button-control-size-medium);padding:var(--brand-control-medium-paddingBlock-condensed) var(--base-size-20)}.Primer_Brand__Button-module__Button--size-large___REN1l{min-height:var(--brand-Button-control-size-large);padding:var(--brand-control-large-paddingBlock-condensed) var(--brand-control-large-paddingInline-spacious)}.Primer_Brand__Button-module__Button--size-small___iNTn1 :where(.Primer_Brand__Button-module__Button__icon-visual___zR2Hi){height:var(--brand-Button-icon-size-small)}.Primer_Brand__Button-module__Button--size-medium___EyCyw :where(.Primer_Brand__Button-module__Button__icon-visual___zR2Hi){height:var(--brand-Button-icon-size-medium)}.Primer_Brand__Button-module__Button--size-large___REN1l :where(.Primer_Brand__Button-module__Button__icon-visual___zR2Hi,.Primer_Brand__Button-module__Button-arrow___SkJXQ){height:var(--brand-Button-icon-size-large);width:var(--brand-Button-icon-size-large)}.Primer_Brand__Button-module__Button--label-medium___DW2TM{font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200);letter-spacing:.01rem}.Primer_Brand__Button-module__Button--label-large____iBy6{font-size:var(--brand-text-subhead-size-large);line-height:var(--brand-text-subhead-lineHeight-large)}.Primer_Brand__Button-module__Button--block___F5RXs{width:100%}@media (forced-colors:active){.Primer_Brand__Button-module__Button--disabled___Ba17E{outline-color:graytext}.Primer_Brand__Button-module__Button--label___lUBc0.Primer_Brand__Button-module__Button-label--disabled___ZBpbj{color:graytext}}@media (prefers-reduced-motion:reduce){.Primer_Brand__Button-module__Button___lDruK,.Primer_Brand__Button-module__Button___lDruK:before,.Primer_Brand__Button-module__Button___lDruK:after,.Primer_Brand__Button-module__Button___lDruK *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__Tooltip-module__Tooltip___u1Usz{display:none}@media (forced-colors:active){.Primer_Brand__Tooltip-module__Tooltip___u1Usz{outline:var(--brand-borderWidth-thin) solid transparent}}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[popover]{--offset:var(--base-size-8,--base-size-8);--b:1em;--h:.5em;--p:50%;--r:var(--brand-borderRadius-medium);--c:var(--brand-color-neutral-emphasisPlus);clip:auto;white-space:normal;width:max-content;font:normal normal var(--brand-text-size-100) / var(--brand-text-lineHeight-100) var(--brand-fontStack-sansSerif);-webkit-font-smoothing:subpixel-antialiased;color:var(--brand-Tooltip-color-default);text-align:center;word-wrap:break-word;background:var(--c);border-radius:var(--r);opacity:0;border:0;max-width:250px;margin:auto;padding:.5em .75em;position:absolute;inset:auto;overflow:visible}:is(.Primer_Brand__Tooltip-module__Tooltip___u1Usz[popover]:popover-open,.Primer_Brand__Tooltip-module__Tooltip___u1Usz[popover].Primer_Brand__Tooltip-module__\:popover-open___DQych){animation-name:Primer_Brand__Tooltip-module__tooltip-appear___OeSNz;animation-duration:.2s;animation-duration:var(--brand-animation-duration-faster,.2s);animation-timing-function:ease-in;animation-delay:0s;animation-fill-mode:forwards;display:block}.Primer_Brand__Tooltip-module__Tooltip___u1Usz:after{height:var(--offset);content:"";display:block;position:absolute;left:0;right:0}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=n],.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=ne],.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=nw]{-o-border-image:conic-gradient(var(--c) 0, var(--c) 0) 0 / var(--r) calc(100% - var(--p) - var(--b) / 2) 0 calc(var(--p) - var(--b) / 2) / 0 0 var(--h) 0;border-image:conic-gradient(var(--c) 0, var(--c) 0) fill 0 / var(--r) calc(100% - var(--p) - var(--b) / 2) 0 calc(var(--p) - var(--b) / 2) / 0 0 var(--h) 0;clip-path:polygon(0 100%, 0 0, 100% 0, 100% 100%, min(100%, var(--p) + var(--b) / 2) 100%, var(--p) calc(100% + var(--h)), max(0%, var(--p) - var(--b) / 2) 100%)}@supports (background:conic-gradient(red 0deg, red 0deg 1deg, red 2deg)){.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=n],.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=ne],.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=nw]{-o-border-image:conic-gradient(var(--c) 0 0) 0 / var(--r) calc(100% - var(--p) - var(--b) / 2) 0 calc(var(--p) - var(--b) / 2) / 0 0 var(--h) 0;border-image:conic-gradient(var(--c) 0 0) fill 0 / var(--r) calc(100% - var(--p) - var(--b) / 2) 0 calc(var(--p) - var(--b) / 2) / 0 0 var(--h) 0}}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=s],.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=se],.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=sw]{-o-border-image:conic-gradient(var(--c) 0, var(--c) 0) 0/ 0 calc(100% - var(--p) - var(--b) / 2) var(--r) calc(var(--p) - var(--b) / 2) / var(--h) 0 0 0;border-image:conic-gradient(var(--c) 0, var(--c) 0) fill 0/ 0 calc(100% - var(--p) - var(--b) / 2) var(--r) calc(var(--p) - var(--b) / 2) / var(--h) 0 0 0;clip-path:polygon(0 0, 0 100%, 100% 100%, 100% 0, min(100%, var(--p) + var(--b) / 2) 0, var(--p) calc(-1 * var(--h)), max(0%, var(--p) - var(--b) / 2) 0)}@supports (background:conic-gradient(red 0deg, red 0deg 1deg, red 2deg)){.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=s],.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=se],.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=sw]{-o-border-image:conic-gradient(var(--c) 0 0) 0/ 0 calc(100% - var(--p) - var(--b) / 2) var(--r) calc(var(--p) - var(--b) / 2) / var(--h) 0 0 0;border-image:conic-gradient(var(--c) 0 0) fill 0/ 0 calc(100% - var(--p) - var(--b) / 2) var(--r) calc(var(--p) - var(--b) / 2) / var(--h) 0 0 0}}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=w]{-o-border-image:conic-gradient(var(--c) 0, var(--c) 0) 0 / calc(var(--p) - var(--b) / 2) 0 calc(100% - var(--p) - var(--b) / 2) var(--r) / 0 var(--h) 0 0;border-image:conic-gradient(var(--c) 0, var(--c) 0) fill 0 / calc(var(--p) - var(--b) / 2) 0 calc(100% - var(--p) - var(--b) / 2) var(--r) / 0 var(--h) 0 0;clip-path:polygon(100% 100%, 0 100%, 0 0, 100% 0, 100% max(0%, var(--p) - var(--b) / 2), calc(100% + var(--h)) var(--p), 100% min(100%, var(--p) + var(--b) / 2))}@supports (background:conic-gradient(red 0deg, red 0deg 1deg, red 2deg)){.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=w]{-o-border-image:conic-gradient(var(--c) 0 0) 0 / calc(var(--p) - var(--b) / 2) 0 calc(100% - var(--p) - var(--b) / 2) var(--r) / 0 var(--h) 0 0;border-image:conic-gradient(var(--c) 0 0) fill 0 / calc(var(--p) - var(--b) / 2) 0 calc(100% - var(--p) - var(--b) / 2) var(--r) / 0 var(--h) 0 0}}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=e]{-o-border-image:conic-gradient(var(--c) 0, var(--c) 0) 0 / calc(var(--p) - var(--b) / 2) var(--r) calc(100% - var(--p) - var(--b) / 2) 0/ 0 0 0 var(--h);border-image:conic-gradient(var(--c) 0, var(--c) 0) fill 0 / calc(var(--p) - var(--b) / 2) var(--r) calc(100% - var(--p) - var(--b) / 2) 0/ 0 0 0 var(--h);clip-path:polygon(0 100%, 100% 100%, 100% 0, 0 0, 0 max(0%, var(--p) - var(--b) / 2), calc(-1 * var(--h)) var(--p), 0 min(100%, var(--p) + var(--b) / 2))}@supports (background:conic-gradient(red 0deg, red 0deg 1deg, red 2deg)){.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=e]{-o-border-image:conic-gradient(var(--c) 0 0) 0 / calc(var(--p) - var(--b) / 2) var(--r) calc(100% - var(--p) - var(--b) / 2) 0/ 0 0 0 var(--h);border-image:conic-gradient(var(--c) 0 0) fill 0 / calc(var(--p) - var(--b) / 2) var(--r) calc(100% - var(--p) - var(--b) / 2) 0/ 0 0 0 var(--h)}}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=ne],.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=se]{--p:25%}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=nw],.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=sw]{--p:75%}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=n]:after,.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=ne]:after,.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=nw]:after{top:100%}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=s]:after,.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=se]:after,.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=sw]:after{bottom:100%}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=w]:after{height:100%;width:var(--offset);content:"";display:block;position:absolute;bottom:0;left:100%}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=e]:after{height:100%;width:var(--offset);content:"";margin-left:calc(var(--offset) * -1px);display:block;position:absolute;bottom:0;right:100%}@keyframes Primer_Brand__Tooltip-module__tooltip-appear___OeSNz{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.Primer_Brand__Tooltip-module__Tooltip___u1Usz,.Primer_Brand__Tooltip-module__Tooltip___u1Usz:before,.Primer_Brand__Tooltip-module__Tooltip___u1Usz:after,.Primer_Brand__Tooltip-module__Tooltip___u1Usz *{animation-duration:0s!important}}:root,[data-color-mode=light]{--brand-Tooltip-color-default:var(--brand-color-text-onEmphasis)}[data-color-mode=dark]{--brand-Tooltip-color-default:var(--brand-color-text-default)}:root{--brand-IconButton-loadingIndicator-animationDuration-reducedMotion:1.6s;--brand-IconButton-loadingIndicator-animationDuration-default:.8s;--brand-IconButton-icon-size-large:var(--brand-Button-icon-size-large);--brand-IconButton-icon-size-medium:var(--brand-Button-icon-size-large);--brand-IconButton-icon-size-small:var(--brand-Button-icon-size-small);--brand-IconButton-control-size-large:var(--brand-Button-control-size-large);--brand-IconButton-control-size-medium:var(--brand-Button-control-size-medium);--brand-IconButton-control-size-small:var(--brand-Button-control-size-small)}:root,[data-color-mode=light],[data-color-mode=dark]{--brand-IconButton-danger-fgColor-rest:var(--brand-color-danger-fg);--brand-IconButton-danger-fgColor-hover:var(--base-color-scale-white-0);--brand-IconButton-danger-fgColor-active:var(--base-color-scale-white-0);--brand-IconButton-danger-bgColor-rest:var(--brand-button-secondary-bgColor-rest);--brand-IconButton-danger-bgColor-hover:var(--brand-color-danger-emphasis);--brand-IconButton-danger-bgColor-active:var(--brand-color-danger-emphasis);--brand-IconButton-danger-borderColor-rest:var(--brand-button-secondary-borderColor-rest);--brand-IconButton-danger-borderColor-hover:var(--brand-color-danger-emphasis);--brand-IconButton-danger-borderColor-active:var(--brand-color-danger-emphasis);--brand-IconButton-inactive-fgColor:var(--brand-color-text-muted);--brand-IconButton-inactive-bgColor:var(--brand-color-canvas-subtle);--brand-IconButton-inactive-borderColor:var(--brand-color-canvas-subtle);--brand-IconButton-invisible-bgColor-rest:transparent;--brand-IconButton-invisible-borderColor-rest:transparent}.Primer_Brand__IconButton-module__IconButton___Rw5mP{flex:none;gap:0;padding:0}.Primer_Brand__IconButton-module__IconButton___Rw5mP.Primer_Brand__IconButton-module__IconButton___Rw5mP{min-width:var(--brand-IconButton-control-size-medium);width:var(--brand-IconButton-control-size-medium);height:var(--brand-IconButton-control-size-medium)}.Primer_Brand__IconButton-module__IconButton--small___vIOsv.Primer_Brand__IconButton-module__IconButton--small___vIOsv{min-width:var(--brand-IconButton-control-size-small);width:var(--brand-IconButton-control-size-small);height:var(--brand-IconButton-control-size-small)}.Primer_Brand__IconButton-module__IconButton--large___XSwOm.Primer_Brand__IconButton-module__IconButton--large___XSwOm{min-width:var(--brand-IconButton-control-size-large);width:var(--brand-IconButton-control-size-large);height:var(--brand-IconButton-control-size-large)}.Primer_Brand__IconButton-module__IconButton--rounded___D7bgG.Primer_Brand__IconButton-module__IconButton--rounded___D7bgG{border-radius:var(--brand-borderRadius-full)}.Primer_Brand__IconButton-module__IconButton--variant-danger___nppfN.Primer_Brand__IconButton-module__IconButton--variant-danger___nppfN:not([disabled]):not([aria-disabled=true]){color:var(--brand-IconButton-danger-fgColor-rest);background-color:var(--brand-IconButton-danger-bgColor-rest);border-color:var(--brand-IconButton-danger-borderColor-rest)}.Primer_Brand__IconButton-module__IconButton--variant-danger___nppfN.Primer_Brand__IconButton-module__IconButton--variant-danger___nppfN:not([disabled]):not([aria-disabled=true]):not([aria-expanded=true]):hover{color:var(--brand-IconButton-danger-fgColor-hover);background-color:var(--brand-IconButton-danger-bgColor-hover);border-color:var(--brand-IconButton-danger-borderColor-hover)}.Primer_Brand__IconButton-module__IconButton--variant-danger___nppfN.Primer_Brand__IconButton-module__IconButton--variant-danger___nppfN:not([disabled]):not([aria-disabled=true]):active,.Primer_Brand__IconButton-module__IconButton--variant-danger___nppfN.Primer_Brand__IconButton-module__IconButton--variant-danger___nppfN:not([disabled]):not([aria-disabled=true])[aria-expanded=true]{color:var(--brand-IconButton-danger-fgColor-active);background-color:var(--brand-IconButton-danger-bgColor-active);border-color:var(--brand-IconButton-danger-borderColor-active)}.Primer_Brand__IconButton-module__IconButton--variant-invisible___N5QCb.Primer_Brand__IconButton-module__IconButton--variant-invisible___N5QCb:where(:not(:hover):not(:active):not([aria-expanded=true])){background-color:var(--brand-IconButton-invisible-bgColor-rest);border-color:var(--brand-IconButton-invisible-borderColor-rest);-webkit-backdrop-filter:none;backdrop-filter:none}.Primer_Brand__IconButton-module__IconButton--inactive___rqx6f.Primer_Brand__IconButton-module__IconButton--inactive___rqx6f,.Primer_Brand__IconButton-module__IconButton--inactive___rqx6f.Primer_Brand__IconButton-module__IconButton--inactive___rqx6f:hover,.Primer_Brand__IconButton-module__IconButton--inactive___rqx6f.Primer_Brand__IconButton-module__IconButton--inactive___rqx6f:active{color:var(--brand-IconButton-inactive-fgColor);cursor:auto;background-color:var(--brand-IconButton-inactive-bgColor);border-color:var(--brand-IconButton-inactive-borderColor);-webkit-backdrop-filter:none;backdrop-filter:none}.Primer_Brand__IconButton-module__IconButton--inactive___rqx6f .Primer_Brand__IconButton-module__IconButton__icon___krMSy{color:inherit}.Primer_Brand__IconButton-module__IconButton--small___vIOsv .Primer_Brand__IconButton-module__IconButton__icon___krMSy{width:var(--brand-IconButton-icon-size-small);height:var(--brand-IconButton-icon-size-small)}.Primer_Brand__IconButton-module__IconButton--medium___o7XG8 .Primer_Brand__IconButton-module__IconButton__icon___krMSy{width:var(--brand-IconButton-icon-size-medium);height:var(--brand-IconButton-icon-size-medium)}.Primer_Brand__IconButton-module__IconButton--large___XSwOm .Primer_Brand__IconButton-module__IconButton__icon___krMSy{width:var(--brand-IconButton-icon-size-large);height:var(--brand-IconButton-icon-size-large)}.Primer_Brand__IconButton-module__IconButton__loadingIndicator___x8pth.Primer_Brand__IconButton-module__IconButton__loadingIndicator___x8pth{box-sizing:border-box;width:var(--brand-IconButton-icon-size-medium);height:var(--brand-IconButton-icon-size-medium);border:var(--brand-borderWidth-thin) solid currentcolor;animation:Primer_Brand__IconButton-module__IconButton-spin___Xg2de var(--brand-IconButton-loadingIndicator-animationDuration-default) linear infinite;border-inline-end-color:#0000;border-radius:50%;display:block}.Primer_Brand__IconButton-module__IconButton--small___vIOsv .Primer_Brand__IconButton-module__IconButton__loadingIndicator___x8pth{width:var(--brand-IconButton-icon-size-small);height:var(--brand-IconButton-icon-size-small)}.Primer_Brand__IconButton-module__IconButton--large___XSwOm .Primer_Brand__IconButton-module__IconButton__loadingIndicator___x8pth{width:var(--brand-IconButton-icon-size-large);height:var(--brand-IconButton-icon-size-large)}.Primer_Brand__IconButton-module__IconButton__loadingAnnouncement___EDict{width:var(--base-size-1);height:var(--base-size-1);margin:calc(var(--base-size-1) * -1);clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;padding:0;position:absolute;overflow:hidden}@keyframes Primer_Brand__IconButton-module__IconButton-spin___Xg2de{to{transform:rotate(360deg)}}@media (forced-colors:active){.Primer_Brand__IconButton-module__IconButton--inactive___rqx6f{color:graytext;border-color:graytext}.Primer_Brand__IconButton-module__IconButton__loadingIndicator___x8pth{border-color:buttontext;border-inline-end-color:#0000}}@media (prefers-reduced-motion:reduce){.Primer_Brand__IconButton-module__IconButton__loadingIndicator___x8pth{animation-duration:var(--brand-IconButton-loadingIndicator-animationDuration-reducedMotion)}}:root,[data-color-mode=light]{--brand-ActionMenu-color-splitButton-divider-default:var(--brand-color-border-muted);--brand-ActionMenu-color-splitButton-divider-primary:var(--base-color-scale-green-7);--brand-ActionMenu-color-item-hover:var(--base-color-scale-gray-1);--brand-ActionMenu-color-scrollbar-thumb-bg:var(--base-color-scale-gray-0)}[data-color-mode=dark]{--brand-ActionMenu-color-splitButton-divider-default:var(--brand-color-border-muted);--brand-ActionMenu-color-splitButton-divider-primary:var(--brand-color-border-muted);--brand-ActionMenu-color-item-hover:var(--base-color-scale-gray-6);--brand-ActionMenu-color-scrollbar-thumb-bg:var(--base-color-scale-gray-3)}.Primer_Brand__ActionMenu-module__ActionMenu___xAoB5{--focus-outline-width:3px;position:relative}.Primer_Brand__ActionMenu-module__ActionMenu--disabled___Ic5nl{cursor:not-allowed}.Primer_Brand__ActionMenu-module__ActionMenu__button___gqNoG{height:auto}.Primer_Brand__ActionMenu-module__ActionMenu__button--default___mloG_{--brand-borderRadius-medium:var(--brand-borderRadius-full)}.Primer_Brand__ActionMenu-module__ActionMenu__button--small___VpvNg{padding:calc(var(--base-size-4) / 2) var(--base-size-12)}.Primer_Brand__ActionMenu-module__ActionMenu__button--medium___xG3FK{padding:calc(var(--base-size-8) + 2px) var(--base-size-28)}.Primer_Brand__ActionMenu-module__ActionMenu__button___gqNoG>span:first-of-type{max-width:200px;overflow:hidden}.Primer_Brand__ActionMenu-module__ActionMenu__button--split-button___zE_P6{border-radius:var(--brand-borderRadius-medium);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);background-color:var(--brand-color-canvas-default);padding:0;display:inline-flex}.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button___kDo2J.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button-primary___pruFH,.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button___kDo2J.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button-primary___pruFH:hover{z-index:1;border-top-right-radius:0;border-bottom-right-radius:0;position:relative}.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button___kDo2J.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button-primary___pruFH:before,.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button___kDo2J.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button-primary___pruFH:hover:before{content:"";top:calc(var(--base-size-2) / -2);right:calc(var(--base-size-2) * -1);width:var(--brand-borderWidth-thin);height:calc(100% + var(--base-size-2));background-color:var(--brand-ActionMenu-color-splitButton-divider-default);position:absolute}.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--primary___GexBE.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button___kDo2J.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button-primary___pruFH:before{background-color:var(--brand-ActionMenu-color-splitButton-divider-primary)}.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--subtle___O9TkT.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button___kDo2J.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button-primary___pruFH:before{top:calc(var(--base-size-2) * -1);height:calc(100% + var(--base-size-4))}.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--subtle___O9TkT.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button___kDo2J.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button-primary___pruFH:active:before{width:0}.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--medium___cpKu6.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button___kDo2J,.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button___kDo2J.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button-menu___rbice{padding:var(--brand-control-medium-paddingBlock-condensed) var(--brand-control-medium-paddingInline-normal)}.Primer_Brand__ActionMenu-module__ActionMenu__inner-button-dropdown-icon___Pd6ae{vertical-align:middle!important}.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button___kDo2J.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button-menu___rbice{z-index:0;border-top-left-radius:0;border-bottom-left-radius:0;position:relative}.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--disabled___ZjXdS{cursor:not-allowed;pointer-events:none}.Primer_Brand__ActionMenu-module__ActionMenu__menu____B9HP{z-index:100;padding:var(--base-size-12);visibility:hidden;background-color:var(--brand-color-canvas-default);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);border-radius:var(--brand-borderRadius-large);min-width:min-content;max-height:460px;position:absolute;overflow-y:auto;box-shadow:0 100px 80px #00000003,0 41px 33px #00000005,0 22px 17px #00000005,0 12px 10px #00000008,0 6px 5px #0000000a,0 2px 2px #00000012}.Primer_Brand__ActionMenu-module__ActionMenu__menu--small___EiV1K{padding:var(--base-size-8)}.Primer_Brand__ActionMenu-module__ActionMenu__menu--medium___X8Sgj{padding:var(--base-size-12)}.Primer_Brand__ActionMenu-module__ActionMenu__menu--visible___dIcw5{visibility:visible}.Primer_Brand__ActionMenu-module__ActionMenu__menu--pos-outside-bottom___dEYrx{animation:.189s var(--brand-animation-easing-glide) 0s 1 normal none running Primer_Brand__ActionMenu-module__overlay-appear-outside-bottom___P9_uK}.Primer_Brand__ActionMenu-module__ActionMenu__menu--pos-outside-top___WhOjX{animation:.189s var(--brand-animation-easing-glide) 0s 1 normal none running Primer_Brand__ActionMenu-module__overlay-appear-outside-top___hI7o9}@keyframes Primer_Brand__ActionMenu-module__overlay-appear-outside-bottom___P9_uK{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes Primer_Brand__ActionMenu-module__overlay-appear-outside-top___hI7o9{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.Primer_Brand__ActionMenu-module__ActionMenu__menu--medium___X8Sgj.Primer_Brand__ActionMenu-module__ActionMenu__menu--pos-outside-bottom___dEYrx{margin-block-start:var(--base-size-8)}.Primer_Brand__ActionMenu-module__ActionMenu__menu--medium___X8Sgj.Primer_Brand__ActionMenu-module__ActionMenu__menu--pos-outside-top___WhOjX{margin-block-start:calc(var(--base-size-8) * -1)}.Primer_Brand__ActionMenu-module__ActionMenu__menu--small___EiV1K.Primer_Brand__ActionMenu-module__ActionMenu__menu--pos-outside-bottom___dEYrx{margin-block-start:var(--base-size-4)}.Primer_Brand__ActionMenu-module__ActionMenu__menu--small___EiV1K.Primer_Brand__ActionMenu-module__ActionMenu__menu--pos-outside-top___WhOjX{margin-block-start:calc(var(--base-size-4) * -1)}.Primer_Brand__ActionMenu-module__ActionMenu__menu____B9HP::-webkit-scrollbar{width:var(--base-size-12)}.Primer_Brand__ActionMenu-module__ActionMenu__menu____B9HP::-webkit-scrollbar-track{border-left:1px solid var(--brand-color-border-muted);border-top-right-radius:var(--brand-borderRadius-large);border-bottom-right-radius:var(--brand-borderRadius-large)}.Primer_Brand__ActionMenu-module__ActionMenu__menu____B9HP::-webkit-scrollbar-thumb{border-radius:var(--brand-borderRadius-medium);border:1px solid var(--brand-color-border-default);background-color:var(--brand-ActionMenu-color-scrollbar-thumb-bg)}.Primer_Brand__ActionMenu-module__ActionMenu__item___GxmDr{border-radius:var(--brand-borderRadius-medium);flex:1 0 auto;grid-template-columns:min-content 1fr;grid-template-areas:"leadingVisual text";align-items:center;list-style:none;display:grid}.Primer_Brand__ActionMenu-module__ActionMenu__item-anchor___P15pl{grid-template-columns:subgrid;grid-template-rows:subgrid;grid-gap:var(--base-size-8);align-items:center;gap:var(--base-size-8);color:var(--brand-color-text-default);grid-area:1/1/-1/-1;-webkit-text-decoration:none;text-decoration:none;display:grid}.Primer_Brand__ActionMenu-module__ActionMenu__item-anchor--disabled___SrwBA{pointer-events:none;cursor:not-allowed}.Primer_Brand__ActionMenu-module__ActionMenu__item-anchor___P15pl:focus-visible{box-shadow:none;outline:none}.Primer_Brand__ActionMenu-module__ActionMenu__item___GxmDr:has(.Primer_Brand__ActionMenu-module__ActionMenu__item-anchor___P15pl:focus-visible){box-shadow:0 0 0 var(--focus-outline-width) var(--brand-color-focus);outline:none;transition:none}.Primer_Brand__ActionMenu-module__ActionMenu__item--medium___YjquB{padding:var(--brand-control-medium-paddingBlock-condensed) var(--brand-control-medium-paddingInline-normal);min-height:var(--brand-control-medium-size)}.Primer_Brand__ActionMenu-module__ActionMenu__item--medium___YjquB:has(.Primer_Brand__ActionMenu-module__ActionMenu__item-anchor___P15pl){padding:0}.Primer_Brand__ActionMenu-module__ActionMenu__item--medium___YjquB .Primer_Brand__ActionMenu-module__ActionMenu__item-anchor___P15pl{padding:var(--brand-control-medium-paddingBlock-condensed) var(--brand-control-medium-paddingInline-normal)}.Primer_Brand__ActionMenu-module__ActionMenu__item--small___Y17Or{padding:var(--base-size-8) var(--brand-control-small-paddingInline-condensed)}.Primer_Brand__ActionMenu-module__ActionMenu__item___GxmDr[aria-disabled=true]{cursor:not-allowed}.Primer_Brand__ActionMenu-module__ActionMenu__item___GxmDr:hover:not(.Primer_Brand__ActionMenu-module__ActionMenu__item___GxmDr[aria-disabled=true]){cursor:pointer;background-color:var(--brand-ActionMenu-color-item-hover)}.Primer_Brand__ActionMenu-module__ActionMenu__item--selection-type-single___ZdivU{padding-right:var(--base-size-48)}.Primer_Brand__ActionMenu-module__ActionMenu__item___GxmDr:focus-visible{box-shadow:0 0 0 var(--focus-outline-width) var(--brand-color-focus);outline:none;transition:none}.Primer_Brand__ActionMenu-module__ActionMenu__item-leadingVisual___UWjE1{min-width:var(--base-size-16);margin-right:var(--brand-control-medium-gap);color:var(--brand-color-text-default);pointer-events:none;grid-area:leadingVisual;display:flex}.Primer_Brand__ActionMenu-module__ActionMenu__item-text___K_1vl{grid-area:text;width:max-content;display:grid}.Primer_Brand__ActionMenu-module__ActionMenu__item-text___K_1vl>span{line-height:var(--brand-control-medium-lineBoxHeight)}.Primer_Brand__ActionMenu-module__ActionMenu__item-icon___JyMwz{fill:var(--brand-color-text-default)}.Primer_Brand__ActionMenu-module__ActionMenu__item-content--disabled___WrxPY{color:var(--base-color-scale-gray-3)}.Primer_Brand__ActionMenu-module__ActionMenu__item-icon--disabled___Ebefz{fill:var(--base-color-scale-gray-3)}@media (forced-colors:active){.Primer_Brand__ActionMenu-module__ActionMenu__item___GxmDr:focus-visible{outline:var(--brand-borderWidth-thick) solid Highlight;outline-offset:var(--base-size-2)}}@media (prefers-reduced-motion:reduce){.Primer_Brand__ActionMenu-module__ActionMenu___xAoB5,.Primer_Brand__ActionMenu-module__ActionMenu___xAoB5:before,.Primer_Brand__ActionMenu-module__ActionMenu___xAoB5:after,.Primer_Brand__ActionMenu-module__ActionMenu___xAoB5 *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__ButtonGroup-module__ButtonGroup___QQSsj{gap:var(--base-size-8) var(--base-size-16);flex-flow:wrap;display:inline-flex}.Primer_Brand__ButtonGroup-module__ButtonGroup___QQSsj>*{flex-grow:1}.Primer_Brand__ButtonGroup-module__ButtonGroup--variant-joined___Fxe7t{flex-wrap:nowrap;gap:0}.Primer_Brand__ButtonGroup-module__ButtonGroup--variant-joined___Fxe7t .Primer_Brand__ButtonGroup-module__ButtonGroup__item___cqbJu{flex-grow:0;display:flex;position:relative}.Primer_Brand__ButtonGroup-module__ButtonGroup--variant-joined___Fxe7t .Primer_Brand__ButtonGroup-module__ButtonGroup__item___cqbJu:not(:first-child){margin-inline-start:calc(var(--brand-borderWidth-thin) * -1)}.Primer_Brand__ButtonGroup-module__ButtonGroup--variant-joined___Fxe7t .Primer_Brand__ButtonGroup-module__ButtonGroup__item___cqbJu:focus-within{z-index:1}.Primer_Brand__ButtonGroup-module__ButtonGroup__joinedButton___W6KlX.Primer_Brand__ButtonGroup-module__ButtonGroup__joinedButton___W6KlX{border-radius:0}.Primer_Brand__ButtonGroup-module__ButtonGroup__item___cqbJu:first-child .Primer_Brand__ButtonGroup-module__ButtonGroup__joinedButton___W6KlX{border-start-start-radius:var(--brand-borderRadius-medium);border-end-start-radius:var(--brand-borderRadius-medium)}.Primer_Brand__ButtonGroup-module__ButtonGroup__item___cqbJu:last-child .Primer_Brand__ButtonGroup-module__ButtonGroup__joinedButton___W6KlX{border-start-end-radius:var(--brand-borderRadius-medium);border-end-end-radius:var(--brand-borderRadius-medium)}.Primer_Brand__Image-module__Image__container___acBJi{display:inline-block}.Primer_Brand__Image-module__Image___FgVuK{-o-object-fit:cover;object-fit:cover;display:inline-block}.Primer_Brand__Image-module__Image--aspect-ratio-custom___gXFxx{aspect-ratio:var(--brand-image-aspectRatio)}.Primer_Brand__Image-module__Image--aspect-ratio-1-1___gDnTF{aspect-ratio:1}.Primer_Brand__Image-module__Image--aspect-ratio-16-9___bscHI{aspect-ratio:16/9}.Primer_Brand__Image-module__Image--aspect-ratio-16-10___dkGM6{aspect-ratio:16/10}.Primer_Brand__Image-module__Image--aspect-ratio-4-3___Tt_MI{aspect-ratio:4/3}.Primer_Brand__Image-module__Image--borderRadius-small___p94p1{border-radius:var(--brand-borderRadius-small);display:block}.Primer_Brand__Image-module__Image--borderRadius-medium___VsUEt{border-radius:var(--brand-borderRadius-medium);display:block}.Primer_Brand__Image-module__Image--borderRadius-large___ivnDN{border-radius:var(--brand-borderRadius-large);display:block}.Primer_Brand__Image-module__Image--borderRadius-xlarge___X8Rkm{border-radius:var(--brand-borderRadius-xlarge);display:block}.Primer_Brand__Image-module__Image--borderRadius-full___AlwaQ{border-radius:var(--brand-borderRadius-full);display:block}:root{--brand-Hero-regular-padding:var(--base-size-128) 0;--brand-Hero-narrow-padding:var(--base-size-96) 0}.Primer_Brand__Link-module__Link___lvKjM{--visual-width:var(--external-icon-size,var(--arrow-size,0px));--gap:0px;-moz-column-gap:0px;-moz-column-gap:var(--gap);column-gap:0;column-gap:var(--gap);cursor:pointer;justify-content:center;align-items:center;-webkit-text-decoration:none;text-decoration:none;display:inline-flex;position:relative}.Primer_Brand__Link-module__Link--arrow-start___AT1uu,.Primer_Brand__Link-module__Link--arrow-end___l0EPS{--gap:var(--base-size-4);--arrow-size:var(--base-size-16);position:relative;top:.05em}.Primer_Brand__Link-module__Link--arrow-start___AT1uu.Primer_Brand__Link-module__Link--large___cXMt5,.Primer_Brand__Link-module__Link--arrow-end___l0EPS.Primer_Brand__Link-module__Link--large___cXMt5{--arrow-size:var(--base-size-20)}.Primer_Brand__Link-module__Link--is-external___AthYf{--gap:var(--base-size-4);--external-icon-size:var(--base-size-16)}.Primer_Brand__Link-module__Link--is-external___AthYf.Primer_Brand__Link-module__Link--large___cXMt5{--external-icon-size:var(--base-size-20)}.Primer_Brand__Link-module__Link___lvKjM:hover{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__Link-module__Link___lvKjM:after{width:calc(100% - var(--gap) - var(--visual-width));pointer-events:none;content:"";border:var(--brand-borderWidth-thin) solid currentColor;transform-origin:0 0;position:absolute;bottom:-.15em;left:0;transform:scaleX(0)}@media screen and (prefers-reduced-motion:no-preference){.Primer_Brand__Link-module__Link___lvKjM:after{transition:transform var(--brand-animation-duration-fast) ease}}.Primer_Brand__Link-module__Link___lvKjM:active:after,.Primer_Brand__Link-module__Link___lvKjM:hover:after{transform:scaleX(1)}.Primer_Brand__Link-module__Link___lvKjM:focus:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__Link-module__Link--default___UKAcZ,.Primer_Brand__Link-module__Link--default___UKAcZ span{color:var(--brand-Link-color-default)}.Primer_Brand__Link-module__Link--accent___FWEDd,.Primer_Brand__Link-module__Link--accent___FWEDd span{color:var(--brand-Link-color-accent)}.Primer_Brand__Link-module__Link--label___j8etE{font-weight:var(--base-text-weight-medium);color:inherit!important}.Primer_Brand__Link-module__Link--large___cXMt5 .Primer_Brand__Link-module__Link--label___j8etE{font-size:var(--base-size-20)}.Primer_Brand__Link-module__Link--large___cXMt5 .Primer_Brand__Link-module__Link-arrow___HBMJ9{width:var(--arrow-size);height:var(--arrow-size)}.Primer_Brand__Link-module__Link--arrow-start___AT1uu:after{transform-origin:right 0;left:auto;right:0}@media (prefers-reduced-motion:reduce){.Primer_Brand__Link-module__Link___lvKjM,.Primer_Brand__Link-module__Link___lvKjM:before,.Primer_Brand__Link-module__Link___lvKjM:after,.Primer_Brand__Link-module__Link___lvKjM *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root,[data-color-mode=light],[data-color-mode=dark]{--brand-Link-color-default:var(--brand-color-text-default);--brand-Link-color-accent:var(--brand-color-text-link-rest)}:root{--brand-RiverBreakout-variant-gridline-spacing-contentGap:var(--base-size-16);--brand-RiverBreakout-variant-gridline-spacing-outerInline:var(--base-size-20);--brand-RiverBreakout-variant-gridline-spacing-outerBlockEnd:var(--base-size-40);--brand-RiverBreakout-variant-gridline-spacing-outerBlock:var(--base-size-36);--brand-RiverBreakout-spacing-inner:var(--base-size-40);--brand-RiverAccordion-variant-gridline-spacing-contentGap:var(--base-size-32);--brand-RiverAccordion-variant-gridline-spacing-outerInline:var(--base-size-20);--brand-RiverAccordion-variant-gridline-spacing-outerBlock:var(--base-size-40);--brand-River-variant-gridline-spacing-outerInline:var(--base-size-20);--brand-River-variant-gridline-spacing-outerBlock:var(--base-size-40);--brand-River-variant-gridline-visual-padding:var(--base-size-32);--brand-River-spacing-outerBlock:var(--base-size-36);--brand-River-spacing-innerY:var(--base-size-24);--brand-River-spacing-inner:var(--base-size-40)}@media (width>=768px){:root{--brand-RiverBreakout-variant-gridline-spacing-contentGap:var(--base-size-20);--brand-RiverBreakout-variant-gridline-spacing-outerInline:var(--base-size-36);--brand-RiverBreakout-variant-gridline-spacing-outerBlockEnd:var(--base-size-48);--brand-RiverBreakout-variant-gridline-spacing-outerBlock:var(--base-size-40);--brand-RiverBreakout-spacing-inner:var(--base-size-48);--brand-RiverAccordion-variant-gridline-spacing-outerInline:var(--base-size-36);--brand-RiverAccordion-variant-gridline-spacing-outerBlock:var(--base-size-36);--brand-River-spacing-innerY:var(--base-size-24)}}@media (width>=1012px){:root{--brand-River-variant-gridline-visual-padding:var(--base-size-64)}}@media (width>=1280px){:root{--brand-RiverBreakout-variant-gridline-spacing-contentGap:var(--base-size-24);--brand-RiverBreakout-variant-gridline-spacing-outerInline:var(--base-size-64);--brand-RiverBreakout-variant-gridline-spacing-outerBlockEnd:var(--base-size-80);--brand-RiverBreakout-variant-gridline-spacing-outerBlock:var(--base-size-64);--brand-RiverBreakout-spacing-inner:var(--base-size-64);--brand-RiverAccordion-variant-gridline-spacing-contentGap:var(--base-size-64);--brand-RiverAccordion-variant-gridline-spacing-outerInline:var(--base-size-64);--brand-RiverAccordion-variant-gridline-spacing-outerBlock:var(--base-size-64);--brand-River-variant-gridline-spacing-outerInline:var(--base-size-64);--brand-River-variant-gridline-spacing-outerBlock:var(--base-size-64);--brand-River-spacing-outerBlock:var(--base-size-48);--brand-River-spacing-innerY:var(--base-size-32);--brand-River-spacing-inner:var(--base-size-24)}}.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE{grid-gap:0;grid-template:"visual""accordion"/1fr;gap:0;display:grid;position:relative}@media screen and (width>=63.25rem){.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE{--gap-width:var(--brand-Grid-spacing-column-gap);--column-and-gap-width:calc((100% + var(--gap-width)) / 12);--4-grid-columns:calc(4 * var(--column-and-gap-width));--7-grid-columns-minus-last-gap:calc((7 * var(--column-and-gap-width)) - var(--gap-width));gap:var(--column-and-gap-width);grid-template-rows:auto}.Primer_Brand__RiverAccordion-module__RiverAccordion__align-start___RuTNC{grid-template-columns:var(--4-grid-columns) var(--7-grid-columns-minus-last-gap);grid-template-areas:"accordion visual"}.Primer_Brand__RiverAccordion-module__RiverAccordion__align-end___cYDE6{grid-template-columns:var(--7-grid-columns-minus-last-gap) var(--4-grid-columns);grid-template-areas:"visual accordion"}}.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet{padding-inline:var(--brand-RiverAccordion-variant-gridline-spacing-outerInline);padding-block:var(--brand-RiverAccordion-variant-gridline-spacing-outerBlock);position:relative}@media screen and (width>=63.25rem){.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet{--gap-width:var(--brand-RiverAccordion-variant-gridline-spacing-contentGap);--half-column:calc(50% - var(--gap-width) / 2);gap:var(--gap-width);align-items:center}.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet.Primer_Brand__RiverAccordion-module__RiverAccordion__align-start___RuTNC{grid-template-columns:var(--half-column) var(--half-column);grid-template-areas:"accordion visual"}.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet.Primer_Brand__RiverAccordion-module__RiverAccordion__align-end___cYDE6{grid-template-columns:var(--half-column) var(--half-column);grid-template-areas:"visual accordion"}}@media (width>=80rem){.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__RiverAccordion-module__RiverAccordion--active-item-has-background___xYbsA .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP{margin-inline:calc(-1 * var(--brand-RiverAccordion-variant-gridline-spacing-outerInline));margin-block-start:calc(-1 * var(--brand-RiverAccordion-variant-gridline-spacing-outerBlock))}@media screen and (width>=48rem) and (width<=63.24rem){.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE{max-width:618px;margin-inline:auto}.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__RiverAccordion-module__RiverAccordion--active-item-has-background___xYbsA .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf{border-radius:0}.Primer_Brand__RiverAccordion-module__RiverAccordion__accordionContainer___fGxlS{grid-area:accordion}.Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP{grid-area:visual}.Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf{border-radius:var(--base-size-6);grid-template-columns:subgrid;grid-template-rows:subgrid;width:100%;display:grid;overflow:hidden}.Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw{opacity:0;width:100%;height:100%;transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), scale var(--brand-animation-duration-default) var(--brand-animation-easing-default);grid-area:1/1;align-items:center;display:flex;scale:1.05}.Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw>*{border-radius:var(--base-size-6);-o-object-fit:contain;object-fit:contain;width:100%;height:auto;display:block;overflow:hidden}.Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw img,.Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw picture,.Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw video{border-radius:var(--base-size-6);-o-object-fit:contain;object-fit:contain;width:100%;height:auto;display:block}.Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw>* img,.Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw>* video{border-radius:var(--base-size-6);-o-object-fit:cover;object-fit:cover;width:100%;height:auto;display:block}.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual--has-background___kuInp{padding:var(--base-size-32);background:var(--brand-RiverAccordion-visual-background,var(--brand-color-canvas-subtle));justify-content:center;align-items:center;display:flex}.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual--has-background___kuInp>*{border-radius:var(--base-size-6);justify-content:center;align-items:center;max-width:100%;height:auto;display:flex}.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual--has-background___kuInp img,.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual--has-background___kuInp picture,.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual--has-background___kuInp video{border-radius:var(--base-size-6);max-width:100%;height:auto}@media screen and (width>=63.25rem){.Primer_Brand__RiverAccordion-module__RiverAccordion--active-item-has-background___xYbsA{grid-template-columns:1fr 1fr;align-items:stretch;gap:0;padding:0}.Primer_Brand__RiverAccordion-module__RiverAccordion--active-item-has-background___xYbsA .Primer_Brand__RiverAccordion-module__RiverAccordion__accordionContainer___fGxlS{padding:var(--brand-RiverAccordion-variant-gridline-spacing-outerBlock) var(--brand-RiverAccordion-variant-gridline-spacing-outerInline);flex-direction:column;justify-content:center;display:flex}.Primer_Brand__RiverAccordion-module__RiverAccordion__align-start___RuTNC.Primer_Brand__RiverAccordion-module__RiverAccordion--active-item-has-background___xYbsA .Primer_Brand__RiverAccordion-module__RiverAccordion__accordionContainer___fGxlS{padding-inline-end:var(--brand-RiverAccordion-variant-gridline-spacing-contentGap)}.Primer_Brand__RiverAccordion-module__RiverAccordion__align-end___cYDE6.Primer_Brand__RiverAccordion-module__RiverAccordion--active-item-has-background___xYbsA .Primer_Brand__RiverAccordion-module__RiverAccordion__accordionContainer___fGxlS{padding-inline-start:var(--brand-RiverAccordion-variant-gridline-spacing-contentGap)}.Primer_Brand__RiverAccordion-module__RiverAccordion--active-item-has-background___xYbsA .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP{margin:0}.Primer_Brand__RiverAccordion-module__RiverAccordion--active-item-has-background___xYbsA .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf{height:100%}.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual--has-background___kuInp{padding:var(--base-size-64);justify-content:center;align-items:center}.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual--has-background___kuInp>*,.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual--has-background___kuInp img,.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual--has-background___kuInp picture,.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual--has-background___kuInp video{border-radius:var(--base-size-6)}}:is(.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq:first-child) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:first-child,.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq:nth-child(2)) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:nth-child(2),.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq:nth-child(3)) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:nth-child(3),.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq:nth-child(4)) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:nth-child(4),.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq:nth-child(5)) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:nth-child(5),.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq:nth-child(6)) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:nth-child(6),.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq:nth-child(7)) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:nth-child(7),.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq:nth-child(8)) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:nth-child(8),.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq:nth-child(9)) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:nth-child(9),.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq:nth-child(10)) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:nth-child(10),.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:not(:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq)) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:first-child){opacity:1;z-index:1;scale:1}.Primer_Brand__RiverAccordion-module__RiverAccordion__accordionContainer___fGxlS .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw{clip:rect(0, 0, 0, 0);word-wrap:normal;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.Primer_Brand__RiverAccordion-module__RiverAccordion__item___SQRnH{border-bottom:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-block-start:var(--base-size-32);position:relative}@media screen and (width<=63.24rem){.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__item___SQRnH:last-child{border-bottom:none}}.Primer_Brand__RiverAccordion-module__RiverAccordion__item___SQRnH:not(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq) .Primer_Brand__RiverAccordion-module__RiverAccordion__heading___STSM7{color:var(--brand-color-text-muted)}.Primer_Brand__RiverAccordion-module__RiverAccordion__trigger___x_yLq{color:inherit;cursor:pointer;font:inherit;text-align:left;width:100%;padding:0;padding:var(--base-size-4);margin:0;margin:calc(var(--base-size-4) * -1);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.Primer_Brand__RiverAccordion-module__RiverAccordion__trigger--has-leading-visual___lyq8k{gap:var(--base-size-20);justify-content:flex-start}.Primer_Brand__RiverAccordion-module__RiverAccordion__leadingVisual___OseYz{height:var(--base-size-20);width:var(--base-size-20);flex-shrink:0;justify-content:center;align-items:center;display:flex}.Primer_Brand__RiverAccordion-module__RiverAccordion__leadingVisual___OseYz>*{width:100%;height:100%}.Primer_Brand__RiverAccordion-module__RiverAccordion__headingText___tOQEC{flex:1;min-width:0}.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq .Primer_Brand__RiverAccordion-module__RiverAccordion__trigger___x_yLq{cursor:auto;cursor:initial}.Primer_Brand__RiverAccordion-module__RiverAccordion__item___SQRnH:not(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq) .Primer_Brand__RiverAccordion-module__RiverAccordion__trigger___x_yLq:after{content:"";width:100%;height:100%;display:block;position:absolute}.Primer_Brand__RiverAccordion-module__RiverAccordion__panel___GkOCl{transition:grid-template-rows var(--brand-animation-duration-default) var(--brand-animation-easing-default), margin-block-start var(--brand-animation-duration-default) var(--brand-animation-easing-default), padding-block-end var(--brand-animation-duration-default) var(--brand-animation-easing-default);grid-template-rows:0fr;margin-block-start:var(--base-size-32);display:grid;overflow-y:clip}.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq .Primer_Brand__RiverAccordion-module__RiverAccordion__panel___GkOCl{grid-template-rows:1fr;margin-block-start:var(--base-size-12);padding-block-end:var(--base-size-32)}.Primer_Brand__RiverAccordion-module__RiverAccordion__content___ECkev{align-items:flex-start;gap:var(--base-size-20);flex-direction:column;min-height:0;display:flex}.Primer_Brand__RiverAccordion-module__RiverAccordion__item___SQRnH:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__leadingVisual___OseYz) .Primer_Brand__RiverAccordion-module__RiverAccordion__content___ECkev{padding-inline-start:calc(var(--base-size-20) + var(--base-size-20))}.Primer_Brand__RiverAccordion-module__RiverAccordion__icon___gl6pH{color:var(--brand-color-text-muted);flex-shrink:0;align-items:center;display:flex}.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq .Primer_Brand__RiverAccordion-module__RiverAccordion__icon___gl6pH{color:var(--brand-color-text-default)}.Primer_Brand__shared-module__gridline___Vmwmu{position:relative}.Primer_Brand__shared-module__gridline___Vmwmu:before,.Primer_Brand__shared-module__gridline___Vmwmu:after{content:"";border-top:var(--brand-borderWidth-thin) solid;-o-border-image:linear-gradient(var(--brand-color-border-muted), var(--brand-color-border-muted)) 1;border-image:linear-gradient(var(--brand-color-border-muted), var(--brand-color-border-muted)) 1;z-index:1;pointer-events:none;border-image-outset:0 100vw;height:0;position:absolute;left:0;right:0}.Primer_Brand__shared-module__gridline___Vmwmu:before{top:0}.Primer_Brand__shared-module__gridline___Vmwmu:after{bottom:0}:root,[data-color-mode=light]{--brand-Label-color-default:var(--brand-color-text-default);--brand-Label-color-blue:var(--base-color-scale-blue-5);--brand-Label-color-blue-purple-start:var(--base-color-scale-blue-5);--brand-Label-color-blue-purple-end:var(--base-color-scale-purple-5);--brand-Label-color-coral:var(--base-color-scale-coral-5);--brand-Label-color-green:var(--base-color-scale-green-6);--brand-Label-color-green-blue-start:var(--base-color-scale-green-6);--brand-Label-color-green-blue-end:var(--base-color-scale-blue-5);--brand-Label-color-green-blue-purple-1:#000aff;--brand-Label-color-green-blue-purple-2:#096bde;--brand-Label-color-green-blue-purple-3:var(--base-color-scale-green-6);--brand-Label-color-green-blue-purple-4:#8250df;--brand-Label-color-gray:var(--base-color-scale-gray-5);--brand-Label-color-indigo:var(--base-color-scale-indigo-5);--brand-Label-color-lemon:var(--base-color-scale-lemon-5);--brand-Label-color-lime:var(--base-color-scale-lime-5);--brand-Label-color-orange:var(--base-color-scale-orange-5);--brand-Label-color-pink:var(--base-color-scale-pink-5);--brand-Label-color-pink-blue-start:var(--base-color-scale-pink-5);--brand-Label-color-pink-blue-end:var(--base-color-scale-blue-5);--brand-Label-color-purple:var(--base-color-scale-purple-5);--brand-Label-color-purple-red-start:var(--base-color-scale-purple-5);--brand-Label-color-purple-red-end:var(--base-color-scale-red-5);--brand-Label-color-red:var(--base-color-scale-red-5);--brand-Label-color-red-orange-start:var(--base-color-scale-red-5);--brand-Label-color-red-orange-end:var(--base-color-scale-orange-5);--brand-Label-color-teal:var(--base-color-scale-teal-5);--brand-Label-color-yellow:var(--base-color-scale-yellow-5)}[data-color-mode=dark]{--brand-Label-color-default:var(--brand-color-text-default);--brand-Label-color-blue:var(--base-color-scale-blue-2);--brand-Label-color-blue-purple-start:var(--base-color-scale-blue-2);--brand-Label-color-blue-purple-end:var(--base-color-scale-purple-2);--brand-Label-color-coral:var(--base-color-scale-coral-2);--brand-Label-color-green:var(--base-color-scale-green-2);--brand-Label-color-green-blue-start:var(--base-color-scale-green-2);--brand-Label-color-green-blue-end:var(--base-color-scale-blue-2);--brand-Label-color-green-blue-purple-3:#00ff46;--brand-Label-color-gray:var(--base-color-scale-gray-2);--brand-Label-color-indigo:var(--base-color-scale-indigo-2);--brand-Label-color-lemon:var(--base-color-scale-lemon-2);--brand-Label-color-lime:var(--base-color-scale-lime-2);--brand-Label-color-orange:var(--base-color-scale-orange-2);--brand-Label-color-pink:var(--base-color-scale-pink-2);--brand-Label-color-pink-blue-start:var(--base-color-scale-pink-2);--brand-Label-color-pink-blue-end:var(--base-color-scale-blue-2);--brand-Label-color-purple:var(--base-color-scale-purple-2);--brand-Label-color-purple-red-start:var(--base-color-scale-purple-2);--brand-Label-color-purple-red-end:var(--base-color-scale-red-2);--brand-Label-color-red:var(--base-color-scale-red-2);--brand-Label-color-red-orange-start:var(--base-color-scale-red-2);--brand-Label-color-red-orange-end:var(--base-color-scale-orange-2);--brand-Label-color-teal:var(--base-color-scale-teal-2);--brand-Label-color-yellow:var(--base-color-scale-yellow-2)}.Primer_Brand__Label-module__Label___TW0HL{--brand-Label-gradient-radial:radial-gradient(circle at top left, var(--brand-Label-color-start), var(--brand-Label-color-end));--brand-Label-gradient-conical:conic-gradient(from 90deg at center, var(--brand-Label-color-stop-1) 0deg, var(--brand-Label-color-stop-2) 160deg, var(--brand-Label-color-stop-3) 175deg, var(--brand-Label-color-stop-4) 200deg, var(--brand-Label-color-stop-4) 350deg, var(--brand-Label-color-stop-1) 360deg);--brand-Label-background:var(--brand-Label-gradient-conical,var(--brand-Label-gradient-radial,var(--brand-Label-color,currentColor)));vertical-align:middle;border-radius:var(--brand-borderRadius-xlarge);color:var(--brand-Label-color-start,var(--brand-Label-color,currentColor));text-align:center;background:0 0;justify-content:center;align-items:center;height:min-content;display:inline-flex;position:relative}[data-color-mode=dark] .Primer_Brand__Label-module__Label___TW0HL{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:auto}.Primer_Brand__Label-module__Label___TW0HL:before{content:"";padding:var(--brand-borderWidth-thin);border-radius:inherit;background:var(--brand-Label-background);-webkit-mask:linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default)) content-box, linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default));-webkit-mask:linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default)) content-box, linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default));mask:linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default)) content-box, linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default));-webkit-mask-composite:xor;position:absolute;inset:0;-webkit-mask-composite:xor;mask-composite:exclude}.Primer_Brand__Label-module__Label--size-small___TvoL_{min-height:var(--base-size-20);padding-inline:var(--base-size-8);padding-block:var(--base-size-2)}.Primer_Brand__Label-module__Label--size-small___TvoL_ .Primer_Brand__Label-module__Label__label___bD_B4{font-size:var(--base-size-12)!important}.Primer_Brand__Label-module__Label--size-medium___g4Jkm{min-height:var(--base-size-28);padding-inline:var(--base-size-16);padding-block:var(--base-size-4)}.Primer_Brand__Label-module__Label--size-large___BrKTp{min-height:var(--base-size-32);padding-inline:var(--base-size-16);padding-block:var(--base-size-4)}.Primer_Brand__Label-module__Label--color-default___YCx2l{--brand-Label-color:var(--brand-Label-color-default)}.Primer_Brand__Label-module__Label--color-blue___lZSxf{--brand-Label-color:var(--brand-Label-color-blue)}.Primer_Brand__Label-module__Label--color-blue-purple___ER3VP{--brand-Label-color-start:var(--brand-Label-color-blue-purple-start);--brand-Label-color-end:var(--brand-Label-color-blue-purple-end)}.Primer_Brand__Label-module__Label--color-coral___V0Yif{--brand-Label-color:var(--brand-Label-color-coral)}.Primer_Brand__Label-module__Label--color-green___SoiE4{--brand-Label-color:var(--brand-Label-color-green)}.Primer_Brand__Label-module__Label--color-green-blue___R2mSi{--brand-Label-color-start:var(--brand-Label-color-green-blue-start);--brand-Label-color-end:var(--brand-Label-color-green-blue-end)}.Primer_Brand__Label-module__Label--color-gray___MCa_k{--brand-Label-color:var(--brand-Label-color-gray)}.Primer_Brand__Label-module__Label--color-indigo___VEHOi{--brand-Label-color:var(--brand-Label-color-indigo)}.Primer_Brand__Label-module__Label--color-lemon___xvb0x{--brand-Label-color:var(--brand-Label-color-lemon)}.Primer_Brand__Label-module__Label--color-lime___rORM1{--brand-Label-color:var(--brand-Label-color-lime)}.Primer_Brand__Label-module__Label--color-orange___PMqMi{--brand-Label-color:var(--brand-Label-color-orange)}.Primer_Brand__Label-module__Label--color-pink___kHEv5{--brand-Label-color:var(--brand-Label-color-pink)}.Primer_Brand__Label-module__Label--color-pink-blue___y5skb{--brand-Label-color-start:var(--brand-Label-color-pink-blue-start);--brand-Label-color-end:var(--brand-Label-color-pink-blue-end)}.Primer_Brand__Label-module__Label--color-green-blue-purple___UKGU_{--brand-Label-color-stop-1:var(--brand-Label-color-green-blue-purple-1);--brand-Label-color-stop-2:var(--brand-Label-color-green-blue-purple-2);--brand-Label-color-stop-3:var(--brand-Label-color-green-blue-purple-3);--brand-Label-color-stop-4:var(--brand-Label-color-green-blue-purple-4)}.Primer_Brand__Label-module__Label--color-purple___ZHLtp{--brand-Label-color:var(--brand-Label-color-purple)}.Primer_Brand__Label-module__Label--color-purple-red___MsWGq{--brand-Label-color-start:var(--brand-Label-color-purple-red-start);--brand-Label-color-end:var(--brand-Label-color-purple-red-end)}.Primer_Brand__Label-module__Label--color-red___GYMDt{--brand-Label-color:var(--brand-Label-color-red)}.Primer_Brand__Label-module__Label--color-red-orange___FVyXX{--brand-Label-color-start:var(--brand-Label-color-red-orange-start);--brand-Label-color-end:var(--brand-Label-color-red-orange-end)}.Primer_Brand__Label-module__Label--color-teal___VOUIS{--brand-Label-color:var(--brand-Label-color-teal)}.Primer_Brand__Label-module__Label--color-yellow___S2Zu2{--brand-Label-color:var(--brand-Label-color-yellow)}.Primer_Brand__Label-module__Label__text____nAxj:not(.Primer_Brand__Label-module__Label--gradient___smCNu .Primer_Brand__Label-module__Label__text____nAxj){background:var(--brand-Label-background);-webkit-text-fill-color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-background-clip:text;background-clip:text}.Primer_Brand__Label-module__Label__text____nAxj{line-height:var(--base-size-16)}.Primer_Brand__Label-module__Label__icon-visual___lD1Qa{height:var(--base-size-16);align-self:center;width:auto;display:flex}.Primer_Brand__Label-module__Label__leading-visual___a1rnF{margin-right:var(--base-size-8);display:flex}.Primer_Brand__Label-module__Label__label___bD_B4{font-weight:var(--base-text-weight-medium);line-height:inherit}@media (forced-colors:active){.Primer_Brand__Label-module__Label___TW0HL{outline:var(--brand-borderWidth-thin) solid transparent}}:root{--brand-River-visual-shadow:0px 100px 80px #00000004, 0px 41.7776px 33.4221px #00000006, 0px 22.3363px 17.869px #00000007, 0px 12.5216px 10.0172px #00000009, 0px 6.6501px 5.32008px #0000000b, 0px 2.76726px 2.21381px #00000012;--brand-River-label-margin:var(--base-size-16);--brand-River-heading-margin:var(--base-size-16)}:root,[data-color-mode=light]{--brand-InlineCode-color-fg-default:var(--brand-color-text-muted);--brand-InlineCode-color-fg-heading:var(--brand-color-text-default);--brand-InlineCode-bgColor:var(--base-color-scale-gray-1)}[data-color-mode=dark]{--brand-InlineCode-color-fg-default:var(--brand-color-text-muted);--brand-InlineCode-color-fg-heading:var(--brand-color-text-default);--brand-InlineCode-bgColor:var(--base-color-scale-gray-7)}.Primer_Brand__river-shared-module__River___eSXvR{grid-gap:var(--brand-River-spacing-inner);gap:var(--brand-River-spacing-inner);padding-inline:var(--brand-River-spacing-outerInline);padding-block:var(--brand-River-spacing-outerBlock);grid-auto-rows:min-content;display:grid;container-type:inline-size}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1{padding-inline:var(--brand-River-variant-gridline-spacing-outerInline);padding-block:var(--brand-River-variant-gridline-spacing-outerBlock);gap:var(--base-size-32);position:relative}@media screen and (width>=48rem){.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1{gap:var(--base-size-28)}}@media screen and (width>=80rem){.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__river-shared-module__River--align-center___VxJ3H{text-align:center}.Primer_Brand__river-shared-module__River__content___p4EdY{order:2}.Primer_Brand__river-shared-module__River__visual___kjFE2 img,.Primer_Brand__river-shared-module__River__visual___kjFE2 picture{display:block}.Primer_Brand__river-shared-module__River__visual--fill-media___psmFL img,.Primer_Brand__river-shared-module__River__visual--fill-media___psmFL picture,.Primer_Brand__river-shared-module__River__visual--fill-media___psmFL video{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx{border-radius:var(--brand-borderRadius-large);overflow:hidden}.Primer_Brand__river-shared-module__River__visual--has-shadow___PyzIW{box-shadow:var(--brand-River-visual-shadow)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S{background-color:var(--brand-color-canvas-subtle);padding:var(--brand-River-variant-gridline-visual-padding);margin-inline:calc(-1 * var(--brand-River-variant-gridline-spacing-outerInline));border-radius:0;justify-content:center;align-items:center;display:flex}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S img,.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S picture,.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S video{border-radius:var(--brand-borderRadius-large);width:auto;max-width:100%;height:auto}@media screen and (width<=47.99rem){.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S{justify-content:flex-end;align-items:flex-end;padding-block-end:0;padding-inline-end:0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S img,.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S picture,.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S video{border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:0}}@media screen and (width>=48rem) and (width<=63.24rem){.Primer_Brand__river-shared-module__River___eSXvR{width:100%;max-width:618px;margin-inline:auto}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S{align-items:flex-end;padding-block-end:0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S img,.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S picture,.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S video{border-end-end-radius:0;border-end-start-radius:0}}.Primer_Brand__river-shared-module__River__heading___tl6zS{margin-bottom:var(--brand-River-heading-margin)}.Primer_Brand__river-shared-module__River__call-to-action___yeIFh{margin-top:var(--base-size-24)}.Primer_Brand__river-shared-module__River__text___TQQhU strong,.Primer_Brand__river-shared-module__River__text___TQQhU b{font-weight:var(--base-text-weight-normal);color:var(--brand-color-text-default)}.Primer_Brand__river-shared-module__River__heading___tl6zS code,.Primer_Brand__river-shared-module__River__text___TQQhU code{font-family:var(--brand-fontStack-monospace);font-size:calc(1em - 1px);font-weight:var(--base-text-weight-regular);color:var(--brand-InlineCode-color-fg-default);background-color:var(--brand-InlineCode-bgColor);padding-block:0;padding-inline:var(--base-size-4);border-radius:var(--base-size-2);white-space:normal;word-wrap:anywhere;-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:1.6}.Primer_Brand__river-shared-module__River__leadingComponent___RBKiv img,.Primer_Brand__river-shared-module__River__leadingComponent___RBKiv picture,.Primer_Brand__river-shared-module__River__trailingComponent___bjdxv img,.Primer_Brand__river-shared-module__River__trailingComponent___bjdxv picture{display:block}.Primer_Brand__river-shared-module__River__trailingComponent___bjdxv{margin-block-start:var(--brand-River-spacing-inner)}.Primer_Brand__river-shared-module__River__trailingComponent--divider___q9hCY{border-top:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-block-start:var(--brand-River-spacing-inner)}.Primer_Brand__river-shared-module__River__label___ztaaN{margin-block-end:var(--brand-River-label-margin)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-start___wo12V .Primer_Brand__river-shared-module__River__visual___kjFE2{order:1}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-start___wo12V .Primer_Brand__river-shared-module__River__content___p4EdY{order:2}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-end___aNjz4 .Primer_Brand__river-shared-module__River__content___p4EdY{order:1}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-end___aNjz4 .Primer_Brand__river-shared-module__River__visual___kjFE2{order:2}@media screen and (width<=63.24rem){.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-start___wo12V .Primer_Brand__river-shared-module__River__visual--has-background___QG17S{margin-block-start:calc(-1 * var(--brand-River-variant-gridline-spacing-outerBlock))}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-end___aNjz4 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S{margin-block-end:calc(-1 * var(--brand-River-variant-gridline-spacing-outerBlock))}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-center___VxJ3H .Primer_Brand__river-shared-module__River__visual--has-background___QG17S{margin-block-start:calc(-1 * var(--brand-River-variant-gridline-spacing-outerBlock))}}@media screen and (width>=63.25rem){.Primer_Brand__river-shared-module__River___eSXvR{grid-template-rows:initial}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S{margin:0}.Primer_Brand__river-shared-module__River__content___p4EdY{order:initial}.Primer_Brand__river-shared-module__River--50-50___y5_l2{grid-template-columns:[content]1fr[visual]1fr}.Primer_Brand__river-shared-module__River--60-40___NljA1{grid-template-columns:[content]4fr[visual]6fr}.Primer_Brand__river-shared-module__River--align-start___wo12V{grid-template-areas:"content visual"}.Primer_Brand__river-shared-module__River--align-end___aNjz4{grid-template-areas:"visual content"}.Primer_Brand__river-shared-module__River--align-end___aNjz4.Primer_Brand__river-shared-module__River--60-40___NljA1{grid-template-columns:[visual]6fr[content]4fr}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-start___wo12V.Primer_Brand__river-shared-module__River--50-50___y5_l2:not(:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S)) .Primer_Brand__river-shared-module__River__visual___kjFE2{margin-inline-start:calc(var(--base-size-80) + var(--base-size-8))}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-end___aNjz4.Primer_Brand__river-shared-module__River--50-50___y5_l2:not(:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S)) .Primer_Brand__river-shared-module__River__visual___kjFE2{margin-inline-end:calc(var(--base-size-80) + var(--base-size-8))}.Primer_Brand__river-shared-module__River__content___p4EdY{grid-area:content;align-content:center;display:grid}.Primer_Brand__river-shared-module__River--50-50___y5_l2:not(.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1) .Primer_Brand__river-shared-module__River__body-text___aJne5,.Primer_Brand__river-shared-module__River--50-50___y5_l2:not(.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1) .Primer_Brand__river-shared-module__River__heading___tl6zS{max-width:400px}.Primer_Brand__river-shared-module__River--align-start___wo12V:not(.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline-end:var(--base-size-128)}.Primer_Brand__river-shared-module__River--align-end___aNjz4:not(.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline-start:var(--base-size-128)}.Primer_Brand__river-shared-module__River__content--align-block-end___xI62E{align-content:end}.Primer_Brand__river-shared-module__River__visual___kjFE2{grid-area:visual}.Primer_Brand__river-shared-module__River--align-center___VxJ3H{grid-auto-rows:min-content;grid-template-columns:initial}.Primer_Brand__river-shared-module__River--align-center___VxJ3H .Primer_Brand__river-shared-module__River__content___p4EdY,.Primer_Brand__river-shared-module__River--align-center___VxJ3H .Primer_Brand__river-shared-module__River__visual___kjFE2{grid-area:unset;justify-self:center}.Primer_Brand__river-shared-module__River--align-center___VxJ3H .Primer_Brand__river-shared-module__River__body-text___aJne5{justify-self:center;max-width:600px}.Primer_Brand__river-shared-module__River--align-center___VxJ3H .Primer_Brand__river-shared-module__River__visual___kjFE2{margin-bottom:var(--brand-River-spacing-inner)}.Primer_Brand__river-shared-module__River--align-center___VxJ3H .Primer_Brand__river-shared-module__River__content___p4EdY{margin-top:var(--brand-River-spacing-inner)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1:not(.Primer_Brand__river-shared-module__River--align-center___VxJ3H):has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S){gap:0;padding:0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--50-50___y5_l2:not(.Primer_Brand__river-shared-module__River--align-center___VxJ3H):has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S){grid-template-columns:1fr 1fr}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--60-40___NljA1:not(.Primer_Brand__river-shared-module__River--align-center___VxJ3H):has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S){grid-template-columns:560fr 676fr}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-end___aNjz4.Primer_Brand__river-shared-module__River--60-40___NljA1:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S){grid-template-columns:676fr 560fr}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-start___wo12V:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline-start:var(--base-size-64);padding-inline-end:var(--brand-River-spacing-inner);padding-block:var(--brand-River-variant-gridline-spacing-outerBlock)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--50-50___y5_l2.Primer_Brand__river-shared-module__River--align-start___wo12V:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline-end:calc(var(--base-size-80) + var(--base-size-32))}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--60-40___NljA1.Primer_Brand__river-shared-module__River--align-start___wo12V:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline-end:var(--base-size-128)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-end___aNjz4:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline-start:var(--brand-River-spacing-inner);padding-inline-end:var(--base-size-64);padding-block:var(--brand-River-variant-gridline-spacing-outerBlock)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--50-50___y5_l2.Primer_Brand__river-shared-module__River--align-end___aNjz4:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline-start:calc(var(--base-size-80) + var(--base-size-32))}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--60-40___NljA1.Primer_Brand__river-shared-module__River--align-end___aNjz4:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline-start:var(--base-size-128)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-start___wo12V:not(:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S)) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline-end:var(--brand-River-spacing-inner)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-end___aNjz4:not(:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S)) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline-start:var(--brand-River-spacing-inner)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--50-50___y5_l2:not(.Primer_Brand__river-shared-module__River--align-center___VxJ3H) .Primer_Brand__river-shared-module__River__visual--has-background___QG17S{margin-inline:0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-center___VxJ3H:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S){padding:0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-center___VxJ3H .Primer_Brand__river-shared-module__River__visual--has-background___QG17S{width:100%;margin:0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-center___VxJ3H .Primer_Brand__river-shared-module__River__visual___kjFE2{margin-bottom:0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-center___VxJ3H{gap:0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-center___VxJ3H .Primer_Brand__river-shared-module__River__content___p4EdY{margin-top:0;margin-bottom:var(--base-size-64)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-center___VxJ3H:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline:var(--brand-River-variant-gridline-spacing-outerInline);padding-block-start:var(--brand-River-variant-gridline-spacing-outerBlock)}}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-center___p6KT1{padding:var(--brand-River-variant-gridline-visual-padding);border-radius:0;justify-content:center;align-items:center;display:flex}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end___ErF_R{padding:var(--brand-River-variant-gridline-visual-padding);border-radius:0;justify-content:center;align-items:flex-end;padding-block-end:0;display:flex}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-start___QmQP6{padding:var(--brand-River-variant-gridline-visual-padding);border-radius:0;justify-content:flex-start;align-items:flex-end;padding-block-end:0;padding-inline-start:0;display:flex}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-end___kmFTW{padding:var(--brand-River-variant-gridline-visual-padding);border-radius:0;justify-content:flex-end;align-items:flex-end;padding-block-end:0;padding-inline-end:0;display:flex}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--padding-all___M94vb{padding:var(--brand-River-variant-gridline-visual-padding)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK{border-radius:0;padding:0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-center___p6KT1 img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-center___p6KT1 picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-center___p6KT1 video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-center___p6KT1 [data-video-player-container],.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end___ErF_R img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end___ErF_R picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end___ErF_R video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end___ErF_R [data-video-player-container],.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-start___QmQP6 img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-start___QmQP6 picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-start___QmQP6 video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-start___QmQP6 [data-video-player-container],.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-end___kmFTW img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-end___kmFTW picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-end___kmFTW video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-end___kmFTW [data-video-player-container]{border-radius:0;width:auto;max-width:100%;height:auto}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--padding-all___M94vb img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--padding-all___M94vb picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--padding-all___M94vb video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--padding-all___M94vb [data-video-player-container]{border-radius:0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-center___p6KT1 img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-center___p6KT1 picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-center___p6KT1 video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-center___p6KT1 [data-video-player-container]{border-radius:var(--brand-borderRadius-large)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end___ErF_R img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end___ErF_R picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end___ErF_R video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end___ErF_R [data-video-player-container]{border-radius:var(--brand-borderRadius-large) var(--brand-borderRadius-large) 0 0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-start___QmQP6 img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-start___QmQP6 picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-start___QmQP6 video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-start___QmQP6 [data-video-player-container]{border-radius:0;border-start-end-radius:var(--brand-borderRadius-large)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-end___kmFTW img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-end___kmFTW picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-end___kmFTW video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-end___kmFTW [data-video-player-container]{border-radius:0;border-start-start-radius:var(--brand-borderRadius-large)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--padding-all___M94vb img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--padding-all___M94vb picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--padding-all___M94vb video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--padding-all___M94vb [data-video-player-container]{border-radius:var(--brand-borderRadius-large)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--fill-media___psmFL.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--fill-media___psmFL.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--fill-media___psmFL.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--fill-media___psmFL.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK [data-video-player-container]{-o-object-fit:cover;object-fit:cover;width:100%;max-width:none;height:100%}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK [data-video-player-container],.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK [data-video-player-container]{border-radius:0}.Primer_Brand__river-shared-module__RiverBreakout___VNW5e{gap:var(--brand-RiverBreakout-spacing-inner);flex-direction:column;padding-block-start:var(--brand-River-spacing-outerBlock);padding-block-end:var(--brand-River-spacing-outerBlock);display:flex}.Primer_Brand__river-shared-module__RiverBreakout___VNW5e .Primer_Brand__river-shared-module__River__text___TQQhU{max-width:37.5rem;color:var(--brand-color-text-default);font-size:var(--brand-text-size-500);font-weight:var(--brand-heading-weight-500);letter-spacing:var(--brand-heading-letterSpacing-500);line-height:var(--brand-text-lineHeight-500)}.Primer_Brand__river-shared-module__RiverBreakout--muted___k_sJO .Primer_Brand__river-shared-module__River__text___TQQhU{color:var(--brand-color-text-muted)}.Primer_Brand__river-shared-module__RiverBreakout___VNW5e .Primer_Brand__river-shared-module__River__text___TQQhU em,.Primer_Brand__river-shared-module__RiverBreakout___VNW5e .Primer_Brand__river-shared-module__River__text___TQQhU b{color:var(--brand-color-text-default);font-style:normal;font-weight:inherit}.Primer_Brand__river-shared-module__RiverBreakout__hiddenHeading___axLfo{clip:rect(1px, 1px, 1px, 1px);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.Primer_Brand__river-shared-module__RiverBreakout___VNW5e .Primer_Brand__river-shared-module__River__call-to-action___yeIFh{padding-block-start:var(--base-size-12)}@media screen and (width>=48rem){.Primer_Brand__river-shared-module__RiverBreakout___VNW5e .Primer_Brand__river-shared-module__River__content___p4EdY{grid-gap:var(--brand-River-spacing-inner);gap:var(--brand-River-spacing-inner);grid-row-gap:var(--brand-River-spacing-innerY);row-gap:var(--brand-River-spacing-innerY);grid-template-columns:5fr 3fr;grid-template-areas:"text trailingComponent""cta trailingComponent";grid-auto-rows:auto 1fr;display:grid}.Primer_Brand__river-shared-module__RiverBreakout___VNW5e .Primer_Brand__river-shared-module__River__text___TQQhU{grid-area:text}.Primer_Brand__river-shared-module__RiverBreakout___VNW5e .Primer_Brand__river-shared-module__River__call-to-action___yeIFh{grid-area:cta;margin-block:0}.Primer_Brand__river-shared-module__RiverBreakout___VNW5e .Primer_Brand__river-shared-module__River__trailingComponent___bjdxv{grid-area:trailingComponent;justify-self:flex-end;margin-block-start:0}}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX{padding-inline:var(--brand-RiverBreakout-variant-gridline-spacing-outerInline);gap:0;padding-block-start:var(--brand-RiverBreakout-variant-gridline-spacing-outerBlock);padding-block-end:0;position:relative}@media screen and (width<=63.24rem){.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX{width:100%;max-width:38.625rem;margin-inline:auto}}@media screen and (width>=618px){.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}@media screen and (width>=63.25rem){.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX{border-inline:none}}@media screen and (width>=1300px){.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__visual___kjFE2{overflow:hidden}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__visual--rounded___x1iTx{border-radius:var(--brand-borderRadius-large)}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__content___p4EdY{gap:var(--brand-RiverBreakout-variant-gridline-spacing-contentGap);padding-block-start:var(--brand-RiverBreakout-variant-gridline-spacing-outerBlock);padding-block-end:var(--brand-RiverBreakout-variant-gridline-spacing-outerBlockEnd)}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__call-to-action___yeIFh{padding-block-start:var(--base-size-12)}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__trailingComponent--divider___q9hCY{border-top:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);margin-inline:calc(-1 * var(--brand-RiverBreakout-variant-gridline-spacing-outerInline));padding-block-start:var(--brand-RiverBreakout-variant-gridline-spacing-outerBlock);padding-block-end:var(--brand-RiverBreakout-variant-gridline-spacing-outerBlockEnd);padding-inline:var(--brand-RiverBreakout-variant-gridline-spacing-outerInline)}@media screen and (width>=48rem) and (width<=63.24rem){.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__content___p4EdY{flex-direction:column;display:flex}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__trailingComponent___bjdxv{margin-block-start:0}}@media screen and (width>=63.25rem){.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX:has(.Primer_Brand__river-shared-module__River__trailingComponent--divider___q9hCY){padding-block-end:0}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__content___p4EdY{grid-template-columns:1fr 31rem;grid-template-areas:"text trailingComponent""cta trailingComponent";grid-template-columns:1fr var(--brand-RiverBreakout-gridline-trailing-width,31rem);grid-gap:var(--brand-RiverBreakout-variant-gridline-spacing-contentGap);gap:var(--brand-RiverBreakout-variant-gridline-spacing-contentGap);flex:1;grid-template-rows:auto 1fr;padding-block:0;display:grid}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__text___TQQhU{grid-area:text;padding-block-start:var(--brand-RiverBreakout-variant-gridline-spacing-outerBlock)}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__call-to-action___yeIFh{grid-area:cta;margin-block:0;padding-block-end:var(--brand-RiverBreakout-variant-gridline-spacing-outerBlockEnd)}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__trailingComponent___bjdxv{grid-area:trailingComponent;margin-block-start:0}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__trailingComponent--divider___q9hCY{border-top:none;border-left:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-inline:0;padding-block:0;padding-inline-start:var(--brand-RiverBreakout-variant-gridline-spacing-outerInline);align-self:stretch;margin-block:0;margin-inline:0;padding-block-start:var(--brand-RiverBreakout-variant-gridline-spacing-outerBlock);padding-block-end:var(--brand-RiverBreakout-variant-gridline-spacing-outerBlockEnd)}}:root,[data-color-mode=light]{--brand-Accordion-toggle-color-start:var(--brand-color-accent-primary);--brand-Accordion-toggle-color-end:var(--brand-color-accent-primary);--brand-Accordion-toggle-color-default:var(--brand-color-text-default);--brand-Accordion-toggle-color-blue:var(--base-color-scale-blue-5);--brand-Accordion-toggle-color-blue-purple-start:var(--base-color-scale-blue-5);--brand-Accordion-toggle-color-blue-purple-end:var(--base-color-scale-purple-5);--brand-Accordion-toggle-color-coral:var(--base-color-scale-coral-5);--brand-Accordion-toggle-color-green:var(--base-color-scale-green-6);--brand-Accordion-toggle-color-green-blue-start:var(--base-color-scale-green-6);--brand-Accordion-toggle-color-green-blue-end:var(--base-color-scale-blue-5);--brand-Accordion-toggle-color-gray:var(--base-color-scale-gray-5);--brand-Accordion-toggle-color-indigo:var(--base-color-scale-indigo-5);--brand-Accordion-toggle-color-lemon:var(--base-color-scale-lemon-5);--brand-Accordion-toggle-color-lime:var(--base-color-scale-lime-5);--brand-Accordion-toggle-color-orange:var(--base-color-scale-orange-5);--brand-Accordion-toggle-color-pink:var(--base-color-scale-pink-5);--brand-Accordion-toggle-color-pink-blue-start:var(--base-color-scale-pink-5);--brand-Accordion-toggle-color-pink-blue-end:var(--base-color-scale-blue-5);--brand-Accordion-toggle-color-purple:var(--base-color-scale-purple-5);--brand-Accordion-toggle-color-purple-red-start:var(--base-color-scale-purple-5);--brand-Accordion-toggle-color-purple-red-end:var(--base-color-scale-red-5);--brand-Accordion-toggle-color-red:var(--base-color-scale-red-5);--brand-Accordion-toggle-color-red-orange-start:var(--base-color-scale-red-5);--brand-Accordion-toggle-color-red-orange-end:var(--base-color-scale-orange-5);--brand-Accordion-toggle-color-teal:var(--base-color-scale-teal-5);--brand-Accordion-toggle-color-yellow:var(--base-color-scale-yellow-5);--brand-Accordion-border-color-default:var(--brand-color-border-muted);--brand-Accordion-indicator-idle:var(--base-color-scale-gray-3);--brand-Accordion-indicator-hover:var(--base-color-scale-gray-5);--brand-Accordion-indicator-active:var(--brand-color-accent-primary)}[data-color-mode=dark]{--brand-Accordion-toggle-color-start:var(--brand-color-accent-primary);--brand-Accordion-toggle-color-end:var(--brand-color-accent-primary);--brand-Accordion-toggle-color-default:var(--brand-color-text-default);--brand-Accordion-toggle-color-blue:var(--base-color-scale-blue-2);--brand-Accordion-toggle-color-blue-purple-start:var(--base-color-scale-blue-2);--brand-Accordion-toggle-color-blue-purple-end:var(--base-color-scale-purple-2);--brand-Accordion-toggle-color-coral:var(--base-color-scale-coral-2);--brand-Accordion-toggle-color-green:var(--base-color-scale-green-2);--brand-Accordion-toggle-color-green-blue-start:var(--base-color-scale-green-2);--brand-Accordion-toggle-color-green-blue-end:var(--base-color-scale-blue-2);--brand-Accordion-toggle-color-gray:var(--base-color-scale-gray-2);--brand-Accordion-toggle-color-indigo:var(--base-color-scale-indigo-2);--brand-Accordion-toggle-color-lemon:var(--base-color-scale-lemon-2);--brand-Accordion-toggle-color-lime:var(--base-color-scale-lime-2);--brand-Accordion-toggle-color-orange:var(--base-color-scale-orange-2);--brand-Accordion-toggle-color-pink:var(--base-color-scale-pink-2);--brand-Accordion-toggle-color-pink-blue-start:var(--base-color-scale-pink-2);--brand-Accordion-toggle-color-pink-blue-end:var(--base-color-scale-blue-2);--brand-Accordion-toggle-color-purple:var(--base-color-scale-purple-2);--brand-Accordion-toggle-color-purple-red-start:var(--base-color-scale-purple-2);--brand-Accordion-toggle-color-purple-red-end:var(--base-color-scale-red-2);--brand-Accordion-toggle-color-red:var(--base-color-scale-red-2);--brand-Accordion-toggle-color-red-orange-start:var(--base-color-scale-red-2);--brand-Accordion-toggle-color-red-orange-end:var(--base-color-scale-orange-2);--brand-Accordion-toggle-color-teal:var(--base-color-scale-teal-2);--brand-Accordion-toggle-color-yellow:var(--base-color-scale-yellow-2);--brand-Accordion-border-color-default:var(--brand-color-border-muted);--brand-Accordion-indicator-idle:var(--base-color-scale-gray-7);--brand-Accordion-indicator-hover:var(--base-color-scale-gray-5);--brand-Accordion-indicator-active:var(--brand-color-accent-primary)}.Primer_Brand__Accordion-module__Accordion___M_LPt{--brand-Accordion-content-height:0px;box-sizing:border-box;position:relative}.Primer_Brand__Accordion-module__Accordion--disableAnimation___kmWJk:after,.Primer_Brand__Accordion-module__Accordion--disableAnimation___kmWJk .Primer_Brand__Accordion-module__Accordion__summary-toggleIcon___IdMKy,.Primer_Brand__Accordion-module__Accordion--disableAnimation___kmWJk>.Primer_Brand__Accordion-module__Accordion__content___wMZGe,.Primer_Brand__Accordion-module__Accordion--disableAnimation___kmWJk>.Primer_Brand__Accordion-module__Accordion__content___wMZGe>.Primer_Brand__Accordion-module__Accordion__content-inner___AZfFA{transition:none}.Primer_Brand__Accordion-module__Accordion--default___wLsHR{border-bottom:var(--brand-borderWidth-thin) solid var(--brand-Accordion-border-color-default)}.Primer_Brand__Accordion-module__Accordion--emphasis___j9wgA:not(.Primer_Brand__Accordion-module__Accordion___M_LPt .Primer_Brand__Accordion-module__Accordion___M_LPt)>.Primer_Brand__Accordion-module__Accordion__summary___NUIYc{background-color:var(--brand-color-canvas-subtle);border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-block:var(--base-size-20);padding-inline:var(--base-size-20);justify-content:flex-start;align-items:center;gap:0}.Primer_Brand__Accordion-module__Accordion__summary--emphasis___FqzWk:before{content:"";width:calc(var(--base-size-8) - 1px);height:var(--base-size-12);background-color:var(--brand-Accordion-indicator-idle);flex-shrink:0;margin-inline-end:var(--base-size-12);display:block}.Primer_Brand__Accordion-module__Accordion__summary--emphasis___FqzWk:hover:before{background-color:var(--brand-Accordion-indicator-hover)}details[open]>.Primer_Brand__Accordion-module__Accordion__summary--emphasis___FqzWk:before{background-color:var(--brand-Accordion-indicator-active)}.Primer_Brand__Accordion-module__Accordion__summary--emphasis___FqzWk h3,.Primer_Brand__Accordion-module__Accordion__summary--emphasis___FqzWk h4,.Primer_Brand__Accordion-module__Accordion__summary--emphasis___FqzWk h5,.Primer_Brand__Accordion-module__Accordion__summary--emphasis___FqzWk h6{font-family:var(--brand-fontStack-monospace);font-size:var(--brand-text-size-100);font-weight:var(--brand-text-weight-500);line-height:var(--brand-text-lineHeight-100);letter-spacing:.15px;text-transform:uppercase}.Primer_Brand__Accordion-module__Accordion--emphasis___j9wgA:not(.Primer_Brand__Accordion-module__Accordion___M_LPt .Primer_Brand__Accordion-module__Accordion___M_LPt)+.Primer_Brand__Accordion-module__Accordion--emphasis___j9wgA:not(.Primer_Brand__Accordion-module__Accordion___M_LPt .Primer_Brand__Accordion-module__Accordion___M_LPt)>.Primer_Brand__Accordion-module__Accordion__summary___NUIYc{border-block-start:none}.Primer_Brand__Accordion-module__Accordion--emphasis___j9wgA:not(.Primer_Brand__Accordion-module__Accordion___M_LPt .Primer_Brand__Accordion-module__Accordion___M_LPt)>.Primer_Brand__Accordion-module__Accordion__content___wMZGe{border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__Accordion-module__Accordion--emphasis___j9wgA:not(.Primer_Brand__Accordion-module__Accordion___M_LPt .Primer_Brand__Accordion-module__Accordion___M_LPt)>.Primer_Brand__Accordion-module__Accordion__content___wMZGe>.Primer_Brand__Accordion-module__Accordion__content-inner___AZfFA{padding-block-start:var(--base-size-12);padding-inline:var(--base-size-20)}.Primer_Brand__Accordion-module__Accordion--emphasis___j9wgA:not(.Primer_Brand__Accordion-module__Accordion___M_LPt .Primer_Brand__Accordion-module__Accordion___M_LPt)>.Primer_Brand__Accordion-module__Accordion__content___wMZGe>.Primer_Brand__Accordion-module__Accordion__content-inner___AZfFA:after{block-size:var(--base-size-12)}.Primer_Brand__Accordion-module__Accordion--emphasis___j9wgA .Primer_Brand__Accordion-module__Accordion--default___wLsHR:last-child{border-bottom:none}.Primer_Brand__Accordion-module__Accordion--emphasis___j9wgA .Primer_Brand__Accordion-module__Accordion--default___wLsHR:last-child:after{display:none}.Primer_Brand__Accordion-module__Accordion--default___wLsHR:after{content:"";background-color:var(--brand-Accordion-border-color-default);height:var(--brand-borderWidth-thin);transition:background-color var(--brand-animation-duration-fast) var(--brand-animation-easing-glide), transform var(--brand-animation-duration-fast) var(--brand-animation-easing-glide);transform-origin:50% 100%;width:100%;position:absolute;bottom:0;left:0;transform:scaleY(0)}.Primer_Brand__Accordion-module__Accordion--default___wLsHR:hover:after,details[open].Primer_Brand__Accordion-module__Accordion--default___wLsHR:after{background-color:var(--brand-color-accent-primary);transform:scaleY(1)}.Primer_Brand__Accordion-module__Accordion__summary___NUIYc{cursor:pointer;padding:var(--base-size-24) 0;justify-content:space-between;align-items:center;display:flex;position:relative}.Primer_Brand__Accordion-module__Accordion__summary___NUIYc::-webkit-details-marker{display:none}.Primer_Brand__Accordion-module__Accordion__summary___NUIYc:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus)}details[open].Primer_Brand__Accordion-module__Accordion___M_LPt:has(>summary:focus-visible){outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}details[open].Primer_Brand__Accordion-module__Accordion___M_LPt>.Primer_Brand__Accordion-module__Accordion__summary___NUIYc:focus-visible{outline:none}.Primer_Brand__Accordion-module__Accordion__summary-toggle___Hw7fW{cursor:pointer;height:var(--base-size-24);width:var(--base-size-24);color:var(--brand-color-text-emphasized);justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.Primer_Brand__Accordion-module__Accordion__summary___NUIYc:not(.Primer_Brand__Accordion-module__Accordion__summary--reversed-toggles___cpkAW) .Primer_Brand__Accordion-module__Accordion__summary-toggle___Hw7fW{right:0}.Primer_Brand__Accordion-module__Accordion__summary--emphasis___FqzWk .Primer_Brand__Accordion-module__Accordion__summary-toggle___Hw7fW{color:var(--brand-color-text-default);order:1;margin-inline-start:auto;position:static;transform:none}.Primer_Brand__Accordion-module__Accordion__summary--reversed-toggles___cpkAW .Primer_Brand__Accordion-module__Accordion__summary-toggle___Hw7fW{left:0}.Primer_Brand__Accordion-module__Accordion__summary--default___C4Jx_ .Primer_Brand__Accordion-module__Accordion__summary-toggle___Hw7fW{color:var(--brand-Accordion-toggle-color-start,var(--brand-color-text-emphasized))}.Primer_Brand__Accordion-module__Accordion__summary-toggleIcon___IdMKy{transform-origin:50%;transition:transform var(--brand-animation-duration-fast) var(--brand-animation-easing-glide)}details[open]>.Primer_Brand__Accordion-module__Accordion__summary___NUIYc .Primer_Brand__Accordion-module__Accordion__summary-toggleIcon___IdMKy{transform:rotate(-180deg)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-default___J06Ol{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-default)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-blue___BpPxQ{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-blue)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-blue-purple___R4Ta3{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-blue-purple-start)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-coral___T3Lvh{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-coral)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-green___GThPe{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-green)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-green-blue___PHnZc{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-green-blue-start)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-gray___gGQN8{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-gray)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-indigo___f5_9S{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-indigo)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-lemon___c5Gz6{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-lemon)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-lime___Tj0cg{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-lime)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-orange____Dby3{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-orange)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-pink___BXVJc{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-pink)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-pink-blue___NVPxr{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-pink-blue-start)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-purple___whcwP{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-purple)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-purple-red___l3gUG{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-purple-red-start)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-red___txXJX{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-red)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-red-orange___ZODhv{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-red-orange-start)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-teal___h2drb{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-teal)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-yellow___WGTG3{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-yellow)}.Primer_Brand__Accordion-module__Accordion__summary--default___C4Jx_:not(.Primer_Brand__Accordion-module__Accordion__summary--reversed-toggles___cpkAW){padding-inline-end:var(--base-size-48)}.Primer_Brand__Accordion-module__Accordion__summary--reversed-toggles___cpkAW{padding-inline-start:var(--base-size-48)}.Primer_Brand__Accordion-module__Accordion__content___wMZGe,.Primer_Brand__Accordion-module__Accordion__content___wMZGe p,.Primer_Brand__Accordion-module__Accordion__content___wMZGe span:not(.Primer_Brand__Accordion-module__Accordion__summary-toggle___Hw7fW),.Primer_Brand__Accordion-module__Accordion__content___wMZGe ul,.Primer_Brand__Accordion-module__Accordion__content___wMZGe ol{color:var(--brand-color-text-muted);font-family:var(--brand-fontStack-sansSerif);font-weight:var(--brand-text-weight-200);font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200)}.Primer_Brand__Accordion-module__Accordion__content___wMZGe{max-height:0;transition:max-height var(--brand-animation-duration-fast) var(--brand-animation-easing-glide);position:relative;overflow:hidden}.Primer_Brand__Accordion-module__Accordion__content-inner___AZfFA{opacity:0;transition:opacity var(--brand-animation-duration-fast) var(--brand-animation-easing-glide)}.Primer_Brand__Accordion-module__Accordion--default___wLsHR>.Primer_Brand__Accordion-module__Accordion__content___wMZGe{top:calc(var(--base-size-2) - var(--base-size-24))}.Primer_Brand__Accordion-module__Accordion__summary--default___C4Jx_+.Primer_Brand__Accordion-module__Accordion__content___wMZGe>.Primer_Brand__Accordion-module__Accordion__content-inner___AZfFA:before{content:"";block-size:var(--base-size-12);display:block}.Primer_Brand__Accordion-module__Accordion__content-inner___AZfFA:after{content:"";display:block}[data-color-mode=dark] .Primer_Brand__Accordion-module__Accordion__content___wMZGe{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:auto}.Primer_Brand__Accordion-module__Accordion__content___wMZGe p:not(:first-child){margin-block-start:var(--base-size-16)}.Primer_Brand__Accordion-module__Accordion__content___wMZGe a{color:var(--brand-InlineLink-color-rest);-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration-color:var(--brand-InlineLink-color-rest);text-decoration-color:var(--brand-InlineLink-color-rest);text-decoration-thickness:var(--brand-borderWidth-thin);text-underline-position:under;transition:var(--brand-InlineLink-transition-timing) text-decoration;position:relative}.Primer_Brand__Accordion-module__Accordion__content___wMZGe a:hover{text-decoration-thickness:var(--brand-borderWidth-thick)}.Primer_Brand__Accordion-module__Accordion__content___wMZGe a,.Primer_Brand__Accordion-module__Accordion__content___wMZGe a>span{font-weight:inherit;color:var(--brand-InlineLink-color-rest)}.Primer_Brand__Accordion-module__Accordion__content___wMZGe a:active,.Primer_Brand__Accordion-module__Accordion__content___wMZGe a:active>span{color:var(--brand-InlineLink-color-pressed)}details[open]>.Primer_Brand__Accordion-module__Accordion__content___wMZGe{max-height:var(--brand-Accordion-content-height);z-index:0;position:relative}details[open].Primer_Brand__Accordion-module__Accordion--disableAnimation___kmWJk>.Primer_Brand__Accordion-module__Accordion__content___wMZGe{max-height:none}details[open]>.Primer_Brand__Accordion-module__Accordion__content___wMZGe>.Primer_Brand__Accordion-module__Accordion__content-inner___AZfFA{opacity:1}details.Primer_Brand__Accordion-module__Accordion--closing___fnh8x>.Primer_Brand__Accordion-module__Accordion__content___wMZGe{max-height:0}details.Primer_Brand__Accordion-module__Accordion--closing___fnh8x>.Primer_Brand__Accordion-module__Accordion__content___wMZGe>.Primer_Brand__Accordion-module__Accordion__content-inner___AZfFA{opacity:0}.Primer_Brand__Accordion-module__Accordion__summary--default___C4Jx_+.Primer_Brand__Accordion-module__Accordion__content___wMZGe,details[open]>.Primer_Brand__Accordion-module__Accordion__summary--default___C4Jx_+.Primer_Brand__Accordion-module__Accordion__content___wMZGe,details.Primer_Brand__Accordion-module__Accordion--closing___fnh8x>.Primer_Brand__Accordion-module__Accordion__summary--default___C4Jx_+.Primer_Brand__Accordion-module__Accordion__content___wMZGe{margin-block-start:0}details.Primer_Brand__Accordion-module__Accordion--closing___fnh8x>.Primer_Brand__Accordion-module__Accordion__summary___NUIYc .Primer_Brand__Accordion-module__Accordion__summary-toggleIcon___IdMKy{transform:rotate(0)}details[open]>.Primer_Brand__Accordion-module__Accordion__summary--reversed-toggles___cpkAW+.Primer_Brand__Accordion-module__Accordion__content___wMZGe{padding-inline-start:var(--base-size-48)}@media screen and (width>=48rem){.Primer_Brand__Accordion-module__Accordion__summary___NUIYc{gap:var(--base-size-40)}}@media (prefers-reduced-motion:reduce){.Primer_Brand__Accordion-module__Accordion___M_LPt,.Primer_Brand__Accordion-module__Accordion___M_LPt:before,.Primer_Brand__Accordion-module__Accordion___M_LPt:after,.Primer_Brand__Accordion-module__Accordion___M_LPt *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__Icon-module__Icon___bf2xY{box-sizing:content-box;padding:0}.Primer_Brand__Icon-module__Icon___bf2xY>svg{display:block}.Primer_Brand__Icon-module__Icon--size-20___bxF8U{width:var(--base-size-20);height:var(--base-size-20)}.Primer_Brand__Icon-module__Icon--size-24___yTJML{width:var(--base-size-24);height:var(--base-size-24)}.Primer_Brand__Icon-module__Icon--size-28___tnGmL{width:var(--base-size-28);height:var(--base-size-28)}.Primer_Brand__Icon-module__Icon--size-32___Rhkw8{width:var(--base-size-32);height:var(--base-size-32)}.Primer_Brand__Icon-module__Icon--size-36___F4Mcj{width:var(--base-size-36);height:var(--base-size-36)}.Primer_Brand__Icon-module__Icon--size-40___cXhgu{width:var(--base-size-40);height:var(--base-size-40)}.Primer_Brand__Icon-module__Icon--size-44___vwox2{width:var(--base-size-44);height:var(--base-size-44)}.Primer_Brand__Icon-module__Icon--background___d6RdL{padding:var(--base-size-12);border-radius:var(--base-size-12)}.Primer_Brand__Icon-module__Icon--color-default___z2cYk{color:var(--brand-Icon-color-default)}.Primer_Brand__Icon-module__Icon--background-color-default___h6tiH{background-color:var(--brand-Icon-background-default)}.Primer_Brand__Icon-module__Icon--color-blue___Wne9C{color:var(--brand-Icon-color-blue)}.Primer_Brand__Icon-module__Icon--background-color-blue___zsNDL{background-color:var(--brand-Icon-background-blue)}.Primer_Brand__Icon-module__Icon--color-coral___vdwGj{color:var(--brand-Icon-color-coral)}.Primer_Brand__Icon-module__Icon--background-color-coral___FKaij{background-color:var(--brand-Icon-background-coral)}.Primer_Brand__Icon-module__Icon--color-green___OxAZK{color:var(--brand-Icon-color-green)}.Primer_Brand__Icon-module__Icon--background-color-green___UUQt1{background-color:var(--brand-Icon-background-green)}.Primer_Brand__Icon-module__Icon--color-gray___tVTnd{color:var(--brand-Icon-color-gray)}.Primer_Brand__Icon-module__Icon--background-color-gray___dpdtX{background-color:var(--brand-Icon-background-gray)}.Primer_Brand__Icon-module__Icon--color-indigo___OrE5M{color:var(--brand-Icon-color-indigo)}.Primer_Brand__Icon-module__Icon--background-color-indigo___TIqOT{background-color:var(--brand-Icon-background-indigo)}.Primer_Brand__Icon-module__Icon--color-lemon___Ftx9H{color:var(--brand-Icon-color-lemon)}.Primer_Brand__Icon-module__Icon--background-color-lemon___BhpS6{background-color:var(--brand-Icon-background-lemon)}.Primer_Brand__Icon-module__Icon--color-lime___mQVWo{color:var(--brand-Icon-color-lime)}.Primer_Brand__Icon-module__Icon--background-color-lime___K4TMA{background-color:var(--brand-Icon-background-lime)}.Primer_Brand__Icon-module__Icon--color-orange___CIjjp{color:var(--brand-Icon-color-orange)}.Primer_Brand__Icon-module__Icon--background-color-orange___z52U7{background-color:var(--brand-Icon-background-orange)}.Primer_Brand__Icon-module__Icon--color-pink___cS_v5{color:var(--brand-Icon-color-pink)}.Primer_Brand__Icon-module__Icon--background-color-pink___cy5Kg{background-color:var(--brand-Icon-background-pink)}.Primer_Brand__Icon-module__Icon--color-purple___d05Sh{color:var(--brand-Icon-color-purple)}.Primer_Brand__Icon-module__Icon--background-color-purple___JmhnQ{background-color:var(--brand-Icon-background-purple)}.Primer_Brand__Icon-module__Icon--color-red___K_2c0{color:var(--brand-Icon-color-red)}.Primer_Brand__Icon-module__Icon--background-color-red___qoirP{background-color:var(--brand-Icon-background-red)}.Primer_Brand__Icon-module__Icon--color-teal___fix20{color:var(--brand-Icon-color-teal)}.Primer_Brand__Icon-module__Icon--background-color-teal___a7cyd{background-color:var(--brand-Icon-background-teal)}.Primer_Brand__Icon-module__Icon--color-yellow___Z1juk{color:var(--brand-Icon-color-yellow)}.Primer_Brand__Icon-module__Icon--background-color-yellow___Yhfck{background-color:var(--brand-Icon-background-yellow)}:root{--brand-Icon-color-yellow:var(--base-color-scale-yellow-5);--brand-Icon-color-teal:var(--base-color-scale-teal-5);--brand-Icon-color-red:var(--base-color-scale-red-5);--brand-Icon-color-purple:var(--base-color-scale-purple-5);--brand-Icon-color-pink:var(--base-color-scale-pink-5);--brand-Icon-color-orange:var(--base-color-scale-orange-5);--brand-Icon-color-lime:var(--base-color-scale-lime-5);--brand-Icon-color-lemon:var(--base-color-scale-lemon-5);--brand-Icon-color-indigo:var(--base-color-scale-indigo-5);--brand-Icon-color-gray:var(--base-color-scale-gray-6);--brand-Icon-color-green:var(--base-color-scale-green-6);--brand-Icon-color-coral:var(--base-color-scale-coral-5);--brand-Icon-color-blue:var(--base-color-scale-blue-5);--brand-Icon-color-default:var(--brand-Icon-color-green);--brand-Icon-background-yellow:var(--base-color-scale-yellow-0);--brand-Icon-background-teal:var(--base-color-scale-teal-0);--brand-Icon-background-red:var(--base-color-scale-red-0);--brand-Icon-background-purple:var(--base-color-scale-purple-0);--brand-Icon-background-pink:var(--base-color-scale-pink-0);--brand-Icon-background-orange:var(--base-color-scale-orange-0);--brand-Icon-background-lime:var(--base-color-scale-lime-0);--brand-Icon-background-lemon:var(--base-color-scale-lemon-0);--brand-Icon-background-indigo:var(--base-color-scale-indigo-0);--brand-Icon-background-gray:var(--base-color-scale-gray-0);--brand-Icon-background-green:var(--base-color-scale-green-0);--brand-Icon-background-coral:var(--base-color-scale-coral-0);--brand-Icon-background-blue:var(--base-color-scale-blue-0);--brand-Icon-background-default:var(--brand-Icon-background-green)}:root,[data-color-mode=light]{--brand-Icon-background-default:var(--brand-Icon-background-green);--brand-Icon-background-blue:var(--base-color-scale-blue-0);--brand-Icon-background-coral:var(--base-color-scale-coral-0);--brand-Icon-background-green:var(--base-color-scale-green-0);--brand-Icon-background-gray:var(--base-color-scale-gray-0);--brand-Icon-background-indigo:var(--base-color-scale-indigo-0);--brand-Icon-background-lemon:var(--base-color-scale-lemon-0);--brand-Icon-background-lime:var(--base-color-scale-lime-0);--brand-Icon-background-orange:var(--base-color-scale-orange-0);--brand-Icon-background-pink:var(--base-color-scale-pink-0);--brand-Icon-background-purple:var(--base-color-scale-purple-0);--brand-Icon-background-red:var(--base-color-scale-red-0);--brand-Icon-background-teal:var(--base-color-scale-teal-0);--brand-Icon-background-yellow:var(--base-color-scale-yellow-0);--brand-Icon-color-default:var(--brand-Icon-color-green);--brand-Icon-color-blue:var(--base-color-scale-blue-5);--brand-Icon-color-coral:var(--base-color-scale-coral-5);--brand-Icon-color-green:var(--base-color-scale-green-6);--brand-Icon-color-gray:var(--base-color-scale-gray-6);--brand-Icon-color-indigo:var(--base-color-scale-indigo-5);--brand-Icon-color-lemon:var(--base-color-scale-lemon-5);--brand-Icon-color-lime:var(--base-color-scale-lime-5);--brand-Icon-color-orange:var(--base-color-scale-orange-5);--brand-Icon-color-pink:var(--base-color-scale-pink-5);--brand-Icon-color-purple:var(--base-color-scale-purple-5);--brand-Icon-color-red:var(--base-color-scale-red-5);--brand-Icon-color-teal:var(--base-color-scale-teal-5);--brand-Icon-color-yellow:var(--base-color-scale-yellow-5)}[data-color-mode=dark]{--brand-Icon-background-default:var(--brand-Icon-background-green);--brand-Icon-background-blue:var(--base-color-scale-blue-8);--brand-Icon-background-coral:var(--base-color-scale-coral-8);--brand-Icon-background-green:var(--base-color-scale-green-8);--brand-Icon-background-gray:var(--base-color-scale-gray-6);--brand-Icon-background-indigo:var(--base-color-scale-indigo-8);--brand-Icon-background-lemon:var(--base-color-scale-lemon-8);--brand-Icon-background-lime:var(--base-color-scale-lime-8);--brand-Icon-background-orange:var(--base-color-scale-orange-8);--brand-Icon-background-pink:var(--base-color-scale-pink-8);--brand-Icon-background-purple:var(--base-color-scale-purple-8);--brand-Icon-background-red:var(--base-color-scale-red-8);--brand-Icon-background-teal:var(--base-color-scale-teal-8);--brand-Icon-background-yellow:var(--base-color-scale-yellow-8);--brand-Icon-color-default:var(--brand-Icon-color-green);--brand-Icon-color-blue:var(--base-color-scale-blue-2);--brand-Icon-color-coral:var(--base-color-scale-coral-2);--brand-Icon-color-green:var(--base-color-scale-green-2);--brand-Icon-color-gray:var(--base-color-scale-gray-2);--brand-Icon-color-indigo:var(--base-color-scale-indigo-2);--brand-Icon-color-lemon:var(--base-color-scale-lemon-2);--brand-Icon-color-lime:var(--base-color-scale-lime-2);--brand-Icon-color-orange:var(--base-color-scale-orange-2);--brand-Icon-color-pink:var(--base-color-scale-pink-2);--brand-Icon-color-purple:var(--base-color-scale-purple-2);--brand-Icon-color-red:var(--base-color-scale-red-2);--brand-Icon-color-teal:var(--base-color-scale-teal-2);--brand-Icon-color-yellow:var(--base-color-scale-yellow-2)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs___X8Dk9{--river-breakout-tabs-columns:1}@media screen and (width<=63.24rem){.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs___X8Dk9{width:100%;max-width:38.625rem;margin-inline:auto}}@media screen and (width>=80rem){.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs___X8Dk9{--brand-RiverBreakout-variant-gridline-spacing-outerInline:var(--base-size-60);--brand-RiverBreakout-variant-gridline-spacing-outerBlock:var(--base-size-60)}}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordion___sGtKW{flex-direction:column;display:flex}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__wideTabList___xlU3i{flex-direction:column;padding-block-end:var(--base-size-80);display:flex}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisuals___hDA4K{border-radius:var(--brand-borderRadius-small);order:1;width:100%;margin-block-end:var(--base-size-36);position:relative;overflow:hidden}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionSharedVisuals___yL4Ev{width:100%;margin-block-end:var(--base-size-16);position:relative}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisualPanel___Jkko_{z-index:1;min-width:0;position:relative}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__backgroundVisual___rywqw{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionSharedVisual___K1OyU{z-index:1;position:relative}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--has-background-visual___dx2xk .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisualPanel___Jkko_,.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--has-background-visual___dx2xk .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionSharedVisual___K1OyU{padding:var(--base-size-32)}@media screen and (width>=63.25rem){.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--has-background-visual___dx2xk .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisualPanel___Jkko_,.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--has-background-visual___dx2xk .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionSharedVisual___K1OyU{padding:var(--base-size-64)}}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--image-position-block-end___qTggg .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisualPanel___Jkko_,.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--image-position-block-end___qTggg .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionSharedVisual___K1OyU{padding-block-end:0}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--has-background-visual___dx2xk .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisual___ZpMy9:has(>[data-video-player-container]){border-radius:0}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--has-background-visual___dx2xk .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__visual--rounded___herZ2>[data-video-player-container]{border-radius:var(--brand-borderRadius-medium);overflow:hidden}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--has-background-visual___dx2xk.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--image-position-block-end___qTggg .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__visual--rounded___herZ2>[data-video-player-container]{border-radius:var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--background-visual-full-bleed___EsvXd .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisuals___hDA4K{border-radius:0;overflow:visible}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--background-visual-full-bleed___EsvXd .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__backgroundVisual___rywqw{inset-block-start:calc(-1 * var(--brand-RiverBreakout-variant-gridline-spacing-outerBlock));inset-inline:calc(-1 * var(--brand-RiverBreakout-variant-gridline-spacing-outerInline))}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisual___ZpMy9 img,.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisual___ZpMy9 picture,.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisual___ZpMy9 video,.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionSharedVisual___K1OyU img,.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionSharedVisual___K1OyU picture,.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionSharedVisual___K1OyU video{max-width:100%;display:block}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs___X8Dk9 [class*=River__visual--rounded]{border-radius:var(--brand-borderRadius-small)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisualPanel___Jkko_[hidden]{display:none}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__tablist___f5FNH{grid-template-columns:repeat(var(--river-breakout-tabs-columns), minmax(0, 1fr));grid-gap:var(--base-size-40);gap:var(--base-size-40);order:2;display:grid}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__wideTabListActions___iCX6R{grid-template-columns:repeat(var(--river-breakout-tabs-columns), minmax(0, 1fr));grid-gap:var(--base-size-40);gap:var(--base-size-40);order:3;display:grid}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__item___SymTq{flex-direction:column;align-items:flex-start;min-width:0;display:flex;position:relative}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__item___SymTq:before{content:"";height:var(--brand-borderWidth-thin);transform-origin:50% 0;background-color:var(--brand-color-border-muted);transition:transform var(--brand-animation-duration-fast) ease, background-color var(--brand-animation-duration-fast) ease;position:absolute;inset-block-start:0;inset-inline:0;transform:scaleY(1)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__item--selected___dLXod:before{transform:translateY(calc(-1 * var(--brand-borderWidth-thin))) scaleY(2);background-color:var(--brand-color-accent-primary)}@media screen and (width>=63.25rem) and (hover:hover) and (pointer:fine){.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__item___SymTq:hover:before{transform:translateY(calc(-1 * var(--brand-borderWidth-thin))) scaleY(2);background-color:var(--brand-color-accent-primary)}}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__heading___HScg4{color:var(--brand-color-text-muted);transition:color var(--brand-animation-duration-fast) ease-in-out;margin:0}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__item--selected___dLXod .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__heading___HScg4{color:var(--brand-color-text-default)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__icon___Xr8op{justify-content:center;align-items:center;display:inline-flex}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__tab___tHZFA{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;outline:none;flex-direction:column;align-items:flex-start;padding-block-start:var(--base-size-28);padding-inline:0;display:flex}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__tab___tHZFA:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-4)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__tabHeading___cEwLt{margin:0}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__tab___tHZFA>*+.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__tabHeading___cEwLt{margin-block-start:var(--base-size-20)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__wideTabListContent___D9V9I{align-items:flex-start;gap:var(--base-size-12);flex-direction:column;margin-block-start:var(--base-size-12);display:flex}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__wideTabListAction___SaBmu{color:var(--brand-Link-color-accent);font-weight:var(--base-text-weight-medium);-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__wideTabListActionItem___q6pS2{margin-block-start:var(--base-size-12)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__content___LpEoz{align-items:flex-start;gap:var(--base-size-12);flex-direction:column;display:flex}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__link___zcQY5{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordion___sGtKW{padding-block-end:var(--base-size-40)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionContent___wykRr{align-items:flex-start;gap:var(--base-size-12);flex-direction:column;display:flex}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionContent___wykRr .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__link___zcQY5,.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionContent___wykRr .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__link___zcQY5>span{color:var(--brand-Link-color-accent);font-weight:var(--base-text-weight-medium)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionContent___wykRr .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__link___zcQY5{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionItem___SyD2o{border-top:none}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionItem___SyD2o:after{display:none}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionItem___SyD2o:before{content:"";height:var(--brand-borderWidth-thin);transform-origin:50% 0;background-color:var(--brand-color-border-muted);transition:transform var(--brand-animation-duration-fast) ease, background-color var(--brand-animation-duration-fast) ease;position:absolute;inset-block-start:0;inset-inline:0;transform:scaleY(1)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionItem___SyD2o.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__item--selected___dLXod:before{transform:translateY(calc(-1 * var(--brand-borderWidth-thin))) scaleY(2);background-color:var(--brand-color-accent-primary)}@media (hover:hover) and (pointer:fine){.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionItem___SyD2o:hover:before{transform:translateY(calc(-1 * var(--brand-borderWidth-thin))) scaleY(2);background-color:var(--brand-color-accent-primary)}}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionHeading___RiuA9{color:var(--brand-color-text-default)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionHeadingInner___vvOjI{align-items:flex-start;gap:var(--base-size-12);flex-direction:column;display:inline-flex}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionIcon___pslaZ{flex-shrink:0}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionLabel___gIy1N{align-items:center;display:inline-flex}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionPanel___EqiKL{gap:var(--base-size-24);flex-direction:column;display:flex}@media screen and (width>=618px){.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs___X8Dk9{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}@media screen and (width>=63.25rem){.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs___X8Dk9{border-inline:none}}@media screen and (width>=1300px){.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs___X8Dk9{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--ease:cubic-bezier(.22, .56, .23, .89);-webkit-font-smoothing:antialiased;--stackDistance:calc(var(--base-size-24) * -1);--visualMaxWidth:1032px;--visualMaxWidthUL:1032;--visualMaxHeight:min(690px, 60vh);--visualMaxHeightUL:690;--storyScrollPadding:min(32px, 5vw);position:relative}@media (height<=720px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--visualMaxHeight:55vh}}@media (height<=600px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--visualMaxHeight:50vh}}@media (height<=500px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--visualMaxHeight:40vh}}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__inner___V0daX{position:relative}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-cover___rCa_Y{width:100%;position:absolute;left:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__image___WmawN{z-index:10;border-radius:var(--brand-borderRadius-large);width:auto;margin-left:auto;margin-right:auto;display:block;position:relative}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll--enabled___EpqB5 .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__internal-river___eUmDR{grid-template-columns:1fr;gap:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll--enabled___EpqB5 .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__internal-river___eUmDR img,.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll--enabled___EpqB5 .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__internal-river___eUmDR video{display:none}@media (width<=542px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--topOffset:calc((100vh - min(664px, 60vh)) / 5)}}@media (width<=768px) and (height>=670px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--extraBottomSpacing:calc(-1 * (100vh - 100vw) / 5)}}@media (width>=542px) and (width<=1028px) and (height>=670px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--extraBottomSpacing:calc(-1 * (100vh - 100vw) / 3)}}@media (width>=542px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--scrollTextHeight:42vh}}@media (height<=520px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--scrollTextHeight:70vh}}@media (width>=1028px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--stackDistance:-30px}}@media (height<=800px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--stackDistance:-20px}}@media (height<=500px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--stackDistance:-15px}}@media screen and (width<=768px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--topOffset:calc((100vh - min(664px, 60vh)) / 3);--availableWidth:calc(100vw - var(--storyScrollPadding) * 2);--relativeVisualHeight:calc(var(--visualMaxHeightUL) / var(--visualMaxWidthUL) * var(--availableWidth));--visualHeight:min(var(--visualMaxHeight), var(--relativeVisualHeight));--visualWidth:calc(var(--visualHeight) * var(--visualMaxWidthUL) / var(--visualMaxHeightUL));--scrollTextHeight:58vh;--textToVisualPadding:max(5vh, 40px);--topScrollOffset:calc(var(--visualHeight));--bottomScrollOffset:calc(100vh - var(--topOffset) - var(--visualHeight) - var(--textToVisualPadding));--extraBottomSpacing:70px}@supports (height:100dvh){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-container-inner___oFalR{height:100dvh}}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-container___ZJlnt{width:100%;height:100%;position:absolute;top:0;left:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__tracker___SR7oo{min-height:var(--scrollTextHeight);transition:opacity .3s var(--ease);position:relative}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__tracker___SR7oo:has(+.Primer_Brand__RiverStoryScroll-module__in-viewport___AxNUA){opacity:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__tracker___SR7oo.Primer_Brand__RiverStoryScroll-module__in-viewport___AxNUA+.Primer_Brand__RiverStoryScroll-module__outside-viewport___ivCAg{opacity:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{max-width:calc(1032px + var(--storyScrollPadding) * 2);padding-right:var(--storyScrollPadding);padding-left:var(--storyScrollPadding);margin-top:min(30vw,22vh);margin-left:auto;margin-right:auto}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__content-container--below____OTaq{padding-top:var(--topScrollOffset);padding-bottom:var(--bottomScrollOffset)}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__image___WmawN{width:100%;height:auto;max-width:var(--visualWidth);border-radius:var(--brand-borderRadius-large)}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-container-inner___oFalR{pointer-events:none;padding-top:var(--topOffset);margin-top:calc(-1 * var(--topOffset));z-index:1;flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual--below___gJyav{background-image:linear-gradient(180deg, var(--brand-RiverStoryScroll-content-inactive-bgColor) calc(var(--topOffset) + var(--visualHeight) + 3px), transparent calc(var(--topOffset) + var(--visualHeight) + var(--textToVisualPadding)), transparent 93%, var(--brand-RiverStoryScroll-content-inactive-bgColor) 99%)}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual--below___gJyav .Primer_Brand__RiverStoryScroll-module__story-scroll-text___isxdl{margin-top:var(--base-size-40)}.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B{opacity:0;display:none}.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B:nth-child(2){opacity:1;display:block}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-scroll-responder___DKr1C{transition:.5s var(--ease) transform, .5s var(--ease) filter, .5s var(--ease) opacity;pointer-events:auto}.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B:has(~.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv){margin-left:auto;margin-right:auto;display:block;position:absolute;left:0;right:0}.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv+.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B{transform:translateY(calc(var(--stackDistance) * -1)) scale(1.015);margin-left:auto;margin-right:auto;display:block;position:absolute;left:0;right:0}.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B:has(+.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv){transform:translateY(var(--stackDistance)) scale(.95);filter:brightness(70%);opacity:1}.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B:has(+.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B+.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv){transform:translateY(calc(var(--stackDistance) * 2)) scale(.9);filter:brightness(50%);opacity:1}.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B:has(+.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B+.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B+.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv){transform:translateY(calc(var(--stackDistance) * 3)) scale(.85);filter:brightness(30%);opacity:1}.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B:has(+.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B+.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B+.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B+.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv){transform:translateY(calc(var(--stackDistance) * 4)) scale(.8);filter:brightness(10%);opacity:1}.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv{display:block;position:relative}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__content-stack___jBEVs{padding-top:var(--textToVisualPadding);top:calc(var(--topOffset) + var(--visualHeight));position:sticky}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__tracker___SR7oo:last-child .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__content-stack___jBEVs{height:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination___KPrEv{gap:var(--base-size-4);left:calc(var(--base-size-20) * -1 - 2px);height:var(--visualHeight);margin:auto;flex-direction:column;justify-content:center;margin-block-start:calc(var(--base-size-20) * -1);display:flex;position:absolute;right:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination-dot___G_E1k{border-radius:var(--brand-borderRadius-large);opacity:.55;background:var(--brand-RiverStoryScroll-pagination-fgColor);width:6px;height:6px;transition:opacity var(--brand-animation-duration-default) var(--ease), height var(--brand-animation-duration-default) var(--ease)}.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv:nth-child(2)~.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination___KPrEv .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination-dot___G_E1k:first-child,.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv:nth-child(3)~.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination___KPrEv .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination-dot___G_E1k:nth-child(2),.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv:nth-child(4)~.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination___KPrEv .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination-dot___G_E1k:nth-child(3),.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv:nth-child(5)~.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination___KPrEv .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination-dot___G_E1k:nth-child(4),.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv:nth-child(6)~.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination___KPrEv .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination-dot___G_E1k:nth-child(5){opacity:1;height:var(--base-size-24)}}@media screen and (width>=768px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__inner___V0daX{grid-gap:var(--base-size-24);gap:var(--base-size-24);grid-template-columns:1fr 1fr;display:grid}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-container___ZJlnt{order:2;align-items:center;width:100%;height:80vh;display:flex;position:sticky;top:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-container-inner___oFalR,.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__image___WmawN{width:100%}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-scroll-responder___DKr1C{width:100%;transition:opacity .3s var(--ease);padding-top:10vh;position:sticky;top:0;right:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-container-inner___oFalR.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual--below___gJyav{position:sticky;top:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-scroll-responder___DKr1C.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B{z-index:-1;opacity:0;position:absolute;top:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-scroll-responder___DKr1C.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv{z-index:1;opacity:1}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__content-container____Rsbs.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__content-container--below____OTaq{padding-top:10vh}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__content-container____Rsbs.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__content-container--below____OTaq .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__tracker___SR7oo{padding:20vh 0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__tracker___SR7oo.Primer_Brand__RiverStoryScroll-module__outside-viewport___ivCAg{position:relative}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__tracker___SR7oo{filter:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__tracker___SR7oo.Primer_Brand__RiverStoryScroll-module__outside-viewport___ivCAg{filter:blur(1px);transition:filter var(--brand-animation-duration-extended) var(--brand-animation-easing-default)}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__tracker___SR7oo:after{content:"";transition:opacity var(--brand-animation-duration-extended) var(--brand-animation-easing-default), visibility var(--brand-animation-duration-extended) var(--brand-animation-easing-default);opacity:0;visibility:hidden;background-color:var(--brand-RiverStoryScroll-content-inactive-bgColor);position:absolute;inset:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__tracker___SR7oo.Primer_Brand__RiverStoryScroll-module__outside-viewport___ivCAg:after{opacity:.7;visibility:visible}}@media screen and (width>=768px) and (height>=900px) and (prefers-reduced-motion:no-preference){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{margin-top:-20vh}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__content-container____Rsbs.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__content-container--below____OTaq{padding-top:16vh}}@media (prefers-reduced-motion:reduce){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z,.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z:before,.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z:after,.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root,[data-color-mode=light]{--brand-RiverStoryScroll-pagination-fgColor:var(--base-color-scale-gray-6);--brand-RiverStoryScroll-content-inactive-bgColor:var(--brand-color-canvas-default)}[data-color-mode=dark]{--brand-RiverStoryScroll-pagination-fgColor:var(--base-color-scale-white-0);--brand-RiverStoryScroll-content-inactive-bgColor:var(--brand-color-canvas-default)}.Primer_Brand__Pagination-module__Pagination___qDHkk{margin-top:var(--base-size-20);margin-bottom:var(--base-size-16);text-align:center}.Primer_Brand__Pagination-module__Pagination__inner___tB9Za{justify-content:center;align-items:center;gap:var(--base-size-8);flex-wrap:wrap;display:inline-flex}.Primer_Brand__Pagination-module__Pagination__pageItem___Ehtp4{--brand-button-subtle-borderColor-rest:transparent;--brand-button-subtle-borderColor-hover:transparent;--brand-button-subtle-borderColor-active:transparent;transition:none}.Primer_Brand__Pagination-module__Pagination__controlContent___QuYzj{gap:var(--base-size-4);align-items:center;display:inline-flex;position:relative}.Primer_Brand__Pagination-module__Pagination__controlArrowWrapper___UbqtD{flex-shrink:0;display:none}.Primer_Brand__Pagination-module__Pagination__controlArrowWrapper--previous___yVz6V{transform:translateX(var(--base-size-2))}.Primer_Brand__Pagination-module__Pagination__controlArrowWrapper--next___jHfRO{transform:translateX(calc(var(--base-size-2) * -1))}.Primer_Brand__Pagination-module__Pagination__controlArrow___gKpCw{width:var(--base-size-16);height:var(--base-size-16)}@media screen and (width<=47.99rem){.Primer_Brand__Pagination-module__Pagination__controlItem___jcLa5{padding-inline:var(--base-size-8);--brand-button-subtle-borderColor-rest:transparent;--brand-button-subtle-borderColor-hover:transparent;--brand-button-subtle-borderColor-active:transparent}.Primer_Brand__Pagination-module__Pagination__controlText___jthrj{width:var(--base-size-2);height:var(--base-size-2);clip:rect(0, 0, 0, 0);word-wrap:normal;border:0;padding:0;position:absolute;overflow:hidden}.Primer_Brand__Pagination-module__Pagination__controlArrowWrapper___UbqtD{display:flex}.Primer_Brand__Pagination-module__Pagination__controlItem___jcLa5>span{align-items:center;display:flex}.Primer_Brand__Pagination-module__Pagination__controlItem___jcLa5>span>span{align-items:center;line-height:0;display:flex}}:root,[data-color-mode=light]{--brand-MediaPlaylist-bgColor:linear-gradient(180deg, #f2f5f380 0%, #f2f5f300 100%), var(--brand-color-canvas-default)}[data-color-mode=dark]{--brand-MediaPlaylist-bgColor:linear-gradient(180deg, var(--base-color-scale-gray-8) 0%, var(--base-color-scale-black-0) 100%), var(--brand-color-canvas-default)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist___X3BZt{padding-block-start:var(--base-size-36);padding-inline:var(--base-size-20)}@media screen and (width<=63.24rem){.Primer_Brand__MediaPlaylist-module__MediaPlaylist___X3BZt{width:100%;max-width:38.625rem;margin-inline:auto;padding:0}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___xAUrL h1+p,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___xAUrL h2+p,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___xAUrL h3+p{margin-block-start:var(--base-size-12)}}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__layout___YZKVk{background:var(--brand-MediaPlaylist-bgColor);flex-direction:column;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__playlist___nIpOa{border-block-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);order:2;min-width:0}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__heading___nM7Ip{min-height:var(--base-size-48);align-items:center;gap:var(--base-size-8);padding:var(--base-size-12) var(--base-size-16);border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);color:var(--brand-color-text-muted);font-family:var(--brand-fontStack-monospace);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);text-transform:uppercase;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__headingLabel___BRQPm{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit;margin:0}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__headingCounter___ao736{align-items:center;gap:var(--base-size-8);color:var(--brand-color-text-default);display:inline-flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__headingCounter___ao736:before{content:"•";color:var(--brand-color-text-muted)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__mediaPanels___hwtyP{width:100%;padding:var(--base-size-16);order:1}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__mediaPanel___sTQVI{min-width:0}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__mediaPanel___sTQVI[hidden]{display:none}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panel___VH451{gap:var(--base-size-20);flex-direction:column;width:100%;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___xAUrL{max-width:var(--brand-Prose-lineLength)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___rS1uR{background-color:var(--base-color-scale-black-0);overflow:hidden}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___rS1uR img,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___rS1uR picture,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___rS1uR video,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___rS1uR iframe{width:100%;max-width:100%;display:block}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__tablist___IODGO{flex-direction:column;order:2;display:flex;overflow-x:hidden}.Primer_Brand__MediaPlaylist-module__MediaPlaylist--overflowItems___tKiJV .Primer_Brand__MediaPlaylist-module__MediaPlaylist__tablist___IODGO{max-block-size:calc((3 * var(--base-size-64)) + (6 * var(--base-size-12)));overscroll-behavior:contain;scroll-padding-block:var(--base-size-24);overflow-y:auto}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__pagination___WG5zu{padding:var(--base-size-12) var(--base-size-16) var(--base-size-16);border-block-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);order:3;justify-content:center;margin:0;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__item___BXYUO{min-width:0;min-block-size:calc(var(--base-size-64) + (2 * var(--base-size-12)));flex-direction:column;flex:none;align-items:flex-start;display:flex;position:relative;overflow-x:hidden}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__item___BXYUO:before{content:"";height:var(--brand-borderWidth-thin);transform-origin:50% 100%;background-color:var(--brand-color-border-muted);transition:transform var(--brand-animation-duration-fast) ease, background-color var(--brand-animation-duration-fast) ease;position:absolute;inset-block-end:0;inset-inline:0;transform:scaleY(1)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__item--selected___vmJ8h{background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__item--selected___vmJ8h:before{background-color:var(--brand-color-accent-primary);transform:scaleY(2)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeading___mWbE8{color:var(--brand-color-text-muted);margin:0;display:block}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__item--selected___vmJ8h .Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeading___mWbE8{color:var(--brand-color-text-default)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeadingContent___Nl9LU{flex:auto;min-width:0}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeadingDetails___Y6For{gap:var(--base-size-4);flex-direction:column;min-width:0;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeadingTitle___PcEmO{color:inherit;word-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__tab___hcSSV{box-sizing:border-box;width:100%;min-block-size:calc(var(--base-size-64) + (2 * var(--base-size-12)));color:inherit;font:inherit;text-align:left;cursor:pointer;padding:var(--base-size-12) var(--base-size-16);background:0 0;border:0;outline:none;flex-direction:column;align-items:flex-start;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__tabContent___sa1zl{align-items:flex-start;gap:var(--base-size-12);width:100%;min-width:0;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__thumbnail___ApiLF{width:var(--base-size-112);block-size:calc(var(--base-size-64) - var(--brand-borderWidth-thin));aspect-ratio:16/9;border-radius:var(--brand-borderRadius-small);background-color:var(--brand-color-canvas-subtle);flex-shrink:0;display:block;overflow:hidden}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__thumbnail___ApiLF>*{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__tab___hcSSV:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-4)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__content___BaIhp{align-items:flex-start;gap:var(--base-size-12);flex-direction:column;display:flex}@media screen and (width<=63.24rem){.Primer_Brand__MediaPlaylist-module__MediaPlaylist__mediaPanels___hwtyP{padding-block-end:var(--base-size-24)}}@media screen and (width>=38.625rem){.Primer_Brand__MediaPlaylist-module__MediaPlaylist___X3BZt{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}@media screen and (width>=63.25rem){.Primer_Brand__MediaPlaylist-module__MediaPlaylist___X3BZt{box-sizing:border-box;width:100%;border-inline:none;max-inline-size:80rem;margin-inline:auto;padding:0}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__layout___YZKVk{--brand-MediaPlaylist-desktopGutter:3.75rem;--brand-MediaPlaylist-sidebarWidth:27rem;box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(0,27rem);grid-template-areas:"media tabs";grid-template-columns:minmax(0, 1fr) minmax(0, var(--brand-MediaPlaylist-sidebarWidth));grid-column-gap:3.75rem;grid-column-gap:var(--brand-MediaPlaylist-desktopGutter);-moz-column-gap:3.75rem;-moz-column-gap:var(--brand-MediaPlaylist-desktopGutter);column-gap:3.75rem;column-gap:var(--brand-MediaPlaylist-desktopGutter);width:100%;padding-inline-start:3.75rem;padding-inline-start:var(--brand-MediaPlaylist-desktopGutter);display:grid}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__playlist___nIpOa{border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);flex-direction:column;grid-area:tabs;align-self:stretch;padding-block-start:calc(var(--base-size-48) + var(--base-size-12));display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist--overflowItems___tKiJV .Primer_Brand__MediaPlaylist-module__MediaPlaylist__tablist___IODGO{max-block-size:calc((3 * var(--base-size-64)) + (6 * var(--base-size-20)))}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__mediaPanels___hwtyP{padding-block:var(--base-size-80);grid-area:media;justify-content:flex-start;align-items:flex-start;padding-inline:0;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__mediaPanel___sTQVI{width:100%}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panel___VH451{gap:var(--base-size-40)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___xAUrL,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___rS1uR{width:100%}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___rS1uR iframe{aspect-ratio:16/9;border-radius:var(--base-size-6)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeadingDetails___Y6For{font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___xAUrL h1+p,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___xAUrL h2+p,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___xAUrL h3+p{margin-block-start:var(--base-size-12)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__heading___nM7Ip{min-height:auto;padding-block-start:var(--base-size-24);padding-block-end:var(--base-size-12);padding-inline-start:var(--base-size-32);padding-inline-end:var(--brand-MediaPlaylist-desktopGutter)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__item___BXYUO{min-block-size:calc(var(--base-size-64) + (2 * var(--base-size-20)))}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__tab___hcSSV{min-block-size:calc(var(--base-size-64) + (2 * var(--base-size-20)));padding-block:var(--base-size-20);padding-inline-start:var(--base-size-32);padding-inline-end:var(--brand-MediaPlaylist-desktopGutter)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__tabContent___sa1zl{align-items:center}}@media screen and (width>=80rem){.Primer_Brand__MediaPlaylist-module__MediaPlaylist___X3BZt{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__playlist___nIpOa{border-inline-end:0}}:root,[data-color-mode=light]{--brand-control-color-border-default:var(--base-color-scale-gray-4);--brand-control-color-border-disabled:var(--base-color-scale-gray-2);--brand-control-color-canvas-disabled:var(--base-color-scale-gray-1);--brand-control-color-fg-default:var(--brand-color-text-default);--brand-control-color-fg-disabled:var(--base-color-scale-gray-4);--brand-control-color-focus:var(--base-color-scale-blue-6);--brand-control-checkbox-bg-default:var(--base-color-scale-white-0);--brand-control-checkbox-bg-hover:var(--brand-color-canvas-subtle);--brand-control-checkbox-bg-checked:var(--base-color-scale-green-6);--brand-control-checkbox-bg-checked-hover:color-mix(in srgb, var(--brand-color-text-emphasized), #000 26%);--brand-control-checkbox-bg-indeterminate:var(--base-color-scale-green-6);--brand-control-checkbox-bg-indeterminate-hover:color-mix(in srgb, var(--brand-color-text-emphasized), #000 26%);--brand-control-checkbox-bg-checked-disabled:color-mix(in srgb, var(--base-color-scale-green-6), #fff 65%);--brand-control-checkbox-fg-checked:var(--base-color-scale-white-0);--brand-control-checkbox-fg-checked-disabled:var(--base-color-scale-white-0);--brand-control-checkbox-border-default:var(--base-color-scale-gray-4);--brand-control-checkbox-border-hover:var(--base-color-scale-gray-4);--brand-control-checkbox-border-checked:var(--base-color-scale-green-6);--brand-control-checkbox-border-checked-hover:var(--brand-color-text-emphasized);--brand-control-checkbox-border-indeterminate:var(--base-color-scale-green-6);--brand-control-checkbox-border-indeterminate-hover:var(--brand-color-text-emphasized);--brand-control-checkbox-border-checked-disabled:color-mix(in srgb, var(--base-color-scale-green-6), #fff 65%);--brand-control-checkbox-border-unchecked-disabled:var(--base-color-scale-gray-1);--brand-control-radio-bg-default:var(--base-color-scale-white-0);--brand-control-radio-bg-hover:var(--brand-color-canvas-subtle);--brand-control-radio-bg-checked:var(--base-color-scale-white-0);--brand-control-radio-bg-checked-hover:var(--brand-color-canvas-subtle);--brand-control-radio-bg-disabled:var(--brand-color-canvas-default);--brand-control-radio-border-default:var(--brand-control-color-border-default);--brand-control-radio-border-hover:var(--base-color-scale-gray-4);--brand-control-radio-border-checked:var(--brand-control-color-border-default);--brand-control-radio-border-checked-hover:var(--brand-control-color-border-default);--brand-control-radio-border-disabled:var(--base-color-scale-gray-4);--brand-control-radio-dot-default:var(--base-color-scale-black-0);--brand-control-radio-dot-checked:var(--base-color-scale-green-6);--brand-control-radio-dot-checked-hover:color-mix(in srgb, var(--brand-color-text-emphasized), #000 26%)}[data-color-mode=dark]{--brand-control-color-border-default:var(--base-color-scale-gray-4);--brand-control-color-border-disabled:var(--base-color-scale-gray-5);--brand-control-color-canvas-disabled:var(--base-color-scale-gray-8);--brand-control-color-fg-default:var(--brand-color-text-default);--brand-control-color-fg-disabled:var(--base-color-scale-gray-5);--brand-control-color-focus:var(--base-color-scale-blue-2);--brand-control-checkbox-bg-default:var(--base-color-scale-gray-7);--brand-control-checkbox-bg-hover:var(--brand-color-canvas-subtle);--brand-control-checkbox-bg-checked:var(--base-color-scale-green-5);--brand-control-checkbox-bg-checked-hover:#309a4d;--brand-control-checkbox-bg-indeterminate:var(--base-color-scale-green-5);--brand-control-checkbox-bg-indeterminate-hover:#309a4d;--brand-control-checkbox-bg-checked-disabled:color-mix(in srgb, var(--base-color-scale-green-6), #000 35%);--brand-control-checkbox-fg-checked:var(--base-color-scale-white-0);--brand-control-checkbox-fg-checked-disabled:color-mix(in srgb, var(--base-color-scale-green-5), #000 20%);--brand-control-checkbox-border-default:var(--base-color-scale-gray-4);--brand-control-checkbox-border-hover:var(--base-color-scale-gray-5);--brand-control-checkbox-border-checked:#077726;--brand-control-checkbox-border-checked-hover:#0000001f;--brand-control-checkbox-border-indeterminate:#077726;--brand-control-checkbox-border-indeterminate-hover:#0000001f;--brand-control-checkbox-border-checked-disabled:color-mix(in srgb, var(--base-color-scale-green-6), #000 35%);--brand-control-checkbox-border-unchecked-disabled:var(--base-color-scale-gray-5);--brand-control-radio-bg-default:var(--base-color-scale-black-0);--brand-control-radio-bg-hover:var(--brand-color-canvas-subtle);--brand-control-radio-bg-checked:var(--base-color-scale-black-0);--brand-control-radio-bg-checked-hover:var(--brand-color-canvas-subtle);--brand-control-radio-bg-disabled:var(--brand-color-canvas-default);--brand-control-radio-border-default:var(--base-color-scale-gray-4);--brand-control-radio-border-hover:var(--base-color-scale-gray-5);--brand-control-radio-border-checked:var(--base-color-scale-gray-4);--brand-control-radio-border-checked-hover:var(--base-color-scale-gray-4);--brand-control-radio-border-disabled:var(--base-color-scale-gray-5);--brand-control-radio-dot-default:var(--base-color-scale-white-0);--brand-control-radio-dot-checked:var(--base-color-scale-green-5);--brand-control-radio-dot-checked-hover:#309a4d}.Primer_Brand__Checkbox-module__Checkbox-wrapper___qo8KL{grid-row:1;position:relative}.Primer_Brand__Checkbox-module__Checkbox___T8FJa{background-color:var(--brand-control-checkbox-bg-default);border:solid 1px var(--brand-control-color-border-default);border:solid var(--brand-borderWidth-thin,1px) var(--brand-control-color-border-default);cursor:pointer;border-radius:3px;outline:1px solid #0000;justify-content:center;align-items:center;width:20px;height:20px;margin:3px 0;transition:all .35s ease-out;display:inline-flex;box-shadow:0 0 0 3px #0000}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s{clip:rect(1px, 1px, 1px, 1px);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.Primer_Brand__Checkbox-module__Checkbox-checkmark___atiwt{height:var(--base-size-12);width:var(--base-size-12)}.Primer_Brand__Checkbox-module__Checkbox-checkmark-path___qgsjb{stroke:var(--brand-control-checkbox-fg-checked);stroke-dashoffset:111.46px;stroke-dasharray:111.46;transition:all .35s var(--brand-control-animation-easing)}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s:checked+.Primer_Brand__Checkbox-module__Checkbox___T8FJa,.Primer_Brand__Checkbox-module__Checkbox--indeterminate___U5S6k{background:var(--brand-control-checkbox-bg-checked);border-color:var(--brand-control-checkbox-border-checked)}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s:not(:checked):not([disabled])+.Primer_Brand__Checkbox-module__Checkbox___T8FJa:not(.Primer_Brand__Checkbox-module__Checkbox--indeterminate___U5S6k):hover{background:var(--brand-control-checkbox-bg-hover);border-color:var(--brand-control-checkbox-border-hover)}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s:checked:not([disabled])+.Primer_Brand__Checkbox-module__Checkbox___T8FJa:hover{background:var(--brand-control-checkbox-bg-checked-hover);border-color:var(--brand-control-checkbox-border-checked-hover)}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s:not([disabled])+.Primer_Brand__Checkbox-module__Checkbox--indeterminate___U5S6k:hover{background:var(--brand-control-checkbox-bg-indeterminate-hover);border-color:var(--brand-control-checkbox-border-indeterminate-hover)}.Primer_Brand__Checkbox-module__Checkbox--indeterminate___U5S6k .Primer_Brand__Checkbox-module__Checkbox-checkmark___atiwt{fill:var(--brand-control-checkbox-fg-checked)}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s:checked+.Primer_Brand__Checkbox-module__Checkbox___T8FJa .Primer_Brand__Checkbox-module__Checkbox-checkmark-path___qgsjb,.Primer_Brand__Checkbox-module__Checkbox--indeterminate___U5S6k .Primer_Brand__Checkbox-module__Checkbox-checkmark-path___qgsjb{stroke:var(--brand-control-checkbox-fg-checked);stroke-dashoffset:0}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s:focus+.Primer_Brand__Checkbox-module__Checkbox___T8FJa{box-shadow:0 0 0 3px var(--brand-control-color-focus)}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s:checked:focus+.Primer_Brand__Checkbox-module__Checkbox___T8FJa,.Primer_Brand__Checkbox-module__Checkbox-input___sux6s:focus+.Primer_Brand__Checkbox-module__Checkbox--indeterminate___U5S6k{border-color:var(--brand-control-checkbox-border-checked)}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s[disabled]+.Primer_Brand__Checkbox-module__Checkbox___T8FJa{-webkit-text-fill-color:var(--brand-control-color-fg-disabled);color:var(--brand-control-color-fg-disabled);cursor:not-allowed;border-color:var(--brand-control-checkbox-border-unchecked-disabled);opacity:1;background-color:#0000}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s[disabled]:checked+.Primer_Brand__Checkbox-module__Checkbox___T8FJa{background-color:var(--brand-control-checkbox-bg-checked-disabled);border-color:var(--brand-control-checkbox-border-checked-disabled)}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s[disabled]:checked+.Primer_Brand__Checkbox-module__Checkbox___T8FJa .Primer_Brand__Checkbox-module__Checkbox-checkmark-path___qgsjb{stroke:var(--brand-control-checkbox-fg-checked-disabled)}@media (forced-colors:active){.Primer_Brand__Checkbox-module__Checkbox-input___sux6s:focus+.Primer_Brand__Checkbox-module__Checkbox___T8FJa{outline:var(--brand-borderWidth-thin) solid Highlight;outline-offset:var(--base-size-2)}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s:checked+.Primer_Brand__Checkbox-module__Checkbox___T8FJa .Primer_Brand__Checkbox-module__Checkbox-checkmark-path___qgsjb{stroke:highlight}.Primer_Brand__Checkbox-module__Checkbox___T8FJa{transition:none}}@media (prefers-reduced-motion:reduce){.Primer_Brand__Checkbox-module__Checkbox___T8FJa,.Primer_Brand__Checkbox-module__Checkbox___T8FJa:before,.Primer_Brand__Checkbox-module__Checkbox___T8FJa:after,.Primer_Brand__Checkbox-module__Checkbox___T8FJa *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__Select-module__Select___Jqn1f{appearance:none;color:var(--brand-control-color-fg-default);cursor:pointer;background-color:var(--brand-color-canvas-default);border-radius:var(--brand-borderRadius-medium);line-height:var(--brand-text-lineHeight-200);transition:var(--brand-control-animation-duration) var(--brand-control-animation-easing);border:none;grid-area:1/1/auto/-1;width:100%;transition-property:color,background-color,box-shadow,border-color}@media screen and (forced-colors:active){.Primer_Brand__Select-module__Select___Jqn1f:disabled{background-color:-moz-combobox}}.Primer_Brand__Select-module__Select___Jqn1f::placeholder{color:var(--brand-color-text-muted);opacity:1}.Primer_Brand__Select-module__Select___Jqn1f:focus-visible{border-color:var(--brand-control-color-focus);box-shadow:0 0 0 2px var(--brand-control-color-focus);outline:none}@media (forced-colors:active){.Primer_Brand__Select-module__Select___Jqn1f:focus-visible{outline:var(--brand-borderWidth-thick) solid Highlight;outline-offset:var(--base-size-2)}}.Primer_Brand__Select-module__Select___Jqn1f[disabled]{-webkit-text-fill-color:var(--brand-control-color-fg-disabled);color:var(--brand-control-color-fg-disabled);cursor:not-allowed;background-color:var(--brand-control-color-canvas-disabled);border-color:var(--brand-control-color-border-disabled);opacity:1}.Primer_Brand__Select-module__Select-wrapper--disabled___Ka43y.Primer_Brand__Select-module__Select-wrapper___iV0Tg:after{background-color:var(--brand-control-color-fg-disabled)}.Primer_Brand__Select-module__Select-wrapper--medium___xjmMc{height:var(--brand-control-medium-size)}.Primer_Brand__Select-module__Select-wrapper--medium___xjmMc:after{margin-inline-end:calc(var(--brand-control-medium-paddingInline-condensed) / 2)}.Primer_Brand__Select-module__Select--medium___kckBr{font-weight:var(--brand-text-weight-100);font-size:var(--brand-text-size-100);padding-inline:var(--brand-control-medium-paddingInline-condensed);padding-block:0;padding-inline-end:calc(var(--brand-control-medium-paddingInline-condensed) + var(--base-size-16))}.Primer_Brand__Select-module__Select-wrapper--large___Q4_2q{height:var(--brand-control-large-size)}.Primer_Brand__Select-module__Select-wrapper--large___Q4_2q:after{margin-inline-end:var(--base-size-8)}.Primer_Brand__Select-module__Select--large___A7u6F{font-weight:var(--brand-text-weight-200);font-size:var(--brand-text-size-200);padding-inline:var(--brand-control-large-paddingInline-condensed);padding-block:0;padding-inline-end:calc(var(--brand-control-large-paddingInline-condensed) + var(--base-size-16))}.Primer_Brand__Select-module__Select-wrapper___iV0Tg{border:solid 1px var(--brand-control-color-border-default);border:solid var(--brand-borderWidth-thin,1px) var(--brand-control-color-border-default);border-radius:6px;border-radius:var(--brand-borderRadius-medium,6px);font-family:var(--brand-body-fontFamily);grid-template-columns:minmax(0, auto) var(--base-size-16);display:inline-grid;position:relative}.Primer_Brand__Select-module__Select-wrapper___iV0Tg:after{content:"";width:var(--base-size-16);height:var(--base-size-16);pointer-events:none;background-color:var(--brand-control-color-fg-default);grid-area:1/2;place-self:center flex-end;position:absolute;right:0;-webkit-mask:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0iIzU4NjA2OSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNC40MjcgOS40MjdsMy4zOTYgMy4zOTZhLjI1MS4yNTEgMCAwMC4zNTQgMGwzLjM5Ni0zLjM5NkEuMjUuMjUgMCAwMDExLjM5NiA5SDQuNjA0YS4yNS4yNSAwIDAwLS4xNzcuNDI3ek00LjQyMyA2LjQ3TDcuODIgMy4wNzJhLjI1LjI1IDAgMDEuMzU0IDBMMTEuNTcgNi40N2EuMjUuMjUgMCAwMS0uMTc3LjQyN0g0LjZhLjI1LjI1IDAgMDEtLjE3Ny0uNDI3eiIgLz48L3N2Zz4=) 0 0/contain no-repeat;mask:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0iIzU4NjA2OSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNC40MjcgOS40MjdsMy4zOTYgMy4zOTZhLjI1MS4yNTEgMCAwMC4zNTQgMGwzLjM5Ni0zLjM5NkEuMjUuMjUgMCAwMDExLjM5NiA5SDQuNjA0YS4yNS4yNSAwIDAwLS4xNzcuNDI3ek00LjQyMyA2LjQ3TDcuODIgMy4wNzJhLjI1LjI1IDAgMDEuMzU0IDBMMTEuNTcgNi40N2EuMjUuMjUgMCAwMS0uMTc3LjQyN0g0LjZhLjI1LjI1IDAgMDEtLjE3Ny0uNDI3eiIgLz48L3N2Zz4=) 0 0/contain no-repeat}.Primer_Brand__Select-module__Select-wrapper--disabled___Ka43y{border-color:var(--brand-control-color-border-disabled)}.Primer_Brand__Select-module__Select-wrapper--fullWidth___oOOo4{width:100%}.Primer_Brand__Select-module__Select--success___pkmVg{border-color:var(--brand-color-success-fg)}.Primer_Brand__Select-module__Select--error___A9JuG{border-color:var(--brand-color-danger-fg)}@media (prefers-reduced-motion:reduce){.Primer_Brand__Select-module__Select___Jqn1f,.Primer_Brand__Select-module__Select___Jqn1f:before,.Primer_Brand__Select-module__Select___Jqn1f:after,.Primer_Brand__Select-module__Select___Jqn1f *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__TextInput-module__TextInput___EtKj3{color:var(--brand-control-color-fg-default);background-color:var(--brand-color-canvas-default);border-radius:var(--brand-borderRadius-medium);line-height:var(--brand-text-lineHeight-100);transition:var(--brand-control-animation-duration) var(--brand-control-animation-easing);border:none;transition-property:color,background-color,box-shadow;display:flex}.Primer_Brand__TextInput-module__TextInput___EtKj3::placeholder{color:var(--brand-color-text-muted);opacity:1}.Primer_Brand__TextInput-module__TextInput___EtKj3[disabled]{-webkit-text-fill-color:var(--brand-control-color-fg-disabled);color:var(--brand-control-color-fg-disabled);cursor:not-allowed;background-color:var(--brand-control-color-canvas-disabled);opacity:1}.Primer_Brand__TextInput-module__TextInput___EtKj3:focus{outline:none}.Primer_Brand__TextInput-module__TextInput-wrapper--small___IyT4V{height:var(--brand-control-small-size)}.Primer_Brand__TextInput-module__TextInput--small___jNp_Y{font-weight:var(--brand-text-weight-100);font-size:var(--brand-text-size-100);padding:var(--brand-control-small-paddingBlock) var(--brand-control-small-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-wrapper--medium___K9iTj{height:var(--brand-control-medium-size)}.Primer_Brand__TextInput-module__TextInput--medium___kJrew{font-weight:var(--brand-text-weight-100);font-size:var(--brand-text-size-100);padding:var(--brand-control-medium-paddingBlock-normal) var(--brand-control-medium-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput--large___zpUvY{font-weight:var(--brand-text-weight-200);font-size:var(--brand-text-size-200);padding:var(--brand-control-large-paddingBlock-normal) var(--brand-control-large-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-wrapper--large___lga4f{height:var(--brand-control-large-size)}.Primer_Brand__TextInput-module__TextInput--fullWidth___rbllM{width:100%}.Primer_Brand__TextInput-module__TextInput-wrapper--disabled___HWTx_{border-color:var(--brand-control-color-border-disabled)}.Primer_Brand__TextInput-module__TextInput-wrapper___HgxNu{font-family:var(--brand-body-fontFamily);border:solid 1px var(--brand-control-color-border-default);border:solid var(--brand-borderWidth-thin,1px) var(--brand-control-color-border-default);border-radius:var(--brand-borderRadius-medium);transition:var(--brand-control-animation-duration) var(--brand-control-animation-easing);transition-property:border;display:inline-flex;position:relative}.Primer_Brand__TextInput-module__TextInput-wrapper--invisible___cKDcl{border-color:#0000}.Primer_Brand__TextInput-module__TextInput-wrapper--fullWidth___eclO4{width:100%;display:flex}.Primer_Brand__TextInput-module__TextInput-wrapper___HgxNu:not(.Primer_Brand__TextInput-module__TextInput-wrapper--fullWidth___eclO4){width:min-content}.Primer_Brand__TextInput-module__TextInput-wrapper--monospace___y1fd6{font-family:var(--brand-fontStack-monospace)}.Primer_Brand__TextInput-module__TextInput-wrapper___HgxNu:focus-within{border-color:var(--brand-control-color-focus);box-shadow:0 0 0 1px var(--brand-control-color-focus);outline:none}@media (forced-colors:active){.Primer_Brand__TextInput-module__TextInput-wrapper___HgxNu:focus-within{outline:var(--brand-borderWidth-thick) solid Highlight;outline-offset:var(--base-size-2)}}.Primer_Brand__TextInput-module__TextInput-wrapper--success___g5ODK,.Primer_Brand__TextInput-module__TextInput-wrapper--success___g5ODK.Primer_Brand__TextInput-module__TextInput-wrapper--disabled___HWTx_{border-color:var(--brand-color-success-fg)}.Primer_Brand__TextInput-module__TextInput-wrapper--error___V7qtN,.Primer_Brand__TextInput-module__TextInput-wrapper--error___V7qtN.Primer_Brand__TextInput-module__TextInput-wrapper--disabled___HWTx_{border-color:var(--brand-color-danger-fg)}.Primer_Brand__TextInput-module__TextInput--has-leading-visual--small___Chfzr{padding-inline-start:calc(var(--brand-control-small-paddingInline-condensed) + var(--base-size-16) + var(--brand-control-small-gap))}.Primer_Brand__TextInput-module__TextInput--has-leading-visual--medium___i7gLS{padding-inline-start:calc(var(--brand-control-medium-paddingInline-condensed) + var(--base-size-16) + var(--brand-control-medium-gap))}.Primer_Brand__TextInput-module__TextInput--has-leading-visual--large___nCVT9{padding-inline-start:calc(var(--brand-control-large-paddingInline-condensed) + var(--base-size-20) + var(--brand-control-large-gap))}.Primer_Brand__TextInput-module__TextInput--has-trailing-visual--small___gl_37{padding-inline-end:calc(var(--brand-control-small-paddingInline-condensed) + var(--base-size-16) + var(--brand-control-small-gap))}.Primer_Brand__TextInput-module__TextInput--has-trailing-visual--medium___pP4lM{padding-inline-end:calc(var(--brand-control-medium-paddingInline-condensed) + var(--base-size-16) + var(--brand-control-medium-gap))}.Primer_Brand__TextInput-module__TextInput--has-trailing-visual--large___n1U0P{padding-inline-end:calc(var(--brand-control-medium-paddingInline-condensed) + var(--base-size-20) + var(--brand-control-medium-gap))}.Primer_Brand__TextInput-module__TextInput-leading-visual___tk7Yz,.Primer_Brand__TextInput-module__TextInput-trailing-visual___k0E6L{width:var(--base-size-16);height:100%;color:var(--brand-color-text-default);pointer-events:none;align-items:center;display:flex;position:absolute;top:0}.Primer_Brand__TextInput-module__TextInput-leading-visual--medium___BW5d2{left:var(--brand-control-medium-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-trailing-visual--medium___WMlar{right:var(--brand-control-medium-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-leading-visual--small___im1Vd{left:var(--brand-control-small-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-trailing-visual--small___cYDMo{right:var(--brand-control-small-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-leading-visual--large___LoDri{left:var(--brand-control-large-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-trailing-visual--large___pdxBc{right:var(--brand-control-large-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-leading-visual-icon--medium___y_4Pu,.Primer_Brand__TextInput-module__TextInput-leading-visual-icon--small___IvacS{width:var(--base-size-16);height:var(--base-size-16)}.Primer_Brand__TextInput-module__TextInput-leading-visual-icon--large___VPOF7{width:var(--base-size-20);height:var(--base-size-20)}.Primer_Brand__TextInput-module__TextInput-leading-text___H5Cfr,.Primer_Brand__TextInput-module__TextInput-trailing-text___ikt8X{color:var(--brand-color-text-muted);pointer-events:none;white-space:nowrap;align-items:center;display:flex}.Primer_Brand__TextInput-module__TextInput-leading-text--disabled___APVY0,.Primer_Brand__TextInput-module__TextInput-trailing-text--disabled___oM2Ls{color:var(--brand-control-color-fg-disabled);background-color:var(--brand-control-color-canvas-disabled)}.Primer_Brand__TextInput-module__TextInput-leading-text___H5Cfr{border-top-left-radius:6px;border-top-left-radius:var(--brand-borderRadius-medium,6px);border-bottom-left-radius:6px;border-bottom-left-radius:var(--brand-borderRadius-medium,6px);border-right:0}.Primer_Brand__TextInput-module__TextInput-trailing-text___ikt8X{border-top-right-radius:6px;border-top-right-radius:var(--brand-borderRadius-medium,6px);border-bottom-right-radius:6px;border-bottom-right-radius:var(--brand-borderRadius-medium,6px);border-left:0}.Primer_Brand__TextInput-module__TextInput-leading-text-inner___wsz6j,.Primer_Brand__TextInput-module__TextInput-trailing-text-inner___hHCPx{color:var(--brand-color-text-muted);display:inline-flex}.Primer_Brand__TextInput-module__TextInput-leading-text-inner--medium___B7Rra,.Primer_Brand__TextInput-module__TextInput-trailing-text-inner--medium___P9cYA{padding-inline:var(--brand-control-medium-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-leading-text-inner--small___scMhg,.Primer_Brand__TextInput-module__TextInput-trailing-text-inner--small___B4sQm{padding-inline:var(--brand-control-small-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-leading-text-inner--large___HfLcI,.Primer_Brand__TextInput-module__TextInput-trailing-text-inner--large___LTt33{padding-inline:var(--brand-control-large-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-leading-text-inner___wsz6j{border-right:1px solid var(--brand-color-border-default)}.Primer_Brand__TextInput-module__TextInput-trailing-text-inner___hHCPx{border-left:1px solid var(--brand-color-border-default)}.Primer_Brand__TextInput-module__TextInput--has-leading-text___u7qke{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.Primer_Brand__TextInput-module__TextInput--has-trailing-text___Rsoog{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.Primer_Brand__TextInput-module__TextInput-leading-text--success___LLFx7,.Primer_Brand__TextInput-module__TextInput-trailing-text--success___EfLVd{border-color:var(--brand-color-success-fg)}.Primer_Brand__TextInput-module__TextInput-leading-text--error___TM77D,.Primer_Brand__TextInput-module__TextInput-trailing-text--error___R96jr{border-color:var(--brand-color-danger-fg)}@media (prefers-reduced-motion:reduce){.Primer_Brand__TextInput-module__TextInput___EtKj3,.Primer_Brand__TextInput-module__Checkbox___TOylA:before,.Primer_Brand__TextInput-module__Checkbox___TOylA:after,.Primer_Brand__TextInput-module__Checkbox___TOylA *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__Textarea-module__Textarea___xmKD5{color:var(--brand-control-color-fg-default);background-color:var(--brand-color-canvas-default);border-radius:var(--brand-borderRadius-medium);line-height:var(--brand-text-lineHeight-100);transition:var(--brand-control-animation-duration) var(--brand-control-animation-easing);border:none;transition-property:color,background-color,box-shadow;display:flex}.Primer_Brand__Textarea-module__Textarea___xmKD5::placeholder{color:var(--brand-color-text-muted);opacity:1}.Primer_Brand__Textarea-module__Textarea___xmKD5[disabled]{-webkit-text-fill-color:var(--brand-control-color-fg-disabled);color:var(--brand-control-color-fg-disabled);cursor:not-allowed;background-color:var(--brand-control-color-canvas-disabled);opacity:1;resize:none}.Primer_Brand__Textarea-module__Textarea___xmKD5:focus{outline:none}.Primer_Brand__Textarea-module__Textarea-resize--vertical___uAPaM{resize:vertical}.Primer_Brand__Textarea-module__Textarea-resize--horizontal___gT0d4{resize:horizontal}.Primer_Brand__Textarea-module__Textarea-resize--none___VNofG{resize:none}.Primer_Brand__Textarea-module__Textarea-resize--both___bDJp5{resize:both}.Primer_Brand__Textarea-module__Textarea--medium___pMZGb{font-weight:var(--brand-text-weight-100);font-size:var(--brand-text-size-100);padding:var(--brand-control-medium-paddingBlock-normal) var(--brand-control-medium-paddingInline-condensed)}.Primer_Brand__Textarea-module__Textarea--large___wCPXA{font-weight:var(--brand-text-weight-200);font-size:var(--brand-text-size-200);padding:var(--brand-control-large-paddingBlock-normal) var(--brand-control-large-paddingInline-condensed)}.Primer_Brand__Textarea-module__Textarea--fullWidth___lPWcQ{width:100%}.Primer_Brand__Textarea-module__Textarea-wrapper--disabled___fg8We{border-color:var(--brand-control-color-border-disabled)}.Primer_Brand__Textarea-module__Textarea-wrapper___A4lsG{font-family:var(--brand-body-fontFamily);border:solid 1px var(--brand-control-color-border-default);border:solid var(--brand-borderWidth-thin,1px) var(--brand-control-color-border-default);border-radius:var(--brand-borderRadius-medium);transition:var(--brand-control-animation-duration) var(--brand-control-animation-easing);transition-property:border;display:inline-flex;position:relative}.Primer_Brand__Textarea-module__Textarea-wrapper--invisible___fF78K{border-color:#0000}.Primer_Brand__Textarea-module__Textarea-wrapper--fullWidth___EtLL9{display:flex}.Primer_Brand__Textarea-module__Textarea-wrapper___A4lsG:not(.Primer_Brand__Textarea-module__Textarea-wrapper--fullWidth___EtLL9){width:min-content}.Primer_Brand__Textarea-module__Textarea-wrapper--monospace___lA41d{font-family:var(--brand-fontStack-monospace)}.Primer_Brand__Textarea-module__Textarea-wrapper___A4lsG:focus-within{border-color:var(--brand-control-color-focus);box-shadow:0 0 0 1px var(--brand-control-color-focus);outline:none}@media (forced-colors:active){.Primer_Brand__Textarea-module__Textarea-wrapper___A4lsG:focus-within{outline:var(--brand-borderWidth-thick) solid Highlight;outline-offset:var(--base-size-2)}}.Primer_Brand__Textarea-module__Textarea-wrapper--success___RaDVX,.Primer_Brand__Textarea-module__Textarea-wrapper--success___RaDVX.Primer_Brand__Textarea-module__Textarea-wrapper--disabled___fg8We{border-color:var(--brand-color-success-fg)}.Primer_Brand__Textarea-module__Textarea-wrapper--error___zcHSQ,.Primer_Brand__Textarea-module__Textarea-wrapper--error___zcHSQ.Primer_Brand__Textarea-module__Textarea-wrapper--disabled___fg8We{border-color:var(--brand-color-danger-fg)}@media (prefers-reduced-motion:reduce){.Primer_Brand__Textarea-module__Textarea___xmKD5,.Primer_Brand__Textarea-module__Textarea___xmKD5:before,.Primer_Brand__Textarea-module__Textarea___xmKD5:after,.Primer_Brand__Textarea-module__Textarea___xmKD5 *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__Radio-module__Radio-wrapper___Gt9uM{-webkit-user-select:none;user-select:none;cursor:pointer;grid-row:1;position:relative}.Primer_Brand__Radio-module__Radio___JycTo{background-color:var(--brand-control-radio-bg-default);border:solid 1px var(--brand-control-radio-border-default);border:solid var(--brand-borderWidth-thin,1px) var(--brand-control-radio-border-default);cursor:pointer;margin:3px 0;border-radius:50%;outline:none;justify-content:center;align-items:center;width:20px;height:20px;margin:3px 3px 0 5px;display:inline-flex;position:relative;box-shadow:0 0 0 3px #0000}.Primer_Brand__Radio-module__Radio___JycTo:before{content:"";pointer-events:none;border:var(--brand-borderWidth-thin) solid transparent;border-radius:50%;width:24px;height:24px;position:absolute;inset:-4px -2px -2px -4px}.Primer_Brand__Radio-module__Radio-input___n3jX4{clip:rect(1px, 1px, 1px, 1px);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.Primer_Brand__Radio-module__Radio-dot___rmEAJ{border-color:var(--brand-control-radio-dot-checked);background:var(--brand-control-radio-dot-checked);opacity:0;width:12px;height:12px;transition:transform .35s var(--brand-animation-easing-glide), opacity .35s var(--brand-animation-easing-glide);border-radius:50%;display:block;position:absolute;transform:scale(.7)}@media (prefers-reduced-motion){.Primer_Brand__Radio-module__Radio-dot___rmEAJ{transition:none}}.Primer_Brand__Radio-module__Radio-input___n3jX4:checked+.Primer_Brand__Radio-module__Radio___JycTo{background-color:var(--brand-control-radio-bg-checked);border-color:var(--brand-control-radio-border-checked)}.Primer_Brand__Radio-module__Radio-input___n3jX4:not(:checked):not([disabled])+.Primer_Brand__Radio-module__Radio___JycTo:hover{background-color:var(--brand-control-radio-bg-hover);border-color:var(--brand-control-radio-border-hover)}.Primer_Brand__Radio-module__Radio-input___n3jX4:checked:not([disabled])+.Primer_Brand__Radio-module__Radio___JycTo:hover{background-color:var(--brand-control-radio-bg-checked-hover);border-color:var(--brand-control-radio-border-checked-hover)}.Primer_Brand__Radio-module__Radio-input___n3jX4:checked:not([disabled])+.Primer_Brand__Radio-module__Radio___JycTo:hover .Primer_Brand__Radio-module__Radio-dot___rmEAJ{background:var(--brand-control-radio-dot-checked-hover);border-color:var(--brand-control-radio-dot-checked-hover)}.Primer_Brand__Radio-module__Radio-input___n3jX4:checked+.Primer_Brand__Radio-module__Radio___JycTo .Primer_Brand__Radio-module__Radio-dot___rmEAJ{opacity:1;transform:scale(1)}.Primer_Brand__Radio-module__Radio-input___n3jX4:focus+.Primer_Brand__Radio-module__Radio___JycTo{box-shadow:0 0 0 4px var(--brand-control-color-focus)}.Primer_Brand__Radio-module__Radio-input___n3jX4:checked:focus+.Primer_Brand__Radio-module__Radio___JycTo{border-color:var(--brand-control-radio-border-checked)}.Primer_Brand__Radio-module__Radio-input___n3jX4[disabled]+.Primer_Brand__Radio-module__Radio___JycTo,.Primer_Brand__Radio-module__Radio-input___n3jX4[disabled]:checked+.Primer_Brand__Radio-module__Radio___JycTo{-webkit-text-fill-color:var(--brand-control-color-fg-disabled);color:var(--brand-control-color-fg-disabled);cursor:not-allowed;background-color:var(--brand-control-radio-bg-disabled);border-color:var(--brand-control-radio-border-disabled);opacity:1}.Primer_Brand__Radio-module__Radio-input___n3jX4[disabled]:checked+.Primer_Brand__Radio-module__Radio___JycTo .Primer_Brand__Radio-module__Radio-dot___rmEAJ{background:var(--brand-control-color-fg-disabled);border-color:var(--brand-control-color-fg-disabled)}@media (forced-colors:active){.Primer_Brand__Radio-module__Radio-input___n3jX4:focus+.Primer_Brand__Radio-module__Radio___JycTo{outline:var(--brand-borderWidth-thin) solid Highlight;outline-offset:var(--base-size-4)}.Primer_Brand__Radio-module__Radio-input___n3jX4:checked+.Primer_Brand__Radio-module__Radio___JycTo .Primer_Brand__Radio-module__Radio-dot___rmEAJ{background-color:highlight}}@media (prefers-reduced-motion:reduce){.Primer_Brand__Radio-module__Radio___JycTo,.Primer_Brand__Radio-module__Radio___JycTo:before,.Primer_Brand__Radio-module__Radio___JycTo:after,.Primer_Brand__Radio-module__Radio___JycTo *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__FormControl-module__FormControl___ZJtXy{font-family:var(--brand-body-fontFamily);gap:var(--base-size-8);flex-direction:column;display:inline-flex}.Primer_Brand__FormControl-module__FormControl--fullWidth___QyLCS{width:100%}.Primer_Brand__FormControl-module__FormControl--checkbox___R2ng7{grid-template-columns:auto 1fr;display:grid}.Primer_Brand__FormControl-module__FormControl--border___CRSaq{border:1px solid var(--brand-control-color-border-default);border-radius:var(--brand-borderRadius-medium);padding:var(--base-size-12)}.Primer_Brand__FormControl-module__FormControl-label___meeuB{color:var(--brand-color-text-default);font-weight:var(--base-text-weight-medium);font-family:var(--brand-body-fontFamily)}.Primer_Brand__FormControl-module__FormControl-label--visually-hidden___cFizI{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.Primer_Brand__FormControl-module__FormControl-label--medium___inrKd{letter-spacing:var(--brand-text-letterSpacing-100);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100)}.Primer_Brand__FormControl-module__FormControl-label--large___okLn6{letter-spacing:var(--brand-text-letterSpacing-300);font-size:var(--brand-text-size-300);line-height:var(--brand-text-lineHeight-300)}.Primer_Brand__FormControl-module__FormControl-label--checkbox___x2U9X{cursor:pointer;font-size:var(--brand-text-size-100);font-weight:var(--base-text-weight-medium);line-height:var(--base-size-24);width:100%;position:relative;top:1px}.Primer_Brand__FormControl-module__FormControl-control--radio___aSHRG{margin:2px 0 0}.Primer_Brand__FormControl-module__FormControl-hint___dbP0O{grid-column:1/3;display:block}.Primer_Brand__FormControl-module__FormControl-validation___vG5tm{gap:var(--base-size-4);align-items:center;display:flex}.Primer_Brand__FormControl-module__FormControl-validation--success___fGV4L{color:var(--brand-color-success-fg)}.Primer_Brand__FormControl-module__FormControl-validation--error___DJVR5{color:var(--brand-color-danger-fg)}.Primer_Brand__FormControl-module__FormControl-validation-success-icon___UgUzb,.Primer_Brand__FormControl-module__FormControl-validation-error-icon___o3GQW{display:flex}.Primer_Brand__FormControl-module__FormControl-validation--animate-in___C_pxB{animation:.17s cubic-bezier(.44,.74,.36,1) Primer_Brand__FormControl-module__FormControlValidationFadeIn___hRw_R}@keyframes Primer_Brand__FormControl-module__FormControlValidationFadeIn___hRw_R{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.Primer_Brand__FormControl-module__FormControl-validation-checkbox___Cigqb{grid-column:1/3}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK{z-index:90;background:var(--brand-color-canvas-default);height:var(--SubdomainNavBar-height);font-weight:550;position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK:after{content:"";z-index:3;height:var(--brand-borderWidth-thin);background-color:var(--brand-SubdomainNavBar-border-nav-default);pointer-events:none;position:absolute;inset-block-start:100%;inset-inline:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-outer-container___aE8uv{--SubdomainNavBar-height:var(--base-size-64);z-index:90}@media screen and (width<=47.99rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-outer-container___aE8uv{--SubdomainNavBar-height:calc(var(--base-size-64) - var(--base-size-8))}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-outer-container___aE8uv:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-outer-container--fixed___ZhyZf){position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-outer-container--fixed___ZhyZf{position:fixed;top:0;left:0;right:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___kdy5Y{padding:4px 28px;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container--centered___FXUTh{max-width:1280px;margin:0 auto}@media screen and (width>=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___kdy5Y{padding:4px 32px}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container--search-open___nhMNU{animation:.15s Primer_Brand__SubdomainNavBar-module__fade-out___fhdxi}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5{align-items:center;gap:var(--base-size-8);max-width:340px;color:var(--brand-color-text-default);padding:0;padding:var(--base-size-16) 0;margin:0;list-style-type:none;display:inline-flex}@media screen and (width>=63.25rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5{gap:var(--base-size-16)}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark___pMn2_,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___Zm_g2{color:var(--brand-color-text-default);align-items:center;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark___pMn2_{position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-back-arrow___OOrj8{color:var(--brand-color-text-muted);opacity:0;transform:translate(var(--base-size-4), -50%);transition:opacity var(--brand-animation-duration-fast), transform var(--brand-animation-duration-fast) ease;display:flex;position:absolute;inset-block-start:50%;inset-inline-start:calc(-1 * var(--base-size-24) + var(--base-size-4))}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark___pMn2_:hover .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-back-arrow___OOrj8{opacity:1;transform:translateY(-50%)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark___pMn2_ svg{width:32px;height:32px}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___Zm_g2{line-height:var(--base-size-32);white-space:nowrap;padding-inline-end:var(--base-size-16);-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___Zm_g2:hover{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-featured___i_EMH .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-prefix___MCu96{color:var(--brand-color-text-default)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-label___C3mii{color:inherit}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--has-title___JWpl2 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5>li:first-child{align-self:stretch;align-items:center;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--has-title___JWpl2 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5>li:first-child:after{content:"";box-sizing:border-box;width:var(--brand-borderWidth-thin);height:var(--SubdomainNavBar-height);margin-inline:var(--base-size-16);background-color:var(--brand-color-border-muted);flex:none;align-self:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___qa6xA,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component___zpwkV{align-items:center;min-width:0;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___qa6xA{margin-inline-end:var(--base-size-16)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component___zpwkV{margin-inline-start:var(--base-size-16)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav___rZwCn{flex:1 1 0;align-items:center;min-width:0;margin:0;padding:0;list-style-type:none;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list___iQd2r{list-style-type:none}@media screen and (width<=767px){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list___iQd2r,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list--invisible___HnkQO{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list--visible___ZeoFv{margin:0;padding:0;display:block}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___qa6xA,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component___zpwkV{box-sizing:border-box;width:100%;padding-block:var(--base-size-16);padding-inline:var(--base-size-16);flex:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___qa6xA{margin-inline-end:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component___zpwkV{margin-inline-start:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO{top:var(--SubdomainNavBar-height);z-index:2;background-color:var(--brand-color-canvas-default);width:100%;max-height:calc(100vh - var(--SubdomainNavBar-height) - 0px);max-height:calc(100vh - var(--SubdomainNavBar-height) - var(--SubdomainNavBar-menu-offset-block-start,0px));border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);animation:.5s Primer_Brand__SubdomainNavBar-module__fade-in-down___kwg9g;animation-timing-function:var(--brand-animation-easing-default);flex-direction:column;justify-content:flex-start;display:flex;position:absolute;left:0;right:0;overflow-y:auto}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper--close___NzelD{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper-footer___VLcHd{flex-direction:column;flex:none;width:100%;display:flex}}@media screen and (width>=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-overflow___OXKBt{min-width:0;margin:0 var(--base-size-24) 0 0;flex:1 1 0;align-items:center;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list___iQd2r{min-width:0;block-size:var(--base-size-48);max-block-size:var(--base-size-48);flex-wrap:nowrap;flex:auto;align-items:center;margin:0;padding:0;display:flex;overflow:hidden}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9{white-space:nowrap;flex:none}@media screen and (width<=767px){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9{animation-name:Primer_Brand__SubdomainNavBar-module__fade-in-down-staggered___zQfEQ;animation-duration:.5s;animation-delay:calc(var(--animation-order) * 80ms);animation-fill-mode:both;animation-timing-function:var(--brand-animation-easing-default)}}@media screen and (width>=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item--overflowed___vVhQg{visibility:hidden;pointer-events:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item--overflow___FXC7u{visibility:hidden;pointer-events:none;flex:none;align-items:center;display:flex;position:absolute;inset-inline-end:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-overflow--has-overflow___zoCZu .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item--overflow___FXC7u{visibility:visible;pointer-events:auto;position:relative}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc{align-items:center;gap:var(--base-size-8);color:var(--brand-color-text-default);font-family:var(--brand-heading-fontFamily);font-weight:var(--base-text-weight-normal);flex-direction:row;-webkit-text-decoration:none;text-decoration:none;display:flex;position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:hover{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-text___a540y{position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9{align-items:center;gap:var(--base-size-8);display:inline-flex}@media screen and (width<=767px){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link--title___ApFQt{font-weight:var(--base-text-weight-medium)}}@media screen and (width>=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc{width:100%;min-height:var(--base-size-40);padding:var(--base-size-8) var(--base-size-12);color:var(--brand-color-text-muted);background-color:var(--brand-color-canvas-default);border-radius:var(--brand-borderRadius-medium);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-200);transition:background-color var(--brand-animation-easing-default) .25s}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:hover,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus-visible{color:var(--brand-color-text-default);background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus-visible{box-shadow:inset 0 0 0 var(--brand-borderWidth-thick) var(--brand-color-focus);outline:none}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2{display:none}@media screen and (width>=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2{cursor:pointer;appearance:none;align-items:center;gap:var(--base-size-4);background-color:#0000;border:none;display:inline-flex}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu___RXj_t{z-index:100;background-color:var(--brand-color-canvas-default);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);animation:Primer_Brand__SubdomainNavBar-module__fade-in-down-overflow____WJvz var(--brand-animation-duration-faster);animation-timing-function:var(--brand-animation-easing-default);min-width:calc(var(--base-size-128) + var(--base-size-32));transform:translateY(calc(0px - var(--base-size-4)));border-start-start-radius:0;border-start-end-radius:0;border-end-end-radius:var(--brand-borderRadius-medium);border-end-start-radius:var(--brand-borderRadius-medium);position:absolute;right:auto;overflow:hidden}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-list___EbzqG{grid-gap:var(--brand-borderWidth-thin);gap:var(--brand-borderWidth-thin);padding:var(--base-size-8);width:100%;margin:0;list-style-type:none;display:grid}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-secondary-nav___WHTTz{flex:0 auto;align-items:center;min-width:0;margin-left:auto;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___WyUIj{box-sizing:border-box;align-items:center;min-width:0;display:flex}@media screen and (width>=63.25rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___WyUIj{--SubdomainNavBar-search-input-width:calc(var(--base-size-128) * 2 + var(--base-size-24));flex:0 9999 var(--SubdomainNavBar-search-input-width);width:var(--SubdomainNavBar-search-input-width);max-width:100%;min-width:calc(var(--base-size-128) + var(--base-size-32))}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button___hMy4J{cursor:pointer;appearance:none;border:var(--brand-borderWidth-thick) solid transparent;color:var(--brand-color-text-default);width:calc(48px - var(--brand-borderWidth-thick));height:calc(48px - var(--brand-borderWidth-thick));transition:border .25s var(--brand-animation-easing-default), box-shadow .25s ease;border-radius:var(--brand-borderRadius-medium);background-color:#0000;justify-content:center;align-items:center;gap:0;display:flex;position:relative;box-shadow:0 0 0 2px #0000}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button___hMy4J svg{width:24px;height:24px}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button____QKi7{cursor:pointer;appearance:none;justify-content:space-between;align-items:center;gap:var(--base-size-16);width:100%;block-size:var(--base-size-32);min-block-size:var(--base-size-32);padding:var(--base-size-4) var(--base-size-4) var(--base-size-4) calc(var(--base-size-8) + var(--base-size-2));color:var(--brand-color-text-muted);background-color:var(--brand-color-canvas-subtle);border-radius:var(--brand-borderRadius-medium);font-family:var(--brand-body-fontFamily);transition:background-color var(--brand-animation-duration-fast) var(--brand-animation-easing-default), box-shadow var(--brand-animation-duration-fast) var(--brand-animation-easing-default);border:0;display:flex;overflow:hidden}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button____QKi7:hover{box-shadow:inset 0 0 0 var(--brand-borderWidth-thin) var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button____QKi7:focus-visible{outline:var(--base-size-4) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button____QKi7:active{box-shadow:inset 0 0 0 var(--brand-borderWidth-thin) var(--brand-color-border-default)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder___lFmsx{align-items:center;gap:var(--base-size-8);min-width:0;color:var(--brand-color-text-muted);font-size:var(--brand-text-size-100);font-weight:var(--base-text-weight-normal);white-space:nowrap;text-overflow:ellipsis;line-height:1.2;display:inline-flex;overflow:hidden}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder___lFmsx svg{flex:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder___lFmsx span{text-overflow:ellipsis;overflow:hidden}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-shortcut___M8tMd{min-width:var(--base-size-24);padding-inline:var(--base-size-8);color:var(--brand-color-text-default);background-color:var(--brand-color-canvas-default);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);border-radius:calc(var(--brand-borderRadius-medium) / 2);font-family:var(--brand-fontStack-monospace);font-size:var(--brand-text-size-100);font-weight:var(--base-text-weight-normal);flex:none;justify-content:center;align-self:stretch;align-items:center;line-height:1.6;display:inline-flex}@media screen and (width<=47.99rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___WyUIj{flex:0 0 var(--base-size-48);width:var(--base-size-48);justify-content:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button____QKi7{width:var(--base-size-32);padding:var(--base-size-8);background-color:#0000;justify-content:center;gap:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder___lFmsx{gap:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder___lFmsx span,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-shortcut___M8tMd{display:none}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button___hMy4J{align-self:center;align-items:center;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-icon___dXvjL{gap:calc(var(--base-size-4) - var(--brand-borderWidth-thin));flex-direction:column;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-label___iD85T{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF{background-color:var(--brand-color-text-default);width:22px;height:2px;margin:var(--base-size-4) auto;border-radius:var(--brand-borderRadius-large);display:block}@media (prefers-reduced-motion:no-preference){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF{transition-timing-function:var(--brand-animation-easing-default);transition-property:opacity,transform;transition-duration:.5s}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF:first-of-type{transform-origin:100% 100%}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF:nth-of-type(3){transform-origin:100% 0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF:first-of-type{transform:rotate(-45deg)translateY(-3px)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF:nth-of-type(2){opacity:0;transform:scale(0)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF:nth-of-type(3){transform:rotate(45deg)translateY(3px)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___CTbHW.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT{z-index:3;background-color:var(--brand-color-canvas-muted);position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___CTbHW.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT:focus-visible{box-shadow:none;outline:none;transition:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___CTbHW.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT:focus-visible:before{content:"";z-index:2;pointer-events:none;border:var(--brand-borderWidth-thick) solid var(--brand-color-focus);position:absolute;inset:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___CTbHW.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT:after{content:"";z-index:1;height:calc(var(--brand-borderWidth-thin) * 2);background-color:var(--brand-color-canvas-muted);position:absolute;inset-block-end:calc(var(--brand-borderWidth-thin) * -2);inset-inline:0}@media screen and (width>=63.25rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button___hMy4J:hover{border:var(--brand-borderWidth-thick) solid var(--brand-SubdomainNavBar-border-button-hover);background-color:#0000}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button___hMy4J:active{box-shadow:0 0 0 1px var(--brand-SubdomainNavBar-border-button-hover);background-color:#0000}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___CTbHW{display:none}}@media screen and (width>=48rem) and (width<=63.24rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav___rZwCn{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-secondary-nav___WHTTz{flex:none;align-self:stretch;position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___WyUIj{--SubdomainNavBar-tablet-search-width:calc(var(--base-size-128) * 2 + var(--base-size-2));flex:0 0 var(--SubdomainNavBar-tablet-search-width);width:var(--SubdomainNavBar-tablet-search-width);padding-inline:var(--base-size-8);border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button____QKi7{width:100%}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___CTbHW{justify-content:center;align-self:stretch;align-items:center;gap:var(--base-size-8);width:max-content;min-width:calc(var(--base-size-64) + var(--base-size-32));height:100%;padding-inline:var(--base-size-16);color:var(--brand-color-text-default);border:0;border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);border-inline-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);font-family:var(--brand-body-fontFamily);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);border-radius:0;flex-direction:row;flex:none;overflow:visible}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-label___iD85T{white-space:nowrap;align-items:center;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-icon___dXvjL{width:var(--base-size-16);height:var(--base-size-16);flex:none;justify-content:center;align-items:stretch;overflow:visible}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-icon___dXvjL .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF{width:var(--base-size-16);height:var(--base-size-2);transform-origin:50%;margin:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF:first-of-type{transform:translateY(calc(var(--base-size-6) - var(--brand-borderWidth-thin))) rotate(45deg)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF:nth-of-type(3){transform:translateY(calc(var(--brand-borderWidth-thin) - var(--base-size-6))) rotate(-45deg)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO{inset-inline:0;top:var(--SubdomainNavBar-height);z-index:2;box-sizing:border-box;width:100%;max-height:calc(100vh - var(--SubdomainNavBar-height) - 0px);max-height:calc(100vh - var(--SubdomainNavBar-height) - var(--SubdomainNavBar-menu-offset-block-start,0px));background-color:var(--brand-color-canvas-default);border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);animation:Primer_Brand__SubdomainNavBar-module__fade-in-down___kwg9g var(--brand-animation-duration-default);animation-timing-function:var(--brand-animation-easing-default);flex-direction:column;justify-content:flex-start;display:flex;position:absolute;overflow-y:auto}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO{width:max(100%, calc(var(--base-size-128) * 3));min-width:0;inset-inline:auto 0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper--close___NzelD{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list--visible___ZeoFv{grid-gap:var(--brand-borderWidth-thin);gap:var(--brand-borderWidth-thin);padding:var(--base-size-8) var(--base-size-16);margin:0;display:grid}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper-footer___VLcHd{flex-direction:column;flex:none;width:100%;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc{box-sizing:border-box;width:100%;min-height:var(--base-size-40);padding:var(--base-size-8) var(--base-size-12);color:var(--brand-color-text-muted);background-color:var(--brand-color-canvas-default);border-radius:var(--brand-borderRadius-medium);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-200)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx){width:100%;height:auto}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc{padding:var(--base-size-8) var(--base-size-12)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9{background-color:#0000;border-radius:0;width:100%;padding:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:hover>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus-visible>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:active>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc[aria-current]:not([aria-current=false])>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9{background-color:#0000;outline:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:hover,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus-visible,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:active,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc[aria-current]:not([aria-current=false]){color:var(--brand-color-text-default);background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus-visible{box-shadow:inset 0 0 0 var(--brand-borderWidth-thick) var(--brand-color-focus);outline:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link--title___ApFQt{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-200)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___qa6xA,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component___zpwkV{box-sizing:border-box;width:100%;height:auto;padding:var(--base-size-16);flex:none;margin-inline:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area___MbQys{width:100%;height:auto;padding:0;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area-inner___dbpYv{box-sizing:border-box;width:100%;margin-block:var(--base-size-24);padding-inline:var(--base-size-16);flex-direction:column}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper-footer--has-leading-item___WS7Rf,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___qa6xA+.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list--visible___ZeoFv,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper-footer___VLcHd .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component___zpwkV+.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area___MbQys{border-block-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area___MbQys{gap:var(--base-size-16);align-items:center;min-width:0;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area-inner___dbpYv{gap:var(--base-size-8);min-width:0;display:flex}@media screen and (width<=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area___MbQys{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area--visible___fLvbf{z-index:99;width:100%;height:auto;animation-name:Primer_Brand__SubdomainNavBar-module__fade-in-down-staggered___zQfEQ;animation-duration:.5s;animation-delay:.8s;animation-fill-mode:both;animation-timing-function:var(--brand-animation-easing-default);display:flex;left:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container--search-open___nhMNU .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area--visible___fLvbf{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area-inner___dbpYv{box-sizing:border-box;width:100%;margin-block:var(--base-size-24);padding-inline:var(--base-size-24);flex-direction:column;min-width:0}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-cta-button___g_9BM{white-space:nowrap}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO{top:var(--SubdomainNavBar-height);height:auto;max-height:calc(100vh - var(--SubdomainNavBar-height) - 0px);max-height:calc(100vh - var(--SubdomainNavBar-height) - var(--SubdomainNavBar-menu-offset-block-start,0px))}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-backdrop___sLFAC{inset-block-start:calc(var(--SubdomainNavBar-height) + 0px);z-index:1;background-color:var(--brand-SubdomainNavBar-searchDialog-backdropColor);animation:Primer_Brand__SubdomainNavBar-module__fade-in___u4FB2 var(--brand-animation-duration-fast) var(--brand-animation-easing-glide);position:fixed;inset-block-start:calc(var(--SubdomainNavBar-height) + var(--SubdomainNavBar-menu-offset-block-start,0px));inset-block-end:0;inset-inline:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container--search-open___nhMNU{animation:none}@media screen and (width<=47.99rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK{--SubdomainNavBar-mobile-control-size:var(--base-size-48)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___kdy5Y{height:100%;padding:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5{gap:0;max-width:none;height:100%;padding:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5>li{height:100%;padding-inline:0 var(--base-size-16);align-items:center;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5>li:first-child{width:auto;padding-inline:var(--base-size-16) var(--base-size-8);justify-content:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark___pMn2_{justify-content:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark___pMn2_ svg{width:var(--base-size-24);height:var(--base-size-24)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___Zm_g2{padding-inline-end:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___Zm_g2>*{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-secondary-nav___WHTTz{height:100%}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___WyUIj{flex:0 0 var(--SubdomainNavBar-mobile-control-size);width:var(--SubdomainNavBar-mobile-control-size);border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);justify-content:center;height:100%;padding-inline:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button____QKi7,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___CTbHW{box-sizing:border-box;flex:0 0 var(--SubdomainNavBar-mobile-control-size);width:var(--SubdomainNavBar-mobile-control-size);height:100%;padding-inline:var(--base-size-16);border-radius:0;flex-direction:column;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___CTbHW{gap:calc(var(--base-size-4) - var(--brand-borderWidth-thin));border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF{width:var(--base-size-16);height:var(--base-size-2);transform-origin:50%;margin:0 auto}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF:first-of-type{transform:translateY(calc(var(--base-size-6) - var(--brand-borderWidth-thin))) rotate(45deg)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF:nth-of-type(3){transform:translateY(calc(var(--brand-borderWidth-thin) - var(--base-size-6))) rotate(-45deg)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc{padding:var(--base-size-16);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link--title___ApFQt{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area-inner___dbpYv{padding-inline:var(--base-size-16)}}@media screen and (width>=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___kdy5Y{max-width:none;height:100%;padding:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5{gap:0;max-width:none;height:100%;padding:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5>li{height:100%;padding-inline:0 var(--base-size-16);border-inline-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);align-items:center;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5>li:first-child{width:auto;padding-inline:var(--base-size-16) var(--base-size-8);border-inline-end:0;justify-content:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--has-title___JWpl2 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5>li:first-child{padding-inline-end:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--has-title___JWpl2 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5>li:first-child:after{margin-inline-end:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--has-title___JWpl2 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-item___CclaY{padding-inline:var(--base-size-24)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark___pMn2_{justify-content:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark___pMn2_ svg{width:var(--base-size-24);height:var(--base-size-24)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___Zm_g2{padding-inline-end:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___Zm_g2>*{font-size:var(--base-size-16);line-height:var(--base-size-16)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav___rZwCn,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-overflow___OXKBt,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list___iQd2r,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-secondary-nav___WHTTz,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area___MbQys,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___qa6xA,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component___zpwkV{height:100%}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___qa6xA,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component___zpwkV{padding-inline:var(--base-size-16);margin-inline:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___qa6xA{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list___iQd2r{block-size:100%;max-block-size:100%;align-items:stretch;margin:0;padding-inline-start:var(--base-size-16)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-overflow___OXKBt{margin:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9{align-items:center;height:100%;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc{height:100%;padding:0 var(--base-size-16);color:var(--brand-color-text-muted);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-200);align-items:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2{padding-inline:var(--base-size-4)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9{gap:var(--base-size-4);padding:var(--base-size-4) var(--base-size-12);border-radius:var(--brand-borderRadius-full);background-color:#0000}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:hover>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:active>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc[aria-current]:not([aria-current=false])>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2:hover>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2:active>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2[aria-expanded=true]>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9{background-color:var(--brand-SubdomainNavBar-color-link-bgColor)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus-visible,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2:focus-visible{outline:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus-visible>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2:focus-visible>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}@media (prefers-reduced-motion:no-preference){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9{transition:background-color var(--brand-animation-duration-fast) var(--brand-animation-easing-default)}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___WyUIj{height:100%;padding-inline:var(--base-size-16)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger--has-trailing-item___sHQYt{border-inline-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area___MbQys{padding-inline:var(--base-size-16);align-items:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area--has-leading-item___HsvBF{border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}@media screen and (width>=63.25rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___WyUIj{--SubdomainNavBar-search-input-width:max(calc(var(--base-size-128) + var(--base-size-32)), min(28.5vw, calc(var(--base-size-128) * 3 + var(--base-size-36))));align-self:stretch}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--has-primary-nav___QwOCp{border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);height:calc(var(--SubdomainNavBar-height) + var(--base-size-48))}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp:after{inset-block-start:var(--SubdomainNavBar-height)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___kdy5Y{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:var(--SubdomainNavBar-height);display:grid}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--has-primary-nav___QwOCp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___kdy5Y{grid-template-rows:var(--SubdomainNavBar-height) var(--base-size-48)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-navigation___QI1qZ{grid-area:1/1;min-width:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav___rZwCn{border-block-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);grid-area:2/1/auto/-1;min-width:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list___iQd2r{padding-inline-start:calc(var(--base-size-64) + var(--brand-borderWidth-thin))}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___kdy5Y>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___qa6xA{border-inline-start:0;grid-area:1/2;justify-self:start}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___kdy5Y>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-secondary-nav___WHTTz{grid-area:1/3}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___WyUIj{border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button____QKi7{width:var(--base-size-32);padding:var(--base-size-8);background-color:#0000;justify-content:center;gap:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder___lFmsx{gap:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder-text___W96nO,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-shortcut___M8tMd{display:none}@media screen and (width>=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___WyUIj{flex:0 0 var(--base-size-48);width:var(--base-size-48);min-width:var(--base-size-48);padding-inline:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button____QKi7{width:100%;block-size:100%;padding-inline:var(--base-size-16);border-radius:0}}@media screen and (width>=1024px){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-cta-button--secondary___P0FJH{display:inline-flex}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-form___zoZB5{width:100%;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-area___DttZX{align-items:center;gap:var(--base-size-8);width:100%;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-close-button___aVOiQ{cursor:pointer;appearance:none;min-block-size:var(--base-size-32);padding:var(--base-size-8) var(--base-size-12);color:var(--brand-color-text-default);background-color:var(--brand-color-canvas-subtle);border-radius:var(--brand-borderRadius-medium);font-family:var(--brand-body-fontFamily);font-size:var(--brand-text-size-100);font-weight:var(--base-text-weight-medium);line-height:var(--base-size-14);letter-spacing:var(--brand-text-letterSpacing-100);border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-close-button___aVOiQ:hover{background-color:var(--brand-color-canvas-inset)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-close-button___aVOiQ:focus-visible{outline:var(--base-size-4) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog-control-area___KlFbq{height:var(--base-size-40);background:0 0;align-items:center;max-width:none;margin:0;padding:0;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-text-input___kDY_0{border-color:#0000}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-area___y0BAA{width:100%}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-container___kow2P{padding:var(--base-size-24);background-color:var(--base-color-scale-white-0);border-radius:var(--brand-borderRadius-large);width:80%;max-width:570px;height:70vh;max-height:514px;margin:0 auto;animation:.5s Primer_Brand__SubdomainNavBar-module__fade-in-down___kwg9g;box-shadow:0 8px 24px #01040926}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results___haCH9{padding:0 var(--base-size-24) 0 0;height:90%;margin:0;list-style:none;overflow-y:scroll}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-heading___FTzyR{font-weight:var(--brand-heading-weight-600);font-size:var(--base-size-20);line-height:var(--base-size-24);margin-bottom:var(--base-size-20);padding:0 var(--base-size-8);color:var(--base-color-scale-black-0);display:block}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group___HQ5ec,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group-list___vCi4S{margin:0;padding:0;list-style:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group___HQ5ec+.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group___HQ5ec{margin-block-start:var(--base-size-24)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group-heading___wULje{margin:0 0 var(--base-size-20);padding:0 var(--base-size-8);color:var(--brand-color-text-muted);font-weight:var(--brand-heading-weight-600);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);display:block}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item___YZV9z{padding:var(--base-size-16) var(--base-size-8);border-bottom:1px solid #b7bfc7;border-bottom:solid var(--brand-borderWidth-thin,1px) var(--brand-SubdomainNavBar-search-results-border-default,#b7bfc7)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___bEvSd a[aria-selected=true]{outline:var(--brand-color-focus) auto var(--brand-borderWidth-thick)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___bEvSd{letter-spacing:var(--brand-heading-letterSpacing-400);font-size:var(--brand-text-size-400)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___bEvSd a{color:var(--base-color-scale-black-0);margin:0 0 var(--base-size-12);font-size:var(--base-size-16);font-weight:var(--brand-heading-weight-400);font-family:var(--brand-heading-fontFamily);line-height:var(--brand-text-lineHeight-400);-webkit-text-decoration:none;text-decoration:none;display:block}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___bEvSd a svg{flex:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___bEvSd a:hover{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-desc___Rb5Tm{color:var(--base-color-scale-black-0)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5{inset-block-start:calc(var(--base-size-64) + var(--base-size-8));inset-block-end:auto;inset-inline:calc(var(--base-size-64) + var(--base-size-8));z-index:99;width:min(calc(100vw - ((var(--base-size-64) + var(--base-size-8)) * 2)), calc((var(--base-size-128) * 6) + var(--base-size-36)));max-height:calc(100vh - ((var(--base-size-64) + var(--base-size-8)) * 2));height:auto;padding:var(--base-size-16);color:var(--brand-color-text-default);background-color:var(--brand-color-canvas-default);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-default);border-radius:var(--brand-borderRadius-large);box-shadow:0 0 calc(var(--base-size-32) + var(--base-size-2)) var(--brand-SubdomainNavBar-searchDialog-shadowColor);margin-inline:auto;position:fixed;overflow:hidden}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog--has-results___fcWO5{padding-block-end:var(--base-size-32)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5::backdrop{background-color:var(--brand-SubdomainNavBar-searchDialog-backdropColor);-webkit-backdrop-filter:blur(var(--base-size-24));backdrop-filter:blur(var(--base-size-24))}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-area___DttZX{gap:var(--base-size-16)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-form___zoZB5{min-width:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-form___zoZB5 section>span:focus-within{box-shadow:none;border-color:#0000}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-text-input___kDY_0{color:var(--brand-color-text-default);font-size:calc(var(--base-size-16) + var(--base-size-2));font-weight:var(--base-text-weight-medium);line-height:var(--brand-text-lineHeight-300);letter-spacing:var(--brand-text-letterSpacing-100)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-close-button___aVOiQ{background-color:var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-area--visible___lo6ji{border-block-start:var(--brand-borderWidth-thin) dashed var(--brand-color-border-muted);margin-block-start:var(--base-size-24);padding-block-start:var(--base-size-24)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-container___kow2P{width:100%;max-width:none;height:auto;max-height:calc(100vh - (((var(--base-size-64) + var(--base-size-8)) * 2) + var(--base-size-128)));box-shadow:none;background-color:#0000;border-radius:0;margin:0;padding:0;animation:none;overflow-y:auto}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results___haCH9{height:auto;margin:0;padding:0;overflow:visible}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-heading___FTzyR,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group-heading___wULje{color:var(--brand-color-text-muted);font-size:var(--brand-text-size-100);font-weight:var(--brand-heading-weight-600);line-height:var(--brand-text-lineHeight-100);margin-block-end:var(--base-size-20);padding:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group___HQ5ec+.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group___HQ5ec{margin-block-start:var(--base-size-24)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item___YZV9z{padding:var(--base-size-16) var(--base-size-4);border-block-end:0;border-block-start:var(--brand-borderWidth-thin) dashed var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group-list___vCi4S>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item___YZV9z:first-child,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results___haCH9>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item___YZV9z:first-child{border-block-start:0;padding-block-start:var(--base-size-12)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___bEvSd{font-size:var(--brand-text-size-300);letter-spacing:var(--brand-text-letterSpacing-100)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___bEvSd a{align-items:center;gap:calc(var(--base-size-8) + var(--base-size-2));width:100%;color:var(--brand-color-text-default);font-size:var(--brand-text-size-300);font-weight:var(--brand-heading-weight-600);line-height:var(--brand-text-lineHeight-300);letter-spacing:var(--brand-text-letterSpacing-100);margin:0;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___bEvSd a span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-desc___Rb5Tm,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-meta___HjhRd{display:none}@media screen and (width<=47.99rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5{inset-block-start:var(--base-size-16);inset-block-end:auto;inset-inline:var(--base-size-16);width:calc(100vw - (var(--base-size-16) * 2));max-height:calc(100vh - (var(--base-size-16) * 2));height:auto}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-skip-to-content___WMHSh{z-index:100;position:absolute;inset-block-start:calc(var(--SubdomainNavBar-height) / 2);inset-inline-start:var(--base-size-16);transform:translateY(-50%)}@keyframes Primer_Brand__SubdomainNavBar-module__fade-in-down___kwg9g{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes Primer_Brand__SubdomainNavBar-module__fade-in___u4FB2{0%{opacity:0}to{opacity:1}}@keyframes Primer_Brand__SubdomainNavBar-module__fade-in-down-overflow____WJvz{0%{opacity:0;transform:translateY(calc(0px - var(--base-size-24)))}to{opacity:1;transform:translateY(calc(0px - var(--base-size-4)))}}@keyframes Primer_Brand__SubdomainNavBar-module__fade-out___fhdxi{0%{opacity:1}to{opacity:0}}@keyframes Primer_Brand__SubdomainNavBar-module__fade-in-down-staggered___zQfEQ{0%{opacity:0;transform:scale(.6)translateY(-8px)}to{opacity:1}}@media (prefers-reduced-motion:reduce){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK:before,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK:after,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root,[data-color-mode=light]{--brand-SubdomainNavBar-canvas-default:#ffffff80;--brand-SubdomainNavBar-canvas-search:var(--base-color-scale-white-0);--brand-SubdomainNavBar-canvas-overflow-default:var(--base-color-scale-white-0);--brand-SubdomainNavBar-canvas-overflow-hover:var(--base-color-scale-gray-0);--brand-SubdomainNavBar-fg-overflow-default:var(--brand-color-text-default);--brand-SubdomainNavBar-color-link-bgColor:var(--base-color-scale-gray-1);--brand-SubdomainNavBar-searchDialog-shadowColor:#0000001a;--brand-SubdomainNavBar-searchDialog-backdropColor:#0003;--brand-SubdomainNavBar-border-nav-default:var(--base-color-scale-green-6);--brand-SubdomainNavBar-border-nav-pressed:var(--base-color-scale-black-0);--brand-SubdomainNavBar-border-button-hover:var(--base-color-scale-black-0)}[data-color-mode=dark]{--brand-SubdomainNavBar-canvas-default:#0d111780;--brand-SubdomainNavBar-canvas-search:var(--base-color-scale-black-0);--brand-SubdomainNavBar-canvas-overflow-default:var(--base-color-scale-white-0);--brand-SubdomainNavBar-canvas-overflow-hover:var(--base-color-scale-gray-0);--brand-SubdomainNavBar-fg-overflow-default:var(--brand-color-text-onEmphasis);--brand-SubdomainNavBar-color-link-bgColor:var(--base-color-scale-gray-6);--brand-SubdomainNavBar-searchDialog-shadowColor:#0000001a;--brand-SubdomainNavBar-searchDialog-backdropColor:#0003;--brand-SubdomainNavBar-border-nav-default:var(--base-color-scale-green-3);--brand-SubdomainNavBar-border-nav-pressed:var(--base-color-scale-white-0);--brand-SubdomainNavBar-border-button-hover:var(--base-color-scale-white-0)}:root,[data-color-mode=light],[data-color-mode=dark]{--brand-InlineLink-color-rest:var(--brand-color-text-link-rest);--brand-InlineLink-color-pressed:var(--brand-color-text-link-pressed)}:root{--brand-InlineLink-transition-timing:var(--brand-animation-duration-fast)}.Primer_Brand__InlineLink-module__InlineLink___U_Ama{-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration-color:var(--brand-InlineLink-color-rest);text-decoration-color:var(--brand-InlineLink-color-rest);text-decoration-thickness:var(--brand-borderWidth-thin);text-underline-position:under;transition:var(--brand-InlineLink-transition-timing) text-decoration;position:relative}.Primer_Brand__InlineLink-module__InlineLink___U_Ama:hover{text-decoration-thickness:var(--brand-borderWidth-thick)}.Primer_Brand__InlineLink-module__InlineLink___U_Ama,.Primer_Brand__InlineLink-module__InlineLink___U_Ama>span{font-size:inherit;font-weight:inherit;line-height:inherit;color:var(--brand-InlineLink-color-rest)}.Primer_Brand__InlineLink-module__InlineLink___U_Ama:active,.Primer_Brand__InlineLink-module__InlineLink___U_Ama:active>span{color:var(--brand-InlineLink-color-pressed)}[data-color-mode=dark] .Primer_Brand__InlineLink-module__InlineLink___U_Ama{-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto}@media (prefers-reduced-motion:reduce){.Primer_Brand__InlineLink-module__InlineLink___U_Ama,.Primer_Brand__InlineLink-module__InlineLink___U_Ama:before,.Primer_Brand__InlineLink-module__InlineLink___U_Ama:after,.Primer_Brand__InlineLink-module__InlineLink___U_Ama *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__InlineCode-module__InlineCode___NJ7el{font-family:var(--brand-fontStack-monospace);font-size:calc(1em - 1px);font-weight:var(--base-text-weight-regular);color:var(--brand-InlineCode-color-fg-default);background-color:var(--brand-InlineCode-bgColor);padding-block:0;padding-inline:var(--base-size-4);border-radius:var(--base-size-2);-webkit-box-decoration-break:clone;box-decoration-break:clone;white-space:normal;word-wrap:anywhere;line-height:1.6}.Primer_Brand__InlineCode-module__InlineCode___NJ7el.Primer_Brand__InlineCode-module__InlineCode--nowrap___mcEPL{white-space:nowrap;word-wrap:normal}:where(h1,h2,h3,h4,h5,h6) .Primer_Brand__InlineCode-module__InlineCode___NJ7el{border-radius:var(--base-size-4)}:where(h1,h2,h3,h4,h5,h6) .Primer_Brand__InlineCode-module__InlineCode__text___N7vdd{color:var(--brand-InlineCode-color-fg-heading)}.Primer_Brand__InlineCode-module__InlineCode__text___N7vdd{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:auto;position:relative;inset-block-start:-.03em}:root,[data-color-mode=light]{--brand-Token-bgColor-default:var(--base-color-scale-gray-0);--brand-Token-bgColor-accent:var(--base-color-scale-green-6);--brand-Token-bgColor-hover-default:var(--base-color-scale-gray-1);--brand-Token-bgColor-hover-accent:var(--base-color-scale-green-7);--brand-Token-bgColor-hover-outline:#0000000f;--brand-Token-bgColor-hover-invisible:#0000000f;--brand-Token-bgColor-invisible:var(--base-color-scale-gray-1);--brand-Token-bgColor-outline:transparent;--brand-Token-border-outline:var(--brand-color-border-muted);--brand-Token-fgColor-default:var(--brand-color-text-default);--brand-Token-fgColor-accent:var(--base-color-scale-white-0);--brand-Token-fgColor-outline:var(--brand-color-text-default);--brand-Token-fgColor-invisible:var(--brand-color-text-default)}[data-color-mode=dark]{--brand-Token-bgColor-default:var(--base-color-scale-gray-7);--brand-Token-bgColor-accent:var(--base-color-scale-green-2);--brand-Token-bgColor-hover-default:var(--base-color-scale-gray-6);--brand-Token-bgColor-hover-accent:var(--base-color-scale-green-1);--brand-Token-bgColor-hover-outline:var(--brand-color-canvas-subtle);--brand-Token-bgColor-hover-invisible:var(--brand-color-canvas-subtle);--brand-Token-bgColor-invisible:transparent;--brand-Token-bgColor-outline:transparent;--brand-Token-border-outline:var(--brand-color-border-default);--brand-Token-fgColor-default:var(--brand-color-text-default);--brand-Token-fgColor-accent:var(--brand-color-text-onEmphasis);--brand-Token-fgColor-outline:var(--brand-color-text-default);--brand-Token-fgColor-invisible:var(--brand-color-text-default)}.Primer_Brand__Token-module__Token___r7qQC{border:var(--brand-borderWidth-thin) solid transparent;border-radius:var(--brand-borderRadius-small);align-items:center;gap:var(--base-size-8);min-width:0;max-width:100%;padding-inline:var(--base-size-8);padding-block:var(--base-size-6);vertical-align:middle;padding-block-end:var(--base-size-6);display:inline-flex}.Primer_Brand__Token-module__Token--hasLeadingVisual___cPRLz{padding-inline:calc((var(--base-size-4) + var(--base-size-8)) / 2);padding-block:calc((var(--base-size-4) + var(--base-size-8)) / 2)}.Primer_Brand__Token-module__Token--interactive___aQ1rk{cursor:pointer;-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__Token-module__Token--interactive___aQ1rk:focus-visible{outline:var(--base-size-4) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}[data-color-mode=dark] .Primer_Brand__Token-module__Token___r7qQC{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:auto}.Primer_Brand__Token-module__Token--variant-default___NBxMW{background-color:var(--brand-Token-bgColor-default);color:var(--brand-Token-fgColor-default)}.Primer_Brand__Token-module__Token--interactive___aQ1rk.Primer_Brand__Token-module__Token--variant-default___NBxMW:hover{background-color:var(--brand-Token-bgColor-hover-default)}.Primer_Brand__Token-module__Token--variant-accent___Ji_P4{background-color:var(--brand-Token-bgColor-accent);color:var(--brand-Token-fgColor-accent)}.Primer_Brand__Token-module__Token--interactive___aQ1rk.Primer_Brand__Token-module__Token--variant-accent___Ji_P4:hover{background-color:var(--brand-Token-bgColor-hover-accent)}.Primer_Brand__Token-module__Token--variant-outline___X52wp{background-color:var(--brand-Token-bgColor-outline);border-color:var(--brand-Token-border-outline);color:var(--brand-Token-fgColor-outline)}.Primer_Brand__Token-module__Token--interactive___aQ1rk.Primer_Brand__Token-module__Token--variant-outline___X52wp:hover{background-color:var(--brand-Token-bgColor-hover-outline)}.Primer_Brand__Token-module__Token--variant-invisible___bJrcK{color:var(--brand-Token-fgColor-invisible);background-color:#0000}.Primer_Brand__Token-module__Token--interactive___aQ1rk.Primer_Brand__Token-module__Token--variant-invisible___bJrcK:hover{background-color:var(--brand-Token-bgColor-hover-invisible)}.Primer_Brand__Token-module__Token__label___wC8Q5{text-overflow:ellipsis;min-width:0;font-weight:var(--base-text-weight-normal);line-height:var(--brand-text-lineHeight-100);white-space:nowrap;letter-spacing:var(--brand-text-letterSpacing-100);flex:auto;display:block;overflow:hidden}.Primer_Brand__Token-module__Token___r7qQC>.Primer_Brand__Token-module__Token__label___wC8Q5{color:inherit}.Primer_Brand__Token-module__Token__leading-visual___SDos3{width:calc((var(--base-size-16) + var(--base-size-20)) / 2);height:calc((var(--base-size-16) + var(--base-size-20)) / 2);flex-shrink:0;justify-content:center;align-items:center;display:flex}.Primer_Brand__Token-module__Token__visual___U0j1l{display:block}.Primer_Brand__Token-module__Token__leading-visual___SDos3>.Primer_Brand__Token-module__Token__visual___U0j1l{width:calc((var(--base-size-16) + var(--base-size-20)) / 2);height:calc((var(--base-size-16) + var(--base-size-20)) / 2);max-width:calc((var(--base-size-16) + var(--base-size-20)) / 2);max-height:calc((var(--base-size-16) + var(--base-size-20)) / 2);border-radius:2px}.Primer_Brand__Token-module__Token__leading-visual___SDos3>.Primer_Brand__Token-module__Token__visual___U0j1l svg,.Primer_Brand__Token-module__Token__leading-visual___SDos3>.Primer_Brand__Token-module__Token__visual___U0j1l img{width:100%;height:100%}@media (forced-colors:active){.Primer_Brand__Token-module__Token___r7qQC{outline:var(--brand-borderWidth-thin) solid transparent}.Primer_Brand__Token-module__Token--interactive___aQ1rk:focus-visible{outline-color:highlight}}:root{--brand-FAQ-maxWidth-list:51rem}:root,[data-color-mode=light]{--brand-FAQ-color-heading:var(--brand-color-text-default);--brand-FAQ-color-tabLabel-selected:var(--brand-color-text-default);--brand-FAQGroup-buttonIndicator-idle:var(--base-color-scale-gray-3);--brand-FAQGroup-buttonIndicator-hover:var(--base-color-scale-gray-5);--brand-FAQGroup-buttonIndicator-active:var(--brand-color-accent-primary)}[data-color-mode=dark]{--brand-FAQ-color-heading:var(--brand-color-text-default);--brand-FAQ-color-tabLabel-selected:var(--brand-color-text-default);--brand-FAQGroup-buttonIndicator-idle:var(--base-color-scale-gray-7);--brand-FAQGroup-buttonIndicator-hover:var(--base-color-scale-gray-5);--brand-FAQGroup-buttonIndicator-active:var(--brand-color-accent-primary)}:root{--brand-FAQ-heading-marginBottom:var(--base-size-40)}@media (width>=544px){:root{--brand-FAQ-heading-marginBottom:var(--base-size-40)}}@media (width>=768px){:root{--brand-FAQ-heading-marginBottom:var(--base-size-64)}}@media (width>=1012px){:root{--brand-FAQ-heading-marginBottom:var(--base-size-96)}}.Primer_Brand__FAQ-module__FAQ___R3vLU{max-width:var(--brand-FAQ-maxWidth-list);margin:0 auto}.Primer_Brand__FAQ-module__FAQ--variant-gridline___mM5vd{border-block-end:var(--brand-color-border-muted) var(--brand-borderWidth-thin) solid;max-width:100%;padding-block-end:var(--base-size-40)}.Primer_Brand__FAQ-module__FAQ__content-wrapper--gridline___XqrgD{padding-inline:var(--base-size-20);max-width:var(--brand-FAQ-maxWidth-list);margin:0 auto}.Primer_Brand__FAQ-module__FAQ__heading-wrapper--gridline___TWgo1{padding-inline:var(--base-size-20);border-block-end:var(--brand-color-border-muted) var(--brand-borderWidth-thin) solid;margin-block-end:var(--base-size-40)}.Primer_Brand__FAQ-module__FAQ__heading___bH0aG{color:var(--brand-FAQ-color-heading);margin-bottom:var(--brand-FAQ-heading-marginBottom)}.Primer_Brand__FAQ-module__FAQ__subheading___I4puv{margin-bottom:var(--base-size-16);color:var(--brand-color-text-muted);text-transform:uppercase;font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100)}.Primer_Brand__FAQ-module__FAQ__heading--start___eHaT3{text-align:left}.Primer_Brand__FAQ-module__FAQ__heading--center___xMpbW{text-align:center;max-width:18ch;margin-left:auto;margin-right:auto}.Primer_Brand__FAQ-module__FAQ__heading--large___pBEPT{font-weight:var(--brand-text-weight-normal);font-size:var(--brand-text-size-800);line-height:var(--brand-text-lineHeight-800);letter-spacing:var(--brand-text-letterSpacing-800)}.Primer_Brand__FAQ-module__FAQ___R3vLU details+.Primer_Brand__FAQ-module__FAQ__subheading___I4puv{margin-top:var(--base-size-48)}.Primer_Brand__FAQ-module__FAQ___R3vLU.Primer_Brand__FAQ-module__details__summary___zIBcp{font-weight:var(--brand-text-weight-normal);font-size:var(--brand-text-size-800);line-height:var(--brand-text-lineHeight-800);letter-spacing:var(--brand-text-letterSpacing-800);color:var(--brand-FAQ-color-heading);cursor:pointer;background:0 0;border:none;outline:none;margin:0;padding:0}@media screen and (width>=48rem){.Primer_Brand__FAQ-module__FAQ__content-wrapper--gridline___XqrgD,.Primer_Brand__FAQ-module__FAQ__heading-wrapper--gridline___TWgo1{padding-inline:var(--base-size-36)}}@media screen and (width>=63.25rem){.Primer_Brand__FAQ-module__FAQ__content-wrapper--gridline___XqrgD,.Primer_Brand__FAQ-module__FAQ__heading-wrapper--gridline___TWgo1{padding-inline:0}.Primer_Brand__FAQ-module__FAQ__heading-wrapper--gridline___TWgo1{margin-block-end:var(--base-size-48)}.Primer_Brand__FAQ-module__FAQ--variant-gridline___mM5vd{padding-block-end:var(--base-size-64)}}.Primer_Brand__FAQGroup-module__FAQGroup___D0VvR{justify-content:space-between;gap:var(--brand-stack-gap-spacious);display:none}.Primer_Brand__FAQGroup-module__FAQGroup__accordion___dkveP{margin-block-start:var(--base-size-48)}.Primer_Brand__FAQGroup-module__FAQGroup__panel-subHeading___F0U3h{text-transform:uppercase;font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);margin-block-start:calc(var(--base-size-8) + 1px)}.Primer_Brand__FAQGroup-module__FAQGroup__tablist___WdY5Z .Primer_Brand__FAQGroup-module__FAQ__heading___w52lv{display:none}.Primer_Brand__FAQGroup-module__FAQGroup__tablist-button___EgyrC{appearance:none;padding-block:var(--base-size-8);cursor:pointer;align-items:center;gap:var(--base-size-12);width:100%;font-family:var(--brand-fontStack-monospace);font-size:var(--brand-text-size-100);font-weight:var(--brand-text-weight-500);line-height:var(--brand-text-lineHeight-100);letter-spacing:.15px;text-transform:uppercase;text-align:start;color:var(--brand-color-text-muted);text-overflow:ellipsis;white-space:nowrap;transition:gap var(--brand-animation-duration-fast) var(--brand-animation-easing-default);background-color:#0000;border:none;padding-inline:0;display:flex;overflow:hidden}.Primer_Brand__FAQGroup-module__FAQGroup__tablist-button___EgyrC:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:2px}.Primer_Brand__FAQGroup-module__FAQGroup__tablist-button___EgyrC:before{content:"";width:calc(var(--base-size-8) + var(--base-size-2));height:var(--base-size-12);background-color:var(--brand-FAQGroup-buttonIndicator-idle);transform-origin:0;transition:transform var(--brand-animation-duration-fast) var(--brand-animation-easing-default), background-color var(--brand-animation-duration-fast) var(--brand-animation-easing-default);flex-shrink:0;display:block;transform:scaleX(.7)}.Primer_Brand__FAQGroup-module__FAQGroup__tablist-button___EgyrC:hover:before{background-color:var(--brand-FAQGroup-buttonIndicator-hover)}.Primer_Brand__FAQGroup-module__FAQGroup__tablist-button___EgyrC[aria-selected=true]{color:var(--brand-FAQ-color-tabLabel-selected);gap:calc(var(--base-size-12) + 3px)}.Primer_Brand__FAQGroup-module__FAQGroup__tablist-button___EgyrC[aria-selected=true]:before{background-color:var(--brand-FAQGroup-buttonIndicator-active);transform:scaleX(1)}.Primer_Brand__FAQGroup-module__FAQGroup__nested-accordion-item___JGGeC summary h4{font-weight:var(--brand-text-weight-200);font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200)}.Primer_Brand__FAQGroup-module__FAQGroup__tablist--gridline___OCZgL{padding-inline-start:var(--base-size-48);padding-block:var(--base-size-80)}.Primer_Brand__FAQGroup-module__FAQGroup__content--gridline___C9omN{border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-inline:var(--base-size-64);padding-block-start:var(--base-size-80);padding-block-end:var(--base-size-96)}@media (forced-colors:active){.Primer_Brand__FAQGroup-module__FAQGroup__tablist-button___EgyrC[aria-selected=true]{border-color:highlight;border-width:var(--brand-borderWidth-thicker);color:highlighttext}}.Primer_Brand__FAQGroup-module__FAQGroup__heading___zTImD{padding-inline:var(--base-size-20)}@media screen and (width>=618px){.Primer_Brand__FAQGroup-module__FAQGroup__gridline-wrapper___OBSr9{border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__FAQGroup-module__FAQGroup__accordion___dkveP{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);max-width:618px;margin-block-start:0;margin-inline:auto}.Primer_Brand__FAQGroup-module__FAQGroup__heading___zTImD{max-width:618px;margin:0 auto}.Primer_Brand__FAQGroup-module__FAQGroup__heading-wrapper___lkgjS{padding-block-end:var(--base-size-40)}.Primer_Brand__FAQGroup-module__FAQGroup__heading-wrapper--gridline___Q_oGI{border-block-end:var(--brand-color-border-muted) var(--brand-borderWidth-thin) solid}.Primer_Brand__FAQGroup-module__FAQGroup__accordion--gridline___zDvVd:first-child summary{border-block-start:none!important}.Primer_Brand__FAQGroup-module__FAQGroup__accordion--gridline___zDvVd:last-child summary{border-block-end:none!important}}@media screen and (width>=63.25rem){.Primer_Brand__FAQGroup-module__FAQGroup___D0VvR{display:grid}.Primer_Brand__FAQGroup-module__FAQGroup__accordion___dkveP{display:none}.Primer_Brand__FAQGroup-module__FAQGroup__heading___zTImD{max-width:100%;padding-inline:0}.Primer_Brand__FAQGroup-module__FAQGroup__heading-wrapper--gridline___Q_oGI .Primer_Brand__FAQGroup-module__FAQGroup__heading___zTImD{padding-inline-start:var(--base-size-44)}.Primer_Brand__FAQGroup-module__FAQGroup__heading-wrapper___lkgjS{padding-block-end:var(--base-size-64)}}@media screen and (width>=80rem){.Primer_Brand__FAQGroup-module__FAQGroup__tablist--gridline___OCZgL{border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__FAQGroup-module__FAQGroup__content--gridline___C9omN{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__ControlGroup-module__ControlGroup__container___gYDZP{gap:var(--base-size-8);font-family:var(--brand-body-fontFamily);font-size:var(--brand-text-size-100);border:none;flex-direction:column;margin:0;padding:0;display:flex}.Primer_Brand__ControlGroup-module__ControlGroup__label___scr79{margin:0;margin-block-end:var(--base-size-8);padding:0}.Primer_Brand__ControlGroup-module__ControlGroup__validation___sJqFH{gap:var(--base-size-4);font-weight:var(--base-text-weight-medium);align-items:center;display:flex}.Primer_Brand__ControlGroup-module__ControlGroup__validation--success___eyNH9{color:var(--brand-color-text-emphasized)}.Primer_Brand__ControlGroup-module__ControlGroup__validation--error____n_l3{color:var(--brand-color-danger-fg)}.Primer_Brand__ControlGroup-module__ControlGroup__validation-icon--success___OO92u,.Primer_Brand__ControlGroup-module__ControlGroup__validation-icon--error___rZPNd{display:flex}.Primer_Brand__ControlGroup-module__ControlGroup__validation--animate-in___nHrFv{animation:.17s Primer_Brand__ControlGroup-module__ControlGroupValidationFadeIn___xgh8U var(--brand-animation-easing-glide)}.Primer_Brand__ControlGroup-module__ControlGroup__container___gYDZP label{font-weight:var(--base-text-weight-medium)}@keyframes Primer_Brand__ControlGroup-module__ControlGroupValidationFadeIn___xgh8U{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.Primer_Brand__Avatar-module__Avatar___QrJMw{width:var(--base-size-40);height:var(--base-size-40);display:inline-block;overflow:hidden}.Primer_Brand__Avatar-module__Avatar--shape-circle___VvaB7{border-radius:var(--brand-borderRadius-full)}.Primer_Brand__Avatar-module__Avatar--shape-square___hKak4{border-radius:var(--brand-borderRadius-medium)}.Primer_Brand__Avatar-module__Avatar__image___AajXN{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.Primer_Brand__Avatar-module__Avatar--size-32___vJxfW{width:var(--base-size-32);height:var(--base-size-32)}.Primer_Brand__Avatar-module__Avatar--size-40___RSkow{width:var(--base-size-40);height:var(--base-size-40)}.Primer_Brand__Avatar-module__Avatar--size-48___TvwXR{width:var(--base-size-48);height:var(--base-size-48)}.Primer_Brand__Avatar-module__Avatar--size-64___rovws{width:var(--base-size-64);height:var(--base-size-64)}.Primer_Brand__Avatar-module__Avatar--size-80___YDbIK{width:var(--base-size-80);height:var(--base-size-80)}.Primer_Brand__Avatar-module__Avatar-narrow--size-32___wmqNx{width:var(--base-size-32);height:var(--base-size-32)}.Primer_Brand__Avatar-module__Avatar-narrow--size-40___JnS3w{width:var(--base-size-40);height:var(--base-size-40)}.Primer_Brand__Avatar-module__Avatar-narrow--size-48___X8e2V{width:var(--base-size-48);height:var(--base-size-48)}@media screen and (width>=48rem){.Primer_Brand__Avatar-module__Avatar-regular--size-32___f5goH{width:var(--base-size-32);height:var(--base-size-32)}.Primer_Brand__Avatar-module__Avatar-regular--size-40___Qaf20{width:var(--base-size-40);height:var(--base-size-40)}.Primer_Brand__Avatar-module__Avatar-regular--size-48___db8dV{width:var(--base-size-48);height:var(--base-size-48)}.Primer_Brand__Avatar-module__Avatar-regular--size-64___rBoTS{width:var(--base-size-64);height:var(--base-size-64)}.Primer_Brand__Avatar-module__Avatar-regular--size-80___AKjNL{width:var(--base-size-80);height:var(--base-size-80)}}@media screen and (width>=80rem){.Primer_Brand__Avatar-module__Avatar-wide--size-32___Kn8pg{width:var(--base-size-32);height:var(--base-size-32)}.Primer_Brand__Avatar-module__Avatar-wide--size-40___DBSrS{width:var(--base-size-40);height:var(--base-size-40)}.Primer_Brand__Avatar-module__Avatar-wide--size-48___ai2Hf{width:var(--base-size-48);height:var(--base-size-48)}.Primer_Brand__Avatar-module__Avatar-wide--size-64___FLSak{width:var(--base-size-64);height:var(--base-size-64)}.Primer_Brand__Avatar-module__Avatar-wide--size-80___h09bA{width:var(--base-size-80);height:var(--base-size-80)}}:root{--brand-Testimonial-quote-letterSpacing-large:var(--brand-text-letterSpacing-900);--brand-Testimonial-quote-letterSpacing-default:var(--brand-text-letterSpacing-400);--brand-Testimonial-quote-fontWeight-large:var(--brand-heading-weight-600);--brand-Testimonial-quote-fontWeight-default:var(--brand-heading-weight-1000);--brand-Testimonial-quote-fontSize-large:var(--brand-text-size-500);--brand-Testimonial-quote-fontSize-default:var(--brand-text-size-400)}:root,[data-color-mode=light]{--brand-Testimonial-quoteMarkBackground-default:var(--base-color-scale-gray-0);--brand-Testimonial-quoteMarkBackground-blue:var(--base-color-scale-blue-0);--brand-Testimonial-quoteMarkBackground-coral:var(--base-color-scale-coral-0);--brand-Testimonial-quoteMarkBackground-green:var(--base-color-scale-green-0);--brand-Testimonial-quoteMarkBackground-gray:var(--base-color-scale-gray-0);--brand-Testimonial-quoteMarkBackground-indigo:var(--base-color-scale-indigo-0);--brand-Testimonial-quoteMarkBackground-lemon:var(--base-color-scale-lemon-0);--brand-Testimonial-quoteMarkBackground-lime:var(--base-color-scale-lime-0);--brand-Testimonial-quoteMarkBackground-orange:var(--base-color-scale-orange-0);--brand-Testimonial-quoteMarkBackground-pink:var(--base-color-scale-pink-0);--brand-Testimonial-quoteMarkBackground-purple:var(--base-color-scale-purple-0);--brand-Testimonial-quoteMarkBackground-red:var(--base-color-scale-red-0);--brand-Testimonial-quoteMarkBackground-teal:var(--base-color-scale-teal-0);--brand-Testimonial-quoteMarkBackground-yellow:var(--base-color-scale-yellow-0);--brand-Testimonial-quoteMarkBackground-blue-purple:var(--base-color-scale-blue-0);--brand-Testimonial-quoteMarkBackground-green-blue:var(--base-color-scale-green-0);--brand-Testimonial-quoteMarkBackground-pink-blue:var(--base-color-scale-pink-0);--brand-Testimonial-quoteMarkBackground-purple-red:var(--base-color-scale-purple-0);--brand-Testimonial-quoteMarkBackground-red-orange:var(--base-color-scale-red-0);--brand-Testimonial-borderMask-default:linear-gradient(180deg, #0009, #0000004d);--brand-Testimonial-borderMask-subtle:linear-gradient(180deg, #0009, #0000004d);--brand-Testimonial-quoteMarkColor-default:var(--brand-color-text-default);--brand-Testimonial-quoteMarkColor-blue:var(--base-color-scale-blue-5);--brand-Testimonial-quoteMarkColor-blue-purple-start:var(--base-color-scale-blue-5);--brand-Testimonial-quoteMarkColor-blue-purple-end:var(--base-color-scale-purple-5);--brand-Testimonial-quoteMarkColor-coral:var(--base-color-scale-coral-5);--brand-Testimonial-quoteMarkColor-green:var(--base-color-scale-green-6);--brand-Testimonial-quoteMarkColor-green-blue-start:var(--base-color-scale-green-6);--brand-Testimonial-quoteMarkColor-green-blue-end:var(--base-color-scale-blue-5);--brand-Testimonial-quoteMarkColor-gray:var(--base-color-scale-gray-5);--brand-Testimonial-quoteMarkColor-indigo:var(--base-color-scale-indigo-5);--brand-Testimonial-quoteMarkColor-lemon:var(--base-color-scale-lemon-5);--brand-Testimonial-quoteMarkColor-lime:var(--base-color-scale-lime-5);--brand-Testimonial-quoteMarkColor-orange:var(--base-color-scale-orange-5);--brand-Testimonial-quoteMarkColor-pink:var(--base-color-scale-pink-5);--brand-Testimonial-quoteMarkColor-pink-blue-start:var(--base-color-scale-pink-5);--brand-Testimonial-quoteMarkColor-pink-blue-end:var(--base-color-scale-blue-5);--brand-Testimonial-quoteMarkColor-purple:var(--base-color-scale-purple-5);--brand-Testimonial-quoteMarkColor-purple-red-start:var(--base-color-scale-purple-5);--brand-Testimonial-quoteMarkColor-purple-red-end:var(--base-color-scale-red-5);--brand-Testimonial-quoteMarkColor-red:var(--base-color-scale-red-5);--brand-Testimonial-quoteMarkColor-red-orange-start:var(--base-color-scale-red-5);--brand-Testimonial-quoteMarkColor-red-orange-end:var(--base-color-scale-orange-5);--brand-Testimonial-quoteMarkColor-teal:var(--base-color-scale-teal-5);--brand-Testimonial-quoteMarkColor-yellow:var(--base-color-scale-yellow-5);--brand-Testimonial-quote-color-default:var(--brand-color-text-default);--brand-Testimonial-quote-color-emphasis:var(--base-color-scale-green-7)}[data-color-mode=dark]{--brand-Testimonial-quoteMarkBackground-default:var(--base-color-scale-gray-6);--brand-Testimonial-quoteMarkBackground-blue:var(--base-color-scale-blue-8);--brand-Testimonial-quoteMarkBackground-coral:var(--base-color-scale-coral-8);--brand-Testimonial-quoteMarkBackground-green:var(--base-color-scale-green-8);--brand-Testimonial-quoteMarkBackground-gray:var(--base-color-scale-gray-6);--brand-Testimonial-quoteMarkBackground-indigo:var(--base-color-scale-indigo-8);--brand-Testimonial-quoteMarkBackground-lemon:var(--base-color-scale-lemon-8);--brand-Testimonial-quoteMarkBackground-lime:var(--base-color-scale-lime-8);--brand-Testimonial-quoteMarkBackground-orange:var(--base-color-scale-orange-8);--brand-Testimonial-quoteMarkBackground-pink:var(--base-color-scale-pink-8);--brand-Testimonial-quoteMarkBackground-purple:var(--base-color-scale-purple-8);--brand-Testimonial-quoteMarkBackground-red:var(--base-color-scale-red-8);--brand-Testimonial-quoteMarkBackground-teal:var(--base-color-scale-teal-8);--brand-Testimonial-quoteMarkBackground-yellow:var(--base-color-scale-yellow-8);--brand-Testimonial-quoteMarkBackground-blue-purple:var(--base-color-scale-blue-8);--brand-Testimonial-quoteMarkBackground-green-blue:var(--base-color-scale-green-8);--brand-Testimonial-quoteMarkBackground-pink-blue:var(--base-color-scale-pink-8);--brand-Testimonial-quoteMarkBackground-purple-red:var(--base-color-scale-purple-8);--brand-Testimonial-quoteMarkBackground-red-orange:var(--base-color-scale-red-8);--brand-Testimonial-borderMask-default:linear-gradient(180deg, #0009, #0000001a);--brand-Testimonial-borderMask-subtle:linear-gradient(180deg, #0009, #0000001a);--brand-Testimonial-quoteMarkColor-default:var(--brand-color-text-default);--brand-Testimonial-quoteMarkColor-blue:var(--base-color-scale-blue-2);--brand-Testimonial-quoteMarkColor-blue-purple-start:var(--base-color-scale-blue-2);--brand-Testimonial-quoteMarkColor-blue-purple-end:var(--base-color-scale-purple-2);--brand-Testimonial-quoteMarkColor-coral:var(--base-color-scale-coral-2);--brand-Testimonial-quoteMarkColor-green:var(--base-color-scale-green-2);--brand-Testimonial-quoteMarkColor-green-blue-start:var(--base-color-scale-green-2);--brand-Testimonial-quoteMarkColor-green-blue-end:var(--base-color-scale-blue-2);--brand-Testimonial-quoteMarkColor-gray:var(--base-color-scale-gray-2);--brand-Testimonial-quoteMarkColor-indigo:var(--base-color-scale-indigo-2);--brand-Testimonial-quoteMarkColor-lemon:var(--base-color-scale-lemon-2);--brand-Testimonial-quoteMarkColor-lime:var(--base-color-scale-lime-2);--brand-Testimonial-quoteMarkColor-orange:var(--base-color-scale-orange-2);--brand-Testimonial-quoteMarkColor-pink:var(--base-color-scale-pink-2);--brand-Testimonial-quoteMarkColor-pink-blue-start:var(--base-color-scale-pink-2);--brand-Testimonial-quoteMarkColor-pink-blue-end:var(--base-color-scale-blue-2);--brand-Testimonial-quoteMarkColor-purple:var(--base-color-scale-purple-2);--brand-Testimonial-quoteMarkColor-purple-red-start:var(--base-color-scale-purple-2);--brand-Testimonial-quoteMarkColor-purple-red-end:var(--base-color-scale-red-2);--brand-Testimonial-quoteMarkColor-red:var(--base-color-scale-red-2);--brand-Testimonial-quoteMarkColor-red-orange-start:var(--base-color-scale-red-2);--brand-Testimonial-quoteMarkColor-red-orange-end:var(--base-color-scale-orange-2);--brand-Testimonial-quoteMarkColor-teal:var(--base-color-scale-teal-2);--brand-Testimonial-quoteMarkColor-yellow:var(--base-color-scale-yellow-2);--brand-Testimonial-quote-color-default:var(--brand-color-text-default);--brand-Testimonial-quote-color-emphasis:var(--brand-color-text-emphasized)}.Primer_Brand__Testimonial-module__Testimonial___UUywT{color:var(--brand-color-text-default);font-family:var(--brand-fontStack-sansSerif)}.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___NHtOc,.Primer_Brand__Testimonial-module__Testimonial--variant-default___leAB4{border-radius:var(--brand-borderRadius-xlarge);padding:var(--base-size-48) var(--base-size-32);position:relative}@media screen and (width>=48rem){.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___NHtOc,.Primer_Brand__Testimonial-module__Testimonial--variant-default___leAB4{padding:var(--base-size-48)}}@media screen and (width>=63.25rem){.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___NHtOc.Primer_Brand__Testimonial-module__Testimonial--size-large___pF70c,.Primer_Brand__Testimonial-module__Testimonial--variant-default___leAB4.Primer_Brand__Testimonial-module__Testimonial--size-large___pF70c{padding:var(--base-size-96) var(--base-size-128)}}.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___NHtOc{background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__Testimonial-module__Testimonial--variant-default___leAB4{background-color:var(--brand-color-canvas-default)}.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___NHtOc:before,.Primer_Brand__Testimonial-module__Testimonial--variant-default___leAB4:before{pointer-events:none;content:"";border-radius:inherit;position:absolute;inset:0}.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___NHtOc.Primer_Brand__Testimonial-module__Testimonial--border___B_Qre:before{-webkit-mask-image:var(--brand-Testimonial-borderMask-subtle);-webkit-mask-image:var(--brand-Testimonial-borderMask-subtle);mask-image:var(--brand-Testimonial-borderMask-subtle);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-default)}.Primer_Brand__Testimonial-module__Testimonial--variant-default___leAB4.Primer_Brand__Testimonial-module__Testimonial--border___B_Qre:before{-webkit-mask-image:var(--brand-Testimonial-borderMask-default);-webkit-mask-image:var(--brand-Testimonial-borderMask-default);mask-image:var(--brand-Testimonial-borderMask-default);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-default)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark___cC2M1{--brand-Testimonial-quoteMarkColor-gradient:radial-gradient(circle at top left, var(--brand-Testimonial-quoteMarkColor-start), var(--brand-Testimonial-quoteMarkColor-end));--brand-Testimonial-quoteMarkColor-background:var(--brand-Testimonial-quoteMarkColor-gradient,var(--brand-Testimonial-quoteMarkColor,currentColor));color:var(--brand-Testimonial-quoteMarkColor-start,var(--brand-Testimonial-quoteMarkColor,currentColor));font-size:var(--base-size-48);line-height:var(--base-size-48);font-weight:var(--base-text-weight-extrabold);position:relative}.Primer_Brand__Testimonial-module__Testimonial__quoteMark___cC2M1:before{content:"";background:var(--brand-Testimonial-quoteMarkColor-background);-webkit-mask:linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default)) content-box, linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default));-webkit-mask:linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default)) content-box, linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default));mask:linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default)) content-box, linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default));-webkit-mask-composite:xor;position:absolute;inset:0;-webkit-mask-composite:xor;mask-composite:exclude}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--hasBackground___VV6UY{width:calc(var(--base-size-48) + var(--base-size-8));height:calc(var(--base-size-48) + var(--base-size-8));border-radius:var(--base-size-12);background-color:var(--brand-Testimonial-quoteMarkBackground,var(--base-color-scale-gray-0));font-size:var(--base-size-64);justify-content:center;align-items:center;line-height:1;display:inline-flex}.Primer_Brand__Testimonial-module__Testimonial--size-large___pF70c .Primer_Brand__Testimonial-module__Testimonial__quoteMark___cC2M1:not(.Primer_Brand__Testimonial-module__Testimonial__quoteMark--hasBackground___VV6UY){font-size:7.5rem;line-height:1}.Primer_Brand__Testimonial-module__Testimonial__quoteMarkGlyph___skopW{display:block}.Primer_Brand__Testimonial-module__Testimonial-quote___QXF1F{font-family:var(--brand-fontStack-sansSerif);font-size:var(--brand-Testimonial-quote-fontSize-default);font-weight:var(--brand-Testimonial-quote-fontWeight-default);letter-spacing:var(--brand-Testimonial-quote-letterSpacing-default);line-height:1.2;display:block}.Primer_Brand__Testimonial-module__Testimonial--size-large___pF70c .Primer_Brand__Testimonial-module__Testimonial-quote___QXF1F{font-size:var(--brand-Testimonial-quote-fontSize-large);font-weight:var(--brand-Testimonial-quote-fontWeight-large);letter-spacing:var(--brand-Testimonial-quote-letterSpacing-large)}.Primer_Brand__Testimonial-module__Testimonial-quote___QXF1F em,.Primer_Brand__Testimonial-module__Testimonial-quote___QXF1F b{color:var(--brand-Testimonial-quote-color-emphasis);font-style:normal;font-weight:inherit}.Primer_Brand__Testimonial-module__Testimonial__media___JbJUQ{gap:var(--base-size-16);margin-top:var(--base-size-24);align-items:center;display:flex}.Primer_Brand__Testimonial-module__Testimonial-logo-image___KQQfi{display:block}.Primer_Brand__Testimonial-module__Testimonial--size-large___pF70c .Primer_Brand__Testimonial-module__Testimonial__media___JbJUQ{margin-top:var(--base-size-64)}.Primer_Brand__Testimonial-module__Testimonial-caption___Wvb67{flex-direction:column;display:flex}.Primer_Brand__Testimonial-module__Testimonial-avatar___Kaxqh{flex:none}.Primer_Brand__Testimonial-module__Testimonial-from___Kfj__{font-weight:var(--base-text-weight-normal);text-transform:uppercase}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM{gap:var(--base-size-36);width:100%;max-width:1176px;padding-inline:var(--base-size-20);padding-block:var(--base-size-40);flex-direction:column;display:flex}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial__quoteWrapper___M9wR7{align-items:flex-start;gap:var(--base-size-36);flex-direction:column;min-width:0;display:flex}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial__media___JbJUQ{align-items:flex-start;gap:var(--base-size-28);flex-direction:column;width:100%;margin-block-start:0}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-avatar___Kaxqh{width:var(--base-size-40);height:var(--base-size-40)}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-caption___Wvb67{border-block-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-default);gap:var(--base-size-6);width:100%;padding-block-start:var(--base-size-20)}@media screen and (width>=48rem){.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial__quoteWrapper___M9wR7{gap:var(--base-size-40)}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial__media___JbJUQ{width:356px}}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-from___Kfj__{font-family:var(--brand-fontStack-monospace);font-size:var(--brand-text-size-100);font-weight:var(--brand-heading-weight-500);line-height:var(--brand-text-lineHeight-100);text-transform:uppercase;letter-spacing:.0107em;align-items:center;display:flex}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-position___j2h0f{font-size:var(--brand-text-size-200);font-weight:var(--base-text-weight-normal);letter-spacing:.01em;line-height:1.6}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial__quoteMark___cC2M1{font-family:var(--brand-fontStack-monospace);font-weight:var(--brand-fontWeight-300)}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial__quoteMarkGlyph___skopW{transform:translateY(var(--base-size-12))}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial__quoteMark___cC2M1:not(.Primer_Brand__Testimonial-module__Testimonial__quoteMark--hasBackground___VV6UY){margin-left:-.18em}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-quote___QXF1F{font-family:var(--brand-fontStack-monospace);letter-spacing:-.01em;font-size:1.5rem;font-weight:425;line-height:var(--brand-text-lineHeight-100);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media screen and (width>=48rem){.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM{max-width:618px;padding-inline:var(--base-size-36);padding-block:var(--base-size-44);margin-inline:auto}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-quote___QXF1F{letter-spacing:-.02em;font-size:1.625rem}}@media screen and (width>=63.25rem){.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM{grid-column-gap:calc(var(--base-size-96) + var(--base-size-24));-moz-column-gap:calc(var(--base-size-96) + var(--base-size-24));column-gap:calc(var(--base-size-96) + var(--base-size-24));max-width:1176px;padding-inline:var(--base-size-48);padding-block:var(--base-size-88);grid-template-columns:minmax(0,744px) 312px;align-items:end;margin-inline:auto;display:grid}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM.Primer_Brand__Testimonial-module__Testimonial--hasLink___Qr_M5{row-gap:var(--base-size-48)}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial__quoteWrapper___M9wR7{gap:var(--base-size-48);grid-area:1/1}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial__media___JbJUQ{gap:var(--base-size-32);grid-area:1/2;width:312px}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM.Primer_Brand__Testimonial-module__Testimonial--hasLink___Qr_M5 .Primer_Brand__Testimonial-module__Testimonial__media___JbJUQ{grid-row:1/span 2}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-caption___Wvb67{padding-block-start:var(--base-size-24)}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-quote___QXF1F{font-size:var(--base-size-32)}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-link___gHJ58{grid-area:2/1}}@media screen and (width>=80rem){.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM{padding-inline:0}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-avatar___Kaxqh{width:var(--base-size-48);height:var(--base-size-48)}}.Primer_Brand__Testimonial-module__Testimonial-link___gHJ58{margin-top:var(--base-size-8)}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-link___gHJ58{align-self:flex-start;width:fit-content;margin-top:0}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--default___nAhKC{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-default);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-default)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--blue___gf2qX{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-blue);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-blue)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--blue-purple___Ec9P1{--brand-Testimonial-quoteMarkColor-start:var(--brand-Testimonial-quoteMarkColor-blue-purple-start);--brand-Testimonial-quoteMarkColor-end:var(--brand-Testimonial-quoteMarkColor-blue-purple-end);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-blue-purple)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--coral___WzMiA{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-coral);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-coral)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--green___gsL2x{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-green);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-green)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--green-blue___wqq5w{--brand-Testimonial-quoteMarkColor-start:var(--brand-Testimonial-quoteMarkColor-green-blue-start);--brand-Testimonial-quoteMarkColor-end:var(--brand-Testimonial-quoteMarkColor-green-blue-end);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-green-blue)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--gray___WGLgi{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-gray);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-gray)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--indigo___KN9eK{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-indigo);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-indigo)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--lemon___XgAJR{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-lemon);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-lemon)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--lime___DyfRi{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-lime);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-lime)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--orange___wA2te{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-orange);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-orange)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--pink___hrNQC{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-pink);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-pink)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--pink-blue___z73Hz{--brand-Testimonial-quoteMarkColor-start:var(--brand-Testimonial-quoteMarkColor-pink-blue-start);--brand-Testimonial-quoteMarkColor-end:var(--brand-Testimonial-quoteMarkColor-pink-blue-end);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-pink-blue)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--purple___H1_Zx{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-purple);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-purple)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--purple-red___Wb4Yy{--brand-Testimonial-quoteMarkColor-start:var(--brand-Testimonial-quoteMarkColor-purple-red-start);--brand-Testimonial-quoteMarkColor-end:var(--brand-Testimonial-quoteMarkColor-purple-red-end);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-purple-red)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--red___nzAC4{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-red);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-red)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--red-orange___f5Woq{--brand-Testimonial-quoteMarkColor-start:var(--brand-Testimonial-quoteMarkColor-red-orange-start);--brand-Testimonial-quoteMarkColor-end:var(--brand-Testimonial-quoteMarkColor-red-orange-end);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-red-orange)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--teal___EPZ3D{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-teal);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-teal)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--yellow___gFQED{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-yellow);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-yellow)}:root,[data-color-mode=light]{--brand-ComparisonTable-featured-color-start:var(--base-color-scale-pink-4);--brand-ComparisonTable-featured-color-end:var(--base-color-scale-indigo-5)}[data-color-mode=dark]{--brand-ComparisonTable-featured-color-start:var(--base-color-scale-pink-2);--brand-ComparisonTable-featured-color-end:var(--base-color-scale-indigo-3)}:root{--brand-ComparisonTable-heading-marginBottom:var(--base-size-8)}@media (width>=544px){:root{--brand-ComparisonTable-heading-marginBottom:var(--base-size-40)}}@media (width>=768px){:root{--brand-ComparisonTable-heading-marginBottom:var(--base-size-64)}}@media (width>=1012px){:root{--brand-ComparisonTable-heading-marginBottom:var(--base-size-96)}}.Primer_Brand__ComparisonTable-module__ComparisonTable--heading___CeSsH{text-align:left;max-width:18ch;margin-bottom:var(--brand-ComparisonTable-heading-marginBottom)}@media screen and (width>=34rem){.Primer_Brand__ComparisonTable-module__ComparisonTable--heading___CeSsH{text-align:center;margin-left:auto;margin-right:auto}}.Primer_Brand__ComparisonTable-module__ComparisonTable-footnote___rf35Q{text-align:left;margin:var(--base-size-24) 0}@media screen and (width>=34rem){.Primer_Brand__ComparisonTable-module__ComparisonTable-footnote___rf35Q{text-align:center}}.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX{border-collapse:collapse;border-spacing:0;font-family:var(--brand-body-fontFamily);width:100%}.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX tr{text-align:left;flex-direction:column;width:100%;display:flex}.Primer_Brand__ComparisonTable-module__ComparisonTable-cell___kifYR{color:var(--brand-color-text-default);font-weight:var(--brand-text-weight-200);font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200);padding-bottom:var(--base-size-24)}.Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM{font-weight:var(--base-text-weight-medium);font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200)}.Primer_Brand__ComparisonTable-module__ComparisonTable-cell-container___AHNr0{padding-top:var(--base-size-8);display:block}@media screen and (width<=34rem){.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX thead .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM{display:none}.Primer_Brand__ComparisonTable-module__ComparisonTable-cell___kifYR{margin-bottom:var(--base-size-32);padding-bottom:0}.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX tbody tr{border-top:var(--brand-borderWidth-thin) solid var(--brand-color-border-default)}.Primer_Brand__ComparisonTable-module__ComparisonTable-inline-cell-label___hE3hL{font-weight:var(--brand-heading-weight-400);font-size:var(--brand-text-size-400);line-height:var(--brand-heading-lineHeight-400)}.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX tbody .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM{margin-top:var(--base-size-24);margin-bottom:var(--base-size-16);font-weight:var(--brand-heading-weight-300);font-size:var(--brand-text-size-300);line-height:var(--brand-heading-lineHeight-300)}}@media screen and (width>=34rem){.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX tr{flex-direction:row}.Primer_Brand__ComparisonTable-module__ComparisonTable-cell-container___AHNr0{padding-top:var(--base-size-24)}.Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM{text-align:left}.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM:first-child{width:25%;margin-right:40px}.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX tr td:first-of-type:not(.Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM),.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX tr:first-of-type .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM:nth-child(2){width:40%}.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX tr td:nth-of-type(2):not(.Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM),.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX tr:first-of-type .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM:nth-child(3){width:35%;margin-left:40px}.Primer_Brand__ComparisonTable-module__ComparisonTable--hide-element-on-narrow___GnYyu{display:none}.Primer_Brand__ComparisonTable-module__ComparisonTable-cell-container___AHNr0{border-top:var(--brand-borderWidth-thick) solid var(--brand-color-border-default)}}.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading--first___Ps2aK{color:var(--brand-color-text-muted)}.ComparisonTable--default thead .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM{padding:var(--base-size-24) 0 var(--base-size-16)}.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading-label--featured___c_wMH{z-index:2;position:relative}@media screen and (width<=34rem){.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell___kifYR:not(.Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM){padding-left:25px;position:relative}.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell___kifYR:before{content:"";background:var(--brand-color-border-default);width:5px;position:absolute;top:0;bottom:0;left:0}.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell--featured___f0LZk:before{background:linear-gradient(180deg, var(--brand-ComparisonTable-featured-color-start), var(--brand-ComparisonTable-featured-color-end))}}@media screen and (width>=34rem){.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading-label--featured___c_wMH{color:#0000;background:linear-gradient(89.46deg, var(--brand-ComparisonTable-featured-color-start) 0.87%, var(--brand-ComparisonTable-featured-color-end) 75.12%);-webkit-background-clip:text;background-clip:text}.ComparisonTable--default thead .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM{font-weight:var(--brand-heading-weight-400);font-size:var(--brand-text-size-400);line-height:var(--brand-heading-lineHeight-400);align-items:flex-end;display:inline-flex}.ComparisonTable--default thead .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading--first___Ps2aK{font-weight:var(--brand-heading-weight-400);font-size:var(--brand-text-size-400);line-height:var(--brand-heading-lineHeight-400)}.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell--featured___f0LZk,.ComparisonTable--default thead .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading--featured___tkzzb{padding-left:var(--base-size-24);padding-right:var(--base-size-24);border-right:2px solid var(--brand-ComparisonTable-featured-color-end);border-left:2px solid var(--brand-ComparisonTable-featured-color-start)}.ComparisonTable--default thead .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading--featured___tkzzb{background:var(--brand-color-canvas-default);border-top-left-radius:.45rem;border-top-right-radius:.45rem;position:relative}.ComparisonTable--default thead .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading--featured___tkzzb:before,.ComparisonTable--default thead .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading--featured___tkzzb:after{z-index:0;content:"";background:linear-gradient(90deg, var(--brand-ComparisonTable-featured-color-start), var(--brand-ComparisonTable-featured-color-end));border-top-left-radius:.45rem;border-top-right-radius:.45rem;position:absolute;inset:-2px -2px 0}.ComparisonTable--default thead .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading--featured___tkzzb:after{z-index:1;background:var(--brand-color-canvas-default);border-top-left-radius:.35rem;border-top-right-radius:.35rem;top:0;left:0;right:0}.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell--featured___f0LZk.Primer_Brand__ComparisonTable-module__ComparisonTable-cell--lastrow___zmShm{background:var(--brand-color-canvas-default);border-bottom-right-radius:.45rem;border-bottom-left-radius:.45rem;position:relative}.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell--featured___f0LZk.Primer_Brand__ComparisonTable-module__ComparisonTable-cell--lastrow___zmShm:after,.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell--featured___f0LZk.Primer_Brand__ComparisonTable-module__ComparisonTable-cell--lastrow___zmShm:before{z-index:0;content:"";background:linear-gradient(90deg, var(--brand-ComparisonTable-featured-color-start), var(--brand-ComparisonTable-featured-color-end));border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem;position:absolute;inset:0 -2px}.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell--featured___f0LZk.Primer_Brand__ComparisonTable-module__ComparisonTable-cell--lastrow___zmShm:after{z-index:1;background:var(--brand-color-canvas-default);border-bottom-right-radius:.35rem;border-bottom-left-radius:.35rem;bottom:2px;left:0;right:0}.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-container--featured___x6tKO{z-index:2;position:relative}}.Primer_Brand__AnchorNav-module__AnchorNav___bwgAJ{padding:var(--base-size-12) var(--base-size-16);z-index:91;display:flex;position:sticky;top:0;left:0;right:0}.Primer_Brand__AnchorNav-module__AnchorNav--no-bg-scroll___oiJl5{height:100vh;overflow:hidden}.Primer_Brand__AnchorNav-module__AnchorNav--hide-until-sticky___d3Ec2:not(.Primer_Brand__AnchorNav-module__AnchorNav--stuck___AtvLO){opacity:0;visibility:hidden;transition:visibility var(--brand-animation-duration-default) var(--brand-animation-easing-default), opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__AnchorNav-module__AnchorNav--hide-until-sticky___d3Ec2.Primer_Brand__AnchorNav-module__AnchorNav--stuck___AtvLO{opacity:1;visibility:visible}.Primer_Brand__AnchorNav-module__AnchorNav--with-default-background-color___aFdXc{background-color:var(--brand-color-canvas-default)}.Primer_Brand__AnchorNav-module__AnchorNav--stuck___AtvLO{position:fixed;box-shadow:0 3px 6px #8c959f26,0 1px 1px #0000001a}.Primer_Brand__AnchorNav-module__AnchorNav--expanded___wVGbk{transform-style:preserve-3d;z-index:91}.Primer_Brand__AnchorNav-module__AnchorNav-link-container___VpHV2{width:100%;display:flex;position:relative}.Primer_Brand__AnchorNav-module__AnchorNav-inner-container___lshlZ{z-index:91;width:100%;max-width:1280px;max-height:calc(100vh - var(--base-size-12) * 2);position:relative}.Primer_Brand__AnchorNav-module__AnchorNav--with-default-background-color___aFdXc .Primer_Brand__AnchorNav-module__AnchorNav-inner-container___lshlZ{background-color:var(--brand-color-canvas-default)}@media screen and (width<=63.25rem){.Primer_Brand__AnchorNav-module__AnchorNav___bwgAJ:not(.Primer_Brand__AnchorNav-module__AnchorNav--expanded___wVGbk) .Primer_Brand__AnchorNav-module__AnchorNav-inner-container___lshlZ{justify-content:space-between;align-items:center;display:flex}.Primer_Brand__AnchorNav-module__AnchorNav___bwgAJ{background-color:var(--brand-color-canvas-default)}.Primer_Brand__AnchorNav-module__AnchorNav-inner-container--expanded____aoje{height:auto}.Primer_Brand__AnchorNav-module__AnchorNav-link-container___VpHV2{padding-left:var(--base-size-16);display:none}.Primer_Brand__AnchorNav-module__AnchorNav--expanded___wVGbk .Primer_Brand__AnchorNav-module__AnchorNav-link-container___VpHV2{flex-direction:column;display:flex}}@media screen and (width>=40rem) and (width<=63.25rem){.Primer_Brand__AnchorNav-module__AnchorNav__actionsContainer___jgpnq:not(.Primer_Brand__AnchorNav-module__AnchorNav__actionsContainer--no-offset___xn5H8){top:var(--base-size-8);position:absolute;right:0}}@media screen and (width>=63.25rem){.Primer_Brand__AnchorNav-module__AnchorNav___bwgAJ{padding:var(--base-size-12) var(--base-size-40);height:75px}.Primer_Brand__AnchorNav-module__AnchorNav--with-default-background-color___aFdXc,.Primer_Brand__AnchorNav-module__AnchorNav--stuck___AtvLO{background-color:var(--brand-color-canvas-default)}.Primer_Brand__AnchorNav-module__AnchorNav-inner-container___lshlZ{align-items:center;margin:0 auto;display:flex}}.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2{place-items:center flex-start;width:100%;height:48px;-webkit-text-decoration:none;text-decoration:none;display:flex}.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2:hover{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__AnchorNav-module__AnchorNav--expanded___wVGbk .Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2{animation:1s Primer_Brand__AnchorNav-module__fade-in___KfA_2;animation-timing-function:var(--brand-animation-easing-glide);margin:0 0 2px}@media screen and (width<=63.25rem){.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2{padding:0 0 0 var(--base-size-16);position:absolute;left:0}.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2:before{content:"";background-color:var(--brand-AnchorNav-link-underline-default);width:2px;height:50%;transition:opacity var(--brand-animation-duration-fast), transform var(--brand-animation-duration-fast);opacity:1;transform-origin:0;position:absolute;left:0;transform:scale(0)}.Primer_Brand__AnchorNav-module__AnchorNav--expanded___wVGbk .Primer_Brand__AnchorNav-module__AnchorNav-link--is-active___xbYDS:before{transform:scale(1)}}@media screen and (width>=63.25rem){.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2{margin:0 1px;position:relative}.Primer_Brand__AnchorNav-module__AnchorNav-link--center___aryYq{justify-content:center}.Primer_Brand__AnchorNav-module__AnchorNav-link--start___COZM3{width:auto;margin-right:var(--base-size-48);justify-content:flex-start}}.Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK{font-weight:var(--brand-text-weight-400);font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200);font-family:var(--brand-heading-fontFamily);letter-spacing:var(--brand-heading-letterSpacing-200);color:var(--brand-color-text-default);transition:color var(--brand-animation-easing-glide) var(--brand-animation-duration-faster);position:relative}.Primer_Brand__AnchorNav-module__AnchorNav--with-default-background-color___aFdXc .Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK{background-color:var(--brand-color-canvas-default)}@media screen and (width<=63.25rem){.Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK{background-color:var(--brand-color-canvas-default)}.Primer_Brand__AnchorNav-module__AnchorNav--expanded___wVGbk .Primer_Brand__AnchorNav-module__AnchorNav-link-label--is-active___DyUFY{color:var(--brand-color-focus)}.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2:not(.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2[data-active=true]){visibility:hidden}.Primer_Brand__AnchorNav-module__AnchorNav--stuck___AtvLO .Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2[data-active=false][data-first=true],.Primer_Brand__AnchorNav-module__AnchorNav___bwgAJ .Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2[data-active=false][data-first=true]{visibility:visible}.Primer_Brand__AnchorNav-module__AnchorNav-inner-container--expanded____aoje .Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;display:flex;position:relative;top:auto;left:auto;right:auto;visibility:visible!important}}@media screen and (width>=63.25rem){.Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK{white-space:nowrap}.Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK:after{content:"";background-color:var(--brand-AnchorNav-link-underline-default);width:100%;height:2px;transition:opacity var(--brand-animation-duration-fast), transform var(--brand-animation-duration-fast), background-color var(--brand-animation-duration-fast);opacity:1;transform-origin:50%;position:absolute;bottom:-6px;left:0;transform:scale(0)}.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2:hover .Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK:after,.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2:focus .Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK:after,.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2[data-active=true] .Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK:after{opacity:1;transform:scaleX(.8)}.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2:active .Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK:after{background-color:var(--brand-AnchorNav-link-underline-pressed);transform:scaleX(.9)}.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2[data-active=true] .Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK:after{background-color:var(--brand-AnchorNav-link-underline-pressed);opacity:1}.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2:focus-visible .Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK:after{opacity:0}}.Primer_Brand__AnchorNav-module__AnchorNav-menu-button___tputP{display:none}@media screen and (width<=63.25rem){.Primer_Brand__AnchorNav-module__AnchorNav-menu-button___tputP{all:unset;cursor:pointer;padding:var(--base-size-8) var(--base-size-16);height:var(--base-size-32);z-index:2;border-radius:var(--brand-borderRadius-small);align-items:center;padding-left:0;display:inline-flex}.Primer_Brand__AnchorNav-module__AnchorNav-menu-button-arrow___v5tcA{padding:0 calc(var(--base-size-12) / 2);width:32px;height:32px;color:var(--brand-color-text-default)}.Primer_Brand__AnchorNav-module__AnchorNav-menu-button___tputP:focus-visible{border-color:var(--brand-color-focus);box-shadow:0 0 0 2px var(--brand-color-focus);outline:none}.Primer_Brand__AnchorNav-module__AnchorNav-overlay--expanded___xXv6O{z-index:-3;width:100%;height:100dvh;animation:.5s Primer_Brand__AnchorNav-module__fade-in___KfA_2;animation-timing-function:var(--brand-animation-easing-glide);cursor:pointer;background:#00000080;position:absolute;top:0;left:0;right:0;transform:translateZ(-1px)}}.Primer_Brand__AnchorNav-module__AnchorNav__actionsContainer___jgpnq{gap:var(--base-size-8);display:flex}.Primer_Brand__AnchorNav-module__AnchorNav-action___DWzcE{z-index:1;white-space:nowrap;padding-inline:var(--base-size-24);margin-left:auto;display:flex}.Primer_Brand__AnchorNav-module__AnchorNav--expanded___wVGbk .Primer_Brand__AnchorNav-module__AnchorNav-action___DWzcE{align-self:flex-start}@media screen and (width<=40rem){.Primer_Brand__AnchorNav-module__AnchorNav___bwgAJ{padding:0}.Primer_Brand__AnchorNav-module__AnchorNav-action___DWzcE{display:none}.Primer_Brand__AnchorNav-module__AnchorNav__actionsContainer___jgpnq{flex-direction:column}.Primer_Brand__AnchorNav-module__AnchorNav--expanded___wVGbk .Primer_Brand__AnchorNav-module__AnchorNav-action___DWzcE{width:100%;margin-top:var(--base-size-8);display:flex}.Primer_Brand__AnchorNav-module__AnchorNav-inner-container___lshlZ{padding:var(--base-size-12) var(--base-size-16);overflow-y:auto}}@media screen and (width>=40rem){.Primer_Brand__AnchorNav-module__AnchorNav__actionsContainer___jgpnq{gap:var(--base-size-16)}.Primer_Brand__AnchorNav-module__AnchorNav__actionsContainer--multiple___hgA_r{margin-inline-start:var(--base-size-16)}}@keyframes Primer_Brand__AnchorNav-module__fade-in___KfA_2{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.Primer_Brand__AnchorNav-module__AnchorNav___bwgAJ,.Primer_Brand__AnchorNav-module__AnchorNav___bwgAJ:before,.Primer_Brand__AnchorNav-module__AnchorNav___bwgAJ:after,.Primer_Brand__AnchorNav-module__AnchorNav___bwgAJ *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root,[data-color-mode=light]{--brand-AnchorNav-link-underline-default:var(--base-color-scale-gray-4);--brand-AnchorNav-link-underline-pressed:var(--base-color-scale-black-0)}[data-color-mode=dark]{--brand-AnchorNav-link-underline-default:var(--base-color-scale-gray-3);--brand-AnchorNav-link-underline-pressed:var(--base-color-scale-white-0)}:root,[data-color-mode=light]{--brand-CTABanner-shadow-color-start:var(--base-color-scale-green-6);--brand-CTABanner-shadow-color-end:var(--base-color-scale-blue-5);--brand-CTABanner-bgColor:var(--brand-color-canvas-subtle);--brand-CTABanner-color-heading-emphasis:var(--base-color-scale-green-7);--brand-CTABanner-color-logo-muted:var(--brand-color-text-muted);--brand-CTABanner-color-logo-emphasis:var(--brand-color-text-default);--brand-CTABanner-color-logo-filter-muted:brightness(0) saturate(100%) invert(37%) sepia(7%) saturate(778%) hue-rotate(171deg) brightness(96%) contrast(91%);--brand-CTABanner-color-logo-filter-emphasis:brightness(0) saturate(100%) invert(12%) sepia(20%) saturate(450%) hue-rotate(172deg) brightness(100%) contrast(91%)}[data-color-mode=dark]{--brand-CTABanner-shadow-color-start:var(--base-color-scale-green-2);--brand-CTABanner-shadow-color-end:var(--base-color-scale-blue-3);--brand-CTABanner-bgColor:var(--brand-color-canvas-subtle);--brand-CTABanner-color-heading-emphasis:var(--brand-color-text-emphasized);--brand-CTABanner-color-logo-muted:var(--brand-color-text-muted);--brand-CTABanner-color-logo-emphasis:var(--brand-color-text-default);--brand-CTABanner-color-logo-filter-muted:brightness(0) saturate(100%) invert(61%) sepia(8%) saturate(430%) hue-rotate(171deg) brightness(94%) contrast(92%);--brand-CTABanner-color-logo-filter-emphasis:brightness(0) saturate(100%) invert(91%) sepia(2%) saturate(2455%) hue-rotate(193deg) brightness(107%) contrast(98%)}.Primer_Brand__CTABanner-module__CTABanner___m0t8s{max-width:var(--brand-breakpoint-xlarge);width:100%;margin:0 auto;display:flex;position:relative}.Primer_Brand__CTABanner-module__CTABanner--shadow___BA030:before{content:"";inset:var(--base-size-16);filter:blur(var(--base-size-96));background:linear-gradient(to right, var(--brand-CTABanner-shadow-color-start), var(--brand-CTABanner-shadow-color-end));position:absolute;transform:translateZ(0)}.Primer_Brand__CTABanner-module__CTABanner-grid___u3x9a{--brand-Grid-spacing-row:0;row-gap:0;padding-inline:0}.Primer_Brand__CTABanner-module__CTABanner-grid-column--primary___ZtLFt{align-items:center;display:flex}.Primer_Brand__CTABanner-module__CTABanner-grid-column--secondary___JBmPK{justify-content:center;align-items:center;display:flex}.Primer_Brand__CTABanner-module__CTABanner--variant-minimal___uuWf5 .Primer_Brand__CTABanner-module__CTABanner-grid-column--secondary___JBmPK{justify-content:flex-end}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-grid-column--secondary___JBmPK{justify-content:flex-start}@media screen and (width>=63.25rem){.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-grid-column--secondary___JBmPK{justify-content:flex-end}}@media screen and (width<=63.24rem){.Primer_Brand__CTABanner-module__CTABanner--variant-minimal___uuWf5 .Primer_Brand__CTABanner-module__CTABanner-grid-column--secondary___JBmPK{justify-content:flex-start}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-grid-column--secondary___JBmPK{order:-1;margin-block-start:0}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-grid-column--primary___ZtLFt,.Primer_Brand__CTABanner-module__CTABanner-grid-column--secondary___JBmPK{margin-block-start:var(--base-size-24)}}.Primer_Brand__CTABanner-module__CTABanner-outer-container--border___PwQrC{border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__CTABanner-module__CTABanner-container___iRzd1{padding:var(--base-size-64) var(--base-size-20);z-index:1;box-sizing:border-box;width:100%}.Primer_Brand__CTABanner-module__CTABanner-container--rounded___JJhRt{border-radius:var(--brand-borderRadius-medium)}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-container___iRzd1{padding-inline:var(--base-size-20);padding-block:var(--base-size-32)}.Primer_Brand__CTABanner-module__CTABanner--variant-minimal___uuWf5 .Primer_Brand__CTABanner-module__CTABanner-container___iRzd1{padding-inline:var(--base-size-20);padding-block:var(--base-size-40)}.Primer_Brand__CTABanner-module__CTABanner-content___sZo6_{--CTABanner-content-gap:var(--base-size-16);gap:var(--CTABanner-content-gap);flex-direction:column;align-items:flex-start;max-width:800px;margin:0 auto;display:flex}.Primer_Brand__CTABanner-module__CTABanner-content___sZo6_ img,.Primer_Brand__CTABanner-module__CTABanner-content___sZo6_ picture{display:block}.Primer_Brand__CTABanner-module__CTABanner--variant-minimal___uuWf5 .Primer_Brand__CTABanner-module__CTABanner-content___sZo6_{--CTABanner-content-gap:0}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-content___sZo6_,.Primer_Brand__CTABanner-module__CTABanner--variant-minimal___uuWf5 .Primer_Brand__CTABanner-module__CTABanner-content___sZo6_{max-width:576px;margin:0}.Primer_Brand__CTABanner-module__CTABanner-container--background___v1yTH{background-repeat:no-repeat;background-color:var(--brand-CTABanner-bgColor);background-image:var(--brand-CTABanner-narrow-background-image-src,var(--brand-CTABanner-background-image-src));background-size:var(--brand-CTABanner-narrow-background-image-size,var(--brand-CTABanner-background-image-size));background-position:50%;background-position:var(--brand-CTABanner-narrow-background-image-position,var(--brand-CTABanner-background-image-position,center))}.Primer_Brand__CTABanner-module__CTABanner-container--border___FbAer{border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__CTABanner-module__CTABanner-container--border-gridlines___H1FN8{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);max-width:534px;margin-inline:auto}.Primer_Brand__CTABanner-module__CTABanner-content--center___S0ChQ{text-align:center;align-items:center}.Primer_Brand__CTABanner-module__CTABanner-description___I7md6{margin-bottom:var(--base-size-16)}@media screen and (width>=48rem){.Primer_Brand__CTABanner-module__CTABanner-container___iRzd1{padding:var(--base-size-80) var(--base-size-36)}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-container___iRzd1{padding:var(--base-size-36);padding-block-end:var(--base-size-48)}.Primer_Brand__CTABanner-module__CTABanner--variant-minimal___uuWf5 .Primer_Brand__CTABanner-module__CTABanner-container___iRzd1{padding:var(--base-size-36);padding-block:var(--base-size-48)}.Primer_Brand__CTABanner-module__CTABanner-container--background___v1yTH{background-color:var(--brand-CTABanner-regular-background-color,var(--brand-CTABanner-background-color));background-image:var(--brand-CTABanner-regular-background-image-src,var(--brand-CTABanner-background-image-src));background-size:var(--brand-CTABanner-regular-background-image-size,var(--brand-CTABanner-background-image-size));background-position:var(--brand-CTABanner-regular-background-image-position,var(--brand-CTABanner-background-image-position))}}@media screen and (width>=63.25rem){.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-content___sZo6_{--CTABanner-content-gap:var(--base-size-32)}.Primer_Brand__CTABanner-module__CTABanner-container___iRzd1{padding:var(--base-size-96) var(--base-size-64);max-width:100%}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-container___iRzd1,.Primer_Brand__CTABanner-module__CTABanner--variant-minimal___uuWf5 .Primer_Brand__CTABanner-module__CTABanner-container___iRzd1{padding:var(--base-size-64)}}@media screen and (width>=80rem){.Primer_Brand__CTABanner-module__CTABanner-container--background___v1yTH{background-color:var(--brand-CTABanner-wide-background-color,var(--brand-CTABanner-background-color));background-image:var(--brand-CTABanner-wide-background-image-src,var(--brand-CTABanner-background-image-src));background-size:var(--brand-CTABanner-wide-background-image-size,var(--brand-CTABanner-background-image-size));background-position:var(--brand-CTABanner-wide-background-image-position,var(--brand-CTABanner-background-image-position))}}.Primer_Brand__CTABanner-module__CTABanner-image___stI4S{width:100%;height:auto}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-image___stI4S{width:100%;max-width:476px;height:auto}@media screen and (width>=63.25rem){.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-image___stI4S{max-width:100%;height:auto}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-grid-column--primary___ZtLFt:has(.Primer_Brand__CTABanner-module__CTABanner-logo___QX4nn){align-items:stretch}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-grid-column--primary___ZtLFt:has(.Primer_Brand__CTABanner-module__CTABanner-logo___QX4nn)>.Primer_Brand__CTABanner-module__CTABanner-content___sZo6_{flex:1}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-content___sZo6_:has(>.Primer_Brand__CTABanner-module__CTABanner-logo___QX4nn)>.Primer_Brand__CTABanner-module__CTABanner-logo___QX4nn+*{margin-block-start:auto}}.Primer_Brand__CTABanner-module__CTABanner-logo___QX4nn{align-items:center;gap:var(--base-size-8);width:100%;border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-block-end:var(--base-size-32);display:flex}.Primer_Brand__CTABanner-module__CTABanner-logo___QX4nn>svg,.Primer_Brand__CTABanner-module__CTABanner-logo___QX4nn>img{height:var(--base-size-40);width:auto;display:block}.Primer_Brand__CTABanner-module__CTABanner--variant-default___eD19a .Primer_Brand__CTABanner-module__CTABanner-logo___QX4nn{border-block-end:none;width:auto;padding-block-end:0}.Primer_Brand__CTABanner-module__CTABanner--variant-minimal___uuWf5 .Primer_Brand__CTABanner-module__CTABanner-logo___QX4nn{margin-block-end:var(--base-size-24)}.Primer_Brand__CTABanner-module__CTABanner-link___XxOjC{align-self:auto}.Primer_Brand__CTABanner-module__CTABanner-heading___JYhUV b{color:var(--brand-CTABanner-color-heading-emphasis);font-weight:inherit}.Primer_Brand__CTABanner-module__CTABanner-heading___JYhUV code,.Primer_Brand__CTABanner-module__CTABanner-description___I7md6 code{font-family:var(--brand-fontStack-monospace);font-size:calc(1em - 1px);font-weight:var(--base-text-weight-regular);color:var(--brand-InlineCode-color-fg-default);background-color:var(--brand-InlineCode-bgColor);padding-block:0;padding-inline:var(--base-size-4);border-radius:var(--base-size-2);white-space:normal;word-wrap:anywhere;-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:1.6}.Primer_Brand__CTABanner-module__CTABanner-buttonGroup___UMs1W{margin-block-start:0;margin-block-start:calc(-1 * var(--CTABanner-content-gap,0px));padding-block-start:var(--base-size-12)}.Primer_Brand__ListItem-module__ListItem___aFf5u{align-items:flex-start;gap:var(--base-size-12);display:flex}.Primer_Brand__ListItem-module__ListItem--default___pqfZV{color:var(--brand-color-text-default)}.Primer_Brand__ListItem-module__ListItem--muted___EzTWR{color:var(--brand-color-text-muted)}.Primer_Brand__ListItem-module__ListItem__leading-visual___Fu5ba{height:1lh}.Primer_Brand__ListItem-module__ListItem__leading-visual--muted___nJk0R{fill:var(--brand-color-text-muted)}.Primer_Brand__ListItem-module__OrderedList__item___BJsQo:before{content:counter(li) ".";counter-increment:li;min-width:var(--base-size-16);text-align:center;font-weight:var(--brand-text-size-200)}.Primer_Brand__list-shared-module__List___dFefs{gap:var(--base-size-8);font-family:var(--brand-body-fontFamily);color:var(--brand-color-text-default);flex-direction:column;margin:0;padding-inline-start:0;list-style:none;display:flex}.Primer_Brand__OrderedList-module__OrderedList___eCBYV{counter-reset:li}.Primer_Brand__CTAForm-module__CTAForm___oOV3J{grid-gap:var(--base-size-16);gap:var(--base-size-16);grid-template-columns:2fr auto;align-items:flex-end;display:grid}.Primer_Brand__CTAForm-module__CTAForm___oOV3J>*{grid-column:span 2;width:100%}.Primer_Brand__CTAForm-module__CTAForm-input___sR5r3{order:1}.Primer_Brand__CTAForm-module__CTAForm-confirm___yTThl{order:2;grid-column:span 2}.Primer_Brand__CTAForm-module__CTAForm-button___dWqAC{order:4}.Primer_Brand__CTAForm-module__CTAForm___oOV3J>:not(.Primer_Brand__CTAForm-module__CTAForm-input___sR5r3):not(.Primer_Brand__CTAForm-module__CTAForm-button___dWqAC):not(.Primer_Brand__CTAForm-module__CTAForm-confirm___yTThl){order:3;grid-column:span 2}@media screen and (width>=48rem){.Primer_Brand__CTAForm-module__CTAForm___oOV3J>*{grid-column:span 1}.Primer_Brand__CTAForm-module__CTAForm-confirm___yTThl{order:3;grid-column:span 2}.Primer_Brand__CTAForm-module__CTAForm-button___dWqAC{order:2}.Primer_Brand__CTAForm-module__CTAForm___oOV3J>:not(.Primer_Brand__CTAForm-module__CTAForm-input___sR5r3):not(.Primer_Brand__CTAForm-module__CTAForm-button___dWqAC):not(.Primer_Brand__CTAForm-module__CTAForm-confirm___yTThl){order:4}}:root,[data-color-mode=light]{--brand-footer-borderColor:var(--base-color-scale-green-6);--brand-footer-bg-color:var(--brand-color-canvas-subtle);--brand-footer-backToTop-borderColor-rest:var(--base-color-scale-gray-2);--brand-footer-backToTop-borderColor-hover:var(--base-color-scale-gray-2);--brand-footer-backToTop-borderColor-active:var(--base-color-scale-gray-2);--brand-footer-backToTop-bgColor-rest:#00000003;--brand-footer-backToTop-bgColor-hover:#0000001e;--brand-footer-backToTop-bgColor-active:#00000036;--brand-footer-socialIcon-restFilter:sepia(37%) saturate(152%) hue-rotate(77deg) brightness(57%);--brand-footer-socialIcon-hoverFilter:brightness(0)}[data-color-mode=dark]{--brand-footer-borderColor:var(--base-color-scale-green-3);--brand-footer-bg-color:var(--brand-color-canvas-subtle);--brand-footer-backToTop-borderColor-rest:var(--base-color-scale-gray-6);--brand-footer-backToTop-borderColor-hover:#ffffff1f;--brand-footer-backToTop-borderColor-active:#ffffff1f;--brand-footer-backToTop-bgColor-rest:#00000003;--brand-footer-backToTop-bgColor-hover:#ffffff29;--brand-footer-backToTop-bgColor-active:#ffffff3d;--brand-footer-socialIcon-restFilter:saturate(73%) hue-rotate(-89deg) brightness(110%);--brand-footer-socialIcon-hoverFilter:brightness(2)}:root{--brand-footer-backToTop-minTarget:var(--base-size-44)}.Primer_Brand__MinimalFooter-module__MinimalFooter___QucKd{border-top:var(--brand-borderWidth-thick) solid var(--brand-footer-borderColor);background-color:var(--brand-footer-bg-color);position:relative}.Primer_Brand__MinimalFooter-module__MinimalFooter--withFootnotes___r5iQL{border-top:0}.Primer_Brand__MinimalFooter-module__MinimalFooter__container___phzVn{max-width:1280px;max-width:var(--brand-footer-max-width,1280px);padding-inline:var(--base-size-20);margin-left:auto;margin-right:auto}@media screen and (width>=48rem){.Primer_Brand__MinimalFooter-module__MinimalFooter__container___phzVn{padding-inline:var(--base-size-32)}}.Primer_Brand__MinimalFooter-module__MinimalFooter__terms___wPthK{padding:var(--base-size-48) 0}.Primer_Brand__MinimalFooter-module__MinimalFooter__terms-item___ex9bL{margin-bottom:var(--base-size-24)}.Primer_Brand__MinimalFooter-module__MinimalFooter__terms-item___ex9bL sup{font-size:var(--base-size-12);vertical-align:super;margin-right:var(--base-size-4);display:inline-block}.Primer_Brand__MinimalFooter-module__MinimalFooter__terms-item___ex9bL:last-child{margin-bottom:0}.Primer_Brand__MinimalFooter-module__MinimalFooter__top___H_7ju{padding-top:var(--base-size-48);padding-bottom:var(--base-size-32);border-bottom:var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle)}.Primer_Brand__MinimalFooter-module__MinimalFooter__top-row___ZGvWR{grid-gap:var(--base-size-24);align-items:center;gap:var(--base-size-24);grid-template-columns:auto 1fr;display:grid}.Primer_Brand__MinimalFooter-module__MinimalFooter__top-actions___QIaDM{display:contents}.Primer_Brand__MinimalFooter-module__MinimalFooter__top-actions___QIaDM>.Primer_Brand__MinimalFooter-module__MinimalFooter__links___ukZs1{grid-area:2/1/auto/-1;justify-content:flex-start}.Primer_Brand__MinimalFooter-module__MinimalFooter__top-actions___QIaDM>.Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop___uK0Ho{grid-area:1/2;justify-self:flex-end}.Primer_Brand__MinimalFooter-module__MinimalFooter__logo___GvtJc{color:var(--brand-color-text-default);display:inline-flex}.Primer_Brand__MinimalFooter-module__MinimalFooter__logo___GvtJc>svg{width:var(--base-size-24);height:var(--base-size-24)}.Primer_Brand__MinimalFooter-module__MinimalFooter__bottom___yXxek{padding-top:var(--base-size-32);padding-bottom:var(--base-size-32)}@media screen and (width>=80rem){.Primer_Brand__MinimalFooter-module__MinimalFooter__top___H_7ju{padding-top:var(--base-size-32)}.Primer_Brand__MinimalFooter-module__MinimalFooter__top-row___ZGvWR{justify-content:space-between;display:flex}.Primer_Brand__MinimalFooter-module__MinimalFooter__top-actions___QIaDM{justify-content:flex-end;align-items:center;gap:var(--base-size-20);flex-wrap:wrap;flex:1;min-width:0;display:flex}.Primer_Brand__MinimalFooter-module__MinimalFooter__top-actions___QIaDM>.Primer_Brand__MinimalFooter-module__MinimalFooter__links___ukZs1{justify-content:flex-end}.Primer_Brand__MinimalFooter-module__MinimalFooter__logo___GvtJc>svg{width:var(--base-size-32);height:var(--base-size-32)}}.Primer_Brand__MinimalFooter-module__MinimalFooter__section____O9_E{min-width:0}.Primer_Brand__MinimalFooter-module__MinimalFooter__section--footnotes___iIJlL{border-bottom:var(--brand-borderWidth-thick) solid var(--brand-footer-borderColor);background-color:var(--brand-color-canvas-default)}.Primer_Brand__MinimalFooter-module__MinimalFooter__section--center___Tq8St>.Primer_Brand__MinimalFooter-module__MinimalFooter__container___phzVn{padding-top:var(--base-size-32);padding-bottom:var(--base-size-32)}.Primer_Brand__MinimalFooter-module__MinimalFooter__section--center___Tq8St+.Primer_Brand__MinimalFooter-module__MinimalFooter__section--bottom___KBLLb{border-top:var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle)}.Primer_Brand__MinimalFooter-module__MinimalFooter__bottom-row___Utlyc{align-items:flex-start;gap:var(--base-size-24);flex-direction:column;display:flex}.Primer_Brand__MinimalFooter-module__MinimalFooter__social-links___L0cTI{justify-content:flex-start;align-items:center;gap:var(--base-size-16);margin:0;padding:0;list-style:none;display:flex}.Primer_Brand__MinimalFooter-module__MinimalFooter__social-link___T7oRV{min-width:var(--base-size-24);min-height:var(--base-size-24);justify-content:center;align-items:center;display:flex;position:relative}.Primer_Brand__MinimalFooter-module__MinimalFooter__social-link___T7oRV:hover .Primer_Brand__MinimalFooter-module__MinimalFooter__social-icon___rQIEL,.Primer_Brand__MinimalFooter-module__MinimalFooter__social-link___T7oRV:focus-visible .Primer_Brand__MinimalFooter-module__MinimalFooter__social-icon___rQIEL{filter:var(--brand-footer-socialIcon-hoverFilter)}.Primer_Brand__MinimalFooter-module__MinimalFooter__social-icon___rQIEL{width:auto;height:auto;max-height:var(--base-size-20);filter:var(--brand-footer-socialIcon-restFilter);display:block}.Primer_Brand__MinimalFooter-module__MinimalFooter__copyright___Zz0yX{text-transform:uppercase;margin:0}.Primer_Brand__MinimalFooter-module__MinimalFooter__metaText___NDwZ3{font-size:var(--base-size-12)}.Primer_Brand__MinimalFooter-module__MinimalFooter__links___ukZs1{align-items:center;gap:var(--base-size-20);flex-wrap:wrap;display:flex}.Primer_Brand__MinimalFooter-module__MinimalFooter__link___zi47c{color:var(--brand-color-text-muted);cursor:pointer;text-transform:uppercase;background-color:#0000;border:0;align-self:center;padding:0;-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__MinimalFooter-module__MinimalFooter__link___zi47c:where(button){font:inherit}.Primer_Brand__MinimalFooter-module__MinimalFooter__link___zi47c:hover{-webkit-text-decoration:underline;text-decoration:underline}@media screen and (width>=48rem){.Primer_Brand__MinimalFooter-module__MinimalFooter__social-links___L0cTI{gap:var(--base-size-20)}}@media screen and (width>=80rem){.Primer_Brand__MinimalFooter-module__MinimalFooter__bottom-row___Utlyc{flex-direction:row;justify-content:space-between;align-items:center}}.Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop___uK0Ho{appearance:none;font:inherit;color:var(--brand-color-text-default);cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop___uK0Ho:focus-visible{outline:var(--base-size-4) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop___uK0Ho:disabled,.Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop___uK0Ho[aria-disabled=true]{cursor:not-allowed}.Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop-content___fAoRM{align-items:center;gap:var(--base-size-12);display:inline-flex}.Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop-icon___tpnv3{border:var(--brand-borderWidth-thin) solid var(--brand-footer-backToTop-borderColor-rest);border-radius:var(--base-size-6);background-color:var(--brand-footer-backToTop-bgColor-rest);min-width:var(--brand-footer-backToTop-minTarget);min-height:var(--brand-footer-backToTop-minTarget);transition:background-color var(--brand-animation-duration-fast) var(--brand-animation-easing-glide), border-color var(--brand-animation-duration-fast) var(--brand-animation-easing-glide);justify-content:center;align-items:center;display:inline-flex}.Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop___uK0Ho:not([disabled]):not([aria-disabled=true]):hover .Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop-icon___tpnv3{border-color:var(--brand-footer-backToTop-borderColor-hover);background-color:var(--brand-footer-backToTop-bgColor-hover)}.Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop___uK0Ho:not([disabled]):not([aria-disabled=true]):active .Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop-icon___tpnv3{border-color:var(--brand-footer-backToTop-borderColor-active);background-color:var(--brand-footer-backToTop-bgColor-active)}@media (prefers-reduced-motion:reduce){.Primer_Brand__MinimalFooter-module__MinimalFooter___QucKd,.Primer_Brand__MinimalFooter-module__MinimalFooter___QucKd:before,.Primer_Brand__MinimalFooter-module__MinimalFooter___QucKd:after,.Primer_Brand__MinimalFooter-module__MinimalFooter___QucKd *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__Pillar-module__Pillar___dHhm7{color:var(--brand-color-text-default);flex-direction:column;display:flex}.Primer_Brand__Pillar-module__Pillar--has-max-width___Rm68E{max-width:50ch}.Primer_Brand__Pillar-module__Pillar--has-border___PSR1K{border:var(--brand-borderWidth-thin) solid var(--brand-color-border-default);border-radius:var(--brand-borderRadius-medium);padding:var(--base-size-32)}.Primer_Brand__Pillar-module__Pillar___dHhm7.Primer_Brand__Pillar-module__Pillar--align-center___mWN5F{text-align:center;align-items:center}.Primer_Brand__Pillar-module__Pillar___dHhm7.Primer_Brand__Pillar-module__Pillar--align-start___dfipC{text-align:left;align-items:flex-start}.Primer_Brand__Pillar-module__Pillar__image___I_5uJ{margin-bottom:var(--base-size-28);border-radius:var(--brand-borderRadius-medium);overflow:hidden}.Primer_Brand__Pillar-module__Pillar__image___I_5uJ img,.Primer_Brand__Pillar-module__Pillar__image___I_5uJ span,.Primer_Brand__Pillar-module__Pillar__image___I_5uJ picture{display:block}.Primer_Brand__Pillar-module__Pillar__icon___MyYVk{margin-bottom:var(--base-size-48)}.Primer_Brand__Pillar-module__Pillar__icon--with-background___z0eoV{border-radius:var(--base-size-12)}.Primer_Brand__Pillar-module__Pillar__icon--with-background___z0eoV>svg{width:100%;height:100%}.Primer_Brand__Pillar-module__Pillar__heading___C7yPQ{margin-bottom:var(--base-size-16)}.Primer_Brand__Pillar-module__Pillar__description___BPMTa:not(.Primer_Brand__Pillar-module__Pillar--has-border___PSR1K .Primer_Brand__Pillar-module__Pillar__description___BPMTa:last-child){margin-bottom:var(--base-size-24)}.Primer_Brand__Pillar-module__Pillar__link___yiBNY{margin-top:auto}:root{--brand-Card-animation-easing:cubic-bezier(.01, .73, .08, .93);--brand-Card-animation-duration:.4s;--brand-Card-padding-inline:var(--base-size-20);--brand-Card-padding-block:var(--base-size-32);--brand-Card-maxWidth:26.25rem}:root,[data-color-mode=light]{--brand-Card-background-default:var(--brand-color-canvas-default);--brand-Card-background-overlay:#f2f5f333}[data-color-mode=dark]{--brand-Card-background-default:var(--brand-color-canvas-subtle);--brand-Card-background-overlay:#f2f5f30d}.Primer_Brand__Card-module__Card___ByGEk{--Card-grid-template-rows:auto auto auto auto auto auto 1fr auto;color:var(--brand-color-text-default);padding:var(--brand-Card-padding-block) var(--brand-Card-padding-inline);grid-template:"image image""leadingVisual leadingVisual""icon icon""tokens tokens""label label""heading heading""description description"1fr"action action"/1fr 1fr;grid-template-rows:var(--Card-grid-template-rows);border-radius:var(--brand-borderRadius-medium);flex:auto;height:100%;-webkit-text-decoration:none;text-decoration:none;display:grid;position:relative}@media screen and (width>=64rem){.Primer_Brand__Card-module__Card___ByGEk{--brand-Card-padding-inline:var(--base-size-32)}}.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card___ByGEk{--brand-Card-padding-block:var(--base-size-64);--brand-Card-padding-inline:var(--base-size-40);text-align:center}@media screen and (width>=64rem){.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card___ByGEk{--brand-Card-padding-inline:var(--base-size-80)}}.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card___ByGEk{grid-template-columns:1fr;grid-template-areas:"image""leadingVisual""icon""tokens""label""heading""description""action";justify-items:center}.Primer_Brand__Card-module__Card--backgroundColor-default___azlLW{background-color:var(--brand-Card-background-default)}.Primer_Brand__Card-module__Card--backgroundColor-subtle___GNf9B{background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__Card-module__Card--backgroundColor-none___ZURf_{background-color:#0000}.Primer_Brand__Card-module__Card--tokensPosition-block-end___eF64M{--Card-grid-template-rows:auto auto auto auto auto 1fr auto auto;grid-template-areas:"image image""leadingVisual leadingVisual""icon icon""label label""heading heading""description description""tokens tokens""action action"}.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card--tokensPosition-block-end___eF64M{grid-template-areas:"image""leadingVisual""icon""label""heading""description""tokens""action"}.Primer_Brand__Card-module__Card--imagePos-block-end___I2w2f{--Card-grid-template-rows:auto auto auto auto auto 1fr auto auto;grid-template-areas:"leadingVisual leadingVisual""icon icon""tokens tokens""label label""heading heading""description description""action action""image image"}.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card--imagePos-block-end___I2w2f{grid-template-areas:"leadingVisual""icon""tokens""label""heading""description""action""image"}.Primer_Brand__Card-module__Card--imagePos-block-end___I2w2f.Primer_Brand__Card-module__Card--tokensPosition-block-end___eF64M{--Card-grid-template-rows:auto auto auto auto 1fr auto auto auto;grid-template-areas:"leadingVisual leadingVisual""icon icon""label label""heading heading""description description""tokens tokens""action action""image image"}.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card--imagePos-block-end___I2w2f.Primer_Brand__Card-module__Card--tokensPosition-block-end___eF64M{grid-template-areas:"leadingVisual""icon""label""heading""description""tokens""action""image"}.Primer_Brand__Card-module__Card--hasLeadingVisual___JnH6q{--brand-Card-padding-block:var(--base-size-64);--brand-Card-padding-inline:var(--base-size-40)}.Primer_Brand__Card-module__Card--imagePos-block-end___I2w2f .Primer_Brand__Card-module__Card__image___zt4oH{margin-bottom:0;margin-top:var(--base-size-28)}.Primer_Brand__Card-module__Card--maxWidth___sqVhD{max-width:var(--brand-Card-maxWidth)}.Primer_Brand__Card-module__Card--fullWidth___j46z5{max-width:none;max-width:initial}.Primer_Brand__Card-module__Card--variant-minimal___lq45H,.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card--variant-minimal___lq45H{padding:0}.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa{--Card-arrowAction-endInset:var(--base-size-40)}.Primer_Brand__Card-module__Card___ByGEk:hover{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__Card-module__Card__link___Ye5mq{color:currentColor;-webkit-text-decoration:none!important;text-decoration:none!important}.Primer_Brand__Card-module__Card__link___Ye5mq code,.Primer_Brand__Card-module__Card__description___KN9CH code{font-family:var(--brand-fontStack-monospace);font-size:calc(1em - 1px);font-weight:var(--base-text-weight-regular);color:var(--brand-InlineCode-color-fg-default);background-color:var(--brand-InlineCode-bgColor);padding-block:0;padding-inline:var(--base-size-4);border-radius:var(--base-size-2);white-space:normal;word-wrap:anywhere;-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:1.6}.Primer_Brand__Card-module__Card--disableAnimation___Zv8eW:hover .Primer_Brand__Card-module__Card__link___Ye5mq{-webkit-text-decoration:underline!important;text-decoration:underline!important}.Primer_Brand__Card-module__Card__link___Ye5mq:focus{outline:none}.Primer_Brand__Card-module__Card__link___Ye5mq:before{content:"";position:absolute;inset:0}.Primer_Brand__Card-module__Card--border___nNZlZ{border:var(--brand-borderWidth-thin) solid var(--brand-color-border-default);border-radius:var(--brand-borderRadius-medium)}.Primer_Brand__Card-module__Card__outer___QBN0D{height:100%}.Primer_Brand__Card-module__Card__outer___QBN0D:has(.Primer_Brand__Card-module__Card--variant-minimal___lq45H){border-radius:var(--brand-borderRadius-small)}.Primer_Brand__Card-module__Card__outer___QBN0D:focus-within{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);border-radius:var(--brand-borderRadius-medium)}.Primer_Brand__Card-module__Card__outer___QBN0D:has(.Primer_Brand__Card-module__Card--variant-minimal___lq45H):focus-within{outline-offset:var(--base-size-12)}.Primer_Brand__Card-module__Card__image___zt4oH{border-radius:var(--brand-borderRadius-medium);grid-area:image;margin-block-end:var(--base-size-28);overflow:hidden}.Primer_Brand__Card-module__Card__image--padding-none___k5R8r{margin-inline:calc(var(--brand-Card-padding-inline) * -1)}.Primer_Brand__Card-module__Card__image--position-block-start___r8NDr.Primer_Brand__Card-module__Card__image--padding-none___k5R8r{margin-block-start:calc(var(--brand-Card-padding-block) * -1)}.Primer_Brand__Card-module__Card__image--position-block-end___FHlIj.Primer_Brand__Card-module__Card__image--padding-none___k5R8r{margin-block-end:calc(var(--brand-Card-padding-block) * -1)}.Primer_Brand__Card-module__Card--border___nNZlZ .Primer_Brand__Card-module__Card__image--position-block-start___r8NDr.Primer_Brand__Card-module__Card__image--padding-none___k5R8r{border-end-end-radius:0;border-end-start-radius:0}.Primer_Brand__Card-module__Card--border___nNZlZ .Primer_Brand__Card-module__Card__image--position-block-end___FHlIj.Primer_Brand__Card-module__Card__image--padding-none___k5R8r{border-block-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);border-start-start-radius:0;border-start-end-radius:0}.Primer_Brand__Card-module__Card--variant-minimal___lq45H .Primer_Brand__Card-module__Card__image--padding-none___k5R8r{margin-inline:0}.Primer_Brand__Card-module__Card--variant-minimal___lq45H .Primer_Brand__Card-module__Card__image--position-block-start___r8NDr.Primer_Brand__Card-module__Card__image--padding-none___k5R8r{margin-block-start:0}.Primer_Brand__Card-module__Card--variant-minimal___lq45H .Primer_Brand__Card-module__Card__image--position-block-end___FHlIj.Primer_Brand__Card-module__Card__image--padding-none___k5R8r{margin-block-end:0}.Primer_Brand__Card-module__Card__image___zt4oH img,.Primer_Brand__Card-module__Card__image___zt4oH picture,.Primer_Brand__Card-module__Card__image___zt4oH span{display:block}.Primer_Brand__Card-module__Card__leadingVisual___hyXFF{grid-area:leadingVisual;align-items:center;margin-block-end:var(--base-size-36);display:flex}.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card__leadingVisual___hyXFF{justify-content:center}.Primer_Brand__Card-module__Card__leadingVisualItem___T7Ut8{max-width:100%;height:var(--base-size-40);width:auto;display:block}.Primer_Brand__Card-module__Card__icon___H4tc9{margin-bottom:var(--base-size-24);grid-area:icon}.Primer_Brand__Card-module__Card__tokens___eYuJh{gap:var(--base-size-8);margin-bottom:var(--base-size-20);flex-wrap:wrap;grid-area:tokens;display:flex}.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card__tokens___eYuJh{justify-content:center}.Primer_Brand__Card-module__Card__tokens--position-block-end___jQn1b{margin-block-start:var(--base-size-20);margin-block-end:0}.Primer_Brand__Card-module__Card__label___EAot7{grid-area:label;inline-size:fit-content;max-inline-size:100%;margin-block-end:var(--base-size-20)}.Primer_Brand__Card-module__Card__heading___INFhp{grid-area:heading;margin-block-end:var(--base-size-12)}.Primer_Brand__Card-module__Card__description___KN9CH{grid-area:description;margin-block-end:var(--base-size-24)}.Primer_Brand__Card-module__Card__action___C6sRY{pointer-events:none;grid-area:action;align-items:center;max-inline-size:100%;margin-block-start:auto;display:inline-flex}.Primer_Brand__Card-module__Card__actionIcon___RkX8K{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.Primer_Brand__Card-module__Card__actionLabel___nT5Pl{text-overflow:clip;white-space:normal;min-inline-size:0;display:block;overflow:visible}.Primer_Brand__Card-module__Card___ByGEk:not(.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa) .Primer_Brand__Card-module__Card__action___C6sRY{inline-size:100%;min-inline-size:0}.Primer_Brand__Card-module__Card___ByGEk:not(.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa) .Primer_Brand__Card-module__Card__action___C6sRY>span:first-child{min-inline-size:0}.Primer_Brand__Card-module__Card___ByGEk:not(.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa) .Primer_Brand__Card-module__Card__actionLabel___nT5Pl{text-overflow:clip;white-space:normal;word-wrap:anywhere;overflow:visible}.Primer_Brand__Card-module__Card--align-center___geXUu:not(.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa) .Primer_Brand__Card-module__Card__actionLabel___nT5Pl{text-align:center}.Primer_Brand__Card-module__Card__actionLabelClip___XkCTY{display:contents}.Primer_Brand__Card-module__Card--tokensPosition-block-end___eF64M .Primer_Brand__Card-module__Card__action___C6sRY{margin-block-start:var(--base-size-20)}.Primer_Brand__Card-module__Card__action--arrowOnly____4i56{--actionArrow-duration:.3s;min-height:var(--base-size-40);width:auto;min-inline-size:0;max-inline-size:calc(100% - var(--Card-arrowAction-endInset));-moz-column-gap:var(--base-size-8);justify-content:flex-start;column-gap:var(--base-size-8);padding-block:var(--base-size-4);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-default);border-radius:var(--brand-borderRadius-full);background-color:var(--brand-Card-background-overlay);flex-shrink:0;margin-block-start:var(--base-size-20);padding-inline-start:var(--base-size-12);padding-inline-end:var(--base-size-4);overflow:hidden}.Primer_Brand__Card-module__Card__actionIcon--arrowOnly___Vi3cC{width:var(--base-size-32);min-width:var(--base-size-32);height:var(--base-size-32);min-height:var(--base-size-32);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-default);border-radius:var(--brand-borderRadius-full);background-color:var(--brand-color-canvas-default)}.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card__action___C6sRY{justify-content:center}.Primer_Brand__Card-module__Card__action___C6sRY,.Primer_Brand__Card-module__Card__action___C6sRY span{color:var(--brand-Link-color-accent)}.Primer_Brand__Card-module__Card__action___C6sRY,.Primer_Brand__Card-module__Card__action___C6sRY *{cursor:inherit}.Primer_Brand__Card-module__Card--expandableArrow___ORmuZ{margin-inline-start:var(--base-size-4)}.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa .Primer_Brand__Card-module__Card--expandableArrow___ORmuZ{--ExpandableArrow-duration:var(--brand-Card-animation-duration);--ExpandableArrow-easing:var(--brand-Card-animation-easing)}.Primer_Brand__Card-module__Card__actionIcon--arrowOnly___Vi3cC .Primer_Brand__Card-module__Card--expandableArrow___ORmuZ{margin-inline-start:0}.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa .Primer_Brand__Card-module__Card__description___KN9CH{margin-bottom:var(--base-size-12)}.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa .Primer_Brand__Card-module__Card__action___C6sRY{justify-self:start;min-inline-size:0}@media (hover:hover){.Primer_Brand__Card-module__Card__action--arrowOnly____4i56{-moz-column-gap:0;transition:border-color var(--actionArrow-duration) ease-out, background-color var(--actionArrow-duration) ease-out, column-gap var(--actionArrow-duration) ease-out, padding-inline var(--actionArrow-duration) ease-out;transition:border-color var(--actionArrow-duration) ease-out, background-color var(--actionArrow-duration) ease-out, column-gap var(--actionArrow-duration) ease-out, padding-inline var(--actionArrow-duration) ease-out, -moz-column-gap var(--actionArrow-duration) ease-out;background-color:#0000;border-color:#0000;column-gap:0;padding-inline:0}.Primer_Brand__Card-module__Card__actionLabelClip___XkCTY{--actionLabelClip-duration:.4s;opacity:0;min-inline-size:0;max-inline-size:0;transform:translateX(calc(var(--base-size-12) * -1));transition:max-inline-size .4s var(--brand-Card-animation-easing), opacity .4s ease-out, transform .4s ease-out, margin-inline .4s ease-out, padding-inline .4s ease-out;transition:max-inline-size var(--actionLabelClip-duration) var(--brand-Card-animation-easing), opacity var(--actionLabelClip-duration) ease-out, transform var(--actionLabelClip-duration) ease-out, margin-inline var(--actionLabelClip-duration) ease-out, padding-inline var(--actionLabelClip-duration) ease-out;background-color:#0000;flex:auto;align-self:stretch;align-items:center;margin-inline:0;padding-inline:0;display:inline-flex;overflow:hidden}.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa .Primer_Brand__Card-module__Card__actionLabel___nT5Pl{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa .Primer_Brand__Card-module__Card__action___C6sRY{justify-self:center}.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa:focus-within .Primer_Brand__Card-module__Card__action--arrowOnly____4i56,.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa:hover .Primer_Brand__Card-module__Card__action--arrowOnly____4i56{-moz-column-gap:var(--base-size-8);column-gap:var(--base-size-8);border-color:var(--brand-color-border-default);background-color:var(--brand-Card-background-overlay);padding-inline-start:var(--base-size-12);padding-inline-end:var(--base-size-4)}.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa:focus-within .Primer_Brand__Card-module__Card__actionLabelClip___XkCTY,.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa:hover .Primer_Brand__Card-module__Card__actionLabelClip___XkCTY{opacity:1;max-inline-size:100%;margin-inline-start:calc(var(--base-size-12) * -1);margin-inline-end:0;padding-inline-start:var(--base-size-12);padding-inline-end:var(--base-size-4);transform:translate(0)}.Primer_Brand__Card-module__Card___ByGEk:focus-within .Primer_Brand__Card-module__Card--expandableArrow___ORmuZ,.Primer_Brand__Card-module__Card___ByGEk:hover .Primer_Brand__Card-module__Card--expandableArrow___ORmuZ{transform:translateX(var(--base-size-2))}.Primer_Brand__Card-module__Card___ByGEk:hover .Primer_Brand__Card-module__Card--expandableArrow___ORmuZ path:nth-of-type(2),.Primer_Brand__Card-module__Card___ByGEk:focus-within .Primer_Brand__Card-module__Card--expandableArrow___ORmuZ path:nth-of-type(2){stroke-dashoffset:20px}.Primer_Brand__Card-module__Card--disableAnimation___Zv8eW,.Primer_Brand__Card-module__Card--disableAnimation___Zv8eW *{transition:none;animation:none}@media (prefers-reduced-motion:reduce){.Primer_Brand__Card-module__Card___ByGEk,.Primer_Brand__Card-module__Card___ByGEk:before,.Primer_Brand__Card-module__Card___ByGEk:after,.Primer_Brand__Card-module__Card___ByGEk *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__SectionIntro-module__SectionIntro___RduRB{gap:var(--base-size-16);padding-block:var(--base-size-24);flex-direction:column;align-items:flex-start;display:flex}.Primer_Brand__SectionIntro-module__SectionIntro___RduRB img,.Primer_Brand__SectionIntro-module__SectionIntro___RduRB picture{display:block}.Primer_Brand__SectionIntro-module__SectionIntro-heading--muted___CdGWF{color:var(--brand-color-text-muted)}.Primer_Brand__SectionIntro-module__SectionIntro-heading--muted___CdGWF em,.Primer_Brand__SectionIntro-module__SectionIntro-heading--muted___CdGWF b{color:var(--brand-color-text-default);font-style:normal;font-weight:inherit}.Primer_Brand__SectionIntro-module__SectionIntro--align-start___C59mu{text-align:start}.Primer_Brand__SectionIntro-module__SectionIntro--align-center___qU_a9{text-align:center;padding-inline:var(--base-size-24);align-items:center}.Primer_Brand__SectionIntro-module__SectionIntro-heading___u6_Wl{max-width:24ch}.Primer_Brand__SectionIntro-module__SectionIntro--full-width___HROKL .Primer_Brand__SectionIntro-module__SectionIntro-heading___u6_Wl{max-width:none}.Primer_Brand__SectionIntro-module__SectionIntro-label___ZjciO{margin-block-end:var(--base-size-2)}.Primer_Brand__SectionIntro-module__SectionIntro-description___Sz93l{max-width:50ch;padding-block-start:var(--base-size-2)}.Primer_Brand__SectionIntro-module__SectionIntro-link___dePuF{margin-top:var(--base-size-16)}@keyframes Primer_Brand__TextRevealAnimation-module__wipe___Mztl1{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Primer_Brand__TextRevealAnimation-module__TextRevealAnimation___dpkSq{opacity:0;transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__TextRevealAnimation-module__TextRevealAnimation--visible___KIbWH{opacity:1}.Primer_Brand__TextRevealAnimation-module__TextRevealAnimation___dpkSq,.Primer_Brand__TextRevealAnimation-module__TextRevealAnimation--animated___NuoAA{width:100%;min-height:1lh;position:relative}.Primer_Brand__TextRevealAnimation-module__TextRevealAnimation--animated___NuoAA:after{content:"";background-color:var(--brand-color-accent-primary);transform-origin:100%;width:100%;height:100%;animation:Primer_Brand__TextRevealAnimation-module__wipe___Mztl1 var(--brand-animation-duration-extended) forwards var(--brand-animation-easing-default);animation-delay:var(--animation-delay);display:inline;position:absolute;top:0;right:0}@media (prefers-reduced-motion:reduce){.Primer_Brand__TextRevealAnimation-module__TextRevealAnimation--animated___NuoAA:after{display:none}.Primer_Brand__TextRevealAnimation-module__TextRevealAnimation___dpkSq,.Primer_Brand__TextRevealAnimation-module__TextRevealAnimation___dpkSq:before,.Primer_Brand__TextRevealAnimation-module__TextRevealAnimation___dpkSq:after,.Primer_Brand__TextRevealAnimation-module__TextRevealAnimation___dpkSq *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__Prose-module__Prose___X2BXE{font-family:var(--brand-body-fontFamily);font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200);color:var(--brand-color-text-default)}.Primer_Brand__Prose-module__Prose--editorial___DtuDo{font-size:var(--brand-text-size-300);line-height:1.7}.Primer_Brand__Prose-module__Prose___X2BXE *+*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:auto;margin-block-start:1em;margin-block-start:var(--spacing,1em)}.Primer_Brand__Prose-module__Prose--editorial___DtuDo *+*{--spacing:var(--base-size-40)}.Primer_Brand__Prose-module__Prose--lineLength___ws7gn{max-width:var(--brand-Prose-lineLength)}.Primer_Brand__Prose-module__Prose___X2BXE h1{font-weight:var(--brand-heading-weight-700);font-size:var(--brand-text-size-700);line-height:var(--brand-text-lineHeight-700);font-family:var(--brand-heading-fontFamily);letter-spacing:var(--brand-text-letterSpacing-700)}.Primer_Brand__Prose-module__Prose___X2BXE h2{font-weight:var(--brand-heading-weight-600);font-size:var(--brand-text-size-600);line-height:var(--brand-text-lineHeight-600);font-family:var(--brand-heading-fontFamily);letter-spacing:var(--brand-text-letterSpacing-600)}.Primer_Brand__Prose-module__Prose--lineLength___ws7gn h2{max-width:26ch}.Primer_Brand__Prose-module__Prose___X2BXE h3{font-weight:var(--brand-heading-weight-400);font-size:var(--brand-text-size-400);line-height:var(--brand-heading-lineHeight-400);font-family:var(--brand-heading-fontFamily);letter-spacing:var(--brand-heading-letterSpacing-400)}.Primer_Brand__Prose-module__Prose--lineLength___ws7gn h1{max-width:32ch}.Primer_Brand__Prose-module__Prose___X2BXE h4{--spacing:var(--base-size-48);font-weight:var(--brand-heading-weight-400);font-size:var(--brand-text-size-300);line-height:var(--brand-text-lineHeight-300);font-family:var(--brand-heading-fontFamily);letter-spacing:var(--brand-heading-letterSpacing-300)}.Primer_Brand__Prose-module__Prose___X2BXE h5,.Primer_Brand__Prose-module__Prose___X2BXE h6{--spacing:var(--base-size-48);font-weight:var(--brand-text-subhead-weight-medium);font-size:var(--brand-text-subhead-size-medium);line-height:var(--brand-text-subhead-lineHeight-medium);font-family:var(--brand-heading-fontFamily);letter-spacing:var(--brand-heading-letterSpacing-200)}.Primer_Brand__Prose-module__Prose___X2BXE h1,.Primer_Brand__Prose-module__Prose___X2BXE h2,.Primer_Brand__Prose-module__Prose___X2BXE h3{--spacing:var(--base-size-64)}.Primer_Brand__Prose-module__Prose___X2BXE h1+*,.Primer_Brand__Prose-module__Prose___X2BXE h2+*,.Primer_Brand__Prose-module__Prose___X2BXE h3+*,.Primer_Brand__Prose-module__Prose___X2BXE p{--spacing:var(--base-size-24)}.Primer_Brand__Prose-module__Prose--editorial___DtuDo p{--spacing:var(--base-size-40)}.Primer_Brand__Prose-module__Prose___X2BXE ul,.Primer_Brand__Prose-module__Prose___X2BXE ol{--spacing:var(--base-size-16);gap:var(--base-size-8);line-height:var(--brand-text-lineHeight-300);flex-direction:column;margin-inline-start:var(--base-size-24);padding:0;display:flex}.Primer_Brand__Prose-module__Prose--editorial___DtuDo ul,.Primer_Brand__Prose-module__Prose--editorial___DtuDo ol{--spacing:var(--base-size-48);gap:var(--base-size-16);line-height:1.7}.Primer_Brand__Prose-module__Prose___X2BXE ul{list-style-type:image;list-style-image:var(--brand-Prose-unorderedList-imageUrl)}.Primer_Brand__Prose-module__Prose___X2BXE li{--spacing:0}.Primer_Brand__Prose-module__Prose___X2BXE strong,.Primer_Brand__Prose-module__Prose___X2BXE b{font-weight:var(--brand-text-weight-heavy)!important}.Primer_Brand__Prose-module__Prose___X2BXE em{font-variation-settings:"ital" 10;font-synthesis:none}.Primer_Brand__Prose-module__Prose___X2BXE a{color:var(--brand-InlineLink-color-rest);-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration-color:var(--brand-InlineLink-color-rest);text-decoration-color:var(--brand-InlineLink-color-rest);text-decoration-thickness:var(--brand-borderWidth-thin);text-underline-position:under;transition:var(--brand-InlineLink-transition-timing) text-decoration;position:relative}.Primer_Brand__Prose-module__Prose___X2BXE a:hover{text-decoration-thickness:var(--brand-borderWidth-thick)}.Primer_Brand__Prose-module__Prose___X2BXE a:active:after{border-color:var(--brand-InlineLink-color-pressed)}.Primer_Brand__Prose-module__Prose___X2BXE code{font-family:var(--brand-fontStack-monospace);font-size:var(--brand-text-size-100);white-space:break-spaces;padding:var(--base-size-4) var(--base-size-8);border-radius:var(--brand-borderRadius-small);background-color:var(--brand-Prose-code-bgColor)}.Primer_Brand__Prose-module__Prose___X2BXE pre{padding:var(--base-size-16);border-radius:var(--brand-borderRadius-medium);background-color:var(--brand-Prose-code-bgColor)}.Primer_Brand__Prose-module__Prose___X2BXE pre code{padding:0}.Primer_Brand__Prose-module__Prose___X2BXE img{--spacing:var(--brand-Prose-img-spacing);max-width:100%;height:auto;margin-left:auto;margin-right:auto;margin-block-end:var(--spacing);display:block}.Primer_Brand__Prose-module__Prose--editorial___DtuDo figure img{border-radius:var(--brand-borderRadius-medium);margin-block-end:0;display:block}.Primer_Brand__Prose-module__Prose___X2BXE blockquote{--spacing:var(--brand-Prose-blockquote-spacing);font-size:var(--brand-text-size-400);line-height:var(--brand-text-lineHeight-400);padding-top:var(--base-size-48);padding-bottom:var(--base-size-8);margin-bottom:var(--spacing);position:relative}.Primer_Brand__Prose-module__Prose--default___ZqcxT blockquote{padding-left:var(--base-size-40)}.Primer_Brand__Prose-module__Prose--editorial___DtuDo blockquote{font-size:var(--brand-text-size-500);line-height:var(--brand-text-lineHeight-500);font-weight:var(--brand-text-weight-500);padding-top:var(--base-size-64)}@media screen and (width>=87.5rem){.Primer_Brand__Prose-module__Prose--editorial___DtuDo blockquote{margin-block:var(--base-size-40)}}.Primer_Brand__Prose-module__Prose___X2BXE blockquote:before{content:"“";font-size:var(--base-size-48);line-height:var(--base-size-64);font-weight:var(--base-text-weight-extrabold);position:absolute;top:0}.Primer_Brand__Prose-module__Prose--editorial___DtuDo blockquote:before{color:var(--brand-color-accent-primary);font-size:var(--base-size-64);line-height:var(--base-size-64)}.Primer_Brand__Prose-module__Prose--default___ZqcxT blockquote:after{content:"";width:var(--brand-borderWidth-thick);background-color:var(--base-color-scale-indigo-5);background-image:linear-gradient(180deg, var(--base-color-scale-blue-5), var(--base-color-scale-purple-5));height:100%;display:block;position:absolute;top:0;left:0}.Primer_Brand__Prose-module__Prose___X2BXE figure figcaption{--spacing:var(--base-size-24);font-family:var(--brand-fontStack-monospace);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);color:var(--brand-color-text-muted)}.Primer_Brand__Prose-module__Prose--editorial___DtuDo figcaption{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);font-weight:var(--brand-text-weight-100)}.Primer_Brand__Prose-module__Prose--editorial___DtuDo hr{--spacing:var(--base-size-64);border:1px solid var(--brand-color-border-muted);margin-block-start:var(--spacing);margin-block-end:var(--spacing)}.Primer_Brand__Prose-module__Prose___X2BXE video,.Primer_Brand__Prose-module__Prose___X2BXE iframe[src*=youtube\.com],.Primer_Brand__Prose-module__Prose___X2BXE iframe[src*=youtu\.be],.Primer_Brand__Prose-module__Prose___X2BXE iframe[src*=youtube-nocookie\.com]{--spacing:var(--brand-Prose-img-spacing);border-radius:var(--brand-borderRadius-medium);height:auto;margin-left:auto;margin-right:auto;margin-block-end:var(--spacing);display:block}.Primer_Brand__Prose-module__Prose___X2BXE video{max-width:100%}.Primer_Brand__Prose-module__Prose___X2BXE iframe[src*=youtube\.com],.Primer_Brand__Prose-module__Prose___X2BXE iframe[src*=youtu\.be],.Primer_Brand__Prose-module__Prose___X2BXE iframe[src*=youtube-nocookie\.com]{aspect-ratio:16/9;width:100%}@media (prefers-reduced-motion:reduce){.Primer_Brand__Prose-module__Prose___X2BXE a,.Primer_Brand__Prose-module__Prose___X2BXE a:before,.Primer_Brand__Prose-module__Prose___X2BXE a:after,.Primer_Brand__Prose-module__Prose___X2BXE a *{transition:none!important}}.Primer_Brand__Prose-module__Prose___X2BXE table{--spacing:var(--base-size-32);border-collapse:collapse;border-spacing:0;width:100%;font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200)}.Primer_Brand__Prose-module__Prose___X2BXE table caption{text-align:left;font-size:var(--brand-text-size-100);font-weight:var(--brand-text-weight-100);line-height:var(--brand-text-lineHeight-100);color:var(--brand-color-text-muted);padding-block-end:var(--base-size-24)}.Primer_Brand__Prose-module__Prose___X2BXE table th,.Primer_Brand__Prose-module__Prose___X2BXE table td{padding-block:var(--base-size-16);padding-inline:var(--base-size-12);text-align:left;vertical-align:top;border-bottom:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__Prose-module__Prose___X2BXE table th:first-child,.Primer_Brand__Prose-module__Prose___X2BXE table td:first-child,.Primer_Brand__Prose-module__Prose___X2BXE table th:last-child,.Primer_Brand__Prose-module__Prose___X2BXE table td:last-child{padding-inline:0}.Primer_Brand__Prose-module__Prose___X2BXE table th{font-size:var(--brand-text-size-100);font-weight:var(--brand-text-weight-400);line-height:var(--brand-text-lineHeight-100);color:var(--brand-color-text-muted)}.Primer_Brand__Prose-module__Prose___X2BXE table thead th{border-bottom:var(--brand-borderWidth-thick) solid var(--brand-color-border-default)}.Primer_Brand__Prose-module__Prose___X2BXE table tbody tr:last-child td{border-bottom:none}.Primer_Brand__Prose-module__Prose--editorial___DtuDo table{--spacing:var(--base-size-48)}.Primer_Brand__Prose-module__Prose___X2BXE td>ul:first-child,.Primer_Brand__Prose-module__Prose___X2BXE td>ol:first-child{margin-block-start:0}@media screen and (width>=48rem){.Primer_Brand__Prose-module__Prose___X2BXE table th,.Primer_Brand__Prose-module__Prose___X2BXE table td{padding:var(--base-size-16) var(--base-size-8)}.Primer_Brand__Prose-module__Prose___X2BXE table th:not(:first-child):not(:last-child),.Primer_Brand__Prose-module__Prose___X2BXE table td:not(:first-child):not(:last-child){padding-inline:var(--base-size-16)}.Primer_Brand__Prose-module__Prose___X2BXE table th:first-child,.Primer_Brand__Prose-module__Prose___X2BXE table td:first-child{padding-inline-start:0}.Primer_Brand__Prose-module__Prose___X2BXE table th:last-child,.Primer_Brand__Prose-module__Prose___X2BXE table td:last-child{padding-inline-end:0}.Primer_Brand__Prose-module__Prose___X2BXE table tbody tr:hover{background-color:var(--brand-color-canvas-subtle)}}@media screen and (width<=47.99rem){.Primer_Brand__Prose-module__Prose___X2BXE table:has(td[data-label]){border-collapse:separate;border-spacing:0;width:100%;box-shadow:none;font-size:var(--brand-text-size-200);background:0 0}.Primer_Brand__Prose-module__Prose___X2BXE table:has(td[data-label]) thead{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}:is(.Primer_Brand__Prose-module__Prose___X2BXE table:has(td[data-label]) tbody,.Primer_Brand__Prose-module__Prose___X2BXE table:has(td[data-label]) tr){width:100%;display:block}:is(.Primer_Brand__Prose-module__Prose___X2BXE table:has(td[data-label]) th:not(:first-child):not(:last-child),.Primer_Brand__Prose-module__Prose___X2BXE table:has(td[data-label]) td:not(:first-child):not(:last-child)){padding-inline:0}.Primer_Brand__Prose-module__Prose___X2BXE table:has(td[data-label]) tr{border-block-start:var(--brand-borderWidth-thicker) solid var(--brand-color-border-muted);margin-block-end:var(--spacing);padding-block-start:var(--base-size-20)}.Primer_Brand__Prose-module__Prose___X2BXE td[data-label]{width:100%;margin:0 0 16px;margin:0 0 var(--base-size-16,16px) 0;border:none;flex-direction:column;align-items:flex-start;padding:0;display:flex}.Primer_Brand__Prose-module__Prose___X2BXE td[data-label]:not(:last-child){border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-block-end:var(--base-size-20)}.Primer_Brand__Prose-module__Prose___X2BXE td[data-label]:before{content:attr(data-label);color:var(--brand-color-text-muted);text-align:left;font-weight:var(--brand-text-weight-400);margin-block-end:var(--base-size-4)}.Primer_Brand__Prose-module__Prose___X2BXE table:has(td[data-label]) td:not([data-label]){width:100%;border:none;margin-block-end:var(--base-size-16);padding:0;display:block}.Primer_Brand__Prose-module__Prose___X2BXE table:has(td[data-label]) td:not([data-label]):not(:last-child){border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-block-end:var(--base-size-20)}.Primer_Brand__Prose-module__Prose___X2BXE td[data-label]:last-child{margin-block-end:0}}:root{--brand-Prose-blockquote-spacing:var(--base-size-24);--brand-Prose-img-spacing:var(--base-size-48);--brand-Prose-lineLength:68ch}:root,[data-color-mode=light]{--brand-Prose-unorderedList-imageUrl:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 aria-hidden=%27true%27 focusable=%27false%27 role=%27img%27 viewBox=%270 -3 16 16%27 width=%2716%27 height=%2716%27 fill=%27black%27 style=%27display: inline-block; vertical-align: text-bottom; overflow: visible;%27%3e%3cpath d=%27M2 7.75A.75.75 0 0 1 2.75 7h10a.75.75 0 0 1 0 1.5h-10A.75.75 0 0 1 2 7.75Z%27%3e%3c/path%3e%3c/svg%3e");--brand-Prose-code-bgColor:var(--base-color-scale-indigo-0)}[data-color-mode=dark]{--brand-Prose-unorderedList-imageUrl:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 aria-hidden=%27true%27 focusable=%27false%27 role=%27img%27 viewBox=%270 -3 16 16%27 width=%2716%27 height=%2716%27 fill=%27white%27 style=%27display: inline-block; vertical-align: text-bottom; overflow: visible;%27%3e%3cpath d=%27M2 7.75A.75.75 0 0 1 2.75 7h10a.75.75 0 0 1 0 1.5h-10A.75.75 0 0 1 2 7.75Z%27%3e%3c/path%3e%3c/svg%3e");--brand-Prose-code-bgColor:var(--base-color-scale-indigo-9)}.Primer_Brand__Captions-module__Captions___xrhu1{flex:0 0 var(--base-size-64);width:100%;padding:var(--base-size-8) var(--base-size-16) 0;pointer-events:none;background-color:var(--base-color-scale-black-0);justify-content:center;align-items:center;display:flex}.Primer_Brand__Captions-module__Captions__text___e1cBR{color:var(--brand-VideoPlayer-closedCaption-text-fgColor)}.Primer_Brand__VideoPlayer-module__VideoPlayer__container___WmQho{border-radius:var(--brand-borderRadius-medium);background-color:var(--base-color-scale-black-0);flex-direction:column;width:100%;display:flex;overflow:hidden}.Primer_Brand__VideoPlayer-module__VideoPlayer__overlayContainer___K_dl1{flex:1;height:100%;position:relative}@media (forced-colors:active){.Primer_Brand__VideoPlayer-module__VideoPlayer__container___WmQho{border:var(--brand-borderWidth-thin) solid ButtonBorder}}.Primer_Brand__VideoPlayer-module__VideoPlayer___iNxEw{--brand-VideoPlayer-controls-min-height:56px;width:100%;max-height:calc(100vh - 56px);max-height:calc(100vh - var(--brand-VideoPlayer-controls-min-height));margin:0 auto;display:block}.Primer_Brand__VideoPlayer-module__VideoPlayer__container--fullscreen___p73I7 .Primer_Brand__VideoPlayer-module__VideoPlayer___iNxEw{height:100%;position:absolute}.Primer_Brand__VideoPlayer-module__VideoPlayer__playButtonOverlay___J7kgz{font:inherit;z-index:1;background:#0003;border:none;width:100%;height:100%;position:absolute;top:0;left:0}.Primer_Brand__VideoPlayer-module__VideoPlayer__playButtonOverlay___J7kgz svg{top:calc(var(--brand-VideoPlayer-controls-min-height) / 2);position:relative}.Primer_Brand__VideoPlayer-module__VideoPlayer__playButtonOverlay___J7kgz.Primer_Brand__VideoPlayer-module__VideoPlayer__playButtonOverlay--transparent___Nc60m{background:0 0}.Primer_Brand__VideoPlayer-module__VideoPlayer__playButtonOverlay___J7kgz:focus-visible{outline:var(--brand-borderWidth-thicker) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__VideoPlayer-module__VideoPlayer__playButton___qff0F{width:25%;height:25%;max-width:var(--brand-VideoPlayer-playButton-width);max-height:var(--brand-VideoPlayer-playButton-height);opacity:.8;color:var(--brand-videoPlayer-playButton-fgColor-rest)}@media (forced-colors:active){.Primer_Brand__VideoPlayer-module__VideoPlayer__playButton___qff0F{color:highlight;opacity:1}}.Primer_Brand__VideoPlayer-module__VideoPlayer__title___F1E2j{transition:var(--brand-VideoPlayer-transition);z-index:2;width:100%;padding:var(--base-size-16);color:var(--brand-videoPlayer-title-fgColor);grid-gap:var(--base-size-12);background:var(--brand-videoPlayer-title-bgColor);transition:all var(--brand-animation-duration-fast) var(--brand-animation-easing-default);grid-template-columns:auto auto;justify-content:flex-start;align-items:center;display:grid;position:absolute;top:0;left:0}.Primer_Brand__VideoPlayer-module__VideoPlayer__title___F1E2j.Primer_Brand__VideoPlayer-module__VideoPlayer__title--hidden___gJxj8{opacity:0;visibility:hidden}@media (forced-colors:active){.Primer_Brand__VideoPlayer-module__VideoPlayer__title___F1E2j{color:canvastext;background:canvas}}.Primer_Brand__VideoPlayer-module__VideoPlayer__controlsBar___L4653{min-height:var(--brand-VideoPlayer-controls-min-height);grid-gap:var(--base-size-16);justify-content:space-between;align-items:center;gap:var(--base-size-16);border-bottom-right-radius:var(--brand-borderRadius-medium);border-bottom-left-radius:var(--brand-borderRadius-medium);width:100%;padding:var(--base-size-12) var(--base-size-16);pointer-events:all;opacity:1;grid-template-columns:1fr;grid-auto-flow:column;display:grid}.Primer_Brand__VideoPlayer-module__VideoPlayer__controlsBar__row1___SdOxD,.Primer_Brand__VideoPlayer-module__VideoPlayer__controlsBar__row2___EZoJX{align-items:center;gap:var(--base-size-16);display:flex}@media (width<=34rem){.Primer_Brand__VideoPlayer-module__VideoPlayer__controlsBar___L4653{gap:var(--base-size-12);grid-template-rows:auto auto;grid-template-columns:1fr;grid-auto-flow:row}.Primer_Brand__VideoPlayer-module__VideoPlayer__controlsBar__row2___EZoJX{justify-self:space-evenly;justify-content:space-evenly;width:100%}}.Primer_Brand__VideoPlayer-module__VideoPlayer__controls___hNpxI:focus,.Primer_Brand__VideoPlayer-module__VideoPlayer__controls___hNpxI:focus-within{bottom:0}.Primer_Brand__VideoPlayer-module__VideoPlayer__iconControl___Tw7A4{font:inherit;cursor:pointer;width:auto;height:var(--base-size-24);box-sizing:content-box;background:0 0;border:none;padding:0;position:relative}.Primer_Brand__VideoPlayer-module__VideoPlayer__iconControl___Tw7A4:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-6);opacity:1}.Primer_Brand__VideoPlayer-module__VideoPlayer__iconControl___Tw7A4:not(.Primer_Brand__VideoPlayer-module__VideoPlayer__closedCaption___PAvgt):focus-visible{border-radius:var(--brand-borderRadius-small)}.Primer_Brand__VideoPlayer-module__VideoPlayer__iconControl___Tw7A4 svg{color:var(--brand-videoPlayer-controls-fgColor)}.Primer_Brand__VideoPlayer-module__VideoPlayer__seek___Z4IA2{align-items:center;gap:var(--base-size-16);flex:1;display:flex}.Primer_Brand__VideoPlayer-module__VideoPlayer__progressTime___GvTKs{color:var(--brand-videoPlayer-controls-fgColor)}.Primer_Brand__VideoPlayer-module__VideoPlayer__container--small___TxAd8 .Primer_Brand__VideoPlayer-module__VideoPlayer__totalTime___nWILS{display:none}.Primer_Brand__VideoPlayer-module__VideoPlayer__progressBar___wYSPx{height:var(--base-size-6);flex:1}.Primer_Brand__VideoPlayer-module__VideoPlayer__closedCaption___PAvgt{border-radius:var(--brand-borderRadius-medium);padding:.125rem var(--base-size-4);border:.125rem solid var(--brand-videoPlayer-closedCaption-borderColor-enabled);background:var(--brand-videoPlayer-closedCaption-bgColor-enabled);position:relative}.Primer_Brand__VideoPlayer-module__VideoPlayer__ccOff___svmJL{background-color:#0000}.Primer_Brand__VideoPlayer-module__VideoPlayer__ccText___xIu2v{color:var(--brand-videoPlayer-closedCaption-fgColor-enabled);line-height:25px}.Primer_Brand__VideoPlayer-module__VideoPlayer__ccOff___svmJL .Primer_Brand__VideoPlayer-module__VideoPlayer__ccText___xIu2v{color:var(--brand-videoPlayer-closedCaption-fgColor-disabled)}@media (forced-colors:active){.Primer_Brand__VideoPlayer-module__VideoPlayer__iconControl___Tw7A4 svg{color:buttontext}.Primer_Brand__VideoPlayer-module__VideoPlayer__iconControl___Tw7A4:focus-visible{outline-color:highlight}.Primer_Brand__VideoPlayer-module__VideoPlayer__closedCaption___PAvgt:focus-visible{outline:none}.Primer_Brand__VideoPlayer-module__VideoPlayer__closedCaption___PAvgt:not(.Primer_Brand__VideoPlayer-module__VideoPlayer__ccOff___svmJL){background:highlight;border-color:highlight}.Primer_Brand__VideoPlayer-module__VideoPlayer__closedCaption___PAvgt:not(.Primer_Brand__VideoPlayer-module__VideoPlayer__ccOff___svmJL) .Primer_Brand__VideoPlayer-module__VideoPlayer__ccText___xIu2v{color:highlighttext;background-color:highlight}}.Primer_Brand__VideoPlayer-module__VideoPlayer__range___Tmjbg{width:100%;min-width:var(--brand-VideoPlayer-range-minWidth);height:var(--brand-VideoPlayer-range-height);background-color:var(--brand-videoPlayer-range-bgColor-default);border-radius:var(--brand-VideoPlayer-range-borderRadius);position:relative}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeInput____wivl{font:inherit;appearance:none;z-index:1;width:100%;height:var(--brand-VideoPlayer-range-height);cursor:pointer;opacity:0;background:0 0;margin:0;display:block;position:absolute;top:0;left:0}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeInput____wivl:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-8);border-radius:var(--brand-borderRadius-small);opacity:1}.Primer_Brand__VideoPlayer-module__VideoPlayer__range___Tmjbg:hover .Primer_Brand__VideoPlayer-module__VideoPlayer__rangeInput____wivl{opacity:1}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeInput____wivl::-moz-range-track{background:0 0;border:none}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeInput____wivl::-webkit-slider-runnable-track{background:0 0;border:none}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK{appearance:none;border-radius:var(--brand-VideoPlayer-range-borderRadius);width:100%;height:var(--brand-VideoPlayer-range-height);border:0;position:absolute;top:0;left:0;overflow:hidden}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK::-webkit-progress-bar{background-color:var(--brand-videoPlayer-range-bgColor-default)}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK::-webkit-progress-value{background-color:var(--brand-videoPlayer-range-bgColor-progress)}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK::-moz-progress-bar{background:var(--brand-videoPlayer-range-bgColor-progress)}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK::-ms-fill-lower{background-color:var(--brand-videoPlayer-range-bgColor-progress);border:none}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK::-ms-fill-upper{background-color:var(--brand-videoPlayer-range-bgColor-default);border:none}@media (forced-colors:active){.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK::-webkit-progress-bar{background-color:fieldtext}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK::-webkit-progress-value{background-color:highlight}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK::-moz-progress-bar{background:highlight}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK::-ms-fill-lower{background-color:highlight}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK::-ms-fill-upper{background-color:fieldtext}}.Primer_Brand__VideoPlayer-module__VideoPlayer__tooltip___mtg_l{z-index:2;width:var(--base-size-8);height:var(--base-size-8);margin-bottom:var(--base-size-16);opacity:0;position:absolute;bottom:100%;left:50%;transform:translate(-50%,50%)}.Primer_Brand__VideoPlayer-module__VideoPlayer__tooltip___mtg_l:before{bottom:calc(var(--base-size-4) * -1);width:var(--base-size-12);height:var(--base-size-12);content:"";background:var(--base-color-scale-white-0);border-radius:var(--brand-borderRadius-small);position:absolute;left:0;transform:rotate(45deg)}.Primer_Brand__VideoPlayer-module__VideoPlayer__tooltipContent___BoAqV{z-index:-1;box-shadow:0 var(--base-size-4) var(--base-size-4) #1b1f2433;padding:var(--brand-VideoPlayer-tooltip-padding-block) var(--brand-VideoPlayer-tooltip-padding-inline);border-radius:var(--brand-borderRadius-medium);background:#fff;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.Primer_Brand__VideoPlayer-module__VideoPlayer__tooltipText____Syz7{color:var(--base-color-scale-gray-9)}.Primer_Brand__VideoPlayer-module__VideoPlayer__tooltip-visible___xOTRZ{opacity:1}.Primer_Brand__VideoPlayer-module__VideoPlayer__controlTextColor___YMFpe{color:var(--base-color-scale-white-0)}.Primer_Brand__VideoPlayer-module__VideoPlayer__seekTime___HLf0h{white-space:nowrap}.Primer_Brand__VideoPlayer-module__VideoPlayer__container--small___TxAd8 .Primer_Brand__VideoPlayer-module__VideoPlayer__title___F1E2j span{font-weight:var(--brand-text-weight-300);font-size:var(--brand-text-size-300);line-height:var(--brand-text-lineHeight-300);letter-spacing:var(--brand-text-letterSpacing-300)}.Primer_Brand__VideoPlayer-module__VideoPlayer__container--small___TxAd8 .Primer_Brand__VideoPlayer-module__VideoPlayer__title___F1E2j svg{width:var(--base-size-24);height:var(--base-size-24)}.Primer_Brand__VideoPlayer-module__VideoPlayer__container--small___TxAd8 .Primer_Brand__VideoPlayer-module__VideoPlayer__controls___hNpxI{position:initial;position:static}@media (prefers-reduced-motion:reduce){.Primer_Brand__VideoPlayer-module__VideoPlayer___iNxEw,.Primer_Brand__VideoPlayer-module__VideoPlayer___iNxEw:before,.Primer_Brand__VideoPlayer-module__VideoPlayer___iNxEw:after,.Primer_Brand__VideoPlayer-module__VideoPlayer___iNxEw *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__VolumeControl-module__VolumeControl___rq9Ra{max-width:100px}:root{--brand-VideoPlayer-tooltip-padding-inline:.3125rem;--brand-VideoPlayer-tooltip-padding-block:.3125rem;--brand-VideoPlayer-transition:all var(--brand-animation-duration-fast) var(--brand-animation-easing-default);--brand-VideoPlayer-range-minWidth:4.6875rem;--brand-VideoPlayer-range-borderRadius:.1875rem;--brand-VideoPlayer-range-height:.375rem;--brand-VideoPlayer-playButton-width:var(--base-size-96);--brand-VideoPlayer-playButton-height:var(--base-size-96);--brand-VideoPlayer-closedCaption-text-padding:.625rem;--brand-VideoPlayer-closedCaption-text-bgColor:#000000bf;--brand-VideoPlayer-closedCaption-text-fgColor:var(--base-color-scale-white-0);--brand-VideoPlayer-closedCaption-margin:0 auto 15px auto}:root,[data-color-mode=light],[data-color-mode=dark]{--brand-videoPlayer-playButton-bgColor-rest:var(--base-color-scale-blue-5);--brand-videoPlayer-playButton-fgColor-rest:var(--base-color-scale-gray-0);--brand-videoPlayer-title-bgColor:linear-gradient(180deg, #000000e6, #00000073 66%, transparent);--brand-videoPlayer-title-fgColor:var(--base-color-scale-gray-0);--brand-videoPlayer-controls-bgColor:var(--base-color-scale-black-0);--brand-videoPlayer-controls-fgColor:var(--base-color-scale-gray-0);--brand-videoPlayer-closedCaption-bgColor-enabled:var(--base-color-scale-gray-0);--brand-videoPlayer-closedCaption-fgColor-enabled:var(--base-color-scale-black-0);--brand-videoPlayer-closedCaption-fgColor-disabled:var(--base-color-scale-gray-0);--brand-videoPlayer-closedCaption-borderColor-enabled:var(--base-color-scale-gray-0);--brand-videoPlayer-range-bgColor-default:var(--base-color-scale-gray-0);--brand-videoPlayer-range-bgColor-progress:var(--base-color-scale-blue-4)}.Primer_Brand__MinimalVideoPlayer-module__MinimalVideoPlayer___vOvcR{width:100%;position:relative}.Primer_Brand__MinimalVideoPlayer-module__MinimalVideoPlayer__video___Zai7A{width:100%;display:block}.Primer_Brand__MinimalVideoPlayer-module__MinimalVideoPlayer__control___bwjf6{right:var(--base-size-24);bottom:var(--base-size-24);width:var(--base-size-36);height:var(--base-size-36);color:var(--brand-color-text-muted);cursor:pointer;background-color:var(--brand-color-canvas-muted);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle);border-radius:var(--brand-borderRadius-full);justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.Primer_Brand__MinimalVideoPlayer-module__MinimalVideoPlayer__control___bwjf6:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__MinimalVideoPlayer-module__MinimalVideoPlayer__video___Zai7A[controls]+.Primer_Brand__MinimalVideoPlayer-module__MinimalVideoPlayer__control___bwjf6{display:none}@media (forced-colors:active){.Primer_Brand__MinimalVideoPlayer-module__MinimalVideoPlayer___vOvcR{border:var(--brand-borderWidth-thin) solid CanvasText}.Primer_Brand__MinimalVideoPlayer-module__MinimalVideoPlayer__control___bwjf6{color:buttontext;background-color:buttonface;border-color:buttontext}.Primer_Brand__MinimalVideoPlayer-module__MinimalVideoPlayer__control___bwjf6:focus-visible{outline-color:highlight}}:root,[data-color-mode=light]{--brand-LogoSuite-color-control-rest:var(--brand-color-canvas-muted);--brand-LogoSuite-color-control-hover:var(--base-color-scale-gray-1);--brand-LogoSuite-color-logo-muted:var(--brand-color-text-muted);--brand-LogoSuite-color-logo-emphasis:var(--brand-color-text-default);--brand-LogoSuite-color-logo-filter-muted:brightness(0) saturate(100%) invert(37%) sepia(7%) saturate(778%) hue-rotate(171deg) brightness(96%) contrast(91%);--brand-LogoSuite-color-logo-filter-emphasis:brightness(0) saturate(100%) invert(12%) sepia(20%) saturate(450%) hue-rotate(172deg) brightness(100%) contrast(91%)}[data-color-mode=dark]{--brand-LogoSuite-color-control-rest:var(--brand-color-canvas-muted);--brand-LogoSuite-color-control-hover:#5a5b7c;--brand-LogoSuite-color-logo-muted:var(--brand-color-text-muted);--brand-LogoSuite-color-logo-emphasis:var(--brand-color-text-default);--brand-LogoSuite-color-logo-filter-muted:brightness(0) saturate(100%) invert(61%) sepia(8%) saturate(430%) hue-rotate(171deg) brightness(94%) contrast(92%);--brand-LogoSuite-color-logo-filter-emphasis:brightness(0) saturate(100%) invert(91%) sepia(2%) saturate(2455%) hue-rotate(193deg) brightness(107%) contrast(98%)}:root{--brand-LogoSuite-logobar-marquee-gap-condensed:var(--base-size-40);--brand-LogoSuite-logobar-marquee-gap-default:var(--base-size-96);--brand-LogoSuite-logobar-marquee-slow:60s;--brand-LogoSuite-logobar-marquee-default:30s;--brand-LogoSuite-logobar-rowGap:var(--base-size-40);--brand-LogoSuite-logobar-columnGap-condensed:var(--base-size-40);--brand-LogoSuite-logobar-columnGap-default:var(--base-size-80)}.Primer_Brand__LogoSuite-module__LogoSuite___W2Pai{padding-block-end:var(--brand-LogoSuite-logobar-rowGap)}.Primer_Brand__LogoSuite-module__LogoSuite--default___EU2sL+.Primer_Brand__LogoSuite-module__LogoSuite--default___EU2sL{padding-block-start:var(--brand-LogoSuite-logobar-rowGap)}.Primer_Brand__LogoSuite-module__LogoSuite___W2Pai:not(:has(.Primer_Brand__LogoSuite-module__LogoSuite__description___SRFRM)) .Primer_Brand__LogoSuite-module__LogoSuite__heading___s2Xyw{font-family:var(--brand-fontStack-monospace);font-weight:var(--brand-text-weight-100);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);letter-spacing:var(--brand-text-letterSpacing-100);text-transform:uppercase;color:var(--brand-color-text-muted)}.Primer_Brand__LogoSuite-module__LogoSuite__heading___s2Xyw+.Primer_Brand__LogoSuite-module__LogoSuite__description___SRFRM{padding-block-start:var(--base-size-16)}.Primer_Brand__LogoSuite-module__LogoSuite--start___Kk6GC{text-align:left}.Primer_Brand__LogoSuite-module__LogoSuite--center___byPyg,.Primer_Brand__LogoSuite-module__LogoSuite--justify___ZFxvW{text-align:center}.Primer_Brand__LogoSuite-module__LogoSuite--default___EU2sL:not(.Primer_Brand__LogoSuite-module__LogoSuite___W2Pai+.Primer_Brand__LogoSuite-module__LogoSuite___W2Pai) .Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm{padding-block-start:var(--base-size-32)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm{row-gap:var(--brand-LogoSuite-logobar-rowGap);flex-wrap:wrap;justify-content:center;display:flex}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--gap-default___nLZ7M{--marquee-gap:var(--brand-LogoSuite-logobar-marquee-gap-default);-moz-column-gap:var(--brand-LogoSuite-logobar-columnGap-default);column-gap:var(--brand-LogoSuite-logobar-columnGap-default)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--gap-condensed___d2k3z{--marquee-gap:var(--brand-LogoSuite-logobar-marquee-gap-condensed);-moz-column-gap:var(--brand-LogoSuite-logobar-columnGap-condensed);column-gap:var(--brand-LogoSuite-logobar-columnGap-condensed)}.Primer_Brand__LogoSuite-module__LogoSuite___W2Pai:not(.Primer_Brand__LogoSuite-module__LogoSuite___W2Pai+.Primer_Brand__LogoSuite-module__LogoSuite___W2Pai) .Primer_Brand__LogoSuite-module__LogoSuite__heading___s2Xyw:not(.Primer_Brand__LogoSuite-module__LogoSuite__heading--visually-hidden___pTR4r)+.Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm,.Primer_Brand__LogoSuite-module__LogoSuite___W2Pai:not(.Primer_Brand__LogoSuite-module__LogoSuite___W2Pai+.Primer_Brand__LogoSuite-module__LogoSuite___W2Pai) .Primer_Brand__LogoSuite-module__LogoSuite__description___SRFRM+.Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm{margin-block-start:var(--base-size-44);padding-block-start:0}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-muted___a0P8Z svg,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-muted___a0P8Z img,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-muted___a0P8Z a,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-emphasis___MjgGb svg,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-emphasis___MjgGb img,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-emphasis___MjgGb a{width:auto;height:var(--base-size-32)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm img{display:block}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-muted___a0P8Z svg,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-muted___a0P8Z path{fill:var(--brand-LogoSuite-color-logo-muted)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-muted___a0P8Z img{filter:var(--brand-LogoSuite-color-logo-filter-muted)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-emphasis___MjgGb svg,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-emphasis___MjgGb path{fill:var(--brand-LogoSuite-color-logo-emphasis)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-emphasis___MjgGb img{filter:var(--brand-LogoSuite-color-logo-filter-emphasis)}.Primer_Brand__LogoSuite-module__LogoSuite--start___Kk6GC .Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm{justify-content:center}@media screen and (width>=48rem){.Primer_Brand__LogoSuite-module__LogoSuite--justify___ZFxvW .Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm{justify-content:space-between}}.Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm a:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2);border-radius:var(--base-size-4)}.Primer_Brand__LogoSuite-module__LogoSuite--hasDivider___Znsqm{border-bottom:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-marquee___d5jZP{align-items:center;gap:var(--base-size-24);flex-direction:row;max-width:100vw;margin:auto;display:flex;position:relative}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marqueeGroup___QnvBf{justify-content:space-around;align-items:center;gap:var(--marquee-gap);min-width:100%;animation-name:Primer_Brand__LogoSuite-module__LogobarScrollX___K2Z30;animation-duration:var(--brand-LogoSuite-logobar-marquee-default);flex-shrink:0;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal;animation-play-state:running;animation-fill-mode:none;display:flex}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marqueeGroup--speed-default___ptGOl{animation-duration:var(--brand-LogoSuite-logobar-marquee-default)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marqueeGroup--speed-slow___s1IKV{animation-duration:var(--brand-LogoSuite-logobar-marquee-slow)}@keyframes Primer_Brand__LogoSuite-module__LogobarScrollX___K2Z30{0%{transform:translate(0)}to{transform:translateX(calc(-100% - var(--marquee-gap)))}}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marquee___Q0YOr:hover .Primer_Brand__LogoSuite-module__LogoSuite__logobar-marqueeGroup___QnvBf,.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marquee___Q0YOr:focus-within .Primer_Brand__LogoSuite-module__LogoSuite__logobar-marqueeGroup___QnvBf{animation-play-state:paused}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marquee___Q0YOr{padding-block:var(--base-size-4);-webkit-user-select:none;user-select:none;gap:var(--marquee-gap);flex:1;min-width:0;display:flex;overflow:hidden visible;-webkit-mask-image:linear-gradient(90deg,#0000,#000 20% 80%,#0000);mask-image:linear-gradient(90deg,#0000,#000 20% 80%,#0000)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--paused___i6vSY *{animation-play-state:paused!important}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marquee--focused___AVQlQ .Primer_Brand__LogoSuite-module__LogoSuite__logobar-marqueeGroup___QnvBf{animation-name:none}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-playPauseButton___nkRGi{cursor:pointer;width:var(--base-size-32);height:var(--base-size-32);border-radius:var(--base-size-48);border:none;border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);background-color:var(--brand-LogoSuite-color-control-rest);transition:background-color var(--brand-animation-duration-faster);flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-playPauseButton___nkRGi:hover{background-color:var(--brand-LogoSuite-color-control-hover)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-playPauseButton___nkRGi:focus-visible{outline:var(--base-size-4) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-playPauseButton___nkRGi svg{width:var(--base-size-16);height:var(--base-size-16);fill:var(--brand-color-text-muted)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-playPauseButton___nkRGi path{fill:var(--brand-color-text-muted)}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax{padding:0}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__content___tKr_a{gap:0;padding-inline:0}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__textContainer___hClnV{padding:var(--base-size-20);flex-direction:column;justify-content:center;display:flex}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm{margin-block-start:auto}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__logobarContainer___LzoS_{padding:var(--base-size-32) var(--base-size-20) var(--base-size-32);flex-direction:column;justify-content:center;display:flex}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm,.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-marquee___d5jZP{width:100%;max-width:none}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__heading___s2Xyw+.Primer_Brand__LogoSuite-module__LogoSuite__description___SRFRM{padding-block-start:var(--base-size-8)}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm{padding-block-start:0}@media screen and (width>=48rem){.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax{padding-inline:91px}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__logobarContainer___LzoS_{padding:var(--base-size-40)}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__content___tKr_a{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__textContainer___hClnV{border-inline-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}@media screen and (width>=64rem){.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax{padding-inline:0}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__content___tKr_a{max-width:1280px}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__textContainer___hClnV{text-align:left;padding:var(--base-size-64)}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__logobarContainer___LzoS_{padding:var(--base-size-64)}}@media screen and (width>=1281px){.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__content___tKr_a{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__logobarContainer___LzoS_:first-child{border-inline-start:none}}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___f22xm{position:relative;overflow:visible}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___f22xm:before{content:"";inset:calc(-1 * var(--base-size-16)) 0;z-index:1;pointer-events:none;opacity:0;-webkit-backdrop-filter:blur(var(--base-size-6));transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);position:absolute}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___f22xm:hover:before,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___f22xm:focus-within:before{opacity:1}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___f22xm:hover svg,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___f22xm:focus-within svg,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___f22xm:hover img,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___f22xm:focus-within img{opacity:.7;transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-takeoverButtonContainer___gguiO{opacity:0;visibility:hidden;z-index:2;transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___f22xm:hover .Primer_Brand__LogoSuite-module__LogoSuite__logobar-takeoverButtonContainer___gguiO,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___f22xm:focus-within .Primer_Brand__LogoSuite-module__LogoSuite__logobar-takeoverButtonContainer___gguiO{opacity:1;visibility:visible}.Primer_Brand__Timeline-module__Timeline___keSeT{--bulletY:calc(var(--base-size-8) / 2 - var(--brand-Timeline-bullet-size) / 2 + var(--base-size-8));margin:0;padding:0;list-style:none}.Primer_Brand__Timeline-module__Timeline__item____ME4_{max-width:var(--brand-Timeline-lineLength);color:var(--brand-color-text-default);line-height:var(--brand-Timeline-lineHeight);padding-inline-start:calc(var(--brand-Timeline-bullet-size) + var(--brand-Timeline-spacing));position:relative}.Primer_Brand__Timeline-module__Timeline--full-width___XLdKp .Primer_Brand__Timeline-module__Timeline__item____ME4_{max-width:none}.Primer_Brand__Timeline-module__Timeline__item____ME4_:not(:last-child){padding-bottom:var(--base-size-32)}.Primer_Brand__Timeline-module__Timeline__item____ME4_:before,.Primer_Brand__Timeline-module__Timeline__item____ME4_:after{content:"";position:absolute}.Primer_Brand__Timeline-module__Timeline__item____ME4_:before{width:var(--brand-Timeline-bullet-size);height:var(--brand-Timeline-bullet-size);top:var(--bulletY);border-style:solid;border-width:var(--brand-Timeline-strokeWidth);border-color:var(--brand-Timeline-line-color);border-radius:var(--brand-borderRadius-full);left:0}.Primer_Brand__Timeline-module__Timeline__item____ME4_:not(:last-child):after{top:calc(var(--bulletY) + var(--brand-Timeline-bullet-size) + var(--brand-Timeline-bullet-spacing));left:calc(var(--brand-Timeline-bullet-size) / 2 - var(--brand-Timeline-strokeWidth) / 2);width:var(--brand-Timeline-strokeWidth);height:calc(100% - var(--brand-Timeline-bullet-size) - var(--brand-Timeline-bullet-spacing) * 2);background-color:var(--brand-Timeline-line-color);border-radius:var(--brand-borderRadius-full)}.Primer_Brand__Timeline-module__Timeline__item-text___sbSjp em,.Primer_Brand__Timeline-module__Timeline__item-text___sbSjp b{color:var(--brand-color-text-default);font-style:normal;font-weight:var(--base-text-weight-medium)}.Primer_Brand__Timeline-module__Timeline__item____ME4_ a{color:var(--brand-InlineLink-color-rest);-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration-color:var(--brand-InlineLink-color-rest);text-decoration-color:var(--brand-InlineLink-color-rest);text-decoration-thickness:var(--brand-borderWidth-thin);text-underline-position:under;transition:var(--brand-InlineLink-transition-timing) text-decoration;position:relative}.Primer_Brand__Timeline-module__Timeline__item____ME4_ a:hover{text-decoration-thickness:var(--brand-borderWidth-thick)}.Primer_Brand__Timeline-module__Timeline__item____ME4_ a{font-weight:inherit;color:var(--brand-InlineLink-color-rest)}.Primer_Brand__Timeline-module__Timeline__item____ME4_ a:active{color:var(--brand-InlineLink-color-pressed)}.Primer_Brand__Timeline-module__Timeline__item____ME4_ a:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}@media (prefers-reduced-motion:reduce){.Primer_Brand__Timeline-module__Timeline__item____ME4_,.Primer_Brand__Timeline-module__Timeline__item____ME4_:before,.Primer_Brand__Timeline-module__Timeline__item____ME4_:after,.Primer_Brand__Timeline-module__Timeline__item____ME4_ *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root,[data-color-mode=light]{--brand-Timeline-line-color:var(--brand-color-border-default)}[data-color-mode=dark]{--brand-Timeline-line-color:var(--base-color-scale-gray-4)}:root{--brand-Timeline-bullet-spacing:.125rem;--brand-Timeline-bullet-size:var(--base-size-8);--brand-Timeline-spacing:var(--base-size-16);--brand-Timeline-strokeWidth:.125rem;--brand-Timeline-lineLength:44ch;--brand-Timeline-lineHeight:var(--brand-text-lineHeight-200);--brand-Bento-content-padding-spacious:3.5rem;--brand-Bento-content-padding-normal:var(--base-size-24);--brand-Bento-content-padding-condensed:var(--base-size-16);--brand-Bento-item-borderRadius-large:var(--brand-borderRadius-xlarge);--brand-Bento-item-borderRadius-medium:var(--brand-borderRadius-xlarge);--brand-Bento-item-borderRadius-small:var(--brand-borderRadius-large);--brand-Bento-gap-small:var(--base-size-20);--brand-Bento-gap-medium:var(--base-size-32);--brand-Bento-gap-large:var(--base-size-32)}.Primer_Brand__Bento-module__Bento___mNrII{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(var(--base-size-80), max-content);grid-gap:var(--brand-Bento-gap-small);width:100%;display:grid;position:relative}.Primer_Brand__Bento-module__Bento__Item___fM9oe{border-radius:var(--brand-Bento-item-borderRadius-small);grid-gap:var(--brand-Bento-content-padding-spacious);grid-template-rows:auto 1fr;grid-template-columns:1fr;display:grid;overflow:hidden}.Primer_Brand__Bento-module__Bento__Item--bgColor-default___AyFWG{background-color:var(--brand-color-canvas-default)}.Primer_Brand__Bento-module__Bento__Item--bgColor-subtle___rIDKo{background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q.Primer_Brand__Bento-module__Bento__Item___fM9oe{grid-gap:0}@media screen and (width>=80rem){.Primer_Brand__Bento-module__Bento___mNrII{gap:var(--brand-Bento-gap-large)}.Primer_Brand__Bento-module__Bento__Item___fM9oe{border-radius:var(--brand-Bento-item-borderRadius-large)}}@media screen and (width>=48rem){.Primer_Brand__Bento-module__Bento___mNrII{gap:var(--brand-Bento-gap-medium)}.Primer_Brand__Bento-module__Bento__Item___fM9oe{border-radius:var(--brand-Bento-item-borderRadius-medium)}}.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q .Primer_Brand__Bento-module__Bento__Content___BhnY8{order:1;grid-area:1/1/span 2/span 2}.Primer_Brand__Bento-module__Bento__Content___BhnY8{height:100%;color:var(--brand-color-text-default);flex-direction:column;align-items:flex-start;display:flex}.Primer_Brand__Bento-module__Bento__Content-icon___K3van{margin-bottom:var(--base-size-32)}.Primer_Brand__Bento-module__Bento__heading--no-text___FiQWM{margin-bottom:var(--base-size-24)}.Primer_Brand__Bento-module__Bento__heading--muted___un_Vf{color:var(--brand-color-text-muted)}.Primer_Brand__Bento-module__Bento__heading--muted___un_Vf em,.Primer_Brand__Bento-module__Bento__heading--muted___un_Vf b{color:var(--brand-color-text-default);font-style:normal;font-weight:inherit}.Primer_Brand__Bento-module__Bento__heading--with-max-width___B8vBa{max-width:600px}.Primer_Brand__Bento-module__Bento__Visual___uQCng{width:100%;height:100%;display:flex}.Primer_Brand__Bento-module__Bento__Visual--overflow-hidden___KzPcB{overflow:hidden}.Primer_Brand__Bento-module__Bento__Visual--overflow-initial___TJvWe{overflow:visible;overflow:initial}.Primer_Brand__Bento-module__Bento__Visual--horizontalAlign-center___nyK69{justify-content:center}.Primer_Brand__Bento-module__Bento__Visual--horizontalAlign-end___k1jRS{justify-content:flex-end}.Primer_Brand__Bento-module__Bento__Visual--horizontalAlign-start___DzeEf{justify-content:flex-start}.Primer_Brand__Bento-module__Bento__Visual--verticalAlign-center___nSnau{align-items:center}.Primer_Brand__Bento-module__Bento__Visual--verticalAlign-end___IVb1w{align-items:flex-end}.Primer_Brand__Bento-module__Bento__Visual--verticalAlign-start___pyNZQ{align-items:flex-start}.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q .Primer_Brand__Bento-module__Bento__Visual___uQCng{order:-1;grid-area:1/1/-1/-1}.Primer_Brand__Bento-module__Bento__Visual--fill___B70Uy>img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.Primer_Brand__Bento-module__Bento__Visual--no-fill___JcHtr>img{-o-object-fit:contain;object-fit:contain;border-radius:0}.Primer_Brand__Bento-module__Bento--padding-condensed___qkDcr{padding:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento--padding-normal___c85Rj{padding:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento--padding-spacious___ydfpH{padding:var(--brand-Bento-content-padding-spacious)}.Primer_Brand__Bento-module__Bento--padding-condensed___qkDcr>img,.Primer_Brand__Bento-module__Bento--padding-normal___c85Rj>img{border-radius:var(--brand-borderRadius-large)}.Primer_Brand__Bento-module__Bento--padding-spacious___ydfpH>img{border-radius:var(--brand-borderRadius-medium)}.Primer_Brand__Bento-module__Bento__Item--flow-column___Gd6ts{grid-template-rows:1fr;grid-template-columns:1fr 1fr;grid-auto-flow:column}.Primer_Brand__Bento-module__Bento__Item--flow-row___DVol6{grid-auto-flow:row}.Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{justify-content:inherit;margin-top:auto}.Primer_Brand__Bento-module__Bento__Content-text___Q4UA5{margin-top:var(--base-size-8);margin-bottom:var(--base-size-24)}.Primer_Brand__Bento-module__Bento__Content-label___SbyAo{margin-block-end:var(--base-size-16)}.Primer_Brand__Bento-module__Bento__Item--column-span-1___wJS_f{grid-column:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--column-span-2___wJFH9{grid-column:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--column-span-3___hskYi{grid-column:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--column-span-4___EWadX{grid-column:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--column-span-5___ggzyV{grid-column:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--column-span-6___UuNEL{grid-column:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--column-span-7___dnYwC{grid-column:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--column-span-8___bUlVW{grid-column:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--column-span-9___Veeak{grid-column:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--column-span-10___NKxdA{grid-column:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--column-span-11___ZjirT{grid-column:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--column-span-12___CaIjg{grid-column:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--row-span-1____HYWz{grid-row:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--row-span-2___VYZcw{grid-row:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--row-span-3___PkNE4{grid-row:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--row-span-4___FygFo{grid-row:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--row-span-5___wO0Ev{grid-row:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--row-span-6___QvMUL{grid-row:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--row-span-7___KfzTy{grid-row:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--row-span-8___ctYpA{grid-row:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--row-span-9___NK44C{grid-row:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--row-span-10___YeL2N{grid-row:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--row-span-11___OuImI{grid-row:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--row-span-12___ZRPCc{grid-row:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--column-start-1___hJ0es{grid-column-start:1}.Primer_Brand__Bento-module__Bento__Item--column-start-2___RV3eY{grid-column-start:2}.Primer_Brand__Bento-module__Bento__Item--column-start-3___M960L{grid-column-start:3}.Primer_Brand__Bento-module__Bento__Item--column-start-4___V5b3w{grid-column-start:4}.Primer_Brand__Bento-module__Bento__Item--column-start-5___hCu7p{grid-column-start:5}.Primer_Brand__Bento-module__Bento__Item--column-start-6___WeOjZ{grid-column-start:6}.Primer_Brand__Bento-module__Bento__Item--column-start-7___azf_1{grid-column-start:7}.Primer_Brand__Bento-module__Bento__Item--column-start-8___ufTXp{grid-column-start:8}.Primer_Brand__Bento-module__Bento__Item--column-start-9___m59SZ{grid-column-start:9}.Primer_Brand__Bento-module__Bento__Item--column-start-10___pNAFk{grid-column-start:10}.Primer_Brand__Bento-module__Bento__Item--column-start-11___JPuyR{grid-column-start:11}.Primer_Brand__Bento-module__Bento__Item--column-start-12___nAVWL{grid-column-start:12}.Primer_Brand__Bento-module__Bento__Item--row-start-1___ocNBk{grid-row-start:1}.Primer_Brand__Bento-module__Bento__Item--row-start-2___vcLtw{grid-row-start:2}.Primer_Brand__Bento-module__Bento__Item--row-start-3___w9cDE{grid-row-start:3}.Primer_Brand__Bento-module__Bento__Item--row-start-4___Rn8P9{grid-row-start:4}.Primer_Brand__Bento-module__Bento__Item--row-start-5___c5xci{grid-row-start:5}.Primer_Brand__Bento-module__Bento__Item--row-start-6___fh6uR{grid-row-start:6}.Primer_Brand__Bento-module__Bento__Item--row-start-7___jVnOo{grid-row-start:7}.Primer_Brand__Bento-module__Bento__Item--row-start-8___L4G8w{grid-row-start:8}.Primer_Brand__Bento-module__Bento__Item--row-start-9___Orw5A{grid-row-start:9}.Primer_Brand__Bento-module__Bento__Item--row-start-10___IQVeg{grid-row-start:10}.Primer_Brand__Bento-module__Bento__Item--row-start-11___w0uDj{grid-row-start:11}.Primer_Brand__Bento-module__Bento__Item--row-start-12___o52Zm{grid-row-start:12}.Primer_Brand__Bento-module__Bento__Item--verticalAlign-start___uJAby{justify-content:flex-start}.Primer_Brand__Bento-module__Bento__Item--verticalAlign-start___uJAby .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--verticalAlign-center___zOTQa{justify-content:center}.Primer_Brand__Bento-module__Bento__Item--verticalAlign-center___zOTQa .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--verticalAlign-end___fUd68{justify-content:flex-end}.Primer_Brand__Bento-module__Bento__Item--verticalAlign-end___fUd68 .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--horizontalAlign-start___apVss{text-align:start;align-items:flex-start}.Primer_Brand__Bento-module__Bento__Item--horizontalAlign-center___DJpgD{text-align:center;align-items:center}@media screen and (width>=0){.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-1___O3dlL{grid-column:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-2___LLZAj{grid-column:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-3___SROOQ{grid-column:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-4___dLcHs{grid-column:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-5___Zil5S{grid-column:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-6___pGhxP{grid-column:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-7___Gmugv{grid-column:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-8___mNfgZ{grid-column:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-9___w5AFK{grid-column:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-10___dEYRU{grid-column:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-11___cBfF2{grid-column:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-12___fEgOK{grid-column:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-1___k41Hr{grid-row:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-2___qHzNc{grid-row:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-3___t3hyC{grid-row:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-4___X_F9d{grid-row:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-5___UuegS{grid-row:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-6___W2L8o{grid-row:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-7___lYC_E{grid-row:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-8___f66F5{grid-row:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-9___eU0LD{grid-row:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-10___beFeO{grid-row:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-11___DgR1X{grid-row:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-12___Gl_9d{grid-row:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-1___xf8R8{grid-column-start:1}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-2___f5xs_{grid-column-start:2}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-3___bl1q4{grid-column-start:3}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-4___PhKl_{grid-column-start:4}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-5___xYV6c{grid-column-start:5}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-6___PYKbP{grid-column-start:6}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-7___NE6p3{grid-column-start:7}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-8___AeJAI{grid-column-start:8}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-9___ikepW{grid-column-start:9}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-10___nGG9V{grid-column-start:10}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-11___UTeRm{grid-column-start:11}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-12___NhrVC{grid-column-start:12}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-1___ISePA{grid-row-start:1}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-2___jM4bs{grid-row-start:2}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-3___FTZiY{grid-row-start:3}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-4___gfyxX{grid-row-start:4}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-5___jO7WM{grid-row-start:5}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-6___nKfix{grid-row-start:6}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-7___NncQO{grid-row-start:7}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-8___wY_Tb{grid-row-start:8}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-9___p5PaK{grid-row-start:9}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-10___MKWyL{grid-row-start:10}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-11___nxv94{grid-row-start:11}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-12___Vbl6J{grid-row-start:12}.Primer_Brand__Bento-module__Bento__Item--xsmall-flow-column___WV1h5{grid-template-rows:1fr;grid-template-columns:1fr 1fr;grid-auto-flow:column}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xsmall-flow-column___WV1h5>div:first-of-type{padding-right:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xsmall-flow-column___WV1h5>div:last-of-type{padding-left:0}.Primer_Brand__Bento-module__Bento__Item--xsmall-flow-row___k8j9i{grid-template-rows:1fr 1fr;grid-template-columns:1fr;grid-auto-flow:row}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xsmall-flow-row___k8j9i>div:first-of-type{padding-bottom:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xsmall-flow-row___k8j9i>div:last-of-type{padding-top:0}.Primer_Brand__Bento-module__Bento__Item--xsmall-verticalAlign-start___cWQRy{justify-content:flex-start}.Primer_Brand__Bento-module__Bento__Item--xsmall-verticalAlign-start___cWQRy .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--xsmall-verticalAlign-center___k4IC6{justify-content:center}.Primer_Brand__Bento-module__Bento__Item--xsmall-verticalAlign-center___k4IC6 .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--xsmall-verticalAlign-end___v_7lF{justify-content:flex-end}.Primer_Brand__Bento-module__Bento__Item--xsmall-verticalAlign-end___v_7lF .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--xsmall-horizontalAlign-start___dT6ng{align-items:flex-start}.Primer_Brand__Bento-module__Bento__Item--xsmall-horizontalAlign-center___xcsj2{align-items:center}.Primer_Brand__Bento-module__Bento--xsmall-padding-condensed___Eno9E{padding:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento--xsmall-padding-normal___C2rTu{padding:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento--xsmall-padding-spacious___kepW0{padding:var(--brand-Bento-content-padding-spacious)}.Primer_Brand__Bento-module__Bento__Item--xsmall-gap-condensed___aPIBg{grid-gap:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento__Item--xsmall-gap-normal___XrOHt{grid-gap:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento__Item--xsmall-gap-spacious___mv1WJ{grid-gap:var(--brand-Bento-content-padding-spacious)}}@media screen and (width>=34rem){.Primer_Brand__Bento-module__Bento__Item--small-column-span-1___a6Uk_{grid-column:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--small-column-span-2___eRR9s{grid-column:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--small-column-span-3___iBkjl{grid-column:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--small-column-span-4___iTLL7{grid-column:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--small-column-span-5___FXZKF{grid-column:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--small-column-span-6___VEiVP{grid-column:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--small-column-span-7___RFD8p{grid-column:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--small-column-span-8___WBTAW{grid-column:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--small-column-span-9___PDKMV{grid-column:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--small-column-span-10___ZBSO0{grid-column:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--small-column-span-11___Or5lx{grid-column:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--small-column-span-12___xu8z2{grid-column:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--small-row-span-1___hJcO9{grid-row:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--small-row-span-2___RdAwK{grid-row:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--small-row-span-3___CMwq5{grid-row:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--small-row-span-4___KuACi{grid-row:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--small-row-span-5___xqZZV{grid-row:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--small-row-span-6___Q9O51{grid-row:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--small-row-span-7___MZ6cD{grid-row:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--small-row-span-8___eIEpG{grid-row:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--small-row-span-9___HkxM3{grid-row:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--small-row-span-10___pce_C{grid-row:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--small-row-span-11___GO_ln{grid-row:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--small-row-span-12___lUcIB{grid-row:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--small-column-start-1___blYcd{grid-column-start:1}.Primer_Brand__Bento-module__Bento__Item--small-column-start-2___z84xb{grid-column-start:2}.Primer_Brand__Bento-module__Bento__Item--small-column-start-3___jAHiV{grid-column-start:3}.Primer_Brand__Bento-module__Bento__Item--small-column-start-4___sa5rD{grid-column-start:4}.Primer_Brand__Bento-module__Bento__Item--small-column-start-5___EjA_Y{grid-column-start:5}.Primer_Brand__Bento-module__Bento__Item--small-column-start-6___TsMuS{grid-column-start:6}.Primer_Brand__Bento-module__Bento__Item--small-column-start-7___wzVOe{grid-column-start:7}.Primer_Brand__Bento-module__Bento__Item--small-column-start-8___Cylzb{grid-column-start:8}.Primer_Brand__Bento-module__Bento__Item--small-column-start-9___K3kJa{grid-column-start:9}.Primer_Brand__Bento-module__Bento__Item--small-column-start-10___PwfIO{grid-column-start:10}.Primer_Brand__Bento-module__Bento__Item--small-column-start-11___HwJrV{grid-column-start:11}.Primer_Brand__Bento-module__Bento__Item--small-column-start-12___AuD3D{grid-column-start:12}.Primer_Brand__Bento-module__Bento__Item--small-row-start-1___esfXx{grid-row-start:1}.Primer_Brand__Bento-module__Bento__Item--small-row-start-2___rMTHJ{grid-row-start:2}.Primer_Brand__Bento-module__Bento__Item--small-row-start-3___e5nFr{grid-row-start:3}.Primer_Brand__Bento-module__Bento__Item--small-row-start-4___hWxGW{grid-row-start:4}.Primer_Brand__Bento-module__Bento__Item--small-row-start-5___kZona{grid-row-start:5}.Primer_Brand__Bento-module__Bento__Item--small-row-start-6___l17Wp{grid-row-start:6}.Primer_Brand__Bento-module__Bento__Item--small-row-start-7___nZc8H{grid-row-start:7}.Primer_Brand__Bento-module__Bento__Item--small-row-start-8___s8jU5{grid-row-start:8}.Primer_Brand__Bento-module__Bento__Item--small-row-start-9___et36x{grid-row-start:9}.Primer_Brand__Bento-module__Bento__Item--small-row-start-10___UNRQz{grid-row-start:10}.Primer_Brand__Bento-module__Bento__Item--small-row-start-11___D0qCf{grid-row-start:11}.Primer_Brand__Bento-module__Bento__Item--small-row-start-12___Poeju{grid-row-start:12}.Primer_Brand__Bento-module__Bento__Item--small-flow-column___idFew{grid-template-rows:1fr;grid-template-columns:1fr 1fr;grid-auto-flow:column}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--small-flow-column___idFew>div:first-of-type{padding-right:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--small-flow-column___idFew>div:last-of-type{padding-left:0}.Primer_Brand__Bento-module__Bento__Item--small-flow-row___FlDbE{grid-template-rows:1fr 1fr;grid-template-columns:1fr;grid-auto-flow:row}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--small-flow-row___FlDbE>div:first-of-type{padding-bottom:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--small-flow-row___FlDbE>div:last-of-type{padding-top:0}.Primer_Brand__Bento-module__Bento__Item--small-verticalAlign-start___QMpW2{justify-content:flex-start}.Primer_Brand__Bento-module__Bento__Item--small-verticalAlign-start___QMpW2 .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--small-verticalAlign-center___eyrsO{justify-content:center}.Primer_Brand__Bento-module__Bento__Item--small-verticalAlign-center___eyrsO .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--small-verticalAlign-end___t8ken{justify-content:flex-end}.Primer_Brand__Bento-module__Bento__Item--small-verticalAlign-end___t8ken .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--small-horizontalAlign-start____az8o{align-items:flex-start}.Primer_Brand__Bento-module__Bento__Item--small-horizontalAlign-center___hIKKU{align-items:center}.Primer_Brand__Bento-module__Bento--small-padding-condensed___dV4bU{padding:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento--small-padding-normal____b5pg{padding:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento--small-padding-spacious___skviu{padding:var(--brand-Bento-content-padding-spacious)}.Primer_Brand__Bento-module__Bento__Item--small-gap-condensed____69Z4{grid-gap:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento__Item--small-gap-normal___R5AS5{grid-gap:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento__Item--small-gap-spacious___ysMFz{grid-gap:var(--brand-Bento-content-padding-spacious)}}@media screen and (width>=48rem){.Primer_Brand__Bento-module__Bento__Item--medium-column-span-1___qXoCp{grid-column:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-2___Or0aW{grid-column:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-3___rfJlA{grid-column:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-4___jrzrn{grid-column:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-5___VX5Xb{grid-column:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-6___PuJLu{grid-column:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-7___Gf10h{grid-column:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-8___EPkMS{grid-column:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-9___simHy{grid-column:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-10___vCY7I{grid-column:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-11___woBRo{grid-column:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-12___eR9Ow{grid-column:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-1___vJifa{grid-row:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-2___rHIIs{grid-row:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-3___XpZk0{grid-row:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-4___xPGyT{grid-row:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-5___XHAdt{grid-row:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-6___uXSJ0{grid-row:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-7___V9oop{grid-row:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-8___bTuWm{grid-row:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-9___RBjok{grid-row:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-10___nXL1W{grid-row:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-11___bp7xe{grid-row:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-12___QykVK{grid-row:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-1___ysXie{grid-column-start:1}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-2___obU8P{grid-column-start:2}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-3___ttZ2X{grid-column-start:3}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-4___yd4pw{grid-column-start:4}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-5___wl6Sl{grid-column-start:5}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-6___rlfWR{grid-column-start:6}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-7___dfJXo{grid-column-start:7}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-8___HLzZU{grid-column-start:8}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-9___Jul8L{grid-column-start:9}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-10___NGybV{grid-column-start:10}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-11___vc1Nv{grid-column-start:11}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-12___gZcLo{grid-column-start:12}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-1___s1Rgz{grid-row-start:1}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-2___dsf4y{grid-row-start:2}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-3___rWjRq{grid-row-start:3}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-4___Iiuud{grid-row-start:4}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-5___tbnzw{grid-row-start:5}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-6___jPFm7{grid-row-start:6}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-7___ZqLlM{grid-row-start:7}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-8___TIOvf{grid-row-start:8}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-9___oukNX{grid-row-start:9}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-10___ZCbg8{grid-row-start:10}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-11___bSDUT{grid-row-start:11}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-12___ozUh1{grid-row-start:12}.Primer_Brand__Bento-module__Bento__Item--medium-flow-column___K27t6{grid-template-rows:1fr;grid-template-columns:1fr 1fr;grid-auto-flow:column}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--medium-flow-column___K27t6>div:first-of-type{padding-right:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--medium-flow-column___K27t6>div:last-of-type{padding-left:0}.Primer_Brand__Bento-module__Bento__Item--medium-flow-row___qACyl{grid-template-rows:1fr 1fr;grid-template-columns:1fr;grid-auto-flow:row}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--medium-flow-row___qACyl>div:first-of-type{padding-bottom:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--medium-flow-row___qACyl>div:last-of-type{padding-top:0}.Primer_Brand__Bento-module__Bento__Item--medium-verticalAlign-start___DOGQs{justify-content:flex-start}.Primer_Brand__Bento-module__Bento__Item--medium-verticalAlign-start___DOGQs .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--medium-verticalAlign-center___FEwTP{justify-content:center}.Primer_Brand__Bento-module__Bento__Item--medium-verticalAlign-center___FEwTP .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--medium-verticalAlign-end___b8l2w{justify-content:flex-end}.Primer_Brand__Bento-module__Bento__Item--medium-verticalAlign-end___b8l2w .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--medium-horizontalAlign-start___nzIvg{align-items:flex-start}.Primer_Brand__Bento-module__Bento__Item--medium-horizontalAlign-center___aHFRW{align-items:center}.Primer_Brand__Bento-module__Bento--medium-padding-condensed___BgWOb{padding:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento--medium-padding-normal___xjnwE{padding:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento--medium-padding-spacious___I5PEZ{padding:var(--brand-Bento-content-padding-spacious)}.Primer_Brand__Bento-module__Bento__Item--medium-gap-condensed___Nk4Uj{grid-gap:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento__Item--medium-gap-normal___KXAsF{grid-gap:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento__Item--medium-gap-spacious___vFlWU{grid-gap:var(--brand-Bento-content-padding-spacious)}}@media screen and (width>=63.25rem){.Primer_Brand__Bento-module__Bento__Item--large-column-span-1___sPCsf{grid-column:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--large-column-span-2___wpcnQ{grid-column:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--large-column-span-3___z8T3W{grid-column:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--large-column-span-4___RNQwy{grid-column:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--large-column-span-5___t06QC{grid-column:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--large-column-span-6___eUMZR{grid-column:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--large-column-span-7___mLdYl{grid-column:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--large-column-span-8___zhtsq{grid-column:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--large-column-span-9___IrFuA{grid-column:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--large-column-span-10___d4zEs{grid-column:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--large-column-span-11___UKFCJ{grid-column:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--large-column-span-12___lOmLI{grid-column:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--large-row-span-1___o_4N_{grid-row:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--large-row-span-2___yJebq{grid-row:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--large-row-span-3___MsNH2{grid-row:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--large-row-span-4___aYG1Q{grid-row:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--large-row-span-5___qiTGf{grid-row:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--large-row-span-6___yDxVJ{grid-row:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--large-row-span-7___gfW02{grid-row:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--large-row-span-8___qrky4{grid-row:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--large-row-span-9___wluiD{grid-row:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--large-row-span-10___IXd3G{grid-row:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--large-row-span-11___OVPxd{grid-row:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--large-row-span-12___aAmjb{grid-row:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--large-column-start-1___ogy5Y{grid-column-start:1}.Primer_Brand__Bento-module__Bento__Item--large-column-start-2___A8Kex{grid-column-start:2}.Primer_Brand__Bento-module__Bento__Item--large-column-start-3___nCs4W{grid-column-start:3}.Primer_Brand__Bento-module__Bento__Item--large-column-start-4___k6wxM{grid-column-start:4}.Primer_Brand__Bento-module__Bento__Item--large-column-start-5___u9g2t{grid-column-start:5}.Primer_Brand__Bento-module__Bento__Item--large-column-start-6___wT9tc{grid-column-start:6}.Primer_Brand__Bento-module__Bento__Item--large-column-start-7___cH1Zn{grid-column-start:7}.Primer_Brand__Bento-module__Bento__Item--large-column-start-8___UsTw7{grid-column-start:8}.Primer_Brand__Bento-module__Bento__Item--large-column-start-9___txaE3{grid-column-start:9}.Primer_Brand__Bento-module__Bento__Item--large-column-start-10___uY9Wm{grid-column-start:10}.Primer_Brand__Bento-module__Bento__Item--large-column-start-11___kwY5A{grid-column-start:11}.Primer_Brand__Bento-module__Bento__Item--large-column-start-12___B9iMH{grid-column-start:12}.Primer_Brand__Bento-module__Bento__Item--large-row-start-1___kYB2F{grid-row-start:1}.Primer_Brand__Bento-module__Bento__Item--large-row-start-2___o21Td{grid-row-start:2}.Primer_Brand__Bento-module__Bento__Item--large-row-start-3___htfzI{grid-row-start:3}.Primer_Brand__Bento-module__Bento__Item--large-row-start-4___P2f1W{grid-row-start:4}.Primer_Brand__Bento-module__Bento__Item--large-row-start-5___HT3C4{grid-row-start:5}.Primer_Brand__Bento-module__Bento__Item--large-row-start-6___pcerM{grid-row-start:6}.Primer_Brand__Bento-module__Bento__Item--large-row-start-7___j2ui8{grid-row-start:7}.Primer_Brand__Bento-module__Bento__Item--large-row-start-8___V82iT{grid-row-start:8}.Primer_Brand__Bento-module__Bento__Item--large-row-start-9___EG4R2{grid-row-start:9}.Primer_Brand__Bento-module__Bento__Item--large-row-start-10___EaLQx{grid-row-start:10}.Primer_Brand__Bento-module__Bento__Item--large-row-start-11___IQx_d{grid-row-start:11}.Primer_Brand__Bento-module__Bento__Item--large-row-start-12___hlrVv{grid-row-start:12}.Primer_Brand__Bento-module__Bento__Item--large-flow-column___uvNUE{grid-template-rows:1fr;grid-template-columns:1fr 1fr;grid-auto-flow:column}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--large-flow-column___uvNUE>div:first-of-type{padding-right:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--large-flow-column___uvNUE>div:last-of-type{padding-left:0}.Primer_Brand__Bento-module__Bento__Item--large-flow-row___ple3b{grid-template-rows:1fr 1fr;grid-template-columns:1fr;grid-auto-flow:row}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--large-flow-row___ple3b>div:first-of-type{padding-bottom:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--large-flow-row___ple3b>div:last-of-type{padding-top:0}.Primer_Brand__Bento-module__Bento__Item--large-verticalAlign-start___VDcbn{justify-content:flex-start}.Primer_Brand__Bento-module__Bento__Item--large-verticalAlign-start___VDcbn .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--large-verticalAlign-center___mbhdV{justify-content:center}.Primer_Brand__Bento-module__Bento__Item--large-verticalAlign-center___mbhdV .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--large-verticalAlign-end___hj9Dq{justify-content:flex-end}.Primer_Brand__Bento-module__Bento__Item--large-verticalAlign-end___hj9Dq .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--large-horizontalAlign-start___YQT1t{align-items:flex-start}.Primer_Brand__Bento-module__Bento__Item--large-horizontalAlign-center___YtwaR{align-items:center}.Primer_Brand__Bento-module__Bento-padding--large-condensed___HeO1J{padding:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento-padding--large-normal___LcQOA{padding:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento-padding--large-spacious____8oib{padding:var(--brand-Bento-content-padding-spacious)}.Primer_Brand__Bento-module__Bento__Item--large-gap-condensed___Rbi9v{grid-gap:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento__Item--large-gap-normal___S9Fjb{grid-gap:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento__Item--large-gap-spacious___i_Gyj{grid-gap:var(--brand-Bento-content-padding-spacious)}}@media screen and (width>=80rem){.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-1___LC_qv{grid-column:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-2___PkH2a{grid-column:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-3___sjEds{grid-column:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-4___CwpLr{grid-column:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-5___ATLZK{grid-column:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-6___wDVtR{grid-column:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-7___BF_PQ{grid-column:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-8___Je6tc{grid-column:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-9___de_EV{grid-column:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-10___TV_va{grid-column:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-11___mRbhR{grid-column:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-12___jCuU4{grid-column:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-1___k8cvi{grid-row:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-2___eQ1hk{grid-row:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-3___FdBn9{grid-row:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-4___Eu9U7{grid-row:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-5___AymfS{grid-row:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-6___ciomo{grid-row:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-7___bDoNI{grid-row:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-8___aCyc1{grid-row:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-9___t6eYp{grid-row:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-10___Q9UMh{grid-row:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-11___Oeb8y{grid-row:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-12___iXpKf{grid-row:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-1___eTMGO{grid-column-start:1}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-2___ghZ8B{grid-column-start:2}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-3___zIFiN{grid-column-start:3}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-4___Ye3wL{grid-column-start:4}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-5___Vtfhw{grid-column-start:5}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-6___MiwV4{grid-column-start:6}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-7___n3U82{grid-column-start:7}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-8___S45Zc{grid-column-start:8}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-9___bjxcX{grid-column-start:9}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-10___xiPsu{grid-column-start:10}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-11___h6pke{grid-column-start:11}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-12___lINEt{grid-column-start:12}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-1___XJ8IJ{grid-row-start:1}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-2___Jh4mU{grid-row-start:2}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-3___Qaz7u{grid-row-start:3}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-4___Wdsyy{grid-row-start:4}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-5___SWvQD{grid-row-start:5}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-6___YIWd4{grid-row-start:6}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-7___UWo93{grid-row-start:7}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-8___f8RMO{grid-row-start:8}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-9___O7BXf{grid-row-start:9}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-10___g9Tom{grid-row-start:10}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-11___WATnH{grid-row-start:11}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-12___f2aPN{grid-row-start:12}.Primer_Brand__Bento-module__Bento__Item--xlarge-flow-column___xXSFC{grid-template-rows:1fr;grid-template-columns:1fr 1fr;grid-auto-flow:column}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xlarge-flow-column___xXSFC>div:first-of-type{padding-right:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xlarge-flow-column___xXSFC>div:last-of-type{padding-left:0}.Primer_Brand__Bento-module__Bento__Item--xlarge-flow-row___y5CpT{grid-template-rows:1fr 1fr;grid-template-columns:1fr;grid-auto-flow:row}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xlarge-flow-row___y5CpT>div:first-of-type{padding-bottom:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xlarge-flow-row___y5CpT>div:last-of-type{padding-top:0}.Primer_Brand__Bento-module__Bento__Item--xlarge-verticalAlign-start___EyXCQ{justify-content:flex-start}.Primer_Brand__Bento-module__Bento__Item--xlarge-verticalAlign-start___EyXCQ .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--xlarge-verticalAlign-center___P_tSO{justify-content:center}.Primer_Brand__Bento-module__Bento__Item--xlarge-verticalAlign-center___P_tSO .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--xlarge-verticalAlign-end___UwemK{justify-content:flex-end}.Primer_Brand__Bento-module__Bento__Item--xlarge-verticalAlign-end___UwemK .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--xlarge-horizontalAlign-start___zzvpZ{align-items:flex-start}.Primer_Brand__Bento-module__Bento__Item--xlarge-horizontalAlign-center___mfany{align-items:center}.Primer_Brand__Bento-module__Bento--xlarge-padding-condensed___mPi3N{padding:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento--xlarge-padding-normal___tb1wm{padding:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento--xlarge-padding-spacious___bT4bv{padding:var(--brand-Bento-content-padding-spacious)}.Primer_Brand__Bento-module__Bento__Item--xlarge-gap-condensed___Fvi39{grid-gap:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento__Item--xlarge-gap-normal___uQQu6{grid-gap:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento__Item--xlarge-gap-spacious___QxB62{grid-gap:var(--brand-Bento-content-padding-spacious)}}@media screen and (width>=87.5rem){.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-1___AChhv{grid-column:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-2___yj5YI{grid-column:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-3___jy7Fg{grid-column:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-4___fXoXs{grid-column:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-5___hZOPX{grid-column:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-6___WEvG1{grid-column:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-7___eliQQ{grid-column:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-8____DaEU{grid-column:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-9___PACVQ{grid-column:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-10___iplz_{grid-column:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-11___sUFyE{grid-column:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-12___UauN_{grid-column:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-1___la7E2{grid-column:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-2___WXQZy{grid-column:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-3___K295L{grid-column:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-4___dizmC{grid-column:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-5___gxqXP{grid-column:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-6___fCUrs{grid-column:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-7___t_vib{grid-column:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-8___FkHnk{grid-column:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-9___S9z_S{grid-column:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-10___MWhmW{grid-column:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-11___R0fGH{grid-column:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-12___mgPOb{grid-column:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-1___IjDaG{grid-column-start:1}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-2___yrjzP{grid-column-start:2}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-3___revB_{grid-column-start:3}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-4___nXjQh{grid-column-start:4}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-5___eKzaF{grid-column-start:5}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-6___poX4Y{grid-column-start:6}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-7___swX7v{grid-column-start:7}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-8___jRIvg{grid-column-start:8}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-9___B6iPN{grid-column-start:9}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-10___U3Q49{grid-column-start:10}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-11___arwBj{grid-column-start:11}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-12___AVlIn{grid-column-start:12}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-1___uKVBZ{grid-row-start:1}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-2___l1Sk8{grid-row-start:2}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-3___a3epC{grid-row-start:3}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-4___cIZFC{grid-row-start:4}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-5___rDSnG{grid-row-start:5}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-6___iFfkQ{grid-row-start:6}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-7___HQgB2{grid-row-start:7}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-8___Kk8Ll{grid-row-start:8}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-9___JA8it{grid-row-start:9}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-10____Xfo3{grid-row-start:10}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-11___GgPCA{grid-row-start:11}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-12___Tauza{grid-row-start:12}.Primer_Brand__Bento-module__Bento__Item--xxlarge-flow-column___EIhFB{grid-template-rows:1fr;grid-template-columns:1fr 1fr;grid-auto-flow:column}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xxlarge-flow-column___EIhFB>div:first-of-type{padding-right:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xxlarge-flow-column___EIhFB>div:last-of-type{padding-left:0}.Primer_Brand__Bento-module__Bento__Item--xxlarge-flow-row___hqL6a{grid-template-rows:1fr 1fr;grid-template-columns:1fr;grid-auto-flow:row}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xxlarge-flow-row___hqL6a>div:first-of-type{padding-bottom:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xxlarge-flow-row___hqL6a>div:last-of-type{padding-top:0}.Primer_Brand__Bento-module__Bento__Item--xxlarge-verticalAlign-start___KQhGN{justify-content:flex-start}.Primer_Brand__Bento-module__Bento__Item--xxlarge-verticalAlign-start___KQhGN .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--xxlarge-verticalAlign-center___MfM4H{justify-content:center}.Primer_Brand__Bento-module__Bento__Item--xxlarge-verticalAlign-center___MfM4H .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--xxlarge-verticalAlign-end___trbrg{justify-content:flex-end}.Primer_Brand__Bento-module__Bento__Item--xxlarge-verticalAlign-end___trbrg .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--xxlarge-horizontalAlign-start___BPlw7{align-items:flex-start}.Primer_Brand__Bento-module__Bento__Item--xxlarge-horizontalAlign-center___QFMr_{align-items:center}.Primer_Brand__Bento-module__Bento--xxlarge-padding-condensed___L_cr9{padding:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento---xxlarge-padding-normal___TojyH{padding:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento--xxlarge-padding-spacious___C_vI2{padding:var(--brand-Bento-content-padding-spacious)}.Primer_Brand__Bento-module__Bento__Item--xxlarge-gap-condensed___kImZb{grid-gap:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento__Item--xxlarge-gap-normal___bsI4f{grid-gap:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento__Item--xxlarge-gap-spacious___tLuXL{grid-gap:var(--brand-Bento-content-padding-spacious)}}.Primer_Brand__Bento-module__Bento-column-padding-override___SxVV5>div:first-of-type{padding-right:0}.Primer_Brand__Bento-module__Bento-column-padding-override___SxVV5>div:last-of-type{padding-left:0}.Primer_Brand__Bento-module__Bento-row-padding-override___r37Kb>div:first-of-type{padding-bottom:0}.Primer_Brand__Bento-module__Bento-row-padding-override___r37Kb>div:last-of-type{padding-top:0}:root{--brand-EyebrowBanner-subHeading-size:var(--brand-text-size-100);--brand-EyebrowBanner-heading-size:var(--brand-text-size-100);--brand-EyebrowBanner-label-size:var(--brand-text-size-100);--brand-EyebrowBanner-spacing-inner-inline:var(--base-size-16);--brand-EyebrowBanner-spacing-inner-block:.875rem;--brand-EyebrowBanner-borderRadius:var(--base-size-16)}@media (width>=768px){:root{--brand-EyebrowBanner-subHeading-size:var(--brand-text-size-200);--brand-EyebrowBanner-heading-size:var(--brand-text-size-200);--brand-EyebrowBanner-label-size:var(--brand-text-size-200);--brand-EyebrowBanner-spacing-inner-inline:var(--base-size-20);--brand-EyebrowBanner-borderRadius:6.25rem}}:root,[data-color-mode=light]{--brand-Eyebrowbanner-bgColor-rest:#fff9;--brand-Eyebrowbanner-borderColor-rest:var(--brand-color-border-default);--brand-Eyebrowbanner-heading-fgColor:var(--brand-color-text-default);--brand-Eyebrowbanner-subHeading-fgColor:var(--brand-color-text-muted);--brand-Eyebrowbanner-icon-background-default:var(--base-color-scale-gray-0);--brand-Eyebrowbanner-icon-background-blue:var(--base-color-scale-blue-0);--brand-Eyebrowbanner-icon-background-coral:var(--base-color-scale-coral-0);--brand-Eyebrowbanner-icon-background-green:var(--base-color-scale-green-0);--brand-Eyebrowbanner-icon-background-gray:var(--base-color-scale-gray-0);--brand-Eyebrowbanner-icon-background-indigo:var(--base-color-scale-indigo-0);--brand-Eyebrowbanner-icon-background-lemon:var(--base-color-scale-lemon-0);--brand-Eyebrowbanner-icon-background-lime:var(--base-color-scale-lime-0);--brand-Eyebrowbanner-icon-background-orange:var(--base-color-scale-orange-0);--brand-Eyebrowbanner-icon-background-pink:var(--base-color-scale-pink-0);--brand-Eyebrowbanner-icon-background-purple:var(--base-color-scale-purple-0);--brand-Eyebrowbanner-icon-background-red:var(--base-color-scale-red-0);--brand-Eyebrowbanner-icon-background-teal:var(--base-color-scale-teal-0);--brand-Eyebrowbanner-icon-background-yellow:var(--base-color-scale-yellow-0);--brand-Eyebrowbanner-fgColor-default-start:var(--base-color-scale-purple-5);--brand-Eyebrowbanner-fgColor-default-middle:var(--base-color-scale-pink-5);--brand-Eyebrowbanner-fgColor-default-end:var(--base-color-scale-red-5);--brand-Eyebrowbanner-fgColor-blue:var(--base-color-scale-blue-5);--brand-Eyebrowbanner-fgColor-blue-purple-start:var(--base-color-scale-blue-5);--brand-Eyebrowbanner-fgColor-blue-purple-end:var(--base-color-scale-purple-5);--brand-Eyebrowbanner-fgColor-coral:var(--base-color-scale-coral-5);--brand-Eyebrowbanner-fgColor-green:var(--base-color-scale-green-6);--brand-Eyebrowbanner-fgColor-green-blue-start:var(--base-color-scale-green-6);--brand-Eyebrowbanner-fgColor-green-blue-end:var(--base-color-scale-blue-5);--brand-Eyebrowbanner-fgColor-gray:var(--base-color-scale-gray-5);--brand-Eyebrowbanner-fgColor-indigo:var(--base-color-scale-indigo-5);--brand-Eyebrowbanner-fgColor-lemon:var(--base-color-scale-lemon-5);--brand-Eyebrowbanner-fgColor-lime:var(--base-color-scale-lime-5);--brand-Eyebrowbanner-fgColor-orange:var(--base-color-scale-orange-5);--brand-Eyebrowbanner-fgColor-pink:var(--base-color-scale-pink-5);--brand-Eyebrowbanner-fgColor-pink-blue-start:var(--base-color-scale-pink-5);--brand-Eyebrowbanner-fgColor-pink-blue-end:var(--base-color-scale-blue-5);--brand-Eyebrowbanner-fgColor-purple:var(--base-color-scale-purple-5);--brand-Eyebrowbanner-fgColor-purple-red-start:var(--base-color-scale-purple-5);--brand-Eyebrowbanner-fgColor-purple-red-end:var(--base-color-scale-red-5);--brand-Eyebrowbanner-fgColor-red:var(--base-color-scale-red-5);--brand-Eyebrowbanner-fgColor-red-orange-start:var(--base-color-scale-red-5);--brand-Eyebrowbanner-fgColor-red-orange-end:var(--base-color-scale-orange-5);--brand-Eyebrowbanner-fgColor-teal:var(--base-color-scale-teal-5);--brand-Eyebrowbanner-fgColor-yellow:var(--base-color-scale-yellow-5)}[data-color-mode=dark]{--brand-Eyebrowbanner-bgColor-rest:#0d111799;--brand-Eyebrowbanner-borderColor-rest:var(--base-color-scale-gray-5);--brand-Eyebrowbanner-heading-fgColor:var(--brand-color-text-default);--brand-Eyebrowbanner-subHeading-fgColor:var(--brand-color-text-muted);--brand-Eyebrowbanner-icon-background-default:var(--base-color-scale-gray-6);--brand-Eyebrowbanner-icon-background-blue:var(--base-color-scale-blue-8);--brand-Eyebrowbanner-icon-background-coral:var(--base-color-scale-coral-8);--brand-Eyebrowbanner-icon-background-green:var(--base-color-scale-green-8);--brand-Eyebrowbanner-icon-background-gray:var(--base-color-scale-gray-6);--brand-Eyebrowbanner-icon-background-indigo:var(--base-color-scale-indigo-8);--brand-Eyebrowbanner-icon-background-lemon:var(--base-color-scale-lemon-8);--brand-Eyebrowbanner-icon-background-lime:var(--base-color-scale-lime-8);--brand-Eyebrowbanner-icon-background-orange:var(--base-color-scale-orange-8);--brand-Eyebrowbanner-icon-background-pink:var(--base-color-scale-pink-8);--brand-Eyebrowbanner-icon-background-purple:var(--base-color-scale-purple-8);--brand-Eyebrowbanner-icon-background-red:var(--base-color-scale-red-8);--brand-Eyebrowbanner-icon-background-teal:var(--base-color-scale-teal-8);--brand-Eyebrowbanner-icon-background-yellow:var(--base-color-scale-yellow-8);--brand-Eyebrowbanner-fgColor-default-start:var(--base-color-scale-purple-2);--brand-Eyebrowbanner-fgColor-default-middle:var(--base-color-scale-pink-3);--brand-Eyebrowbanner-fgColor-default-end:var(--base-color-scale-red-3);--brand-Eyebrowbanner-fgColor-blue:var(--base-color-scale-blue-2);--brand-Eyebrowbanner-fgColor-blue-purple-start:var(--base-color-scale-blue-2);--brand-Eyebrowbanner-fgColor-blue-purple-end:var(--base-color-scale-purple-2);--brand-Eyebrowbanner-fgColor-coral:var(--base-color-scale-coral-2);--brand-Eyebrowbanner-fgColor-green:var(--base-color-scale-green-2);--brand-Eyebrowbanner-fgColor-green-blue-start:var(--base-color-scale-green-2);--brand-Eyebrowbanner-fgColor-green-blue-end:var(--base-color-scale-blue-2);--brand-Eyebrowbanner-fgColor-gray:var(--base-color-scale-gray-2);--brand-Eyebrowbanner-fgColor-indigo:var(--base-color-scale-indigo-2);--brand-Eyebrowbanner-fgColor-lemon:var(--base-color-scale-lemon-2);--brand-Eyebrowbanner-fgColor-lime:var(--base-color-scale-lime-2);--brand-Eyebrowbanner-fgColor-orange:var(--base-color-scale-orange-2);--brand-Eyebrowbanner-fgColor-pink:var(--base-color-scale-pink-2);--brand-Eyebrowbanner-fgColor-pink-blue-start:var(--base-color-scale-pink-2);--brand-Eyebrowbanner-fgColor-pink-blue-end:var(--base-color-scale-blue-2);--brand-Eyebrowbanner-fgColor-purple:var(--base-color-scale-purple-2);--brand-Eyebrowbanner-fgColor-purple-red-start:var(--base-color-scale-purple-2);--brand-Eyebrowbanner-fgColor-purple-red-end:var(--base-color-scale-red-2);--brand-Eyebrowbanner-fgColor-red:var(--base-color-scale-red-2);--brand-Eyebrowbanner-fgColor-red-orange-start:var(--base-color-scale-red-2);--brand-Eyebrowbanner-fgColor-red-orange-end:var(--base-color-scale-orange-2);--brand-Eyebrowbanner-fgColor-teal:var(--base-color-scale-teal-2);--brand-Eyebrowbanner-fgColor-yellow:var(--base-color-scale-yellow-2)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner___pFgEn{background:var(--brand-Eyebrowbanner-bgColor-rest);border:var(--brand-borderWidth-thin) solid var(--brand-Eyebrowbanner-borderColor-rest);padding:var(--brand-EyebrowBanner-spacing-inner-block) var(--brand-EyebrowBanner-spacing-inner-inline);border-radius:var(--brand-EyebrowBanner-borderRadius);align-self:flex-start;-webkit-text-decoration:none;text-decoration:none;display:inline-block}.Primer_Brand__EyebrowBanner-module__EyebrowBanner___pFgEn:hover{-webkit-text-decoration:none!important;text-decoration:none!important}.Primer_Brand__EyebrowBanner-module__EyebrowBanner___pFgEn:focus-visible{outline:var(--base-size-4) solid var(--brand-color-focus);outline-offset:2px;transition:none}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__inner___LiSah{align-items:center;display:flex}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__headings___Tyish{text-align:start;margin-inline-start:var(--brand-EyebrowBanner-spacing-inner-inline)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingVisual___bPH2f{display:flex}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingVisual___bPH2f img,.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingVisual___bPH2f picture,.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingVisual___bPH2f svg{height:var(--base-size-44);width:auto;max-width:var(--base-size-44);max-height:var(--base-size-44)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingVisual___bPH2f img,.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingVisual___bPH2f picture{display:block}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__trailingVisual___vQJwY{display:flex}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__trailingVisual-icon___m2rYL{color:var(--brand-color-text-default);fill:var(--brand-color-text-default);margin-inline-start:var(--base-size-20)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel___JfbO4{font-family:var(--brand-body-fontFamily);font-weight:var(--base-text-weight-medium);font-size:var(--brand-EyebrowBanner-label-size);letter-spacing:var(--brand-text-letterSpacing-200);background:linear-gradient(92deg, var(--brand-EyebrowBanner-leadingLabel-color-start,var(--brand-Eyebrowbanner-fgColor-default-start)) 12.09%, var(--brand-EyebrowBanner-leadingLabel-color-middle,var(--brand-Eyebrowbanner-fgColor-default-middle)) 42.58%, var(--brand-EyebrowBanner-leadingLabel-color-end,var(--brand-Eyebrowbanner-fgColor-default-end)) 84.96%);text-transform:uppercase;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;line-height:1em;display:flex}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-blue___gWZsh{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-blue);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-blue);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-blue)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-blue-purple___jHrJf{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-blue-purple-start);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-blue-purple-end);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-blue-purple-end)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-coral___zDffR{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-coral);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-coral);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-coral)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-green___KfjSH{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-green);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-green);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-green)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-green-blue___IT4vV{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-green-blue-start);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-green-blue-start);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-green-blue-end)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-gray___ZXNfp{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-gray);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-gray);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-gray)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-indigo___jRhXl{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-indigo);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-indigo);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-indigo)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-lemon___VfgJy{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-lemon);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-lemon);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-lemon)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-lime___QxCgJ{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-lime);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-lime);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-lime)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-orange___ctXEe{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-orange);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-orange);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-orange)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-pink___DK8mh{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-pink);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-pink);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-pink)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-pink-blue___taquP{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-pink-blue-start);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-pink-blue-start);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-pink-blue-end)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-purple___SjSu3{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-purple);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-purple);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-purple)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-purple-red___mFOTU{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-purple-red-start);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-purple-red-start);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-purple-red-end)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-red___fvZYM{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-red);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-red);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-red)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-red-orange___MoG8u{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-red-orange-start);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-red-orange-start);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-red-orange-end)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-teal___QCvJH{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-teal);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-teal);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-teal)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-yellow___nHfOQ{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-yellow);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-yellow);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-yellow)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__heading___gGjRD{color:var(--brand-Eyebrowbanner-heading-fgColor);font-size:var(--brand-EyebrowBanner-heading-size);display:block}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__subHeading___EHr9v{color:var(--brand-Eyebrowbanner-subHeading-fgColor);font-size:var(--brand-EyebrowBanner-subHeading-size);display:block}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{width:var(--base-size-44);height:var(--base-size-44);border-radius:50%;justify-content:center;align-items:center;display:flex}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon___RlAjy svg{width:var(--base-size-20);height:var(--base-size-20)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-default___zjZm_{color:var(--brand-color-text-default)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-default___zjZm_.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-default)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-blue___JEOeh{color:var(--brand-Eyebrowbanner-fgColor-blue)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-blue___JEOeh.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-blue)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-coral___f1EgJ{color:var(--brand-Eyebrowbanner-fgColor-coral)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-coral___f1EgJ.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-coral)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-green___l3tOa{color:var(--brand-Eyebrowbanner-fgColor-green)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-green___l3tOa.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-green)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-gray___DfR6X{color:var(--brand-Eyebrowbanner-fgColor-gray)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-gray___DfR6X.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-gray)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-indigo___SwE_O{color:var(--brand-Eyebrowbanner-fgColor-indigo)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-indigo___SwE_O.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-indigo)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-lemon___uo7HU{color:var(--brand-Eyebrowbanner-fgColor-lemon)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-lemon___uo7HU.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-lemon)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-lime___UoH_J{color:var(--brand-Eyebrowbanner-fgColor-lime)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-lime___UoH_J.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-lime)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-orange___Oakbb{color:var(--brand-Eyebrowbanner-fgColor-orange)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-orange___Oakbb.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-orange)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-pink___RtapL{color:var(--brand-Eyebrowbanner-fgColor-pink)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-pink___RtapL.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-pink)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-purple___qMl8t{color:var(--brand-Eyebrowbanner-fgColor-purple)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-purple___qMl8t.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-purple)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-red___jbmX3{color:var(--brand-Eyebrowbanner-fgColor-red)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-red___jbmX3.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-red)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-teal___iB9Rw{color:var(--brand-Eyebrowbanner-fgColor-teal)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-teal___iB9Rw.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-teal)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-yellow___Jt5i1{color:var(--brand-Eyebrowbanner-fgColor-yellow)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-yellow___Jt5i1.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-yellow)}@media (prefers-reduced-motion:reduce){.Primer_Brand__EyebrowBanner-module__EyebrowBanner___pFgEn,.Primer_Brand__EyebrowBanner-module__EyebrowBanner___pFgEn:before,.Primer_Brand__EyebrowBanner-module__EyebrowBanner___pFgEn:after,.Primer_Brand__EyebrowBanner-module__EyebrowBanner___pFgEn *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--brand-PricingOptions-items4-container-padding-inline:var(--base-size-24);--brand-PricingOptions-items4-gap:var(--base-size-48);--brand-PricingOptions-items3-container-padding-inline:var(--base-size-24);--brand-PricingOptions-items3-gap:var(--base-size-64);--brand-PricingOptions-items2-container-padding-inline:var(--base-size-48);--brand-PricingOptions-items2-gap:var(--base-size-96);--brand-PricingOptions-items1-container-paddingInline:var(--base-size-32);--brand-PricingOptions-items-gap:var(--base-size-24)}:root,[data-color-mode=light]{--brand-PricingOptions-borderMask:linear-gradient(180deg, #0009, #0000004d);--brand-PricingOptions-item-bgColor-solid:var(--brand-color-canvas-subtle);--brand-PricingOptions-item-bgColor-gradient-start:var(--brand-color-canvas-subtle);--brand-PricingOptions-item-bgColor-gradient-end:var(--brand-color-canvas-default);--brand-PricingOptions-featureList-group-heading-color:var(--brand-color-text-default);--brand-PricingOptions-actionsMessage-bgColor:color-mix(in srgb, var(--base-color-scale-blue-4) 10%, transparent);--brand-PricingOptions-actionsMessage-borderColor:color-mix(in srgb, var(--base-color-scale-blue-6) 20%, transparent);--brand-PricingOptions-actionsMessage-accentColor:var(--base-color-scale-blue-5)}[data-color-mode=dark]{--brand-PricingOptions-borderMask:linear-gradient(180deg, #000, #0006);--brand-PricingOptions-item-bgColor-solid:var(--brand-color-canvas-subtle);--brand-PricingOptions-item-bgColor-gradient-start:var(--brand-color-canvas-subtle);--brand-PricingOptions-item-bgColor-gradient-end:var(--brand-color-canvas-default);--brand-PricingOptions-featureList-group-heading-color:var(--brand-color-text-default);--brand-PricingOptions-actionsMessage-bgColor:#0c1c26;--brand-PricingOptions-actionsMessage-borderColor:#0e4678;--brand-PricingOptions-actionsMessage-accentColor:#1095ff}.Primer_Brand__PricingOptions-module__PricingOptions___hjzt8{--brand-pricing-options-item-gap:var(--brand-PricingOptions-items-gap);--brand-pricing-options-container-padding-inline:0;--brand-pricing-options-column-count:1;--brand-pricing-options-template-areas:"labels" "leadingComponent" "header" "description" "price" "actions" "feature-list" "footnote";grid-row-gap:0;grid-row-gap:var(--brand-pricing-options-item-gap,0);row-gap:0;row-gap:var(--brand-pricing-options-item-gap,0);padding-inline:0;padding-inline:var(--brand-pricing-options-container-padding-inline);display:grid}@media screen and (width<=63.24rem){.Primer_Brand__PricingOptions-module__PricingOptions___hjzt8{max-width:488px;margin-inline:auto}}@media (width>=63.25rem){.Primer_Brand__PricingOptions-module__PricingOptions___hjzt8{grid-template-areas:var(--brand-pricing-options-template-areas);grid-template-columns:repeat(var(--brand-pricing-options-column-count), minmax(0, 1fr));-moz-column-gap:0;-moz-column-gap:var(--brand-pricing-options-item-gap,0);column-gap:0;column-gap:var(--brand-pricing-options-item-gap,0);row-gap:0}.Primer_Brand__PricingOptions-module__PricingOptions--items1___Do94G{--brand-pricing-options-column-count:1}.Primer_Brand__PricingOptions-module__PricingOptions--items2___Z08y5{--brand-pricing-options-column-count:2}.Primer_Brand__PricingOptions-module__PricingOptions--items3___u4TM8{--brand-pricing-options-column-count:3}.Primer_Brand__PricingOptions-module__PricingOptions--items4___FgRN3{--brand-pricing-options-column-count:4}}.Primer_Brand__PricingOptions-module__PricingOptions__labels___rfDyw{display:none}@media (width>=63.25rem){.Primer_Brand__PricingOptions-module__PricingOptions__labels___rfDyw{--brand-pricing-options-column-count:1;grid-area:labels/1/labels/-1;grid-template-columns:repeat(1,minmax(0,1fr));grid-template-columns:repeat(var(--brand-pricing-options-column-count), minmax(0, 1fr));grid-column-gap:0;grid-column-gap:var(--brand-pricing-options-item-gap,0);-moz-column-gap:0;-moz-column-gap:var(--brand-pricing-options-item-gap,0);column-gap:0;column-gap:var(--brand-pricing-options-item-gap,0);display:grid}.Primer_Brand__PricingOptions-module__PricingOptions__label-cell___K6KaM{min-height:var(--base-size-54);padding-block:var(--base-size-16);background-color:var(--brand-PricingOptions-item-bgColor-solid);align-items:center;display:flex;position:relative}.Primer_Brand__PricingOptions-module__PricingOptions__label-cell--has-label___NUFzI:after{content:"";inset-block-start:0;inset-inline-start:0;inset-inline-start:calc(var(--brand-pricing-options-item-gap,0px) / 2 * -1);inset-inline-end:0;height:var(--brand-borderWidth-thin);background-color:var(--brand-color-text-emphasized);z-index:1;position:absolute;inset-inline-end:calc(var(--brand-pricing-options-item-gap,0px) / 2 * -1)}.Primer_Brand__PricingOptions-module__PricingOptions__label-cell--has-label___NUFzI:first-child:after{inset-inline-start:0}.Primer_Brand__PricingOptions-module__PricingOptions__label-cell--has-label___NUFzI:last-child:after{inset-inline-end:0}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__label-cell--has-label___NUFzI:after{inset-inline:0}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__labels___rfDyw{position:relative}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__labels___rfDyw:after{content:"";inset-block-end:0;inset-inline-start:0;inset-inline-start:calc(var(--brand-pricing-options-container-padding-inline,0px) * -1);inset-inline-end:0;height:var(--brand-borderWidth-thin);background-color:var(--brand-color-border-subtle);position:absolute;inset-inline-end:calc(var(--brand-pricing-options-container-padding-inline,0px) * -1)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__label-cell___K6KaM{margin-inline:calc(var(--brand-pricing-options-item-gap) / 2 * -1);padding-inline:calc(var(--brand-pricing-options-item-gap) / 2)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__label-cell___K6KaM:first-child{margin-inline-start:calc(var(--brand-pricing-options-container-padding-inline) * -1);padding-inline-start:var(--brand-pricing-options-container-padding-inline)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__label-cell___K6KaM:last-child{margin-inline-end:calc(var(--brand-pricing-options-container-padding-inline) * -1);padding-inline-end:var(--brand-pricing-options-container-padding-inline)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__label-cell--empty___SSWHp{background-color:#0000;border-block-start-color:#0000}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__label-cell___K6KaM+.Primer_Brand__PricingOptions-module__PricingOptions__label-cell___K6KaM:before{content:"";width:var(--brand-borderWidth-thin);background-color:var(--brand-color-border-subtle);position:absolute;inset-block:0;inset-inline-start:0}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8.Primer_Brand__PricingOptions-module__PricingOptions--appearance-gradient___kcYQZ .Primer_Brand__PricingOptions-module__PricingOptions__label-cell___K6KaM+.Primer_Brand__PricingOptions-module__PricingOptions__label-cell___K6KaM:before{-webkit-mask-image:var(--brand-PricingOptions-borderMask);-webkit-mask-image:var(--brand-PricingOptions-borderMask);mask-image:var(--brand-PricingOptions-borderMask)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-cards___w4AZc .Primer_Brand__PricingOptions-module__PricingOptions__label-cell___K6KaM{padding-inline:var(--base-size-28);border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-cards___w4AZc .Primer_Brand__PricingOptions-module__PricingOptions__label-cell--empty___SSWHp{opacity:0;pointer-events:none}.Primer_Brand__PricingOptions-module__PricingOptions--layout-cards___w4AZc .Primer_Brand__PricingOptions-module__PricingOptions__label-cell--has-label___NUFzI:after{inset-inline:0}}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8{position:relative}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8.Primer_Brand__PricingOptions-module__PricingOptions--appearance-solid___S7wHh{border:solid 1px var(--brand-color-border-subtle);background-color:var(--brand-PricingOptions-item-bgColor-solid)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8.Primer_Brand__PricingOptions-module__PricingOptions--appearance-gradient___kcYQZ,.Primer_Brand__PricingOptions-module__PricingOptions--layout-cards___w4AZc.Primer_Brand__PricingOptions-module__PricingOptions--appearance-gradient___kcYQZ .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw{background:linear-gradient(180deg, var(--brand-PricingOptions-item-bgColor-gradient-start) 0%, var(--brand-PricingOptions-item-bgColor-gradient-end) 100%)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8.Primer_Brand__PricingOptions-module__PricingOptions--appearance-gradient___kcYQZ:before,.Primer_Brand__PricingOptions-module__PricingOptions--layout-cards___w4AZc.Primer_Brand__PricingOptions-module__PricingOptions--appearance-gradient___kcYQZ .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw:before{content:"";pointer-events:none;border-radius:inherit;-webkit-mask-image:var(--brand-PricingOptions-borderMask);-webkit-mask-image:var(--brand-PricingOptions-borderMask);mask-image:var(--brand-PricingOptions-borderMask);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle);position:absolute;inset:0}@media (width>=63.25rem){.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8{padding-inline:var(--brand-pricing-options-container-padding-inline)}}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw{--brand-pricing-options-item-padding-inline:var(--base-size-24);padding-inline:var(--base-size-24);padding-block:var(--base-size-20);position:relative}@media (width>=63.25rem){.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw{--brand-pricing-options-item-padding-inline:0;padding-inline:0;padding-block:var(--base-size-40)}}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw+.Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw:before{content:"";background-color:var(--brand-color-border-subtle);height:1px;position:absolute;inset-inline:0}@media (width>=63.25rem){.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw+.Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw:before{width:1px;height:auto;margin-block-start:0;margin-inline-start:calc(var(--brand-pricing-options-item-gap) / 2 * -1);inset-block:0;inset-inline:0}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8.Primer_Brand__PricingOptions-module__PricingOptions--appearance-gradient___kcYQZ .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw+.Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw:before{-webkit-mask-image:var(--brand-PricingOptions-borderMask);-webkit-mask-image:var(--brand-PricingOptions-borderMask);mask-image:var(--brand-PricingOptions-borderMask)}}.Primer_Brand__PricingOptions-module__PricingOptions--layout-cards___w4AZc .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw{--brand-pricing-options-item-padding-inline:var(--base-size-32);padding-inline:var(--base-size-32);padding-block:var(--base-size-32);position:relative}.Primer_Brand__PricingOptions-module__PricingOptions--layout-cards___w4AZc.Primer_Brand__PricingOptions-module__PricingOptions--appearance-solid___S7wHh .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw{background-color:var(--brand-PricingOptions-item-bgColor-solid);border:solid var(--brand-borderWidth-thin) var(--brand-color-border-subtle)}@media (width>=48rem){:where(.Primer_Brand__PricingOptions-module__PricingOptions--layout-cards___w4AZc.Primer_Brand__PricingOptions-module__PricingOptions--items4___FgRN3){row-gap:var(--brand-pricing-options-item-gap)}}@media (width>=63.25rem){.Primer_Brand__PricingOptions-module__PricingOptions--items1___Do94G{width:50%;margin-inline:auto}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8.Primer_Brand__PricingOptions-module__PricingOptions--items1___Do94G{--brand-pricing-options-container-padding-inline:var(--brand-PricingOptions-items1-container-paddingInline)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8.Primer_Brand__PricingOptions-module__PricingOptions--items2___Z08y5{--brand-pricing-options-item-gap:var(--brand-PricingOptions-items2-gap);--brand-pricing-options-container-padding-inline:var(--brand-PricingOptions-items2-container-padding-inline)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8.Primer_Brand__PricingOptions-module__PricingOptions--items3___u4TM8{--brand-pricing-options-item-gap:var(--brand-PricingOptions-items3-gap);--brand-pricing-options-container-padding-inline:var(--brand-PricingOptions-items3-container-padding-inline)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8.Primer_Brand__PricingOptions-module__PricingOptions--items4___FgRN3{--brand-pricing-options-item-gap:var(--brand-PricingOptions-items4-gap);--brand-pricing-options-container-padding-inline:var(--brand-PricingOptions-items4-container-padding-inline)}}.Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw{grid-template-areas:var(--brand-pricing-options-template-areas);display:grid}@media (width>=63.25rem){.Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw{grid-row:header/footnote;grid-template-rows:subgrid}.Primer_Brand__PricingOptions-module__PricingOptions__item--has-leading-component___Dzv8_{grid-row:leadingComponent/footnote}}.Primer_Brand__PricingOptions-module__PricingOptions__item--align-center___X_E4b{justify-items:center}.Primer_Brand__PricingOptions-module__PricingOptions__item--align-center___X_E4b .Primer_Brand__PricingOptions-module__PricingOptions__price___qxTEV,.Primer_Brand__PricingOptions-module__PricingOptions__item--align-center___X_E4b .Primer_Brand__PricingOptions-module__PricingOptions__description___hb2GR{text-align:center;justify-content:center}@supports not (grid-template-rows:subgrid){@media (width>=63.28rem){.Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw{grid-template-areas:var(--brand-pricing-options-template-areas);grid-template-rows:auto;grid-template-columns:1fr}}}.Primer_Brand__PricingOptions-module__PricingOptions__header___NCmt2{row-gap:var(--base-size-16);grid-area:header;display:flex}.Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw:not(.Primer_Brand__PricingOptions-module__PricingOptions__item--align-center___X_E4b) .Primer_Brand__PricingOptions-module__PricingOptions__header___NCmt2{align-items:center;margin-block-end:var(--base-size-16)}.Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw:not(.Primer_Brand__PricingOptions-module__PricingOptions__item--align-center___X_E4b) .Primer_Brand__PricingOptions-module__PricingOptions__heading___LZFAK{margin-block:var(--base-size-16);flex:0 auto;order:1;align-self:flex-start}@media (width>=63.24rem){.Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw:not(.Primer_Brand__PricingOptions-module__PricingOptions__item--align-center___X_E4b) .Primer_Brand__PricingOptions-module__PricingOptions__heading___LZFAK{margin-block:0}}.Primer_Brand__PricingOptions-module__PricingOptions__item--align-center___X_E4b .Primer_Brand__PricingOptions-module__PricingOptions__header___NCmt2{justify-content:center}.Primer_Brand__PricingOptions-module__PricingOptions__item--align-center___X_E4b .Primer_Brand__PricingOptions-module__PricingOptions__heading___LZFAK{text-align:center;margin-block-start:0;margin-block-end:var(--base-size-16)}.Primer_Brand__PricingOptions-module__PricingOptions__leading-component___FPip4{grid-row:leadingComponent}.Primer_Brand__PricingOptions-module__PricingOptions__leading-component___FPip4 img,.Primer_Brand__PricingOptions-module__PricingOptions__leading-component___FPip4 picture{display:block}.Primer_Brand__PricingOptions-module__PricingOptions__label___VwACa{color:var(--brand-color-text-default);font-family:var(--brand-fontStack-monospace);font-size:var(--brand-text-size-100);font-weight:var(--brand-text-weight-500);letter-spacing:var(--brand-text-letterSpacing-100);line-height:var(--brand-text-lineHeight-200);text-transform:uppercase}.Primer_Brand__PricingOptions-module__PricingOptions__heading___LZFAK{margin-block:var(--base-size-16);flex:0 auto;order:1;align-self:flex-start}.Primer_Brand__PricingOptions-module__PricingOptions__description___hb2GR{grid-row:description}.Primer_Brand__PricingOptions-module__PricingOptions__price___qxTEV{flex-wrap:wrap;grid-row:price;align-items:flex-start;padding-block-start:var(--base-size-20);padding-block-end:var(--base-size-8);display:flex}@media (width<=63.25rem){.Primer_Brand__PricingOptions-module__PricingOptions__price-value___XH4vo,.Primer_Brand__PricingOptions-module__PricingOptions__price-currency-symbol___Fv4Ny{font-size:var(--brand-text-size-900)}}.Primer_Brand__PricingOptions-module__PricingOptions__price-amount___tdTS8{align-items:flex-end;display:flex}.Primer_Brand__PricingOptions-module__PricingOptions__price-currency-code___kFWAy{color:var(--brand-color-text-muted);margin-block-end:var(--base-size-4);margin-inline-start:var(--base-size-4)}.Primer_Brand__PricingOptions-module__PricingOptions__price-original-price___C9hzM{align-self:center;margin-inline-start:var(--base-size-8);-webkit-text-decoration:none;text-decoration:none;display:inline-flex}.Primer_Brand__PricingOptions-module__PricingOptions__price-original-price-value___Xtjg8{-webkit-text-decoration:line-through;text-decoration:line-through}.Primer_Brand__PricingOptions-module__PricingOptions__price-trailing-text___W2UAb{flex:1 0 100%;display:block}.Primer_Brand__PricingOptions-module__PricingOptions__actions___e2W5P{gap:var(--base-size-8);flex-direction:column;grid-row:actions;align-items:flex-end;padding-block-start:var(--base-size-20);display:flex}.Primer_Brand__PricingOptions-module__PricingOptions__actions-message___n7IvJ{gap:var(--base-size-12);inline-size:100%;max-inline-size:100%;padding:var(--base-size-12);border-block:var(--brand-borderWidth-thin) solid var(--brand-PricingOptions-actionsMessage-borderColor);background-color:var(--brand-PricingOptions-actionsMessage-bgColor);border-inline:0;border-radius:0;align-items:flex-start;display:flex}.Primer_Brand__PricingOptions-module__PricingOptions__actions-message-leading-component___Wk0uH{color:var(--brand-PricingOptions-actionsMessage-accentColor);flex:none;margin-block-start:var(--base-size-4);display:flex}.Primer_Brand__PricingOptions-module__PricingOptions__actions-message-leading-component___Wk0uH :where(svg){inline-size:var(--base-size-16);block-size:var(--base-size-16);display:block}.Primer_Brand__PricingOptions-module__PricingOptions__actions-message-content___CKvOG{flex:auto;min-inline-size:0}.Primer_Brand__PricingOptions-module__PricingOptions__actions-message-content___CKvOG :where(p){margin:0}.Primer_Brand__PricingOptions-module__PricingOptions__menu-action___e4jvF,.Primer_Brand__PricingOptions-module__PricingOptions__menu-action___e4jvF>*{width:100%}.Primer_Brand__PricingOptions-module__PricingOptions__menu-action___e4jvF>*>*{width:100%;display:flex}.Primer_Brand__PricingOptions-module__PricingOptions__menu-action___e4jvF>*>*>:first-child{flex:1}.Primer_Brand__PricingOptions-module__PricingOptions__footnote___UwqUw{grid-row:footnote;margin-block-start:var(--base-size-8);display:block}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list___BmoFc{--feature-list-font-size:var(--brand-text-size-200);--feature-list-line-height:var(--brand-text-lineHeight-200);gap:var(--base-size-8);flex-direction:column;grid-row:feature-list;width:100%;margin-block-start:var(--base-size-20);padding-block-start:var(--base-size-20);display:flex}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list--has-divider___GZsaQ{margin:0;margin-block-start:var(--base-size-20);padding-block-start:var(--base-size-40);padding-inline:0;position:relative}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list--has-divider___GZsaQ:before{content:"";inset-block-start:0;inset-inline-start:0;inset-inline-start:calc(var(--brand-pricing-options-item-padding-inline,0px) * -1);inset-inline-end:0;height:var(--brand-borderWidth-thin);background-color:var(--brand-color-border-subtle);position:absolute;inset-inline-end:calc(var(--brand-pricing-options-item-padding-inline,0px) * -1)}@media (width>=63.25rem){.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__feature-list--has-divider___GZsaQ:before{inset-inline-start:0;inset-inline-start:calc(var(--brand-pricing-options-item-gap,0px) / 2 * -1);inset-inline-end:0;inset-inline-end:calc(var(--brand-pricing-options-item-gap,0px) / 2 * -1)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw:first-child .Primer_Brand__PricingOptions-module__PricingOptions__feature-list--has-divider___GZsaQ:before,.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__labels___rfDyw+.Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw .Primer_Brand__PricingOptions-module__PricingOptions__feature-list--has-divider___GZsaQ:before{inset-inline-start:0;inset-inline-start:calc(var(--brand-pricing-options-container-padding-inline,0px) * -1)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw:last-child .Primer_Brand__PricingOptions-module__PricingOptions__feature-list--has-divider___GZsaQ:before{inset-inline-end:0;inset-inline-end:calc(var(--brand-pricing-options-container-padding-inline,0px) * -1)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8.Primer_Brand__PricingOptions-module__PricingOptions--appearance-gradient___kcYQZ .Primer_Brand__PricingOptions-module__PricingOptions__feature-list--has-divider___GZsaQ:before{-webkit-mask-image:var(--brand-PricingOptions-borderMask);-webkit-mask-image:var(--brand-PricingOptions-borderMask);mask-image:var(--brand-PricingOptions-borderMask)}}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-set___cJt0a:nth-child(n+2){margin-block-start:var(--base-size-20)}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-group-heading___u739o{color:var(--brand-PricingOptions-featureList-group-heading-color);margin-block-start:var(--base-size-12);margin-block-end:var(--base-size-8)}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-item--excluded___iDvOS span{color:var(--brand-color-text-muted)}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-item--has-info___zXREr{flex-wrap:nowrap}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-item--has-info___zXREr>span{flex:1;justify-content:space-between;align-items:baseline;display:inline-flex}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-item-info___glnBV{all:unset;cursor:pointer;color:var(--brand-color-text-muted);background-color:color-mix(in srgb, var(--brand-color-canvas-invert) 12%, transparent);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);vertical-align:middle;padding:var(--base-size-4);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-inline-start:var(--base-size-8);display:inline-flex}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-item-info___glnBV svg{width:var(--base-size-12);height:var(--base-size-12)}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-item-info___glnBV:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:2px}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list___BmoFc+.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-group-heading___u739o{margin-block-start:var(--base-size-20)}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-item___M9A0t,.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-item___M9A0t span{font-size:var(--feature-list-font-size)!important;line-height:var(--feature-list-line-height)!important}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-group-heading___u739o{font-size:var(--feature-list-font-size)!important}.Primer_Brand__PricingOptions-module__PricingOptions--items4___FgRN3 .Primer_Brand__PricingOptions-module__PricingOptions__feature-list___BmoFc{--feature-list-font-size:var(--brand-text-size-100);--feature-list-line-height:var(--brand-text-lineHeight-100)}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF{border:0;padding:0}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF:after{content:none!important}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-heading___QZJNW{padding:var(--base-size-8) 0;margin-block-start:calc(var(--base-size-16) * -1);margin-block-end:var(--base-size-8);padding-inline:0!important}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF .Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-heading___QZJNW h1,.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF .Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-heading___QZJNW h2,.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF .Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-heading___QZJNW h3,.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF .Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-heading___QZJNW h4,.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF .Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-heading___QZJNW h5,.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF .Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-heading___QZJNW h6{font-size:var(--feature-list-font-size);line-height:var(--feature-list-line-height);font-weight:var(--brand-text-subhead-weight-large);gap:var(--base-size-8);justify-content:space-between;align-items:center;width:100%;display:flex}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF .Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-heading___QZJNW span{display:none}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF .Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-content___hCzO7{padding:0;padding-block-start:var(--base-size-8);padding-inline-start:0!important}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-chevron___XXErd{margin-inline-end:var(--base-size-4)}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF[open] .Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-chevron___XXErd{transform:rotate(180deg)}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-content___hCzO7{animation:none!important}.Primer_Brand__SubNav-module__SubNav__container___iZQjL{z-index:2;border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);width:100%;position:absolute}.Primer_Brand__SubNav-module__SubNav__container--with-anchor-nav___y6aE7{display:inline;display:initial;position:relative}.Primer_Brand__SubNav-module__SubNav__container--with-anchor-nav___y6aE7 .Primer_Brand__SubNav-module__SubNav___dVoQu{border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__SubNav-module__SubNav___dVoQu{z-index:1;background-color:var(--brand-SubNav-bgColor);width:100%;display:flex}[data-color-mode=dark] .Primer_Brand__SubNav-module__SubNav___dVoQu{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.Primer_Brand__SubNav-module__SubNav__heading___MAxf6,.Primer_Brand__SubNav-module__SubNav__subHeading___EQNxp{font-size:calc(var(--base-size-16) - 1px);line-height:calc(var(--base-size-16) - 1px);font-weight:var(--brand-text-subhead-weight-medium);color:var(--brand-color-text-default);font-family:var(--brand-heading-fontFamily);-webkit-text-decoration:none;text-decoration:none;display:block}.Primer_Brand__SubNav-module__SubNav__heading___MAxf6:hover,.Primer_Brand__SubNav-module__SubNav__subHeading___EQNxp:hover,.Primer_Brand__SubNav-module__SubNav__link___VBkrZ:hover .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{color:var(--brand-color-text-muted);-webkit-text-decoration:none!important;text-decoration:none!important}.Primer_Brand__SubNav-module__SubNav--header-container-outer___tneuD{width:100%}.Primer_Brand__SubNav-module__SubNav__heading-container___jlouG{z-index:9998;min-height:60px;padding:var(--base-size-16);border-inline-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);align-items:center;display:flex;position:relative}.Primer_Brand__SubNav-module__SubNav__heading-container___jlouG+.Primer_Brand__SubNav-module__SubNav__heading-container___jlouG{padding-inline-start:var(--base-size-24)}.Primer_Brand__SubNav-module__SubNav--has-shadow___jkyC7{box-shadow:var(--brand-SubNav-shadow);background-color:var(--brand-color-canvas-default)}.Primer_Brand__SubNav-module__SubNav--full-width___ZqqXq{padding-inline:0}.Primer_Brand__SubNav-module__SubNav__action-container___lgC_T{margin-left:auto}.Primer_Brand__SubNav-module__SubNav__sub-menu-icon___XxnxY{display:none!important}.Primer_Brand__SubNav-module__SubNav__sub-menu-children___t0gfy{display:contents}.Primer_Brand__SubNav-module__SubNav__links-overlay___CnpND{margin:0;padding:0;list-style:none}.Primer_Brand__SubNav-module__SubNav__links-overlay___CnpND>span,.Primer_Brand__SubNav-module__SubNav__sub-menu-toggle___FvvL9,.Primer_Brand__SubNav-module__SubNav__overflow-container___GPuX_{display:none}.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz{z-index:10;width:max-content;min-width:var(--brand-SubNav-width-overflowMenuMin);max-width:calc(100vw - var(--brand-SubNav-width-overflowMenuInset));max-height:calc(100dvh - var(--brand-SubNav-height-overflowMenuInset));background-color:var(--brand-SubNav-overflowMenu-bgColor-rest);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);box-shadow:none;transform:translateY(calc(0px - var(--brand-SubNav-offset-overflowMenu)));animation:Primer_Brand__SubNav-module__fade-in___t8Rrr var(--brand-animation-duration-faster) var(--brand-animation-easing-default);border-start-start-radius:0;border-start-end-radius:0;border-end-end-radius:var(--brand-borderRadius-medium);border-end-start-radius:var(--brand-borderRadius-medium);margin:0;padding:0;position:absolute;inset:auto;overflow:hidden auto}.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz::backdrop{background-color:#0000}.Primer_Brand__SubNav-module__SubNav__overflow-menu-list____hd03{grid-gap:var(--brand-borderWidth-thin);gap:var(--brand-borderWidth-thin);padding:var(--base-size-8);width:100%;margin:0;list-style:none;display:grid}.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container___sfhEf{z-index:91;position:sticky;top:-1px}.Primer_Brand__SubNav-module__SubNav__anchor-menu-container___TNidG{opacity:0;transform:translateY(var(--brand-animation-variant-slideInDown-distance));transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), background-color var(--brand-animation-duration-default) var(--brand-animation-easing-default);background-color:#0000}.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container___sfhEf:focus-within .Primer_Brand__SubNav-module__SubNav__anchor-menu-container___TNidG,.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container--stuck___HlM9i .Primer_Brand__SubNav-module__SubNav__anchor-menu-container___TNidG{opacity:1;background-color:var(--brand-color-canvas-default);transform:translateY(0)}.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container___sfhEf{height:0;transition:height var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container___sfhEf:focus-within,.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container--stuck___HlM9i{height:auto}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG{opacity:0;transform:translateY(var(--brand-animation-variant-slideInDown-distance));transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), height var(--brand-animation-duration-default) var(--brand-animation-easing-default), transform var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container___sfhEf:focus-within .Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG,.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container--stuck___HlM9i .Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG{visibility:visible;opacity:1;transform:translateY(0)}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG{padding-block:var(--base-size-12);border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);display:flex}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG .Primer_Brand__SubNav-module__SubNav__sub-menu-list___aBVGd{gap:var(--base-size-20);margin:0;padding:0;list-style-type:none;display:inline-flex}.Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{font-weight:450}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{padding:var(--base-size-6) var(--base-size-12);border-radius:var(--brand-borderRadius-full);transition:background-color var(--brand-animation-duration-default) var(--brand-animation-easing-default), color var(--brand-animation-duration-default) var(--brand-animation-easing-default);background-color:#0000}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG .Primer_Brand__SubNav-module__SubNav__link--is-in-view___GqmLc .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{background-color:var(--brand-SubNav-color-link-bgColor)}.Primer_Brand__SubNav-module__SubNav__link___VBkrZ:focus-visible .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp:after,.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG .Primer_Brand__SubNav-module__SubNav__link--is-in-view___GqmLc:focus-visible .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp:after{opacity:0}.Primer_Brand__SubNav-module__SubNav__link___VBkrZ[aria-current]:not([aria-current=false]) *{color:var(--brand-SubNav-color-link-active);-webkit-text-decoration:none!important;text-decoration:none!important}.Primer_Brand__SubNav-module__SubNav__link___VBkrZ:hover .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{transition:color var(--brand-animation-duration-fast) var(--brand-animation-easing-default)}.Primer_Brand__SubNav-module__SubNav__link___VBkrZ:hover .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp:after{border-color:var(--brand-color-text-default)}@media screen and (width<=63.24rem){.Primer_Brand__SubNav-module__SubNav___dVoQu{position:relative}.Primer_Brand__SubNav-module__SubNav___dVoQu:before{content:"";opacity:0;z-index:9997;position:absolute;inset:0}.Primer_Brand__SubNav-module__SubNav___dVoQu:after{content:"";z-index:-1;background-color:var(--base-color-scale-black-0);opacity:0;visibility:hidden;width:100%;height:100%;position:fixed;inset:0}.Primer_Brand__SubNav-module__SubNav--open___xWq0D:after{opacity:.3;visibility:visible;transition:visibility var(--brand-animation-duration-default) var(--brand-animation-easing-default), opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__SubNav-module__SubNav__heading___MAxf6{font-size:var(--base-size-16);line-height:var(--base-size-24)}.Primer_Brand__SubNav-module__SubNav--open___xWq0D{display:block}.Primer_Brand__SubNav-module__SubNav--open___xWq0D .Primer_Brand__SubNav-module__SubNav--header-container-outer___tneuD{max-height:100dvh;max-height:var(--subnav-available-height,100dvh);flex-direction:column;display:flex;overflow:hidden}.Primer_Brand__SubNav-module__SubNav--open___xWq0D .Primer_Brand__SubNav-module__SubNav__header-container___heD5O{flex-shrink:0}.Primer_Brand__SubNav-module__SubNav--open___xWq0D+.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container___sfhEf{z-index:-1}.Primer_Brand__SubNav-module__SubNav--open___xWq0D:before{background-color:var(--brand-color-canvas-default);animation:Primer_Brand__SubNav-module__fade-in___t8Rrr .3s var(--brand-animation-easing-glide) forwards}.Primer_Brand__SubNav-module__SubNav__heading-separator--main___sziYb:not(.Primer_Brand__SubNav-module__SubNav__heading-separator--has-adjacent-label___F3S2G),.Primer_Brand__SubNav-module__SubNav__heading-separator--subheading-active___ysuBi,.Primer_Brand__SubNav-module__SubNav__subheading-container-active___EOoAH{display:none}.Primer_Brand__SubNav-module__SubNav__header-container___heD5O{white-space:pre;z-index:9998;width:100%;display:flex;position:relative}.Primer_Brand__SubNav-module__SubNav__heading-container___jlouG+.Primer_Brand__SubNav-module__SubNav__heading-container___jlouG{padding-inline-start:var(--base-size-16)}.Primer_Brand__SubNav-module__SubNav__heading-separator___M5xJp{z-index:9998;margin-inline-end:var(--base-size-16)}.Primer_Brand__SubNav-module__SubNav__links-overlay___CnpND{z-index:9998;padding-inline:var(--base-size-8);flex-direction:column;flex:auto;justify-content:center;display:none;position:relative}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA{gap:var(--base-size-8);padding-block:var(--base-size-16);border-block-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);flex-direction:column;justify-content:flex-start;min-height:0;display:flex;overflow-y:auto}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__link___VBkrZ:hover .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{color:var(--brand-color-text-default)}.Primer_Brand__SubNav-module__SubNav__overlay-toggle___GY93X{z-index:9999;width:100%;justify-content:flex-end;padding-inline-end:var(--base-size-16);display:flex;position:relative}.Primer_Brand__SubNav-module__SubNav--has-sub-heading___YxW9a:not(.Primer_Brand__SubNav-module__SubNav--subHeadingActive___AxXKr) .Primer_Brand__SubNav-module__SubNav__overlay-toggle___GY93X{border-block-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-block:var(--base-size-12);margin-block:0;display:block}.Primer_Brand__SubNav-module__SubNav__overlay-toggle-content___GYAh4{width:100%;padding-inline-start:var(--base-size-16)}.Primer_Brand__SubNav-module__SubNav__overlay-toggle-label___J0P2K{background-color:var(--brand-SubNav-color-link-bgColor);border-radius:var(--brand-borderRadius-full);padding:var(--base-size-4) var(--base-size-12);gap:var(--base-size-6);cursor:pointer;font:inherit;border:none;align-items:center;display:flex}.Primer_Brand__SubNav-module__SubNav--full-width___ZqqXq .Primer_Brand__SubNav-module__SubNav__overlay-toggle___GY93X{right:0}.Primer_Brand__SubNav-module__SubNav__link___VBkrZ,.Primer_Brand__SubNav-module__SubNav__action-container___lgC_T{-webkit-text-decoration:none;text-decoration:none;display:none}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{position:relative}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__link___VBkrZ[aria-current]:not([aria-current=false]) *{color:var(--brand-SubNav-color-link-active)}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__link___VBkrZ{padding:var(--base-size-4) var(--base-size-12);margin-inline-start:var(--base-size-8)}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__link___VBkrZ[aria-current]:not([aria-current=false]),.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__link___VBkrZ:hover{background-color:var(--brand-SubNav-color-link-bgColor);border-radius:var(--brand-borderRadius-full);display:inline-flex}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__link___VBkrZ{animation:Primer_Brand__SubNav-module__fade-in___t8Rrr .3s var(--brand-animation-easing-glide) forwards;display:inline-flex}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__action-container___lgC_T{animation:Primer_Brand__SubNav-module__fade-in___t8Rrr .3s var(--brand-animation-easing-glide) forwards;display:block}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__link--has-sub-menu___IrziW{padding-block:0}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__action-container___lgC_T,.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__action___hRMk9{width:100%}.Primer_Brand__SubNav-module__SubNav__sub-menu___UENed{gap:var(--base-size-8);flex-direction:column;margin:0;padding:0;padding-block-start:var(--base-size-8);padding-inline-start:var(--base-size-16);list-style:none;display:flex}.Primer_Brand__SubNav-module__SubNav__sub-menu___UENed .Primer_Brand__SubNav-module__SubNav__link___VBkrZ{margin-inline-start:0}.Primer_Brand__SubNav-module__SubNav__sub-menu--dropdown___tPNZN .Primer_Brand__SubNav-module__SubNav__link___VBkrZ:hover .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{color:var(--brand-color-text-default)!important}.Primer_Brand__SubNav-module__SubNav__anchor-menu-container___TNidG{z-index:99;width:100%;overflow:auto hidden}.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container___sfhEf{position:sticky;top:-1px}.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container___sfhEf:after{content:"";width:var(--base-size-32);background:linear-gradient(to left, var(--brand-color-canvas-default), transparent);pointer-events:none;z-index:100;position:absolute;top:0;bottom:0;right:0}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG{padding-inline:var(--base-size-16);padding-block-start:var(--base-size-16);padding-block-end:var(--base-size-16)}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);letter-spacing:var(--brand-text-letterSpacing-100)}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG .Primer_Brand__SubNav-module__SubNav__sub-menu-list___aBVGd{padding-inline-end:var(--base-size-32)}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG .Primer_Brand__SubNav-module__SubNav__link___VBkrZ{white-space:pre;top:var(--base-size-2);display:block;position:relative}}.Primer_Brand__SubNav-module__SubNav__overlay-toggle-icon___AjCc8{fill:var(--brand-color-text-default)}.Primer_Brand__SubNav-module__SubNav__overlay-toggle-content___GYAh4{align-items:center;gap:var(--base-size-8);display:flex}.Primer_Brand__SubNav-module__SubNav__overlay-toggle-content--end___GySmq{justify-content:flex-end}.Primer_Brand__SubNav-module__SubNav__link___VBkrZ:focus-visible,.Primer_Brand__SubNav-module__SubNav__heading___MAxf6:focus-visible,.Primer_Brand__SubNav-module__SubNav__subHeading___EQNxp:focus-visible,.Primer_Brand__SubNav-module__SubNav__sub-menu-toggle___FvvL9:focus-visible,.Primer_Brand__SubNav-module__SubNav__overlay-toggle-label___J0P2K:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__SubNav-module__SubNav__subHeading___EQNxp{white-space:nowrap;display:block;position:relative}.Primer_Brand__SubNav-module__SubNav__subHeading___EQNxp[aria-current]:not([aria-current=false]){background-color:var(--brand-SubNav-color-link-bgColor);border-radius:var(--brand-borderRadius-full);padding:var(--base-size-6) var(--base-size-12);border:none}@media screen and (width>=48rem){.Primer_Brand__SubNav-module__SubNav__heading-container___jlouG{padding-inline:var(--base-size-24)}.Primer_Brand__SubNav-module__SubNav__overlay-toggle-content___GYAh4{padding-inline-start:var(--base-size-24)}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA{padding:var(--base-size-24)}.Primer_Brand__SubNav-module__SubNav--full-width___ZqqXq{padding-inline:0}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG{padding-inline:var(--base-size-24)}}.Primer_Brand__SubNav-module__SubNav__heading-label___gwyQg{white-space:pre}@media screen and (width>=63.25rem){.Primer_Brand__SubNav-module__SubNav___dVoQu{z-index:92;padding-inline:var(--base-size-32);align-items:center;display:flex}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA{padding:0}.Primer_Brand__SubNav-module__SubNav___dVoQu:has(+.Primer_Brand__SubNav-module__SubNav__anchor-menu-container___TNidG){padding-block-end:0}.Primer_Brand__SubNav-module__SubNav__heading-container___jlouG{padding-inline-start:0}.Primer_Brand__SubNav-module__SubNav--full-width___ZqqXq{padding-inline:0}.Primer_Brand__SubNav-module__SubNav__overlay-toggle___GY93X{display:none}.Primer_Brand__SubNav-module__SubNav__container--with-anchor-nav___y6aE7 .Primer_Brand__SubNav-module__SubNav__heading___MAxf6{padding-block-end:1px}.Primer_Brand__SubNav-module__SubNav__heading-separator___M5xJp{margin-inline-end:var(--base-size-20);display:inline-flex;top:0}.Primer_Brand__SubNav-module__SubNav__container--with-anchor-nav___y6aE7 .Primer_Brand__SubNav-module__SubNav__heading-separator___M5xJp{top:-1px}.Primer_Brand__SubNav-module__SubNav--header-container-outer___tneuD{align-items:center;display:flex}.Primer_Brand__SubNav-module__SubNav__header-container___heD5O{flex-shrink:0;align-items:center;display:flex}.Primer_Brand__SubNav-module__SubNav__links-overlay___CnpND{align-items:center;gap:var(--base-size-2);z-index:92;min-width:0;flex:1 1 0;align-self:stretch;padding-inline-start:var(--base-size-24);display:flex}.Primer_Brand__SubNav-module__SubNav__links-overlay___CnpND>li{white-space:nowrap;flex:none}.Primer_Brand__SubNav-module__SubNav__link--in-overlay___osowG{align-items:center;display:inline-flex}.Primer_Brand__SubNav-module__SubNav__link-item--overflowed___x0xat{visibility:hidden;pointer-events:none;width:max-content;position:absolute}.Primer_Brand__SubNav-module__SubNav__overflow-container___GPuX_{visibility:hidden;pointer-events:none;align-self:stretch;align-items:center;display:flex;position:absolute}.Primer_Brand__SubNav-module__SubNav__overflow-container--visible___OLUw7{visibility:visible;pointer-events:auto;position:relative}.Primer_Brand__SubNav-module__SubNav__overflow-toggle___Nof18{align-items:center;gap:var(--base-size-4);padding:var(--base-size-4) var(--base-size-12);color:var(--brand-SubNav-color-link-rest);background:var(--brand-SubNav-overflowMenu-toggle-bgColor-rest);border-radius:var(--brand-borderRadius-full);font:inherit;cursor:pointer;border:0;display:inline-flex}.Primer_Brand__SubNav-module__SubNav__overflow-toggle___Nof18:hover{background-color:var(--brand-SubNav-overflowMenu-toggle-bgColor-hover)}.Primer_Brand__SubNav-module__SubNav__overflow-toggle___Nof18[aria-expanded=true],.Primer_Brand__SubNav-module__SubNav__overflow-toggle--active___BiGMB{background-color:var(--brand-SubNav-overflowMenu-toggle-bgColor-active)}.Primer_Brand__SubNav-module__SubNav__overflow-toggle___Nof18 .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{color:inherit}.Primer_Brand__SubNav-module__SubNav__overflow-toggle___Nof18:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__SubNav-module__SubNav__link___VBkrZ{transition:color .2s var(--brand-animation-easing-glide);padding:var(--base-size-4) var(--base-size-12);border-radius:var(--brand-borderRadius-full);position:relative;-webkit-text-decoration:none!important;text-decoration:none!important}.Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100)}.Primer_Brand__SubNav-module__SubNav__link--has-sub-menu___IrziW{padding:var(--base-size-4) 0}.Primer_Brand__SubNav-module__SubNav__link--has-sub-menu___IrziW:after{content:"";bottom:calc(var(--base-size-12) * -1);width:100%;height:var(--base-size-12);background:0 0;position:absolute;left:0}.Primer_Brand__SubNav-module__SubNav__sub-menu___UENed.Primer_Brand__SubNav-module__SubNav__sub-menu--dropdown___tPNZN{background-clip:padding-box;background-color:var(--brand-color-canvas-default);border:var(--brand-color-border-muted) solid var(--brand-borderWidth-thin);border-radius:var(--brand-borderRadius-medium);padding:var(--base-size-8);z-index:9998;transition-timing-function:var(--brand-animation-easing-glide);transition-duration:var(--brand-animation-duration-fast);top:90%;left:0;left:var(--base-size-4);visibility:hidden;opacity:0;transform-origin:top;gap:var(--base-size-8);width:var(--brand-SubNav-width-subMenu);flex-direction:column;margin-block-start:var(--base-size-8);list-style:none;transition-property:opacity,transform;display:flex;position:absolute;transform:scale(.99)translateY(-.7em)translate(-8px)}.Primer_Brand__SubNav-module__SubNav__link--expanded___sbpQG .Primer_Brand__SubNav-module__SubNav__sub-menu___UENed.Primer_Brand__SubNav-module__SubNav__sub-menu--dropdown___tPNZN{visibility:visible;opacity:1;transform:scale(1)translateY(0)translate(-8px)}.Primer_Brand__SubNav-module__SubNav__sub-menu-toggle___FvvL9{width:var(--base-size-24);height:var(--base-size-24);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin:0;margin-inline-end:calc(-1 * var(--base-size-8));padding:0;padding-inline-end:var(--base-size-8);display:inline-flex}.Primer_Brand__SubNav-module__SubNav__sub-menu___UENed .Primer_Brand__SubNav-module__SubNav__link___VBkrZ{display:block}.Primer_Brand__SubNav-module__SubNav__sub-menu--dropdown___tPNZN .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp:after{opacity:1;transform:scale(0)}.Primer_Brand__SubNav-module__SubNav__link--has-sub-menu___IrziW{align-items:center;gap:var(--base-size-4);cursor:pointer;display:inline-flex;position:relative}.Primer_Brand__SubNav-module__SubNav__link--has-sub-menu___IrziW>.Primer_Brand__SubNav-module__SubNav__link___VBkrZ{padding-inline-end:0}.Primer_Brand__SubNav-module__SubNav__sub-menu--dropdown___tPNZN .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{padding:var(--base-size-4) 0;position:relative}.Primer_Brand__SubNav-module__SubNav__link--has-active-sub-menu___T8fLN{background-color:var(--brand-SubNav-color-link-bgColor);border-radius:var(--brand-borderRadius-full);padding:0 var(--base-size-8) 0 0;gap:0}.Primer_Brand__SubNav-module__SubNav__link--has-active-sub-menu___T8fLN>.Primer_Brand__SubNav-module__SubNav__link___VBkrZ{padding:var(--base-size-4) 0 var(--base-size-4) var(--base-size-12)}.Primer_Brand__SubNav-module__SubNav__sub-menu___UENed.Primer_Brand__SubNav-module__SubNav__sub-menu--dropdown___tPNZN .Primer_Brand__SubNav-module__SubNav__link___VBkrZ{padding:var(--base-size-12)}.Primer_Brand__SubNav-module__SubNav__links-overlay___CnpND .Primer_Brand__SubNav-module__SubNav__link___VBkrZ[aria-current]:not([aria-current=false]){background-color:var(--brand-SubNav-color-link-bgColor);line-height:1.1em}@supports ((-moz-appearance:none)){.Primer_Brand__SubNav-module__SubNav__links-overlay___CnpND .Primer_Brand__SubNav-module__SubNav__link--has-sub-menu___IrziW .Primer_Brand__SubNav-module__SubNav__link___VBkrZ[aria-current]:not([aria-current=false]) .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{top:0}}.Primer_Brand__SubNav-module__SubNav__links-overlay___CnpND .Primer_Brand__SubNav-module__SubNav__link--has-active-sub-menu___T8fLN .Primer_Brand__SubNav-module__SubNav__link___VBkrZ[aria-current]:not([aria-current=false]){padding-inline-end:var(--base-size-4)}.Primer_Brand__SubNav-module__SubNav__sub-menu___UENed.Primer_Brand__SubNav-module__SubNav__sub-menu--dropdown___tPNZN .Primer_Brand__SubNav-module__SubNav__link___VBkrZ[aria-current]:not([aria-current=false]){border-radius:var(--brand-borderRadius-medium);padding:var(--base-size-4) var(--base-size-8) var(--base-size-4) var(--base-size-12);top:auto;top:initial;background-color:#0000}.Primer_Brand__SubNav-module__SubNav__sub-menu___UENed.Primer_Brand__SubNav-module__SubNav__sub-menu--dropdown___tPNZN .Primer_Brand__SubNav-module__SubNav__link___VBkrZ:hover{background-color:var(--brand-SubNav-color-link-bgColor);border-radius:var(--brand-borderRadius-medium)}.Primer_Brand__SubNav-module__SubNav__sub-menu-icon___XxnxY{fill:var(--brand-color-text-muted);transition:transform var(--brand-animation-duration-fast);display:inline-block!important}.Primer_Brand__SubNav-module__SubNav__link--has-sub-menu___IrziW:not(.Primer_Brand__SubNav-module__SubNav__link--has-active-sub-menu___T8fLN) .Primer_Brand__SubNav-module__SubNav__sub-menu-icon___XxnxY{top:calc(-1 * var(--brand-borderWidth-thin));position:relative}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG{padding-inline:var(--base-size-32)}.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz .Primer_Brand__SubNav-module__SubNav__link___VBkrZ{width:100%;min-height:var(--brand-SubNav-height-overflowMenuItemMin);padding:var(--base-size-8) var(--base-size-12);color:var(--brand-SubNav-overflowMenu-fgColor-rest);white-space:normal;word-wrap:anywhere;border-radius:var(--brand-borderRadius-medium);background-color:var(--brand-SubNav-overflowMenu-bgColor-rest);display:block}.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz .Primer_Brand__SubNav-module__SubNav__link___VBkrZ .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{color:inherit;font-weight:var(--base-text-weight-normal);line-height:var(--brand-text-lineHeight-200)}.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz .Primer_Brand__SubNav-module__SubNav__link___VBkrZ:hover,.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz .Primer_Brand__SubNav-module__SubNav__link___VBkrZ:focus,.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz .Primer_Brand__SubNav-module__SubNav__link___VBkrZ:focus-visible,.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz .Primer_Brand__SubNav-module__SubNav__link___VBkrZ[aria-current]:not([aria-current=false]){color:var(--brand-SubNav-overflowMenu-fgColor-hover);background-color:var(--brand-SubNav-overflowMenu-bgColor-hover)}.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz .Primer_Brand__SubNav-module__SubNav__link___VBkrZ:focus-visible{box-shadow:inset 0 0 0 var(--brand-borderWidth-thick) var(--brand-color-focus);outline:none}.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz .Primer_Brand__SubNav-module__SubNav__link--has-sub-menu___IrziW{background:0 0;padding:0;display:block}.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz .Primer_Brand__SubNav-module__SubNav__link--has-sub-menu___IrziW:after{content:none}.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz .Primer_Brand__SubNav-module__SubNav__sub-menu--dropdown___tPNZN{width:auto;background-color:var(--brand-SubNav-overflowMenu-bgColor-rest);visibility:visible;opacity:1;border:0;margin:0;padding:0;padding-inline-start:var(--base-size-16);position:static;transform:none}}@keyframes Primer_Brand__SubNav-module__fade-in___t8Rrr{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.Primer_Brand__SubNav-module__SubNav___dVoQu,.Primer_Brand__SubNav-module__SubNav___dVoQu:before,.Primer_Brand__SubNav-module__SubNav___dVoQu:after,.Primer_Brand__SubNav-module__SubNav___dVoQu *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--brand-SubNav-offset-overflowMenu:.25rem;--brand-SubNav-height-overflowMenuItemMin:2.5rem;--brand-SubNav-height-overflowMenuInset:8rem;--brand-SubNav-width-overflowMenuMin:10rem;--brand-SubNav-width-overflowMenuInset:2rem;--brand-SubNav-width-subMenu:18.75rem}:root,[data-color-mode=light]{--brand-SubNav-bgColor:var(--brand-color-canvas-default);--brand-SubNav-overflowMenu-bgColor-rest:var(--brand-color-canvas-default);--brand-SubNav-overflowMenu-bgColor-hover:var(--brand-color-canvas-subtle);--brand-SubNav-overflowMenu-fgColor-rest:var(--brand-color-text-muted);--brand-SubNav-overflowMenu-fgColor-hover:var(--brand-color-text-default);--brand-SubNav-overflowMenu-toggle-bgColor-rest:transparent;--brand-SubNav-overflowMenu-toggle-bgColor-hover:var(--base-color-scale-gray-1);--brand-SubNav-overflowMenu-toggle-bgColor-active:var(--base-color-scale-gray-1);--brand-SubNav-color-link-rest:var(--brand-color-text-default);--brand-SubNav-color-link-active:var(--brand-color-text-default);--brand-SubNav-color-link-bgColor:#e4ebe6;--brand-SubNav-shadow:0px 100px 80px #00000003, 0px 41px 33px #00000005, 0px 22px 17px #00000005, 0px 12px 10px #00000008, 0px 6px 5px #0000000a, 0px 2px 2px #00000012}[data-color-mode=dark]{--brand-SubNav-bgColor:var(--brand-color-canvas-default);--brand-SubNav-overflowMenu-bgColor-rest:var(--brand-color-canvas-default);--brand-SubNav-overflowMenu-bgColor-hover:var(--brand-color-canvas-subtle);--brand-SubNav-overflowMenu-fgColor-rest:var(--brand-color-text-muted);--brand-SubNav-overflowMenu-fgColor-hover:var(--brand-color-text-default);--brand-SubNav-overflowMenu-toggle-bgColor-rest:transparent;--brand-SubNav-overflowMenu-toggle-bgColor-hover:var(--base-color-scale-gray-6);--brand-SubNav-overflowMenu-toggle-bgColor-active:var(--base-color-scale-gray-6);--brand-SubNav-color-link-rest:var(--brand-color-text-default);--brand-SubNav-color-link-active:var(--brand-color-text-default);--brand-SubNav-color-link-bgColor:#323834;--brand-SubNav-shadow:0px 100px 80px #00000003, 0px 41px 33px #00000005, 0px 22px 17px #00000005, 0px 12px 10px #00000008, 0px 6px 5px #0000000a, 0px 2px 2px #00000012}:root,[data-color-mode=light]{--brand-NavList-activeIndicator-color:var(--brand-color-text-emphasized)}[data-color-mode=dark]{--brand-NavList-activeIndicator-color:var(--brand-color-accent-primary)}.Primer_Brand__NavList-module__NavList___U7Jyj{--brand-NavList-label-indent-level-2:0px;--brand-NavList-label-indent-level-3:var(--base-size-16);--brand-NavList-label-indent-level-4:var(--base-size-32);--brand-NavList-label-indent-level-5:var(--base-size-48);--brand-NavList-item-paddingInlineStart-base:var(--base-size-24);--brand-NavList-control-paddingInlineStart:var(--base-size-8);--brand-NavList-label-paddingInlineStart:var(--base-size-6);box-sizing:border-box;font-family:var(--brand-fontStack-sansSerif);color:var(--brand-color-text-default);width:100%;padding-inline-start:var(--base-size-16)}.Primer_Brand__NavList-module__NavList__list___K5lSx,.Primer_Brand__NavList-module__NavList__subNav___DZ2GX,.Primer_Brand__NavList-module__NavList__groupList___ylfjF{margin:0;padding:0;list-style:none}.Primer_Brand__NavList-module__NavList__list___K5lSx{flex-direction:column;gap:0;display:flex}.Primer_Brand__NavList-module__NavList__list--flat___wuoKR,.Primer_Brand__NavList-module__NavList__groupList___ylfjF{--brand-NavList-item-paddingInlineStart-base:var(--base-size-2)}.Primer_Brand__NavList-module__NavList__groupList___ylfjF .Primer_Brand__NavList-module__NavList__subNav___DZ2GX .Primer_Brand__NavList-module__NavList__item--leaf___SN9hT{--brand-NavList-item-paddingInlineStart-base:0px;--brand-NavList-label-paddingInlineStart:var(--base-size-8)}.Primer_Brand__NavList-module__NavList__item___OceIg,.Primer_Brand__NavList-module__NavList__group___LANuQ{position:relative}.Primer_Brand__NavList-module__NavList__list___K5lSx:not(.Primer_Brand__NavList-module__NavList__list--flat___wuoKR)>.Primer_Brand__NavList-module__NavList__item___OceIg+.Primer_Brand__NavList-module__NavList__item___OceIg,.Primer_Brand__NavList-module__NavList__list___K5lSx:not(.Primer_Brand__NavList-module__NavList__list--flat___wuoKR)>.Primer_Brand__NavList-module__NavList__item___OceIg+.Primer_Brand__NavList-module__NavList__group___LANuQ,.Primer_Brand__NavList-module__NavList__list___K5lSx:not(.Primer_Brand__NavList-module__NavList__list--flat___wuoKR)>.Primer_Brand__NavList-module__NavList__group___LANuQ+.Primer_Brand__NavList-module__NavList__item___OceIg,.Primer_Brand__NavList-module__NavList__list___K5lSx:not(.Primer_Brand__NavList-module__NavList__list--flat___wuoKR)>.Primer_Brand__NavList-module__NavList__group___LANuQ+.Primer_Brand__NavList-module__NavList__group___LANuQ{background-image:repeating-linear-gradient(to right, var(--brand-color-border-muted) 0 var(--base-size-2), transparent var(--base-size-2) var(--base-size-4));background-repeat:no-repeat;background-size:100% var(--brand-borderWidth-thin);background-position:0 0}.Primer_Brand__NavList-module__NavList__groupTitle___Ios1h{padding:var(--base-size-24) var(--base-size-16) var(--base-size-16);color:var(--brand-color-text-default);font-size:var(--brand-text-size-200);font-weight:var(--brand-text-weight-500);line-height:var(--brand-text-lineHeight-200);letter-spacing:var(--brand-text-letterSpacing-200);margin:0}.Primer_Brand__NavList-module__NavList__groupList___ylfjF{flex-direction:column;gap:0;padding-block-end:var(--base-size-16);display:flex}.Primer_Brand__NavList-module__NavList__itemContent___TyAP4{align-items:center;gap:var(--base-size-8);min-width:0;display:flex}.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-2___AEntj>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-3___yJC82>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-4___w3rA3>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4{padding-block:calc(var(--base-size-8) + var(--base-size-2));padding-inline-end:var(--base-size-16)}.Primer_Brand__NavList-module__NavList__item--level-2___AEntj{--brand-NavList-item-label-indent:var(--brand-NavList-label-indent-level-2)}.Primer_Brand__NavList-module__NavList__item--level-3___yJC82{--brand-NavList-item-label-indent:var(--brand-NavList-label-indent-level-3)}.Primer_Brand__NavList-module__NavList__item--level-4___w3rA3{--brand-NavList-item-label-indent:var(--brand-NavList-label-indent-level-4)}.Primer_Brand__NavList-module__NavList__item--level-5___euPGq{--brand-NavList-item-label-indent:var(--brand-NavList-label-indent-level-5)}.Primer_Brand__NavList-module__NavList__item--leaf___SN9hT:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts)>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4{min-height:var(--base-size-32);padding-block:0;padding-inline-end:var(--base-size-16)}.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-2___AEntj>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-3___yJC82>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-4___w3rA3>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-5___euPGq>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4{padding-inline-start:calc(var(--brand-NavList-item-paddingInlineStart-base) + var(--brand-NavList-item-label-indent))}.Primer_Brand__NavList-module__NavList__item___OceIg:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts)>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk,.Primer_Brand__NavList-module__NavList__item___OceIg:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts)>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C{padding-inline-start:var(--brand-NavList-control-paddingInlineStart)}.Primer_Brand__NavList-module__NavList__item___OceIg:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts)>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__labelArea___N5Ya6{padding-inline-start:var(--brand-NavList-label-paddingInlineStart)}.Primer_Brand__NavList-module__NavList__link___lJiXk{align-items:center;gap:var(--base-size-8);border-radius:var(--brand-borderRadius-medium);min-width:0;color:var(--brand-color-text-muted);font-size:var(--brand-text-size-100);font-weight:var(--brand-text-weight-500);line-height:var(--brand-text-lineHeight-100);letter-spacing:var(--brand-text-letterSpacing-100);transition:background-color var(--brand-animation-duration-fast) var(--brand-animation-easing-default), color var(--brand-animation-duration-fast) var(--brand-animation-easing-default);flex:auto;padding:0;display:flex;position:relative;-webkit-text-decoration:none!important;text-decoration:none!important}.Primer_Brand__NavList-module__NavList__accordionButton___Jii1C{box-sizing:border-box;width:100%;color:var(--brand-color-text-muted);cursor:pointer;text-align:start;background:0 0;border:0;font-family:inherit;position:relative}.Primer_Brand__NavList-module__NavList__link___lJiXk:hover{color:var(--brand-color-text-default);background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__NavList-module__NavList__accordionButton___Jii1C:hover{color:var(--brand-color-text-default);background-color:#0000}.Primer_Brand__NavList-module__NavList__item___OceIg:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts)>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C .Primer_Brand__NavList-module__NavList__labelArea___N5Ya6{min-height:var(--base-size-32);order:2}.Primer_Brand__NavList-module__NavList__item___OceIg:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts)>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C:not(:disabled):hover .Primer_Brand__NavList-module__NavList__labelArea___N5Ya6{background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__NavList-module__NavList__item--has-current-descendant___xFrMb>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C:not(:disabled){color:var(--brand-color-text-default)}.Primer_Brand__NavList-module__NavList__item___OceIg:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts).Primer_Brand__NavList-module__NavList__item--has-current-descendant___xFrMb>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=false]:not(:disabled) .Primer_Brand__NavList-module__NavList__labelArea___N5Ya6{background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__NavList-module__NavList__link___lJiXk:focus-visible,.Primer_Brand__NavList-module__NavList__accordionButton___Jii1C:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__NavList-module__NavList__subNav___DZ2GX .Primer_Brand__NavList-module__NavList__link___lJiXk:focus-visible,.Primer_Brand__NavList-module__NavList__subNav___DZ2GX .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C:focus-visible{outline-offset:calc(-1 * var(--base-size-2))}.Primer_Brand__NavList-module__NavList__link___lJiXk[aria-current]:not([aria-current=false]){color:var(--brand-color-text-default);background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__NavList-module__NavList__item--leaf___SN9hT:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts) .Primer_Brand__NavList-module__NavList__link___lJiXk[aria-current]:not([aria-current=false]):before{content:"";inset-block:var(--base-size-8);width:var(--base-size-4);border-radius:var(--base-size-2);background-color:var(--brand-NavList-activeIndicator-color);position:absolute;inset-inline-start:0}.Primer_Brand__NavList-module__NavList__item--has-current-descendant___xFrMb>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=false]:not(:disabled):before{content:"";block-size:var(--base-size-16);width:var(--base-size-4);border-radius:var(--base-size-2);background-color:var(--brand-NavList-activeIndicator-color);z-index:1;position:absolute;inset-block-start:50%;transform:translateY(-50%)}.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts.Primer_Brand__NavList-module__NavList__item--has-current-descendant___xFrMb>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=false]:before{inset-inline-start:calc(-1 * var(--base-size-8))}.Primer_Brand__NavList-module__NavList__item___OceIg:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts).Primer_Brand__NavList-module__NavList__item--has-current-descendant___xFrMb>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=false]:before{inset-inline-start:var(--base-size-4)}.Primer_Brand__NavList-module__NavList__item___OceIg:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts).Primer_Brand__NavList-module__NavList__item--has-current-descendant___xFrMb>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=false]{padding-inline-start:var(--base-size-12)}.Primer_Brand__NavList-module__NavList__item___OceIg:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts).Primer_Brand__NavList-module__NavList__item--has-current-descendant___xFrMb>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=false] .Primer_Brand__NavList-module__NavList__labelArea___N5Ya6{padding-inline-start:var(--base-size-2)}.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk[aria-current]:not([aria-current=false]){padding-inline-start:0}.Primer_Brand__NavList-module__NavList__link--disabled___gPpvz{color:var(--brand-color-text-disabled);pointer-events:none}.Primer_Brand__NavList-module__NavList__accordionButton___Jii1C:disabled{color:var(--brand-color-text-disabled);cursor:not-allowed}.Primer_Brand__NavList-module__NavList__label___cZ4Jt{word-break:break-word;min-width:0}.Primer_Brand__NavList-module__NavList__labelArea___N5Ya6{align-items:center;gap:var(--base-size-8);border-radius:var(--brand-borderRadius-small);flex:auto;min-width:0;display:flex}.Primer_Brand__NavList-module__NavList__leadingVisual___ToOHr,.Primer_Brand__NavList-module__NavList__trailingVisual___q6Uc4{color:inherit;flex:none;display:inline-flex}.Primer_Brand__NavList-module__NavList__trailingVisual___q6Uc4{margin-inline-start:auto;margin-inline-end:var(--base-size-6)}.Primer_Brand__NavList-module__NavList__toggleIcon___hh94D{transform-origin:50%;transition:transform var(--brand-animation-duration-fast) var(--brand-animation-easing-glide);flex:none}.Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=true] .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D{transform:rotate(-180deg)}.Primer_Brand__NavList-module__NavList__subNav___DZ2GX{opacity:0;max-height:0;transform:translateY(calc(-1 * var(--base-size-8)));visibility:hidden;transition:max-height var(--brand-animation-duration-fast) var(--brand-animation-easing-glide), opacity var(--brand-animation-duration-fast) var(--brand-animation-easing-glide), transform var(--brand-animation-duration-fast) var(--brand-animation-easing-glide), visibility 0s linear var(--brand-animation-duration-fast);flex-direction:column;gap:0;margin:0;padding:0;display:flex;overflow:hidden}.Primer_Brand__NavList-module__NavList__subNav--expanded___Wu6L6{max-height:none;max-height:var(--brand-NavList-subNav-height,none);opacity:1;visibility:visible;transition:max-height var(--brand-animation-duration-fast) var(--brand-animation-easing-glide), opacity var(--brand-animation-duration-fast) var(--brand-animation-easing-glide), transform var(--brand-animation-duration-fast) var(--brand-animation-easing-glide), visibility 0s linear 0s;transform:translateY(0)}.Primer_Brand__NavList-module__NavList__subNav___DZ2GX[aria-hidden=true] .Primer_Brand__NavList-module__NavList__subNav___DZ2GX{visibility:hidden}.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4{padding:var(--base-size-24) var(--base-size-16) var(--base-size-16)}.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts.Primer_Brand__NavList-module__NavList__item--expanded___b3doz{padding-block-end:var(--base-size-16)}.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk{font-size:var(--brand-text-size-200);font-weight:var(--brand-text-weight-500);line-height:var(--brand-text-lineHeight-200);order:1}.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C{color:var(--brand-color-text-default);min-height:var(--base-size-32);margin-block:calc(-1 * var(--base-size-8));border-radius:var(--brand-borderRadius-small);padding-inline-start:0;padding-inline-end:var(--base-size-6)}.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C>*{z-index:1;position:relative}.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C:not(:disabled):hover:after,.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C:not(:disabled):active:after,.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts.Primer_Brand__NavList-module__NavList__item--has-current-descendant___xFrMb>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=false]:not(:disabled):after{content:"";z-index:0;border-radius:var(--brand-borderRadius-small);background-color:var(--brand-color-canvas-subtle);pointer-events:none;position:absolute;inset-block:0;inset-inline:0}.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D{order:2;margin-inline-start:auto}.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-2___AEntj>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-3___yJC82>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-4___w3rA3>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D{order:1}.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-2___AEntj>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-3___yJC82>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-4___w3rA3>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C{min-height:var(--base-size-32);margin-block:calc(-1 * var(--base-size-8));border-radius:var(--brand-borderRadius-small)}.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-2___AEntj>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-3___yJC82>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-4___w3rA3>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D{position:absolute;inset-block-start:50%;inset-inline-start:calc(-1 * var(--brand-NavList-control-paddingInlineStart));transform:translateY(-50%)}.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-2___AEntj>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=true] .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-3___yJC82>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=true] .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-4___w3rA3>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=true] .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D{transform:translateY(-50%)rotate(-180deg)}.Primer_Brand__NavList-module__NavList__item___OceIg:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts).Primer_Brand__NavList-module__NavList__item--has-current-descendant___xFrMb>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=false] .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D{inset-inline-start:calc(-1 * var(--base-size-16))}.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-2___AEntj>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-3___yJC82>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-4___w3rA3>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-5___euPGq>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);order:2}.Primer_Brand__NavList-module__NavList__list--flat___wuoKR>.Primer_Brand__NavList-module__NavList__item--leaf___SN9hT>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk{font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200);letter-spacing:var(--brand-text-letterSpacing-200)}.Primer_Brand__NavList-module__NavList__item--leaf___SN9hT:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts)>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk{min-height:var(--base-size-32);border-radius:var(--brand-borderRadius-small)}.Primer_Brand__NavList-module__NavList__item--leaf___SN9hT:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts)>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__labelArea___N5Ya6{min-height:calc(var(--base-size-32) - var(--brand-borderWidth-thin));margin-block-end:var(--brand-borderWidth-thin)}.Primer_Brand__NavList-module__NavList__item--leaf___SN9hT:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts) .Primer_Brand__NavList-module__NavList__link___lJiXk[aria-current]:not([aria-current=false]){background-color:#0000}.Primer_Brand__NavList-module__NavList__item--leaf___SN9hT:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts)>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk:hover .Primer_Brand__NavList-module__NavList__labelArea___N5Ya6,.Primer_Brand__NavList-module__NavList__item--leaf___SN9hT:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts) .Primer_Brand__NavList-module__NavList__link___lJiXk[aria-current]:not([aria-current=false]) .Primer_Brand__NavList-module__NavList__labelArea___N5Ya6{background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__NavList-module__NavList__item--leaf___SN9hT:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts)>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk:hover{background-color:#0000}[data-color-mode=dark] .Primer_Brand__NavList-module__NavList___U7Jyj{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-reduced-motion:reduce){.Primer_Brand__NavList-module__NavList___U7Jyj,.Primer_Brand__NavList-module__NavList___U7Jyj:before,.Primer_Brand__NavList-module__NavList___U7Jyj:after,.Primer_Brand__NavList-module__NavList___U7Jyj *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--brand-IDE-height:50rem}:root,[data-color-mode=light]{--brand-IDE-default-bgColor:var(--base-color-scale-gray-1);--brand-IDE-default-editor-bgColor:var(--base-color-scale-white-0);--brand-IDE-default-editor-tabs-bgColor:var(--base-color-scale-gray-0);--brand-IDE-default-editor-tab-bgColor-rest:var(--base-color-scale-gray-0);--brand-IDE-default-editor-tab-bgColor-active:var(--base-color-scale-white-0);--brand-IDE-default-editor-tab-borderColor:var(--base-color-scale-blue-5);--brand-IDE-glass-bgColor-rest:#ffffffd9;--brand-IDE-glass-chat-bgColor:#ffffff0f;--brand-IDE-glass-editor-bgColor:#ffffff0f;--brand-IDE-glass-editor-tabs-bgColor:transparent;--brand-IDE-glass-editor-tab-bgColor-rest:#ffffff1a;--brand-IDE-glass-editor-tab-bgColor-active:#ffffff0f;--brand-IDE-borderColor:var(--brand-color-border-muted);--brand-IDE-autoSuggest-bgColor:#0969da;--brand-IDE-autoSuggest-fgColor:var(--base-color-scale-white-0);--brand-IDE-autoSuggest-borderColor:var(--base-color-scale-blue-5);--brand-IDE-autoSuggestLine-bgColor:var(--base-color-scale-blue-0);--brand-IDE-scrollBar-bgColor:transparent;--brand-IDE-scrollBar-fgColor:var(--base-color-scale-gray-2);--brand-IDE-playPauseControl-rest:var(--base-color-scale-gray-2);--brand-IDE-playPauseControl-hover:var(--base-color-scale-gray-3)}[data-color-mode=dark]{--brand-IDE-default-bgColor:#131337;--brand-IDE-default-editor-bgColor:#242538;--brand-IDE-default-editor-tabs-bgColor:linear-gradient(0deg, #0038ff05 0%, #0038ff05 100%), #17182c;--brand-IDE-default-editor-tab-bgColor-rest:#24253880;--brand-IDE-default-editor-tab-bgColor-active:#242538;--brand-IDE-default-editor-tab-borderColor:var(--base-color-scale-blue-5);--brand-IDE-glass-bgColor-rest:#000000b3;--brand-IDE-glass-chat-bgColor:#0000000f;--brand-IDE-glass-editor-bgColor:#242538c4;--brand-IDE-glass-editor-tabs-bgColor:transparent;--brand-IDE-glass-editor-tab-bgColor-rest:#24253880;--brand-IDE-glass-editor-tab-bgColor-active:#242538c4;--brand-IDE-borderColor:#171d22;--brand-IDE-autoSuggest-bgColor:#0969da;--brand-IDE-autoSuggest-fgColor:var(--base-color-scale-white-0);--brand-IDE-autoSuggest-borderColor:var(--base-color-scale-blue-5);--brand-IDE-autoSuggestLine-bgColor:var(--base-color-scale-blue-9);--brand-IDE-scrollBar-bgColor:transparent;--brand-IDE-scrollBar-fgColor:var(--base-color-scale-gray-5);--brand-IDE-playPauseControl-rest:#4d4e6a;--brand-IDE-playPauseControl-hover:#5a5b7c}.Primer_Brand__IDE-module__IDE__inner___C7yFe{--brand-IDE-lineNumber-width:45px;background:var(--brand-IDE-default-bgColor);border:var(--brand-borderWidth-thin) solid var(--brand-IDE-borderColor)}.Primer_Brand__IDE-module__IDE--glass___uVNlv{-webkit-backdrop-filter:blur(var(--base-size-12));backdrop-filter:blur(var(--base-size-12))}.Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__inner___C7yFe{background:var(--brand-IDE-glass-bgColor-rest);border-color:#0000!important}.Primer_Brand__IDE-module__IDE__main___UBKnG{width:100%;height:100%;display:flex}.Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__main___UBKnG{height:var(--brand-IDE-height)}.Primer_Brand__IDE-module__IDE--default___cSAvc .Primer_Brand__IDE-module__IDE__main___UBKnG{padding-top:var(--base-size-32)}.Primer_Brand__IDE-module__IDE__inner___C7yFe{width:100%;height:var(--brand-IDE-height);margin:calc(var(--base-size-12) - 2px) auto;border-radius:var(--brand-borderRadius-large);position:relative;overflow:hidden}.Primer_Brand__IDE-module__IDE__Chat___w081c{grid-gap:var(--base-size-16);gap:var(--base-size-16);color:var(--brand-color-text-default);flex-direction:column;grid-area:pane;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__Chat___w081c{background:var(--brand-IDE-glass-chat-bgColor)}.Primer_Brand__IDE-module__IDE--full-exp___QszuK .Primer_Brand__IDE-module__IDE__Chat___w081c{min-width:300px;max-width:450px}@media screen and (width<=63.24rem){.Primer_Brand__IDE-module__IDE--full-exp___QszuK .Primer_Brand__IDE-module__IDE__Chat___w081c{display:none}}.Primer_Brand__IDE-module__IDE__Chat-wrapper___chroS{display:contents}.Primer_Brand__IDE-module__IDE__Chat-message-user___AhfYF{gap:var(--base-size-8);align-items:center;display:inline-flex}.Primer_Brand__IDE-module__IDE__Chat-messages___EcZF_{scrollbar-width:thin;scrollbar-color:var(--brand-IDE-scrollBar-fgColor) var(--brand-IDE-scrollBar-bgColor);height:calc(100% - 78px);overflow-y:scroll}.Primer_Brand__IDE-module__IDE__Chat-messages___EcZF_::-webkit-scrollbar{width:var(--base-size-12)}.Primer_Brand__IDE-module__IDE__Chat-messages___EcZF_::-webkit-scrollbar-track{background:var(--brand-IDE-scrollBar-bgColor)}.Primer_Brand__IDE-module__IDE__Chat-messages___EcZF_::-webkit-scrollbar-thumb{background-color:var(--brand-IDE-scrollBar-fgColor);border-radius:var(--base-size-20);border:var(--brand-borderRadius-small) solid var(--brand-IDE-scrollBar-bgColor)}.Primer_Brand__IDE-module__IDE__Chat-input-area___OJkxC{bottom:var(--base-size-16);width:100%;padding:0 var(--base-size-20);opacity:.5;position:absolute}.Primer_Brand__IDE-module__IDE__Chat-input___XXUIS{border-color:var(--brand-color-border-default);background:var(--brand-IDE-default-bgColor)!important;color:var(--brand-color-text-muted)!important;-webkit-text-fill-color:var(--brand-color-text-muted)!important}.Primer_Brand__IDE-module__IDE__Chat-input-area___OJkxC svg{fill:var(--brand-color-text-muted)}.Primer_Brand__IDE-module__IDE__Chat-message-content___yFYul{margin-top:var(--base-size-16)}.Primer_Brand__IDE-module__IDE__Chat-message-snippet___DAl6x{background-color:var(--brand-IDE-default-editor-bgColor);overflow-x:hidden}.Primer_Brand__IDE-module__IDE__Chat-message___LMwct{font-family:var(--brand-fontStack-sansSerif);font-size:var(--base-size-16);border-bottom:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding:var(--base-size-20);opacity:0;transform:translateY(var(--brand-animation-variant-slideInDown-distance));transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), transform var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__IDE-module__IDE__Chat-message--visible___hq0hB{opacity:1;transform:translateY(0)}.Primer_Brand__IDE-module__IDE__Chat-message--faded___Mj7EF{opacity:.5}.Primer_Brand__IDE-module__IDE__Chat-message___LMwct pre{border:var(--brand-borderWidth-thick) solid var(--brand-color-border-default);padding:var(--base-size-16);border-radius:var(--brand-borderRadius-large);font-family:var(--brand-fontStack-monospace);font-size:calc(var(--base-size-12) + 2px)!important}.Primer_Brand__IDE-module__IDE__Editor___MkJjR{flex-direction:column;grid-area:editor;width:100%;height:100%;display:flex}.Primer_Brand__IDE-module__IDE--default___cSAvc .Primer_Brand__IDE-module__IDE__Editor___MkJjR{width:100%;padding-left:var(--base-size-20)}.Primer_Brand__IDE-module__IDE__Editor-tabs___zFwQA{background:var(--brand-IDE-default-editor-tabs-bgColor);display:inline-flex;overflow-x:auto}.Primer_Brand__IDE-module__IDE--default___cSAvc .Primer_Brand__IDE-module__IDE__Editor-tabs___zFwQA{background:var(--brand-IDE-default-editor-tabs-bgColor)}.Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__Editor-tabs___zFwQA{background:var(--brand-IDE-glass-editor-tabs-bgColor)}.Primer_Brand__IDE-module__IDE__Editor-tab___lY6lZ{padding:var(--base-size-8) var(--base-size-12);align-items:center;gap:var(--base-size-4);font:inherit;font-family:var(--brand-fontStack-monospace);font-size:calc(var(--base-size-12) + 2px);color:var(--brand-color-text-muted);cursor:pointer;transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);opacity:1;border:none;flex-shrink:0;display:flex}.Primer_Brand__IDE-module__IDE--default___cSAvc .Primer_Brand__IDE-module__IDE__Editor-tab___lY6lZ{background:var(--brand-IDE-default-editor-tab-bgColor-rest)}.Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__Editor-tab___lY6lZ{background:var(--brand-IDE-glass-editor-tab-bgColor-rest)}.Primer_Brand__IDE-module__IDE__Editor-tab--active___FuQ4L{color:var(--brand-color-text-default);border-top:var(--brand-borderWidth-thin) solid var(--brand-IDE-default-editor-tab-borderColor);z-index:1}.Primer_Brand__IDE-module__IDE--default___cSAvc .Primer_Brand__IDE-module__IDE__Editor-tab--active___FuQ4L{background:var(--brand-IDE-default-editor-tab-bgColor-active)}.Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__Editor-tab___lY6lZ{color:var(--brand-color-text-muted);background:0 0}.Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__Editor-tab--active___FuQ4L{color:var(--brand-color-text-default);background:var(--brand-IDE-glass-editor-tab-bgColor-active)}.Primer_Brand__IDE-module__IDE--full-exp___QszuK.Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__Editor-tab--active___FuQ4L{background:var(--brand-IDE-default-editor-bgColor)}.Primer_Brand__IDE-module__IDE__Editor-tab___lY6lZ:hover{color:var(--brand-color-text-default)}.Primer_Brand__IDE-module__IDE__Editor-tab___lY6lZ[disabled]{cursor:not-allowed;opacity:.7;color:var(--brand-color-text-muted)!important}.Primer_Brand__IDE-module__IDE__Editor-tab-close-icon___jxo0b{width:var(--base-size-12);height:var(--base-size-12);fill:var(--brand-color-text-muted);margin-inline-start:var(--base-size-4)}img.Primer_Brand__IDE-module__IDE__Editor-tab-icon___IyrSp{width:var(--base-size-16);height:var(--base-size-16);filter:grayscale(10%)}.Primer_Brand__IDE-module__IDE__Editor-tab___lY6lZ:hover .Primer_Brand__IDE-module__IDE__Editor-tab-close-icon___jxo0b{fill:var(--brand-color-text-default)}.Primer_Brand__IDE-module__IDE__Editor-content___qUzu5{height:100%;padding-top:var(--base-size-16);overflow-x:auto}.Primer_Brand__IDE-module__IDE--default___cSAvc .Primer_Brand__IDE-module__IDE__Editor-content___qUzu5{background:var(--brand-IDE-default-editor-bgColor)}.Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__Editor-content___qUzu5{background:var(--brand-IDE-glass-editor-bgColor);border-bottom-left-radius:var(--brand-borderRadius-large)}.Primer_Brand__IDE-module__IDE--full-exp___QszuK.Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__Editor-content___qUzu5{background:var(--brand-IDE-default-editor-bgColor)}.Primer_Brand__IDE-module__IDE__Editor-pane___ZQjcs{margin:0}.Primer_Brand__IDE-module__IDE__Editor-content-wrapper___gb9HC{display:flex}.Primer_Brand__IDE-module__IDE__Editor-content-inner___HAje_{flex:1}.Primer_Brand__IDE-module__IDE__Editor--small____cDnd .Primer_Brand__IDE-module__IDE__Editor-pane___ZQjcs,.Primer_Brand__IDE-module__IDE__Editor--small____cDnd .Primer_Brand__IDE-module__IDE__Editor-lineNumbers___t0wju{font-size:calc(var(--base-size-12) - 1px)!important;line-height:calc(var(--base-size-16) + 2px)!important}.Primer_Brand__IDE-module__IDE__Editor--medium___Nihdg .Primer_Brand__IDE-module__IDE__Editor-pane___ZQjcs,.Primer_Brand__IDE-module__IDE__Editor--medium___Nihdg .Primer_Brand__IDE-module__IDE__Editor-lineNumbers___t0wju{font-size:.875rem!important;line-height:19.9px!important}.Primer_Brand__IDE-module__IDE__Editor--large___YlfAf .Primer_Brand__IDE-module__IDE__Editor-pane___ZQjcs,.Primer_Brand__IDE-module__IDE__Editor--large___YlfAf .Primer_Brand__IDE-module__IDE__Editor-lineNumbers___t0wju{font-size:1.125rem!important;line-height:var(--base-size-24)!important}.Primer_Brand__IDE-module__IDE__Editor-pane--suggested___IXAF0{margin-left:calc(-1 * var(--brand-IDE-lineNumber-width));background-color:var(--brand-IDE-autoSuggestLine-bgColor);border-left:var(--brand-borderWidth-thin) solid var(--brand-IDE-autoSuggest-borderColor);padding-left:calc(var(--base-size-64) - 1px)!important}.Primer_Brand__IDE-module__IDE__Editor-lineNumbers___t0wju{z-index:1;font-family:var(--brand-fontStack-monospace);font-weight:var(--brand-text-weight-200);font-feature-settings:"liga" 0, "calt" 0;font-variation-settings:normal;letter-spacing:0;flex:0 0 var(--brand-IDE-lineNumber-width)}.Primer_Brand__IDE-module__IDE__Editor-lineNumber___vSZSt{padding:0 var(--base-size-8);text-align:right;color:var(--brand-color-text-muted);-webkit-user-select:none;user-select:none;cursor:default;white-space:nowrap;text-overflow:ellipsis;display:block;position:relative;overflow:hidden}.Primer_Brand__IDE-module__IDE__Editor-lineNumber-text___Ws1Hq{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;vertical-align:middle;box-sizing:border-box;cursor:default;height:100%;display:inline-block;position:absolute}.Primer_Brand__IDE-module__IDE__Editor___MkJjR pre{color:var(--brand-color-text-default);font-family:var(--brand-fontStack-monospace);padding-left:calc(var(--base-size-64) - var(--brand-IDE-lineNumber-width))}pre.Primer_Brand__IDE-module__IDE__Chat-copilot-indicator___FhoZe{background-color:var(--brand-IDE-autoSuggest-bgColor);padding-left:0;padding:var(--base-size-8) var(--base-size-24);border-radius:var(--brand-borderRadius-small);gap:var(--base-size-16);margin:var(--base-size-4) 0 0 var(--base-size-16);display:inline-flex;box-shadow:-9px 10px 39px #00000040}.Primer_Brand__IDE-module__IDE__Chat-copilot-indicator-label___IWynN{color:var(--brand-IDE-autoSuggest-fgColor);fill:var(--brand-IDE-autoSuggest-fgColor)}.Primer_Brand__IDE-module__IDE__play-pause-button___MKdFP{cursor:pointer;bottom:var(--base-size-16);right:var(--base-size-16);width:var(--base-size-48);height:var(--base-size-48);border-radius:var(--brand-borderRadius-full);background-color:var(--brand-IDE-playPauseControl-rest);transition:background-color var(--brand-animation-duration-faster);border:none;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute}.Primer_Brand__IDE-module__IDE__play-pause-button___MKdFP:hover{background-color:var(--brand-IDE-playPauseControl-hover)}.Primer_Brand__IDE-module__IDE__play-pause-button___MKdFP:focus-visible{outline:var(--base-size-4) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__IDE-module__IDE__play-pause-button___MKdFP svg{width:var(--base-size-16);height:var(--base-size-16)}.Primer_Brand__IDE-module__IDE__play-pause-button___MKdFP path{fill:var(--brand-button-subtle-fgColor-rest)}.Primer_Brand__IDE-module__IDE--chat-only___GsGvX .Primer_Brand__IDE-module__IDE__Chat-input-area___OJkxC{width:calc(100% - var(--base-size-64))}.Primer_Brand__IDE-module__IDE--chat-only___GsGvX .Primer_Brand__IDE-module__IDE__play-pause-button___MKdFP{background-color:var(--brand-IDE-playPauseControl-rest)}.Primer_Brand__IDE-module__IDE--chat-only___GsGvX .Primer_Brand__IDE-module__IDE__play-pause-button___MKdFP:hover{background-color:var(--brand-IDE-playPauseControl-hover)}@media (prefers-reduced-motion:reduce){.Primer_Brand__IDE-module__IDE___QDJIE,.Primer_Brand__IDE-module__IDE___QDJIE:before,.Primer_Brand__IDE-module__IDE___QDJIE:after,.Primer_Brand__IDE-module__IDE___QDJIE *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root,[data-color-mode=light]{--brand-breadcrumbs-separator-borderColor:var(--base-color-scale-gray-6)}[data-color-mode=dark]{--brand-breadcrumbs-separator-borderColor:var(--base-color-scale-gray-1)}.Primer_Brand__Breadcrumbs-module__Breadcrumbs___ANvyl{font-family:var(--brand-fontStack-sansSerif);justify-content:space-between;display:flex}@media screen and (width<=63.25rem){.Primer_Brand__Breadcrumbs-module__Breadcrumbs___ANvyl{-webkit-overflow-scrolling:touch;overflow-x:auto}}.Primer_Brand__Breadcrumbs-module__Breadcrumbs--default___q2JxW{--brand-InlineLink-color-rest:var(--brand-color-text-default);--brand-InlineLink-color-pressed:var(--brand-color-text-default)}.Primer_Brand__Breadcrumbs-module__Breadcrumbs__list___S1xLw{margin:0;padding-inline-start:0}@media screen and (width<=63.25rem){.Primer_Brand__Breadcrumbs-module__Breadcrumbs__list___S1xLw{display:inline-flex}}.Primer_Brand__Breadcrumbs-module__Breadcrumbs__item___IX25P{white-space:nowrap;list-style:none;display:inline-block}.Primer_Brand__Breadcrumbs-module__Breadcrumbs__item___IX25P:after{content:"";height:.8em;margin:0 var(--base-size-12);border-right:var(--brand-borderWidth-thin) solid var(--brand-breadcrumbs-separator-borderColor);display:inline-block;transform:rotate(15deg)translateY(.0625em)}.Primer_Brand__Breadcrumbs-module__Breadcrumbs__item___IX25P:first-child{margin-left:0}.Primer_Brand__Breadcrumbs-module__Breadcrumbs__item___IX25P:last-child:after{content:none}.Primer_Brand__Breadcrumbs-module__Breadcrumbs__link___B3gbd{font-size:var(--brand-text-size-100);-webkit-text-decoration:none;text-decoration:none;display:inline-block}@media screen and (width<=63.25rem){.Primer_Brand__Breadcrumbs-module__Breadcrumbs__link___B3gbd{white-space:nowrap}}.Primer_Brand__Breadcrumbs-module__Breadcrumbs__link___B3gbd:hover,.Primer_Brand__Breadcrumbs-module__Breadcrumbs__link___B3gbd:focus{-webkit-text-decoration:underline;text-decoration:underline}.Primer_Brand__Breadcrumbs-module__Breadcrumbs__link--selected___zP0bj{color:var(--brand-color-text-default);pointer-events:none;font-weight:inherit;letter-spacing:inherit}.Primer_Brand__Breadcrumbs-module__Breadcrumbs--default___q2JxW .Primer_Brand__Breadcrumbs-module__Breadcrumbs__link--selected___zP0bj{color:var(--brand-color-text-muted)}.Primer_Brand__Breadcrumbs-module__Breadcrumbs__link--selected___zP0bj:focus{-webkit-text-decoration:none;text-decoration:none}:root{--brand-Section-variant-gridline-paddingInline:var(--base-size-20);--brand-Section-container-maxWidth:80rem;--brand-Section-padding-spacious:var(--base-size-64);--brand-Section-padding-normal:var(--base-size-48);--brand-Section-padding-condensed:var(--base-size-16)}@media (width>=768px){:root{--brand-Section-variant-gridline-paddingInline:var(--base-size-40);--brand-Section-padding-spacious:var(--base-size-80);--brand-Section-padding-normal:var(--base-size-64);--brand-Section-padding-condensed:var(--base-size-32)}}@media (width>=1024px){:root{--brand-Section-padding-spacious:var(--base-size-128);--brand-Section-padding-normal:var(--base-size-96);--brand-Section-padding-condensed:var(--base-size-48)}}@media (width>=1280px){:root{--brand-Section-variant-gridline-paddingInline:var(--base-size-64)}}.Primer_Brand__Section-module__Section___wNnZR{--rounded-padding-overlap-adjustment:0px;--rounded-radius:var(--brand-borderRadius-xlarge);--padding-block-start:var(--brand-Section-padding-normal);--padding-block-end:var(--brand-Section-padding-normal);--adjusted-padding-block-end:calc(var(--padding-block-end) + var(--rounded-padding-overlap-adjustment));background-repeat:no-repeat;background-color:var(--brand-Section-narrow-background-color,var(--brand-Section-background-color));background-image:var(--brand-Section-narrow-background-image-src,var(--brand-Section-background-image-src));background-size:var(--brand-Section-narrow-background-image-size,var(--brand-Section-background-image-size));background-position:50%;background-position:var(--brand-Section-narrow-background-image-position,var(--brand-Section-background-image-position,center));padding-block-start:var(--padding-block-start);padding-block-end:var(--adjusted-padding-block-end)}.Primer_Brand__Section-module__Section__container___irc5A{width:100%;max-width:var(--brand-Section-container-maxWidth);margin-inline:auto}.Primer_Brand__Section-module__Section__container--fullWidth___LwJV7{max-width:none}.Primer_Brand__Section-module__Section--variant-gridline___ULwen .Primer_Brand__Section-module__Section__container___irc5A{padding-inline:var(--brand-Section-variant-gridline-paddingInline)}.Primer_Brand__Section-module__Section--variant-gridline___ULwen .Primer_Brand__Section-module__Section__container--fullWidth___LwJV7{padding-inline:0}.Primer_Brand__Section-module__Section___wNnZR.Primer_Brand__Section-module__Section--variant-gridline___ULwen:after{bottom:calc(-1 * var(--brand-borderWidth-thin))}.Primer_Brand__Section-module__Section--rounded___y86mS{border-radius:var(--rounded-radius) var(--rounded-radius) 0 0;margin-top:calc(-1 * var(--rounded-radius))}.Primer_Brand__Section-module__Section___wNnZR:has(+.Primer_Brand__Section-module__Section--rounded___y86mS){--rounded-padding-overlap-adjustment:var(--rounded-radius)}.Primer_Brand__Section-module__Section--paddingBlockStart-none___q_KT1,.Primer_Brand__Section-module__Section-narrow--paddingBlockStart-none___VKaUr{--padding-block-start:0}.Primer_Brand__Section-module__Section--paddingBlockStart-condensed___jXPMP,.Primer_Brand__Section-module__Section-narrow--paddingBlockStart-condensed___MM1ai{--padding-block-start:var(--brand-Section-padding-condensed)}.Primer_Brand__Section-module__Section--paddingBlockStart-normal___okSnn,.Primer_Brand__Section-module__Section-narrow--paddingBlockStart-normal___EIj1h{--padding-block-start:var(--brand-Section-padding-normal)}.Primer_Brand__Section-module__Section--paddingBlockStart-spacious___Dbzh2,.Primer_Brand__Section-module__Section-narrow--paddingBlockStart-spacious___r_4fG{--padding-block-start:var(--brand-Section-padding-spacious)}.Primer_Brand__Section-module__Section--paddingBlockEnd-none___OPMCW,.Primer_Brand__Section-module__Section-narrow--paddingBlockEnd-none___PaxIA{--padding-block-end:0px}.Primer_Brand__Section-module__Section--paddingBlockEnd-condensed___Iq2bF,.Primer_Brand__Section-module__Section-narrow--paddingBlockEnd-condensed___Nmq0F{--padding-block-end:var(--brand-Section-padding-condensed)}.Primer_Brand__Section-module__Section--paddingBlockEnd-normal___wlGa4,.Primer_Brand__Section-module__Section-narrow--paddingBlockEnd-normal___aMtgm{--padding-block-end:var(--brand-Section-padding-normal)}.Primer_Brand__Section-module__Section--paddingBlockEnd-spacious___BFFzY,.Primer_Brand__Section-module__Section-narrow--paddingBlockEnd-spacious___LGxf3{--padding-block-end:var(--brand-Section-padding-spacious)}@media screen and (width>=48rem){.Primer_Brand__Section-module__Section___wNnZR{background-color:var(--brand-Section-regular-background-color,var(--brand-Section-background-color));background-image:var(--brand-Section-regular-background-image-src,var(--brand-Section-background-image-src));background-size:var(--brand-Section-regular-background-image-size,var(--brand-Section-background-image-size));background-position:var(--brand-Section-regular-background-image-position,var(--brand-Section-background-image-position))}.Primer_Brand__Section-module__Section-regular--paddingBlockStart-none___HgDah{--padding-block-start:0}.Primer_Brand__Section-module__Section-regular--paddingBlockStart-condensed___JTztM{--padding-block-start:var(--brand-Section-padding-condensed)}.Primer_Brand__Section-module__Section-regular--paddingBlockStart-normal___JTsVr{--padding-block-start:var(--brand-Section-padding-normal)}.Primer_Brand__Section-module__Section-regular--paddingBlockStart-spacious___q_eWC{--padding-block-start:var(--brand-Section-padding-spacious)}.Primer_Brand__Section-module__Section-regular--paddingBlockEnd-none___lPDsS{--padding-block-end:0px}.Primer_Brand__Section-module__Section-regular--paddingBlockEnd-condensed___uRtvc{--padding-block-end:var(--brand-Section-padding-condensed)}.Primer_Brand__Section-module__Section-regular--paddingBlockEnd-normal___gtZb4{--padding-block-end:var(--brand-Section-padding-normal)}.Primer_Brand__Section-module__Section-regular--paddingBlockEnd-spacious___SalhC{--padding-block-end:var(--brand-Section-padding-spacious)}}@media screen and (width>=80rem){.Primer_Brand__Section-module__Section___wNnZR{background-color:var(--brand-Section-wide-background-color,var(--brand-Section-background-color));background-image:var(--brand-Section-wide-background-image-src,var(--brand-Section-background-image-src));background-size:var(--brand-Section-wide-background-image-size,var(--brand-Section-background-image-size));background-position:var(--brand-Section-wide-background-image-position,var(--brand-Section-background-image-position))}.Primer_Brand__Section-module__Section-wide--paddingBlockStart-none___aIgHE{--padding-block-start:0}.Primer_Brand__Section-module__Section-wide--paddingBlockStart-condensed___daJpd{--padding-block-start:var(--brand-Section-padding-condensed)}.Primer_Brand__Section-module__Section-wide--paddingBlockStart-normal___J4uxA{--padding-block-start:var(--brand-Section-padding-normal)}.Primer_Brand__Section-module__Section-wide--paddingBlockStart-spacious___wje1J{--padding-block-start:var(--brand-Section-padding-spacious)}.Primer_Brand__Section-module__Section-wide--paddingBlockEnd-none___FjpEH{--padding-block-end:0px}.Primer_Brand__Section-module__Section-wide--paddingBlockEnd-condensed___Lijsj{--padding-block-end:var(--brand-Section-padding-condensed)}.Primer_Brand__Section-module__Section-wide--paddingBlockEnd-normal___u9c2A{--padding-block-end:var(--brand-Section-padding-normal)}.Primer_Brand__Section-module__Section-wide--paddingBlockEnd-spacious___zMr50{--padding-block-end:var(--brand-Section-padding-spacious)}.Primer_Brand__Section-module__Section--variant-gridline___ULwen .Primer_Brand__Section-module__Section__container___irc5A:not(.Primer_Brand__Section-module__Section__container--fullWidth___LwJV7){border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);position:relative}.Primer_Brand__Section-module__Section--variant-gridline___ULwen .Primer_Brand__Section-module__Section__container___irc5A:not(.Primer_Brand__Section-module__Section__container--fullWidth___LwJV7):before,.Primer_Brand__Section-module__Section--variant-gridline___ULwen .Primer_Brand__Section-module__Section__container___irc5A:not(.Primer_Brand__Section-module__Section__container--fullWidth___LwJV7):after{content:"";width:var(--brand-borderWidth-thin);background-color:var(--brand-color-border-muted);pointer-events:none;position:absolute;inset-block-start:calc(-1 * var(--padding-block-start));inset-block-end:calc(-1 * var(--adjusted-padding-block-end))}.Primer_Brand__Section-module__Section--variant-gridline___ULwen .Primer_Brand__Section-module__Section__container___irc5A:not(.Primer_Brand__Section-module__Section__container--fullWidth___LwJV7):before{inset-inline-start:calc(-1 * var(--brand-borderWidth-thin))}.Primer_Brand__Section-module__Section--variant-gridline___ULwen .Primer_Brand__Section-module__Section__container___irc5A:not(.Primer_Brand__Section-module__Section__container--fullWidth___LwJV7):after{inset-inline-end:calc(-1 * var(--brand-borderWidth-thin))}}:root{--brand-Statistic-spacing-spacious:2rem;--brand-Statistic-spacing-normal:1.5rem;--brand-Statistic-spacing-condensed:1rem}.Primer_Brand__Statistic-module__Statistic___sB6bA img,.Primer_Brand__Statistic-module__Statistic___sB6bA picture{display:block}.Primer_Brand__Statistic-module__Statistic--variant-boxed___X9IAB{background-color:var(--brand-color-canvas-subtle);border-radius:var(--brand-borderRadius-large)}.Primer_Brand__Statistic-module__Statistic--variant-boxed___X9IAB,.Primer_Brand__Statistic-module__Statistic--variant-boxed___X9IAB.Primer_Brand__Statistic-module__Statistic--padding-none___mZRAE{padding:var(--brand-Statistic-spacing-spacious)}.Primer_Brand__Statistic-module__Statistic--padding-none___mZRAE{padding:0}.Primer_Brand__Statistic-module__Statistic--padding-condensed___JhuYL{padding:var(--brand-Statistic-spacing-condensed)}.Primer_Brand__Statistic-module__Statistic--padding-normal___JcofR{padding:var(--brand-Statistic-spacing-normal)}.Primer_Brand__Statistic-module__Statistic--padding-spacious___njBos{padding:var(--brand-Statistic-spacing-spacious)}.Primer_Brand__Statistic-module__Statistic--narrow-padding-condensed___MWqsG{padding:var(--brand-box-spacing-condensed)}.Primer_Brand__Statistic-module__Statistic--narrow-padding-normal___yCtE0{padding:var(--brand-box-spacing-normal)}.Primer_Brand__Statistic-module__Statistic--narrow-padding-spacious___iSeZl{padding:var(--base-size-32)}.Primer_Brand__Statistic-module__Statistic--narrow-padding-none___D1xJU{padding:0}@media screen and (width>=48rem){.Primer_Brand__Statistic-module__Statistic--regular-padding-condensed___kJuH6{padding:var(--brand-Statistic-spacing-condensed)}.Primer_Brand__Statistic-module__Statistic--regular-padding-normal___UZq0p{padding:var(--brand-Statistic-spacing-normal)}.Primer_Brand__Statistic-module__Statistic--regular-padding-spacious___MODDU{padding:var(--brand-Statistic-spacing-spacious)}.Primer_Brand__Statistic-module__Statistic--regular-padding-none___fR2Ho{padding:0}}@media screen and (width>=80rem){.Primer_Brand__Statistic-module__Statistic--wide-padding-condensed___KVY9L{padding:var(--brand-Statistic-spacing-condensed)}.Primer_Brand__Statistic-module__Statistic--wide-padding-normal___WJhTd{padding:var(--brand-Statistic-spacing-normal)}.Primer_Brand__Statistic-module__Statistic--wide-padding-spacious___cnjbs{padding:var(--brand-Statistic-spacing-spacious)}.Primer_Brand__Statistic-module__Statistic--wide-padding-none____fUci{padding:0}}.Primer_Brand__Statistic-module__Statistic__heading___xQ8Ki{position:relative}.Primer_Brand__Statistic-module__Statistic__heading___xQ8Ki sup{font-size:var(--brand-text-size-100);line-height:0;font-weight:var(--brand-text-weight-100);vertical-align:top;top:var(--base-size-6);font-stretch:100%;position:relative}.Primer_Brand__Statistic-module__Statistic__heading___xQ8Ki sup a{padding:var(--base-size-4);line-height:1;display:inline-block}.Primer_Brand__Statistic-module__Statistic__description--accent___wZsb5{color:var(--brand-color-accent-primary)}.Primer_Brand__Statistic-module__Statistic__description___I2lpL{margin-block-start:var(--base-size-8);font-stretch:100%;display:block;position:relative}.Primer_Brand__Statistic-module__Statistic__description___I2lpL sup{font-size:var(--brand-text-size-100);vertical-align:top;line-height:0;position:relative;top:0}.Primer_Brand__Statistic-module__Statistic__description___I2lpL sup a{padding:var(--base-size-4);line-height:1;display:inline-block}.Primer_Brand__BreakoutBanner-module__BreakoutBanner___OholM{max-width:var(--brand-breakpoint-xlarge);border-radius:var(--brand-borderRadius-large);background-repeat:no-repeat;background-color:var(--brand-BreakoutBanner-narrow-background-color,var(--brand-BreakoutBanner-background-color));background-image:var(--brand-BreakoutBanner-narrow-background-image-src,var(--brand-BreakoutBanner-background-image-src));background-size:var(--brand-BreakoutBanner-narrow-background-image-size,var(--brand-BreakoutBanner-background-image-size));background-position:50%;background-position:var(--brand-BreakoutBanner-narrow-background-image-position,var(--brand-BreakoutBanner-background-image-position,center));width:100%;margin:0 auto;display:flex;position:relative}.Primer_Brand__BreakoutBanner-module__BreakoutBanner-container___X145s{border-radius:var(--brand-borderRadius-xlarge);padding:var(--base-size-40) var(--base-size-24) var(--base-size-128);z-index:1;box-sizing:border-box;width:100%}.Primer_Brand__BreakoutBanner-module__BreakoutBanner-content___WPxKC{flex-direction:column;align-items:flex-start;display:flex}.Primer_Brand__BreakoutBanner-module__BreakoutBanner-container--background___i0tOy{background:var(--brand-BreakoutBanner-bgColor)}.Primer_Brand__BreakoutBanner-module__BreakoutBanner-content--center___mDWpD{text-align:center;align-items:center}.Primer_Brand__BreakoutBanner-module__BreakoutBanner__heading___mnzmT{max-width:20ch}.Primer_Brand__BreakoutBanner-module__BreakoutBanner-description___xrWUJ{max-width:54ch;margin-block-start:var(--base-size-16)}.Primer_Brand__BreakoutBanner-module__BreakoutBanner-linkGroup___s8PUk{margin-block-start:var(--base-size-48)}.Primer_Brand__BreakoutBanner-module__BreakoutBanner-leadingVisual___lIc6l{margin-block-end:var(--base-size-48)}.Primer_Brand__BreakoutBanner-module__BreakoutBanner-leadingVisual___lIc6l img,.Primer_Brand__BreakoutBanner-module__BreakoutBanner-leadingVisual___lIc6l picture{display:block}@media screen and (width>=48rem){.Primer_Brand__BreakoutBanner-module__BreakoutBanner___OholM{background-color:var(--brand-BreakoutBanner-regular-background-color,var(--brand-BreakoutBanner-background-color));background-image:var(--brand-BreakoutBanner-regular-background-image-src,var(--brand-BreakoutBanner-background-image-src));background-size:var(--brand-BreakoutBanner-regular-background-image-size,var(--brand-BreakoutBanner-background-image-size));background-position:var(--brand-BreakoutBanner-regular-background-image-position,var(--brand-BreakoutBanner-background-image-position))}.Primer_Brand__BreakoutBanner-module__BreakoutBanner-container___X145s{padding:var(--base-size-48)}}@media screen and (width>=80rem){.Primer_Brand__BreakoutBanner-module__BreakoutBanner___OholM{background-color:var(--brand-BreakoutBanner-wide-background-color,var(--brand-BreakoutBanner-background-color));background-image:var(--brand-BreakoutBanner-wide-background-image-src,var(--brand-BreakoutBanner-background-image-src));background-size:var(--brand-BreakoutBanner-wide-background-image-size,var(--brand-BreakoutBanner-background-image-size));background-position:var(--brand-BreakoutBanner-wide-background-image-position,var(--brand-BreakoutBanner-background-image-position))}}.Primer_Brand__Footnotes-module__Footnotes___EvN5V{padding-block:var(--base-size-80);gap:var(--base-size-12);flex-direction:column;display:flex}.Primer_Brand__Footnotes-module__Footnotes--variant-citations___bUHtk{font-family:var(--brand-body-fontFamily);font-weight:var(--brand-text-weight-100);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);letter-spacing:var(--brand-text-letterSpacing-100);color:var(--brand-color-text-muted);margin:0;padding-inline-start:var(--base-size-16)}.Primer_Brand__Footnotes-module__Footnotes--variant-citations___bUHtk .Primer_Brand__Footnotes-module__FootnotesItem___QQCwY{padding-inline-start:var(--base-size-12)}.Primer_Brand__Footnotes-module__FootnotesItem___QQCwY{scroll-margin-top:80px}.Primer_Brand__Footnotes-module__FootnotesItem__citationIcon___HeITw{margin-inline-start:var(--base-size-4);transform:scaleY(-1)}.Primer_Brand__Footnotes-module__FootnotesItem__citationText___s2efV{gap:var(--base-size-4);display:inline}:root{--brand-FrostedGlassVFX-blurIntensity-high:var(--base-size-80);--brand-FrostedGlassVFX-blurIntensity-medium:var(--base-size-48);--brand-FrostedGlassVFX-blurIntensity-low:var(--base-size-12)}:root,[data-color-mode=light]{--brand-FrostedGlassVFX-bgColor:#ffffffb3;--brand-FrostedGlassVFX-boxShadow:0 4px 10px 0 #00000005;--brand-FrostedGlassVFX-borderMask:linear-gradient(to bottom, #d8dee480, #d8dee45e 100%)}[data-color-mode=dark]{--brand-FrostedGlassVFX-bgColor:#9c9c9c1a;--brand-FrostedGlassVFX-boxShadow:0 4px 10px 0 #00000005;--brand-FrostedGlassVFX-borderMask:linear-gradient(#000 0, #000 0) exclude, linear-gradient(#000 0, #000 0) content-box}@supports (background:linear-gradient(red 0%, red 0% 1%, red 2%)){[data-color-mode=dark]{--brand-FrostedGlassVFX-borderMask:linear-gradient(#000 0 0) exclude, linear-gradient(#000 0 0) content-box}}.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX___DrCGZ{background-color:var(--brand-FrostedGlassVFX-bgColor);position:relative}.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX--rounded-corners___V4gcI{border-radius:var(--brand-borderRadius-xlarge)}.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX--intensity-low___a87yo{-webkit-backdrop-filter:blur(var(--brand-FrostedGlassVFX-blurIntensity-low));backdrop-filter:blur(var(--brand-FrostedGlassVFX-blurIntensity-low))}.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX--intensity-medium___z1VQ1{-webkit-backdrop-filter:blur(var(--brand-FrostedGlassVFX-blurIntensity-medium));backdrop-filter:blur(var(--brand-FrostedGlassVFX-blurIntensity-medium))}.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX--intensity-high___kUSHI{-webkit-backdrop-filter:blur(var(--brand-FrostedGlassVFX-blurIntensity-high));backdrop-filter:blur(var(--brand-FrostedGlassVFX-blurIntensity-high))}.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX___DrCGZ:before{content:"";z-index:-1;padding:var(--brand-borderWidth-thin);background:var(--brand-FrostedGlassVFX-borderMask);-webkit-mask:linear-gradient(var(--base-color-scale-black-0) 0, var(--base-color-scale-black-0) 0), linear-gradient(var(--base-color-scale-black-0) 0, var(--base-color-scale-black-0) 0) content-box;-webkit-mask-composite:xor;-webkit-mask:linear-gradient(var(--base-color-scale-black-0) 0, var(--base-color-scale-black-0) 0), linear-gradient(var(--base-color-scale-black-0) 0, var(--base-color-scale-black-0) 0) content-box;-webkit-mask-composite:xor;-webkit-mask:linear-gradient(var(--base-color-scale-black-0) 0, var(--base-color-scale-black-0) 0) exclude, linear-gradient(var(--base-color-scale-black-0) 0, var(--base-color-scale-black-0) 0) content-box;mask:linear-gradient(var(--base-color-scale-black-0) 0, var(--base-color-scale-black-0) 0) exclude, linear-gradient(var(--base-color-scale-black-0) 0, var(--base-color-scale-black-0) 0) content-box;-webkit-mask-composite:xor;position:absolute;inset:0}@supports (background:linear-gradient(red 0%, red 0% 1%, red 2%)){.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX___DrCGZ:before{-webkit-mask:linear-gradient(var(--base-color-scale-black-0) 0 0), linear-gradient(var(--base-color-scale-black-0) 0 0) content-box;-webkit-mask:linear-gradient(var(--base-color-scale-black-0) 0 0) exclude, linear-gradient(var(--base-color-scale-black-0) 0 0) content-box;mask:linear-gradient(var(--base-color-scale-black-0) 0 0) exclude, linear-gradient(var(--base-color-scale-black-0) 0 0) content-box}}.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX--rounded-corners___V4gcI:before{border-radius:var(--brand-borderRadius-xlarge)}.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX___DrCGZ>*{background-color:#0000}.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX___DrCGZ>*,.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX___DrCGZ>:before{border-color:#0000}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked___ngJ17{--brand-Grid-spacing-row:var(--base-size-64)}@media screen and (width>=48rem) and (width<=63.24rem){.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked___ngJ17{max-width:618px;margin-inline:auto}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked___ngJ17.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--variant-gridline___T6ZrI{padding-inline:var(--base-size-32);padding-block:calc(var(--base-size-64) - var(--base-size-4));--SectionIntroStacked-item-divider-overflow-start:var(--base-size-32);--SectionIntroStacked-item-divider-overflow-end:var(--base-size-32)}}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--variant-gridline___T6ZrI{padding-inline:var(--base-size-24);padding-block:var(--base-size-32);--SectionIntroStacked-item-divider-overflow-start:var(--base-size-24);--SectionIntroStacked-item-divider-overflow-end:var(--base-size-24);position:relative}@media screen and (width>=63.25rem){.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--variant-gridline___T6ZrI{padding-inline:var(--base-size-64);padding-block:var(--base-size-64);--SectionIntroStacked-item-divider-overflow-start:0px;--SectionIntroStacked-item-divider-overflow-end:var(--base-size-64)}}@media screen and (width>=80rem){.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--variant-gridline___T6ZrI{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-heading--muted___CHRqJ,.Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem__item-text--muted___iWmQS{color:var(--brand-color-text-muted)}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-heading--muted___CHRqJ em,.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-heading--muted___CHRqJ b,.Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem__item-text___5DHtq em,.Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem__item-text___5DHtq b{color:var(--brand-color-text-default);font-style:normal;font-weight:var(--base-text-weight-normal)}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--full-width___kRyw0 .Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-heading___tolwP{max-width:none}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-description___zSilb{max-width:50ch;margin-block-start:var(--base-size-16)}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-link___Y2Sox{margin-block-start:var(--base-size-16)}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-items___rf3nz{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}@media screen and (width<=63.24rem){.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-heading___tolwP{font-size:var(--brand-text-size-600)}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-items___rf3nz{overflow:hidden}}@media screen and (width>=63.25rem){.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-items___rf3nz{top:var(--base-size-2);position:relative}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--variant-gridline___T6ZrI .Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-items___rf3nz{border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);margin-block:calc(-1 * var(--base-size-64));padding-block:calc(var(--base-size-64) - var(--base-size-32));position:static;top:auto}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-content___ULK2q{padding-inline-end:var(--base-size-80)}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--variant-gridline___T6ZrI .Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem-item___c3mLD{padding-inline-start:var(--base-size-64)}}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--variant-gridline___T6ZrI .Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem-item___c3mLD{border-block-end:none;position:relative}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--variant-gridline___T6ZrI .Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem-item___c3mLD:first-child{padding-block-start:var(--base-size-40)}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--variant-gridline___T6ZrI .Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem-item___c3mLD:last-child{padding-block-end:var(--base-size-40)}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--variant-gridline___T6ZrI .Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem-item___c3mLD:not(:last-child):after{content:"";bottom:0;left:calc(-1 * var(--SectionIntroStacked-item-divider-overflow-start));right:calc(-1 * var(--SectionIntroStacked-item-divider-overflow-end));border-bottom:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);position:absolute}.Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem-item___c3mLD{padding-block:var(--base-size-40);border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem-item___c3mLD:last-child{border-block-end:none;padding-block-end:0}.Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem-item___c3mLD:first-child{padding-block-start:0}.Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem-item--with-icon___Ej53Q{align-items:flex-start;gap:var(--base-size-24);flex-direction:column;display:flex}@media screen and (width>=48rem){.Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem-item--with-icon___Ej53Q{gap:var(--base-size-48);flex-direction:row}}.Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem__content___TdGFS{gap:var(--base-size-12);flex-direction:column;flex:1;min-width:0;display:flex}.Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem__icon___TUK4t{border-radius:var(--base-size-12);flex-shrink:0}:root{--brand-Tabs-container-padding:var(--base-size-4)}:root,[data-color-mode=light]{--brand-Tabs-item-accent-bgColor-rest:var(--base-color-scale-green-6);--brand-Tabs-item-accent-fgColor-rest:var(--base-color-scale-white-0);--brand-Tabs-item-default-bgColor-active:linear-gradient(180deg, #ffffff1f 0%, #9999991f 100%);--brand-Tabs-item-default-borderColor-active:var(--brand-color-border-default);--brand-Tabs-item-underline-rest:var(--base-color-scale-black-0);--brand-Tabs-list-borderWidth-active:var(--brand-borderWidth-thin)}[data-color-mode=dark]{--brand-Tabs-item-accent-bgColor-rest:var(--base-color-scale-green-5);--brand-Tabs-item-accent-fgColor-rest:var(--base-color-scale-white-0);--brand-Tabs-item-default-bgColor-active:linear-gradient(180deg, #ffffff1f 0%, #9999991f 100%);--brand-Tabs-item-default-borderColor-active:var(--base-color-scale-white-0);--brand-Tabs-item-underline-rest:var(--base-color-scale-white-0);--brand-Tabs-list-borderWidth-active:var(--brand-borderWidth-thick)}.Primer_Brand__Tabs-module__Tabs___p41NK{gap:var(--base-size-4);background-color:var(--brand-color-canvas-backdrop);border-radius:var(--brand-borderRadius-large);padding:var(--brand-Tabs-container-padding);width:fit-content;min-height:var(--base-size-48);display:flex;position:relative}.Primer_Brand__Tabs-module__Tabs-container___jByf5{display:grid}@media screen and (width<=48rem){.Primer_Brand__Tabs-module__Tabs-container___jByf5{flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.Primer_Brand__Tabs-module__Tabs-container--align-start___X9kN4{align-items:flex-start}.Primer_Brand__Tabs-module__Tabs-container--align-center___MOjwP{align-items:center}.Primer_Brand__Tabs-module__Tablist__wrapper___Bz69R{width:fit-content;max-width:100%;position:relative;overflow:hidden}.Primer_Brand__Tabs-module__Tablist__wrapper___Bz69R:after{content:"";right:var(--brand-Tabs-list-borderWidth-active);top:var(--base-size-2);bottom:var(--base-size-2);background:linear-gradient(to left, var(--brand-color-canvas-default) 30%, transparent);width:var(--base-size-48);z-index:2;pointer-events:none;transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), visibility var(--brand-animation-duration-default) var(--brand-animation-easing-default);opacity:0;opacity:calc(var(--has-overflow,0) * var(--can-scroll-right,0));border-radius:inherit;position:absolute}.Primer_Brand__Tabs-module__Tablist__wrapper--default___pPP9D:after,.Primer_Brand__Tabs-module__Tablist__wrapper--accent___nG4lJ:after{border-radius:var(--brand-borderRadius-full)}.Primer_Brand__Tabs-module__Tablist__wrapper--underline___xT6ku:after{border-radius:var(--brand-borderRadius-large)}.Primer_Brand__Tabs-module__Tablist__wrapper--lastTabIsActive___DHNPp:after{opacity:0;visibility:hidden}.Primer_Brand__Tabs-module__Tabs___p41NK{scrollbar-width:none;-ms-overflow-style:none;max-width:100%;overflow:auto hidden}.Primer_Brand__Tabs-module__Tabs___p41NK::-webkit-scrollbar{display:none}}.Primer_Brand__Tabs-module__Tabs-container--align-start___X9kN4{justify-items:flex-start}.Primer_Brand__Tabs-module__Tabs-container--align-center___MOjwP{justify-items:center}.Primer_Brand__Tabs-module__Tabs--default___g4Kwt,.Primer_Brand__Tabs-module__Tabs--accent___amEYm{border:var(--brand-Tabs-list-borderWidth-active) solid var(--brand-color-border-default);border-radius:var(--brand-borderRadius-full)}.Primer_Brand__Tabs-module__Tabs--underline___Nm9xx{gap:var(--base-size-24)}.Primer_Brand__Tabs-module__Tabs__item___rPI4n{z-index:1;cursor:pointer;padding:var(--base-size-8) var(--base-size-16);border-radius:var(--brand-borderRadius-full);transition:color var(--brand-animation-duration-fast) ease-in-out;white-space:nowrap;font-family:var(--brand-fontStack-sansSerif);font-weight:var(--brand-text-weight-600);font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200);letter-spacing:var(--brand-text-letterSpacing-200);color:var(--brand-color-text-default);background:0 0;border:0;position:relative}.Primer_Brand__Tabs-module__Tabs__slider___hLsBB{top:var(--base-size-4);bottom:var(--base-size-4);transition:all var(--brand-animation-duration-fast) var(--brand-animation-easing-glide);z-index:0;transform:translate(0);transform:translateX(var(--brand-Tabs-slider-x,0px));width:var(--brand-Tabs-slider-width);position:absolute}.Primer_Brand__Tabs-module__Tabs--default___g4Kwt .Primer_Brand__Tabs-module__Tabs__slider___hLsBB{border-radius:var(--brand-borderRadius-full);border:var(--brand-borderWidth-thin) solid var(--brand-Tabs-item-default-borderColor-active);background:var(--brand-Tabs-item-default-bgColor-active)}.Primer_Brand__Tabs-module__Tabs--accent___amEYm .Primer_Brand__Tabs-module__Tabs__slider___hLsBB{border-radius:var(--brand-borderRadius-full);border:var(--brand-borderWidth-thin) solid transparent;background:var(--brand-Tabs-item-accent-bgColor-rest)}.Primer_Brand__Tabs-module__Tabs--underline___Nm9xx .Primer_Brand__Tabs-module__Tabs__slider___hLsBB{border-bottom:var(--brand-borderWidth-thick) solid var(--brand-Tabs-item-underline-rest)}.Primer_Brand__Tabs-module__Tabs__item___rPI4n:focus-visible{outline:var(--base-size-2) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__Tabs-module__Tabs__item--active___ruoXn{color:var(--brand-color-text-default)}.Primer_Brand__Tabs-module__Tabs--underline___Nm9xx .Primer_Brand__Tabs-module__Tabs__item___rPI4n{padding:var(--base-size-8);border-radius:var(--brand-borderRadius-medium)}.Primer_Brand__Tabs-module__Tabs--accent___amEYm .Primer_Brand__Tabs-module__Tabs__item___rPI4n{transition:color var(--brand-animation-duration-faster) ease}.Primer_Brand__Tabs-module__Tabs--accent___amEYm .Primer_Brand__Tabs-module__Tabs__item--active___ruoXn{color:var(--brand-Tabs-item-accent-fgColor-rest)}.Primer_Brand__Tabs-module__Tabs__panelContainer___oZAgR{margin-top:var(--base-size-16)}.Primer_Brand__Tabs-module__Tabs__panel___JjAmC{color:var(--brand-color-text-default)}.Primer_Brand__Tabs-module__Tabs__controls___OrV44{margin-block-end:var(--base-size-12)}.Primer_Brand__Tabs-module__Tabs__indicator___KDvsE{width:var(--base-size-6);border-radius:var(--brand-borderRadius-full);background-color:var(--brand-color-text-muted);height:var(--base-size-6);transition:width var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__Tabs-module__Tabs__indicator--active___XFIc8{background-color:var(--brand-color-text-default);width:var(--base-size-24)}.Primer_Brand__Tabs-module__Tabs__control___crCR5{cursor:pointer;height:var(--base-size-24);width:var(--base-size-24);background-color:#0000;border:none;align-content:center;display:flex}.Primer_Brand__Tabs-module__Tabs__control-icon___cgGsh{top:calc(var(--base-size-2) / -2);position:relative;vertical-align:middle!important}@media screen and (width>=48rem){.Primer_Brand__Tabs-module__Tabs__controls___OrV44{display:none}.Primer_Brand__Tabs-module__Tabs__item___rPI4n{padding-inline:var(--base-size-24)}}:root{--brand-Tiles-item-maxSize:11.5rem}:root,[data-color-mode=light]{--brand-tiles-bgColor-rest:#fafafa;--brand-tiles-bgColor-hover:#f2f5f3;--brand-tiles-highlightColor:#08872b}[data-color-mode=dark]{--brand-tiles-bgColor-rest:#090d0a;--brand-tiles-bgColor-hover:#101411;--brand-tiles-highlightColor:#5fed83}.Primer_Brand__Tiles-module__Tiles___z9bH9{width:100%;color:var(--brand-color-text-default)}.Primer_Brand__Tiles-module__Tiles-grid___PVssB{--tiles-columns:var(--tiles-columns-xsmall);flex-wrap:wrap;justify-content:center;margin:0;margin-inline:auto;padding:0;list-style:none;display:flex}.Primer_Brand__Tiles-module__Tiles--layout-default___UIRQE .Primer_Brand__Tiles-module__Tiles-grid___PVssB,.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-grid___PVssB{max-width:min(100%, calc(var(--brand-Tiles-item-maxSize) * var(--tiles-columns)))}@media screen and (width>=34rem) and (width<=47.99rem){.Primer_Brand__Tiles-module__Tiles-grid___PVssB{--tiles-columns:var(--tiles-columns-small)}}@media screen and (width>=48rem){.Primer_Brand__Tiles-module__Tiles-grid___PVssB{--tiles-columns:var(--tiles-columns-medium)}}@media screen and (width>=63.25rem){.Primer_Brand__Tiles-module__Tiles-grid___PVssB{--tiles-columns:var(--tiles-columns-large)}}.Primer_Brand__Tiles-module__Tiles--variant-gridlines___XV5ah .Primer_Brand__Tiles-module__Tiles-grid___PVssB{padding-right:var(--brand-borderWidth-thin);padding-bottom:var(--brand-borderWidth-thin)}.Primer_Brand__Tiles-module__Tiles-item___NtPvv{--tiles-inset-shadow:inset 0 0 0 transparent;width:calc(100% / var(--tiles-columns));max-width:var(--brand-Tiles-item-maxSize);max-height:var(--brand-Tiles-item-maxSize);box-sizing:border-box;background-color:var(--brand-tiles-bgColor-rest);border-top:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);border-left:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);box-shadow:var(--brand-borderWidth-thin) 0 0 0 var(--brand-color-border-muted), 0 var(--brand-borderWidth-thin) 0 0 var(--brand-color-border-muted), inset 0 0 0 transparent;box-shadow:var(--brand-borderWidth-thin) 0 0 0 var(--brand-color-border-muted), 0 var(--brand-borderWidth-thin) 0 0 var(--brand-color-border-muted), var(--tiles-inset-shadow);transition:background-color var(--brand-animation-duration-faster) var(--brand-animation-easing-default), box-shadow var(--brand-animation-duration-faster) var(--brand-animation-easing-default);flex-direction:column;display:flex;position:relative}:is(.Primer_Brand__Tiles-module__Tiles-item___NtPvv:has(.Primer_Brand__Tiles-module__Tiles-item-link___OhYck):hover,.Primer_Brand__Tiles-module__Tiles-item___NtPvv:has(.Primer_Brand__Tiles-module__Tiles-item-link___OhYck):focus-within){--tiles-inset-shadow:inset 0 var(--base-size-2) 0 var(--brand-tiles-highlightColor);background-color:var(--brand-tiles-bgColor-hover)}.Primer_Brand__Tiles-module__Tiles-item-link___OhYck{width:100%;color:inherit;flex:1;-webkit-text-decoration:none;text-decoration:none;display:flex}.Primer_Brand__Tiles-module__Tiles-item-link___OhYck:focus-visible{outline:var(--base-size-4) solid var(--brand-color-focus);outline-offset:calc(-1 * var(--base-size-4));border-radius:var(--brand-borderRadius-small)}.Primer_Brand__Tiles-module__Tiles-item-content___m7HiY{aspect-ratio:1;justify-content:center;align-items:center;width:100%;display:flex;position:relative}.Primer_Brand__Tiles-module__Tiles-item-media___BLrcU{justify-content:center;align-items:center;display:flex}.Primer_Brand__Tiles-module__Tiles-item-media___BLrcU svg,.Primer_Brand__Tiles-module__Tiles-item-media___BLrcU img{width:auto;height:var(--base-size-40);max-width:100%}.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-media___BLrcU svg,.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-media___BLrcU img{height:var(--base-size-28)}@media screen and (width>=48rem){.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-media___BLrcU svg,.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-media___BLrcU img{height:var(--base-size-32)}}.Primer_Brand__Tiles-module__Tiles-item-label___nnmkF{justify-content:space-between;align-items:center;gap:var(--base-size-4);padding:var(--base-size-12) var(--base-size-16);display:flex;position:absolute;bottom:0;left:0;right:0}.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-media___BLrcU{transition:transform var(--brand-animation-duration-fast) var(--brand-animation-easing-default)}.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-link___OhYck:hover .Primer_Brand__Tiles-module__Tiles-item-media___BLrcU,.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-link___OhYck:focus-visible .Primer_Brand__Tiles-module__Tiles-item-media___BLrcU{transform:translateY(calc(-1 * var(--base-size-4)))}.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-label___nnmkF{opacity:0;transform:translateY(var(--base-size-4));transition:opacity var(--brand-animation-duration-fast) var(--brand-animation-easing-default), transform var(--brand-animation-duration-fast) var(--brand-animation-easing-default);pointer-events:none}.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-link___OhYck:hover .Primer_Brand__Tiles-module__Tiles-item-label___nnmkF,.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-link___OhYck:focus-visible .Primer_Brand__Tiles-module__Tiles-item-label___nnmkF{opacity:1;transform:translateY(0)}.Primer_Brand__Tiles-module__Tiles-item-name___DHlvN{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.Primer_Brand__Tiles-module__Tiles-item-icon___HpkyN{color:var(--brand-color-text-default);flex-shrink:0}@media (prefers-reduced-motion:reduce){.Primer_Brand__Tiles-module__Tiles-item___NtPvv,.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-media___BLrcU,.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-label___nnmkF{transition:none}}@font-face{font-family:Mona Sans;src:url(/assets/MonaSansVF-wdth-wght-opsz.woff2)format("woff2 supports variations"),url(/assets/MonaSansVF-wdth-wght-opsz.woff2)format("woff2-variations");font-weight:200 900;font-display:swap;font-synthesis:none;font-feature-settings:"liga" 0}@font-face{font-family:MonaSansFallback;size-adjust:104.5%;ascent-override:71%;src:local(Arial)}@font-face{font-family:MonaSansHeaderFallback;size-adjust:103.1%;ascent-override:70%;src:local(Arial Bold)}@font-face{font-family:Hubot Sans;src:url(/assets/Hubot-Sans.woff2)format("woff2 supports variations"),url(/assets/Hubot-Sans.woff2)format("woff2-variations");font-weight:200 900;font-display:swap}@font-face{font-family:Mona Sans Mono;src:url(/assets/MonaSansMonoVF-wght.woff2)format("woff2 supports variations"),url(/assets/MonaSansMonoVF-wght.woff2)format("woff2-variations");font-weight:200 900;font-display:swap;font-synthesis:none}:root,[data-color-mode]{--hub-canvas-default:var(--brand-color-canvas-default);--hub-canvas-white:var(--base-color-scale-white-0);--hub-canvas-muted:var(--brand-color-canvas-muted);--hub-canvas-subtle:var(--brand-color-canvas-subtle);--hub-fg-default:var(--brand-color-text-default);--hub-fg-muted:var(--brand-color-text-muted);--hub-fg-on-emphasis:var(--brand-color-text-onEmphasis);--hub-fg-link:var(--brand-color-text-link-rest);--hub-fg-danger:var(--brand-color-danger-fg);--hub-danger-emphasis:var(--brand-color-danger-emphasis);--hub-fg-on-danger:var(--brand-color-text-onEmphasis);--hub-fg-success:var(--brand-color-success-fg);--hub-success-emphasis:var(--brand-color-success-emphasis);--hub-border-default:var(--brand-color-border-default);--hub-border-muted:var(--brand-color-border-muted);--hub-focus:var(--brand-color-focus);--hub-primary-bg:var(--brand-button-primary-bgColor-rest);--hub-primary-bg-hover:var(--brand-button-primary-bgColor-hover);--hub-primary-bg-active:var(--brand-button-primary-bgColor-active);--hub-primary-fg:var(--brand-button-primary-fgColor-rest);--hub-accent:var(--brand-color-accent-primary);--hub-accent-subtle:color-mix(in srgb, var(--brand-color-accent-primary) 12%, var(--brand-color-canvas-default));--hub-danger-subtle:var(--brand-color-danger-subtle);--hub-success-subtle:var(--brand-color-success-subtle);--hub-attention:var(--brand-color-accent-secondary);--hub-attention-subtle:color-mix(in srgb, var(--brand-color-accent-secondary) 12%, var(--brand-color-canvas-default));--hub-border-width-thick:var(--brand-borderWidth-thick);--hub-text-size-small:var(--base-size-12);--hub-shadow-floating:0 .5rem 1.5rem #00000029;--hub-shadow-control-raised:0 .0625rem .125rem #00000014;--hub-shadow-control-field:0 .0625rem 0 #00000008, 0 .125rem .125rem #00000005;--hub-shadow-selection:0 .0625rem .1875rem #0000001f;--hub-shadow-review-overlay:0 .75rem 2rem #0104094d;--hub-shadow-review-marker:0 0 2px #01040936, 0 3px 5px #01040932;--hub-space-4:var(--base-size-4);--hub-space-8:var(--base-size-8);--hub-space-12:var(--base-size-12);--hub-space-16:var(--base-size-16);--hub-space-24:var(--base-size-24);--hub-space-32:var(--base-size-32);--hub-radius-small:var(--brand-borderRadius-small);--hub-radius-medium:var(--brand-borderRadius-medium);--hub-radius-large:var(--brand-borderRadius-large);--hub-repository-sidebar-width:calc(var(--base-size-128) + var(--base-size-96) + var(--base-size-24) + var(--base-size-2));--hub-repository-sidebar-inset:var(--base-size-16);--hub-repository-sidebar-collapsed-width:calc(var(--base-size-40) + var(--hub-repository-sidebar-inset) + var(--hub-repository-sidebar-inset));--hub-repository-control-width:calc(var(--hub-repository-sidebar-width) - var(--hub-repository-sidebar-inset) - var(--hub-repository-sidebar-inset) - var(--brand-borderWidth-thin));--hub-repository-account-padding-top:var(--base-size-16);--hub-repository-search-width:calc(var(--base-size-128) + var(--base-size-96))}html,body,#app{min-height:100%;margin:0}body{font-family:var(--brand-body-fontFamily);font-feature-settings:"liga" 0;font-variation-settings:"ital" 0, "opsz" 0, "wdth" 100;-webkit-font-smoothing:antialiased}#app{container-type:inline-size}.hub-theme{background:var(--hub-canvas-default);min-height:100vh;color:var(--hub-fg-default);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--brand-body-fontFamily)}:root[data-color-mode=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-color-mode=dark],.hub-theme[data-color-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-color-mode=dark]{--hub-shadow-floating:0 .5rem 1.5rem #00000073;--hub-shadow-control-raised:0 .0625rem .125rem #0003;--hub-shadow-control-field:0 .0625rem 0 #00000047, 0 .125rem .125rem #0000000d;--hub-shadow-selection:0 .0625rem .1875rem #00000059;--hub-shadow-review-overlay:0 .75rem 2rem #0000008c;--hub-shadow-review-marker:0 0 2px #00000080, 0 3px 5px #00000073}button,input,textarea,select{font:inherit}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:var(--font-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);color:var(--text-color-default,#1f2328);background:color-mix(in srgb, var(--background-color-default,#fff) 94%, var(--text-color-default,#1f2328))}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html,body,#root,.canvas-base{width:100%;height:100%;margin:0;overflow:hidden}#root>div{width:100%;height:100%;min-height:0}body,.canvas-base{background:var(--brand-color-canvas-default,#fff)}.canvas-base{--hub-counter-background:color-mix(in srgb, var(--hub-fg-default) 10%, transparent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--brand-color-text-default,#1f2328);font-family:var(--brand-body-fontFamily,-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);position:relative}.canvas-base[data-color-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--hub-shadow-floating:0 .5rem 1.5rem #00000073}.canvas-base button{-webkit-backdrop-filter:none;transition:none}.canvas-base .canvas-icon-button{width:var(--brand-control-small-size);background:0 0;border:0;gap:0;min-width:0;padding:0}.canvas-base .canvas-icon-button:hover{background:var(--brand-color-canvas-subtle,#f6f8fa)}.canvas-base .canvas-icon-button:focus-visible{outline:2px solid var(--hub-accent);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.renderer-loading{visibility:hidden}.canvas-shell{--canvas-browser-bar-height:2.5rem;--canvas-toolbar-height:2.75rem;--canvas-preview-top:calc(var(--canvas-browser-bar-height) + var(--canvas-toolbar-height));grid-template-rows:var(--canvas-browser-bar-height) auto minmax(0, 1fr);width:100%;height:100%;min-height:0;display:grid;position:relative;overflow:clip}.prototype-frame{background:var(--hub-canvas-default);border:0;width:100%;height:100%;min-height:0;display:block}.canvas-shell--inactive{z-index:0;pointer-events:none}.canvas-base>.canvas-share-page{z-index:1;position:absolute;inset:0}.thread-sample{--hub-sidebar-top:var(--canvas-preview-top,8.5rem)}.thread-sample__content{flex-direction:column;display:flex;overflow:hidden}.thread-sample__toolbar{color:var(--hub-fg-muted);border-bottom:1px solid var(--hub-border-muted);flex:none;margin:0;padding:.75rem 1rem;font-size:.75rem;line-height:1.5}.thread-sample__filters{justify-content:space-between;align-items:center;gap:var(--base-size-8);display:flex}.thread-sample__empty{padding:var(--base-size-8);color:var(--hub-fg-muted)}.thread-sample__fix-label{align-items:center;gap:var(--hub-space-8);display:inline-flex}.thread-sample__error,.thread-sample__target-status{padding:var(--hub-space-8);color:var(--hub-fg-muted);overflow-wrap:anywhere;flex:none;margin:0}.thread-sample__list{flex:1;min-height:0;padding:.5rem;overflow:auto}.thread-sample__card{margin-bottom:.5rem}.thread-sample__card:before{inset-inline:calc(-1 * var(--hub-space-12)) var(--hub-space-4)}.thread-sample__card:not(.thread-sample__card--resolved) .review-comment-row__author,.thread-sample__card:not(.thread-sample__card--resolved) .review-comment-row__body{color:var(--hub-fg-default)}.thread-sample__card:not(.thread-sample__card--resolved) .review-comment-row__author{font-weight:600}.thread-sample__card-button{padding-inline-end:1.75rem}.thread-sample__heading{align-items:center;gap:var(--base-size-4) var(--base-size-8);flex-wrap:wrap;display:flex}.thread-sample__heading .review-comment-row__author{flex:0 auto}.thread-sample__status{max-width:100%;color:var(--hub-fg-muted);font-size:.6875rem}.thread-sample__status--ready{padding:var(--base-size-2) var(--base-size-8);border:var(--brand-borderWidth-thin) solid var(--hub-fg-success);border-radius:var(--brand-borderRadius-full);color:var(--hub-fg-success);background:0 0}.thread-sample__card svg{flex-shrink:0}.thread-sample__metadata{margin:var(--base-size-4) 0 0 1.75rem;color:var(--hub-fg-muted);overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:.375rem;font-size:.6875rem;display:flex}.thread-sample__metadata code{font-size:inherit}.thread-sample__capture{max-width:calc(100% - 1.75rem);max-height:8rem;margin:var(--base-size-8) 0 0 1.75rem;object-fit:contain;display:block}.thread-sample__follow-ups{align-items:center;gap:var(--base-size-4);color:var(--hub-fg-default);margin:.5rem 0 0 1.75rem;font-size:.75rem;display:flex}.thread-sample__menu{position:absolute;top:.25rem;right:.25rem}.thread-sample__menu button[aria-haspopup=menu]+[popover][aria-hidden=true]{visibility:hidden}.thread-sample__menu-item{column-gap:var(--base-size-8)}.thread-sample__menu-item+.thread-sample__menu-item{margin-block-start:var(--base-size-4)}.thread-sample__surface{z-index:40}.thread-sample__markers{z-index:20}.thread-sample__marker{pointer-events:auto;position:absolute}.thread-sample__conversation .review-thread-conversation__header{grid-template-columns:minmax(0,1fr) auto auto;display:grid}.thread-sample__close{grid-area:1/3;justify-self:end}.thread-sample__copilot-avatar{background:var(--hub-fg-success)}[data-color-mode=dark] .thread-sample__copilot-avatar{background:var(--hub-success-emphasis)}.thread-sample__copilot-avatar img{object-fit:contain;padding:.375rem}.thread-sample__resolve{grid-area:1/2;justify-self:end}.thread-sample__conversation h3{flex:1;margin:0;font-size:.875rem}.thread-sample__delete,.thread-sample__delete span{color:var(--hub-fg-danger)}.thread-sample__menu-item.thread-sample__delete:not([aria-disabled=true]):hover{cursor:default}.thread-sample__quote{border-inline-start:3px solid var(--hub-border-default);white-space:pre-wrap;overflow-wrap:anywhere;margin-block-end:var(--hub-space-16);margin-inline:0;padding-inline-start:1rem}.thread-sample__delete-actions{justify-content:flex-end;align-items:center;gap:var(--hub-space-8);display:flex}.thread-sample__delete-confirm{--brand-button-primary-bgColor-rest:var(--hub-danger-emphasis);--brand-button-primary-bgColor-hover:var(--hub-danger-emphasis);--brand-button-primary-bgColor-active:var(--hub-danger-emphasis);--brand-button-primary-fgColor-rest:var(--hub-fg-on-danger)}.improvement-demo{background:var(--hub-canvas-muted);height:100vh;min-height:100vh;color:var(--hub-fg-default);font-size:.875rem;position:relative;overflow:hidden}.improvement-demo--embedded,.improvement-demo--embedded>.improvement-demo__workspace{display:contents}.improvement-notes-sidebar{--hub-sidebar-top:var(--canvas-preview-top,8.5rem)}.canvas-improvement-markers{z-index:10;inset:var(--canvas-preview-top) 0 0;pointer-events:none;position:absolute;overflow:hidden}.canvas-improvement-markers button{pointer-events:auto}.improvement-demo__browser,.improvement-demo__toolbar,.improvement-demo__actions,.improvement-demo__pages,.improvement-demo__note-header,.improvement-demo__dialog-actions{align-items:center;gap:.75rem;display:flex}.improvement-demo__browser{border-bottom:1px solid var(--hub-border-muted);background:var(--hub-canvas-default);color:var(--hub-fg-muted);padding:.625rem 1rem;font-size:.75rem}.improvement-demo__browser code{flex:1}.improvement-demo__browser-dot{background:var(--hub-fg-success);border-radius:50%;width:.5rem;height:.5rem}.improvement-demo__badge{border:1px solid var(--hub-border-default);border-radius:1rem;padding:.125rem .5rem}.improvement-demo__toolbar{background:var(--hub-canvas-default);border-bottom:1px solid var(--hub-border-default);flex-wrap:wrap;justify-content:space-between;padding:.875rem 1rem}.improvement-demo__identity{gap:.25rem;display:grid}.improvement-demo__identity span{color:var(--hub-fg-muted);font-size:.75rem}.improvement-demo__actions{flex-wrap:wrap}.improvement-demo__split{display:flex}.improvement-demo__split button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.improvement-demo__split button:last-child{border-top-left-radius:0;border-bottom-left-radius:0;margin-inline-start:-1px}.improvement-demo__split button[aria-pressed=true]{background:var(--brand-button-secondary-bgColor-active)}.improvement-demo__split button:focus-visible{z-index:1;position:relative}.improvement-demo__disclaimer{border-bottom:1px solid var(--hub-border-muted);color:var(--hub-fg-muted);padding:.5rem 1rem;font-size:.75rem}.improvement-demo__workspace{align-items:start;gap:1rem;padding:1rem;display:grid}.improvement-demo__preview{border:1px solid var(--hub-border-default);background:var(--hub-canvas-default);border-radius:.75rem;min-width:0;overflow:hidden}.improvement-demo__pages{border-bottom:1px solid var(--hub-border-default);flex-wrap:wrap;padding:1rem}.improvement-demo__app-name{flex:1;min-width:10rem;font-weight:600}.improvement-demo__pages button{color:var(--hub-fg-muted);cursor:pointer;background:0 0;border:0;border-radius:.375rem;padding:.375rem .75rem}.improvement-demo__pages button[aria-current=page]{background:var(--hub-accent-subtle);color:var(--hub-fg-default)}.improvement-demo select{border:1px solid var(--hub-border-default);background:var(--hub-canvas-default);max-width:100%;color:var(--hub-fg-default);border-radius:.375rem;padding:.375rem .5rem}.improvement-demo__stage{aspect-ratio:960/560;position:relative}.improvement-demo__stage--selecting{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.improvement-demo__scene{width:100%;height:100%;display:block}.improvement-demo__element-target{cursor:crosshair;background:0 0;border:2px solid #0000;border-radius:.375rem;padding:0;position:absolute}.improvement-demo__element-target:hover{background:#155d3d0d;border-color:#155d3d}.improvement-demo__outline{pointer-events:none;border:2px solid var(--hub-fg-success);background:color-mix(in srgb, var(--hub-fg-success) 8%, transparent);border-radius:.25rem;position:absolute}.improvement-demo__outline--saved{background:0 0;border-style:dashed}.improvement-demo__corner{border:2px solid var(--hub-fg-on-emphasis);background:var(--hub-primary-bg);pointer-events:none;width:.75rem;height:.75rem;position:absolute;transform:translate(-50%,-50%)}.improvement-demo__pin{z-index:1;border:2px solid var(--hub-canvas-default);background:var(--hub-primary-bg);min-width:1.75rem;height:1.75rem;color:var(--hub-primary-fg);box-shadow:var(--hub-shadow-selection);cursor:pointer;border-radius:50% 50% 50% 0;padding:0 .25rem;font-size:.75rem;font-weight:600;position:absolute;transform:translate(-30%,-40%)}.improvement-demo__pin--selected{outline:2px solid var(--hub-focus);outline-offset:2px}.improvement-demo__preview-footer{color:var(--hub-fg-muted);justify-content:space-between;gap:1rem;padding:.75rem 1rem;font-size:.75rem;display:flex}.improvement-demo__panel{flex-direction:column;gap:.875rem;min-width:0;padding:1rem;display:flex}.improvement-demo__owner{color:var(--hub-fg-muted);margin:.375rem 0 0;font-size:.75rem;line-height:1.5}.improvement-demo__notice{padding:var(--hub-space-8);overflow-wrap:anywhere;flex:none;margin:0}.improvement-demo__filters{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.improvement-demo__fix-label{align-items:center;gap:.5rem;display:inline-flex}.improvement-demo__note-list{gap:.75rem;display:grid}.improvement-demo__empty{text-align:center;color:var(--hub-fg-muted);padding:2.5rem .5rem}.improvement-demo__empty h2{color:var(--hub-fg-default);font-size:.875rem}.improvement-demo__empty p{margin-bottom:.5rem;font-size:.8125rem;line-height:1.6}.improvement-demo__note{border:1px solid var(--hub-border-default);background:var(--hub-canvas-default);min-width:0;box-shadow:var(--hub-shadow-selection);border-radius:.5rem;padding:.875rem}.improvement-demo__note--focused{border-color:var(--hub-focus);box-shadow:0 0 0 1px var(--hub-focus)}.improvement-demo__note-header{padding-right:calc(var(--brand-control-small-size,1.5rem) + .5rem);display:block;position:relative}.improvement-demo__note-menu{position:absolute;top:0;right:0}.improvement-demo__note-meta{color:var(--hub-fg-muted);overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:.375rem;margin-top:.5rem;font-size:.6875rem;line-height:1.5;display:flex}.improvement-demo__note-meta>span:first-child{min-width:0;max-width:100%}.improvement-demo__note-separator{background:currentColor;border-radius:50%;flex-shrink:0;align-self:center;width:.1875rem;height:.1875rem}.improvement-demo__menu-item{column-gap:var(--brand-control-medium-gap,.5rem)}.improvement-demo__menu-trigger{width:var(--brand-control-small-size);min-width:var(--brand-control-small-size);height:var(--brand-control-small-size);min-height:var(--brand-control-small-size);background:0 0;border-color:#0000;flex-shrink:0;gap:0;padding:0}.improvement-demo__menu-trigger>[data-testid=Button-trailing-visual],.improvement-demo__menu-trigger>span:nth-child(2){display:none}.improvement-demo__delete-item,.improvement-demo__delete-item span{color:var(--hub-fg-danger)}.improvement-demo__note-route{min-width:0;max-width:100%;color:var(--hub-fg-muted);font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;margin:0;padding:0;display:block}.improvement-demo__note-route:focus-visible{outline:2px solid var(--hub-focus);outline-offset:2px;border-radius:.125rem}.improvement-demo__status{border:1px solid var(--hub-border-default);border-radius:1rem;padding:.125rem .375rem;font-size:.6875rem;display:inline-block}.improvement-demo__status--ready,.improvement-demo__status--resolved{color:var(--hub-fg-success);background:var(--hub-success-subtle)}.improvement-demo__status--blocked{color:var(--hub-fg-danger);background:var(--hub-danger-subtle)}.improvement-demo__body{overflow-wrap:anywhere;white-space:pre-wrap;flex:1;min-width:0;margin:0;line-height:1.55}.improvement-demo__note-header+:not(.improvement-demo__note-actions){margin-top:.75rem}.improvement-demo__note-header>.improvement-demo__status{margin-bottom:.5rem}.improvement-demo__note>.improvement-demo__note-meta{margin-top:.5rem}.improvement-demo__solution{margin-top:.75rem}.improvement-demo__solution summary{cursor:pointer;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;list-style:none;display:flex}.improvement-demo__solution summary::-webkit-details-marker{display:none}.improvement-demo__solution summary svg{flex-shrink:0}.improvement-demo__solution[open] summary svg{transform:rotate(90deg)}.improvement-demo__solution summary:focus-visible{outline:2px solid var(--hub-focus);outline-offset:2px}.improvement-demo__solution p{white-space:pre-wrap;overflow-wrap:anywhere;margin:.5rem 0 0;font-size:.875rem;line-height:1.55}.improvement-demo__read-only{color:var(--hub-fg-muted);margin:.75rem 0 0;font-size:.75rem;line-height:1.5}.improvement-demo__note>:last-child{margin-bottom:0}.improvement-demo__thumbnail{border:1px solid var(--hub-border-muted);border-radius:.25rem;max-width:100%;max-height:6rem;display:block}.improvement-demo__result,.improvement-demo__form-hint{color:var(--hub-fg-muted);font-size:.75rem;line-height:1.5}.improvement-demo__note-actions{flex-wrap:wrap;gap:.25rem;margin:.75rem 0;display:flex}.improvement-demo__note-actions:empty{display:none}.improvement-demo__note small{color:var(--hub-fg-muted);font-size:.6875rem}.improvement-demo__simulation{margin-bottom:.75rem;font-size:.75rem}.improvement-demo__simulation summary{cursor:pointer;margin-bottom:.5rem}.improvement-demo__simulation button{margin:.25rem .25rem 0 0}.improvement-demo__note .improvement-demo__sync-error{color:var(--hub-fg-danger)}.improvement-demo__connection{border-top:1px solid var(--hub-border-muted);padding-top:.875rem;font-size:.75rem}.improvement-demo__connection label{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.improvement-demo__connection p{color:var(--hub-fg-danger);line-height:1.5}.improvement-demo__announcement{color:var(--hub-fg-muted);margin:0;padding:0 1rem 1rem;font-size:.75rem}.improvement-demo__composer,.improvement-demo__handoff{width:min(34rem,100vw - 2rem)}.improvement-demo__batch-context{color:var(--hub-fg-muted);flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin:1rem 0;font-size:.75rem;display:flex}.improvement-demo__dialog-actions{flex-wrap:wrap;justify-content:flex-end;margin-top:1rem}.improvement-demo__delete-preview{border-inline-start:3px solid var(--hub-border-default);color:var(--hub-fg-muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:1rem 0;padding-inline-start:1rem;line-height:1.5}.improvement-demo__delete-confirm{--brand-button-primary-bgColor-rest:var(--hub-danger-emphasis);--brand-button-primary-bgColor-hover:color-mix(in srgb, var(--hub-danger-emphasis) 85%, var(--hub-fg-default));--brand-button-primary-bgColor-active:var(--brand-button-primary-bgColor-hover);--brand-button-primary-borderColor-active:var(--brand-button-primary-bgColor-active);--brand-button-primary-fgColor-rest:var(--hub-fg-on-danger);border-color:var(--hub-danger-emphasis)}.improvement-demo__handoff li{border-bottom:1px solid var(--hub-border-muted);padding:.75rem 0}.improvement-demo__handoff li code{color:var(--hub-fg-muted);margin-top:.375rem;font-size:.75rem;display:block}.improvement-demo__handoff li p{overflow-wrap:anywhere;margin-bottom:0}.improvement-demo button:focus-visible,.improvement-demo select:focus-visible,.improvement-demo [tabindex]:focus-visible{outline:2px solid var(--hub-focus);outline-offset:3px} +.hub-spinner{vertical-align:middle;border:2px solid color-mix(in srgb, currentColor 23%, transparent);border-block-start-color:currentColor;border-radius:50%;flex:none;width:1.25rem;height:1.25rem;display:inline-block}.hub-spinner--small{width:1rem;height:1rem}@media (prefers-reduced-motion:no-preference){.hub-spinner{animation:.75s linear infinite hub-spinner-turn}}@keyframes hub-spinner-turn{to{transform:rotate(360deg)}}.hub-visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.hub-icon-button:is(button,a){width:var(--brand-control-small-size);min-width:var(--brand-control-small-size);height:var(--brand-control-small-size);min-height:var(--brand-control-small-size);flex:none;gap:0;padding:0}.hub-icon-button.hub-icon-button--danger:not(:disabled):not([aria-disabled=true]){color:var(--hub-fg-danger)}.hub-icon-button.hub-icon-button--invisible:is(button,a){box-shadow:none;background-color:#0000;border:0}.canvas-dialog{box-sizing:border-box;width:min(32rem,100% - 2rem);max-height:calc(100% - 2rem);color:var(--hub-fg-default);background:var(--hub-canvas-default);border:1px solid var(--hub-border-default);box-shadow:var(--hub-shadow-floating);border-radius:.75rem;padding:1.25rem}.canvas-dialog::backdrop{background:#00000080}.canvas-dialog-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.canvas-dialog-header h2{margin:0}.canvas-dialog>p{margin:.75rem 0}.build-details-list{gap:1.25rem;margin:0;display:grid}.build-details-list dt{color:var(--brand-color-text-muted,#656d76);margin-bottom:.375rem;font-weight:600}.build-details-list dd{min-width:0;font-size:var(--brand-text-size-200,1rem);align-items:center;gap:.5rem;margin:0;display:flex}.build-details-list code{overflow-wrap:anywhere;min-width:0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.build-details-list dd>svg{color:var(--brand-color-text-muted,#656d76);flex:none}.build-details-list button{flex-shrink:0}.build-details-copy-error{color:var(--brand-color-danger-fg,#cf222e);margin-top:1rem;display:block}.hub-connection-approval{gap:var(--base-size-16);margin-block:1rem 0;display:grid}.hub-connection-approval p{margin:0}.hub-connection-approval-actions{border:1px solid var(--brand-button-primary-bgColor-rest);border-radius:var(--base-size-6);justify-self:start;align-items:stretch;gap:0;display:inline-flex}.hub-connection-approval-actions>:is(a,button){box-shadow:none;border:0;border-radius:0;margin:0}.hub-connection-approval-actions>a{overflow-wrap:anywhere;border-start-start-radius:calc(var(--base-size-6) - 1px);border-end-start-radius:calc(var(--base-size-6) - 1px)}.hub-connection-approval-actions>.hub-connection-approval-copy{--hub-approval-separator:var(--brand-button-primary-borderColor-active);--brand-button-secondary-bgColor-rest:var(--brand-button-primary-bgColor-rest);--brand-button-secondary-bgColor-hover:var(--brand-button-primary-bgColor-hover);--brand-button-secondary-bgColor-active:var(--brand-button-primary-bgColor-active);--brand-button-secondary-fgColor-rest:var(--brand-button-primary-fgColor-rest);--brand-button-secondary-borderColor-rest:var(--hub-approval-separator);--brand-button-secondary-borderColor-hover:var(--hub-approval-separator);--brand-button-secondary-borderColor-active:var(--hub-approval-separator);width:var(--brand-control-medium-size);min-width:var(--brand-control-medium-size);border-inline-start:1px solid var(--hub-approval-separator);border-start-end-radius:calc(var(--base-size-6) - 1px);border-end-end-radius:calc(var(--base-size-6) - 1px);height:auto}.hub-connection-approval-actions>:focus-visible{z-index:1;position:relative}.hub-connection-origin{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.hub-connection-origin a{min-width:0;color:inherit;overflow-wrap:anywhere;text-decoration:none}.hub-connection-origin a:focus-visible{outline:2px solid var(--hub-focus);outline-offset:2px}.hub-connection-origin-field{justify-items:start;gap:.5rem;margin-bottom:1rem;display:grid}.hub-connection-origin-input{align-items:center;gap:.5rem;width:100%;display:flex}.hub-alert{--hub-alert-accent:var(--hub-attention);min-width:0;padding:var(--hub-space-16);align-items:center;gap:var(--hub-space-12);border:var(--brand-borderWidth-thin) solid var(--hub-border-default);border-inline-start:var(--brand-borderWidth-thicker) solid var(--hub-alert-accent);border-radius:var(--hub-radius-small);background:var(--hub-canvas-default);color:var(--hub-fg-default);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.hub-alert--critical{--hub-alert-accent:var(--hub-fg-danger)}.hub-alert--info{--hub-alert-accent:var(--hub-accent)}.hub-alert--success{--hub-alert-accent:var(--hub-fg-success)}.hub-alert--compact{padding:var(--hub-space-12) var(--hub-space-16)}.hub-alert__icon{color:var(--hub-alert-accent);flex:none}.hub-alert__content{min-width:0}.hub-alert__message{overflow-wrap:anywhere;min-width:0;margin:0}.hub-alert__title{font-weight:var(--brand-text-weight-bold)}.hub-alert__description{margin-block-start:var(--hub-space-4);display:block}.hub-alert__action{justify-self:end;align-items:center;gap:var(--hub-space-8);display:flex}@media (width<=48rem){.hub-alert__action{grid-column:2/-1;justify-self:start}}.publish-changes-dialog__actions{gap:var(--base-size-8);flex-wrap:wrap;display:flex}.publish-changes-dialog p{margin:0}.publish-changes-dialog__files{max-height:10rem;padding-left:var(--base-size-20);overflow-wrap:anywhere;margin:0;overflow-y:auto}.copyable-text-input{width:100%;min-width:0}.copyable-text-input__control{min-width:0;position:relative}.copyable-text-input__input{min-width:0;text-overflow:ellipsis;padding-inline-end:calc(var(--brand-control-small-size) + var(--hub-space-12))}.copyable-text-input:not(.copyable-text-input--compact) .copyable-text-input__input{text-overflow:clip;padding-inline-end:var(--hub-space-12)}.copyable-text-input .copyable-text-input__button{position:absolute;inset-block-start:50%;inset-inline-end:var(--hub-space-4);transform:translateY(-50%)}.copyable-text-input:not(.copyable-text-input--compact) .copyable-text-input__button:is(button){--brand-button-subtle-bgColor-hover:color-mix(in srgb, var(--hub-fg-default) 12%, var(--hub-canvas-default));--brand-button-subtle-bgColor-active:color-mix(in srgb, var(--hub-fg-default) 18%, var(--hub-canvas-default));width:calc(var(--brand-control-medium-size) - var(--hub-space-8));min-width:0;height:calc(var(--brand-control-medium-size) - var(--hub-space-8));background-color:var(--hub-canvas-default);min-height:0;color:var(--hub-fg-default);border-color:#0000}.copyable-text-input:not(.copyable-text-input--compact) .copyable-text-input__button:before{background:linear-gradient(to right, transparent, var(--hub-canvas-default));content:"";pointer-events:none;width:1rem;position:absolute;inset-block:0;inset-inline-end:100%}.copyable-text-input__button:focus-visible{outline:2px solid var(--hub-focus);outline-offset:-2px}.copyable-text-input__error{color:var(--hub-fg-danger);margin-block-start:var(--hub-space-8);display:block}.copyable-text-input--compact .copyable-text-input__control{align-items:center;gap:1px;display:flex}.copyable-text-input--compact .copyable-text-input__input{min-width:0;height:var(--brand-control-small-size);padding:0 var(--hub-space-12);border:1px solid var(--hub-border-default);border-radius:var(--hub-radius-medium);background:var(--hub-canvas-default);color:var(--hub-fg-default);font-size:var(--brand-text-size-100);flex:1}.copyable-text-input--compact .copyable-text-input__input:focus-visible{outline:2px solid var(--hub-focus);outline-offset:1px}.copyable-text-input--compact .copyable-text-input__button{position:static;transform:none}.prototype-workspace__body{width:min(100%,68rem);padding:var(--hub-space-32) var(--hub-space-24);margin:0 auto}@container (width<=48rem){.prototype-workspace__body{padding:var(--hub-space-24) var(--hub-space-16)}}.hub-content-page-header{gap:var(--hub-space-8);display:grid}.hub-content-page-header__top{align-items:center;gap:var(--hub-space-8) var(--hub-space-16);flex-wrap:wrap;min-height:2.5rem;display:flex}.hub-content-page-header__top h2{overflow-wrap:anywhere;margin:0}.hub-content-page-header__description{color:var(--hub-fg-muted);margin:0}.share-links__empty{padding:var(--hub-space-16) 0}.share-links__empty-description{color:var(--hub-fg-muted);margin:0}.share-links__list{margin:0;padding:0;list-style:none;display:grid}.share-link-item{padding:var(--hub-space-16) 0}.share-link-item+.share-link-item{border-top:1px solid var(--hub-border-muted)}.share-link-item__metadata{color:var(--hub-fg-muted)}.share-link-item__layout,.share-link-item__details{flex-direction:column;gap:.5rem;display:flex}.share-link-item__layout{gap:1rem}.share-link-item__actions{align-items:center;gap:var(--hub-space-8);flex-wrap:wrap;display:flex}.share-link-item__details h3{overflow-wrap:anywhere;margin:0;font-size:1rem}.share-link-item__actions{gap:.5rem}.share-link-item__actions>:first-child{flex:16rem;min-width:0}.share-link-item__actions .hub-icon-button{width:var(--brand-control-medium-size);min-width:var(--brand-control-medium-size);height:var(--brand-control-medium-size);min-height:var(--brand-control-medium-size)}.share-link-item--created{outline:1px solid var(--hub-accent);outline-offset:-1px}.share-links-form{gap:var(--hub-space-8);flex-direction:column;display:flex}.share-links__form{padding:var(--hub-space-16) 0;border-top:1px solid var(--hub-border-muted)}.share-links__form-row{gap:var(--hub-space-16);max-width:48rem;display:grid}.share-links__form-options{max-width:48rem;margin-block-start:var(--hub-space-8)}@container (width>=48rem){.share-links__form-row{grid-template-rows:auto auto auto;grid-template-columns:minmax(12rem,1fr) minmax(10rem,12rem) auto;row-gap:0}.share-links__form-row>.share-links__field{grid-row:1/span 3;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;align-items:start;row-gap:0;display:grid}.share-links__field>*{grid-column:1}.share-links__field>label{padding-bottom:var(--hub-space-8)}.share-links__validation{padding-top:var(--hub-space-8)}.share-links__form-actions{grid-area:2/3;align-self:start;min-height:2rem}}.share-control-settings{gap:var(--hub-space-12);flex-direction:column;max-width:48rem;display:flex}.share-control-settings__hint{gap:var(--hub-space-8);flex-direction:column;display:flex}.share-control-settings__description{color:var(--hub-fg-muted);margin:0;font-size:.875rem;line-height:1.5}.hub-alert.share-control-settings__warning{background:var(--hub-attention-subtle)}.canvas-share-page{background:var(--brand-color-canvas-subtle);width:100%;height:100%;color:var(--hub-fg-default);animation:canvas-share-fade-in var(--brand-animation-duration-fast) var(--brand-animation-easing-glide) both, canvas-share-slide-up .4s var(--brand-animation-easing-glide) both;flex-direction:column;display:flex;overflow-y:auto;container-type:inline-size}.canvas-share-build-details{color:var(--hub-fg-muted)}.canvas-share-internal{align-items:flex-start;gap:var(--hub-space-8);flex-direction:column;display:flex}.canvas-share-internal p,.canvas-share-public-header p{color:var(--hub-fg-muted);margin:0}.canvas-share-public-header{gap:var(--hub-space-8);border-top:1px solid var(--hub-border-muted);flex-direction:column;padding-block-start:var(--hub-space-24);display:flex}.canvas-share-page .copyable-text-input__input[readonly]{background-color:var(--hub-canvas-muted)}.canvas-share-internal-actions{width:100%}.canvas-share-build-details p{margin:0}.canvas-share-build-reference{border-radius:var(--hub-radius-small);color:inherit;font:inherit;text-underline-offset:.2em;cursor:help;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.canvas-share-build-reference:focus-visible{outline:2px solid var(--hub-focus);outline-offset:2px}.canvas-share-page .canvas-share-build-tooltip{white-space:pre-line;text-align:start;max-width:min(22rem,100vw - 2rem)}.canvas-share-page .canvas-share-link--older-build .share-link-item__details h3{color:var(--hub-fg-muted)}.canvas-share-list-actions{align-items:center;gap:var(--hub-space-8);flex-wrap:wrap;display:flex}.canvas-share-close{flex-shrink:0;margin-inline-start:auto}@keyframes canvas-share-fade-in{0%{opacity:0}to{opacity:1}}@keyframes canvas-share-slide-up{0%{transform:translateY(8rem)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.canvas-share-page{animation:none}}.canvas-branch-publication{overflow-wrap:anywhere;justify-items:start;gap:.75rem;display:grid}.canvas-branch-publication>p{margin:0}.canvas-branch-publication>.hub-alert{justify-self:stretch}.canvas-branch-publication__actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.canvas-branch-publication>p{color:var(--hub-fg-muted)}.canvas-branch-publication .canvas-branch-publication__workflow-link{--brand-InlineLink-color-rest:var(--hub-accent);--brand-InlineLink-color-pressed:var(--hub-accent)}.canvas-branch-publication__actions [aria-busy=true] svg{animation:1s linear infinite canvas-publication-spin}@keyframes canvas-publication-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.canvas-branch-publication__actions [aria-busy=true] svg{animation:none}}.canvas-browser-theme{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.canvas-browser-theme[data-color-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-color-mode=light] .canvas-browser-bar,body[data-color-mode=light] .canvas-browser-bar{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-color-mode=dark] .canvas-browser-bar,body[data-color-mode=dark] .canvas-browser-bar{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.canvas-browser-bar{--hub-canvas-default:var(--background-color-default,var(--brand-color-canvas-default));--hub-fg-default:var(--text-color-default,var(--brand-color-text-default));--hub-fg-muted:var(--text-color-muted,var(--brand-color-text-muted));--hub-border-default:var(--border-color-default,var(--brand-color-border-default));--hub-focus:var(--color-focus-outline,var(--brand-color-focus));--hub-fg-danger:var(--true-color-red,var(--brand-color-danger-fg));--canvas-browser-gap:.375rem;--canvas-browser-control-radius:.375rem;--canvas-browser-control-size:1.75rem;--canvas-browser-surface:color-mix(in srgb, var(--hub-canvas-default) 94%, var(--hub-fg-default));z-index:51;align-items:center;gap:var(--canvas-browser-gap);min-width:0;height:var(--canvas-browser-bar-height,2.5rem);background:var(--hub-canvas-default);border-bottom:1px solid var(--hub-border-default);color:var(--hub-fg-muted);padding:.25rem .5rem;display:flex;position:relative}.canvas-browser-bar__navigation,.canvas-browser-bar__tools,.canvas-browser-bar__appearance{flex:none;align-items:center;gap:1px;display:flex}.canvas-browser-bar__tools{gap:var(--canvas-browser-gap)}.canvas-browser-bar button{width:var(--canvas-browser-control-size);height:var(--canvas-browser-control-size);border-radius:var(--canvas-browser-control-radius);color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid}.canvas-browser-bar button:hover:not(:disabled){background:color-mix(in srgb, var(--hub-fg-default) 12%, transparent);color:var(--hub-fg-default)}.canvas-browser-bar button:focus-visible,.canvas-browser-bar input:focus-visible{outline:2px solid var(--hub-focus);outline-offset:1px}.canvas-browser-bar button:disabled{cursor:default;opacity:.45}.canvas-browser-bar__address{flex:1;min-width:0;position:relative}.canvas-browser-bar__address input{width:100%;height:var(--canvas-browser-control-size);border-radius:var(--canvas-browser-control-radius);background:var(--canvas-browser-surface);color:var(--hub-fg-default);font:inherit;border:1px solid #0000;padding:0 .5rem;font-size:.8125rem;display:block}.canvas-browser-bar__address input[aria-invalid=true]{border-color:var(--hub-fg-danger)}.canvas-browser-bar__error{border:1px solid var(--hub-fg-danger);border-radius:var(--canvas-browser-control-radius);background:var(--hub-canvas-default);color:var(--hub-fg-danger);box-shadow:0 .25rem .75rem color-mix(in srgb, var(--hub-fg-default) 12%, transparent);padding:.375rem .5rem;font-size:.75rem;position:absolute;top:calc(100% + .375rem);left:0}.canvas-browser-bar__appearance{border-radius:var(--canvas-browser-control-radius);background:var(--canvas-browser-surface);gap:0;padding:0}.canvas-browser-bar__appearance button[aria-pressed=true]{border-color:var(--hub-border-default);background:var(--hub-canvas-default);color:var(--hub-fg-default)}@media (width<=32rem){.canvas-browser-bar{--canvas-browser-gap:.25rem;padding-inline:.375rem}.canvas-browser-bar__navigation{gap:0}}.controls-fields{--brand-text-size-100:.875rem;--brand-control-medium-size:1.75rem;--brand-control-small-size:1.75rem;--brand-control-medium-paddingBlock-normal:var(--hub-space-4);--brand-control-medium-paddingInline-condensed:var(--hub-space-8);--controls-selection-shadow:var(--hub-shadow-selection);font-size:var(--brand-text-size-100)}.controls-fields,.controls-scope{gap:var(--hub-space-8);min-width:0;color:var(--hub-fg-default);grid-template-columns:minmax(0,1fr);display:grid}.controls-options,.controls-action-field{gap:var(--hub-space-4);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.controls-field{--brand-control-color-border-default:var(--hub-border-muted);gap:var(--hub-space-4);min-width:0;max-width:100%}.controls-fields .controls-action-button{--brand-text-size-100:var(--hub-text-size-small)}.controls-fields .controls-action-button:not(:disabled){--brand-button-secondary-bgColor-rest:var(--hub-canvas-muted);--brand-button-secondary-fgColor-rest:var(--brand-control-color-fg-default);--brand-button-secondary-borderColor-rest:var(--brand-control-color-border-default)}.controls-field-heading,.controls-fields .controls-field--select{align-items:flex-start;gap:var(--hub-space-4);flex-direction:column;display:flex}.controls-field-heading{width:100%}.controls-field-heading>span:has(>input){min-width:0;max-width:100%}:is(.controls-field>span:has(>:is(input,textarea)),.controls-slider-row>span:has(>input)){min-width:0;max-width:100%}.controls-fields .controls-field-label,.controls-fields .controls-choice-group-label,.controls-fields .controls-choice-group-label>span{color:var(--hub-fg-muted);font-size:.6875rem;line-height:1.5}.controls-fields .controls-field-label{overflow-wrap:anywhere;max-width:100%}.controls-fields .controls-number-input{font-variant-numeric:tabular-nums;min-width:0;max-width:100%}.controls-slider-row{align-items:center;gap:var(--hub-space-8);width:100%;min-width:0;display:flex}.controls-slider-row>.controls-native-slider{flex:1;width:0;min-width:0}.controls-slider-row>span{flex:none;max-width:100%}.controls-number-input--slider{appearance:textfield}.controls-number-input--slider::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.controls-number-input--slider::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.controls-field--select>span:has(>select){width:max-content;min-width:0;max-width:100%}.controls-fields .controls-select-input{width:auto;min-width:0;max-width:100%}.controls-fields :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),textarea,select):not(:disabled){background-color:var(--hub-canvas-muted)}.controls-fields :is(.controls-select-input,.controls-action-button):not(:disabled):not(:focus-visible){box-shadow:var(--hub-shadow-control-field)}.controls-field-validation{overflow-wrap:anywhere;width:100%;min-width:0}.controls-fields .controls-choice-row{align-items:center;column-gap:var(--hub-space-8);grid-template-columns:auto minmax(0,1fr)}.controls-choice-row>span:has(>.controls-choice-mark){align-items:center;display:flex}.controls-fields .controls-choice-label{min-height:var(--hub-space-24);line-height:1.5;font-size:var(--hub-text-size-small);overflow-wrap:anywhere;align-items:center;min-width:0;display:flex;top:0}.controls-fields .controls-choice-group-label{overflow-wrap:anywhere;max-width:100%;margin-block-end:var(--hub-space-4)}.controls-fields .controls-choice-mark{width:1rem;height:1rem;margin:0}.controls-fields .controls-choice-mark>svg{width:.75rem;height:.75rem}.controls-fields .controls-choice-mark--radio:before{width:1.5rem;height:1.5rem;inset:-.25rem}.controls-fields .controls-choice-mark--radio>span{width:.5rem;height:.5rem}.controls-scope-divider{border:0;border-top:var(--brand-borderWidth-thin) solid var(--hub-border-muted);width:100%;margin:0}.controls-group{--controls-group-heading-inset:var(--hub-space-8);--controls-group-heading-bottom-inset:var(--hub-space-8);gap:var(--hub-space-8);border:0;grid-template-columns:minmax(0,1fr);min-width:0;margin:0;padding:0;display:grid}.controls-group>legend{width:100%;min-width:0;max-width:100%;padding:0}.controls-scope>.controls-scope-divider+.controls-group{margin-top:calc(-1 * var(--controls-group-heading-inset))}.controls-scope>:is(.controls-field,.controls-group)+.controls-group>legend{border-top:var(--brand-borderWidth-thin) solid var(--hub-border-muted)}.controls-scope>.controls-group+.controls-field{padding-top:var(--hub-space-8);border-top:var(--brand-borderWidth-thin) solid var(--hub-border-muted)}.controls-scope-divider,.controls-scope>:is(.controls-field,.controls-group)+.controls-group>legend,.controls-scope>.controls-group+.controls-field{border-image-source:linear-gradient(var(--hub-border-muted), var(--hub-border-muted));border-image-slice:1;border-image-outset:0 var(--controls-group-heading-bleed,0px)}.controls-group-toggle:is(button){width:calc(100% + var(--controls-group-heading-bleed,0px) * 2);min-width:0;margin-left:calc(-1 * var(--controls-group-heading-bleed,0px));margin-bottom:calc(-1 * var(--controls-group-heading-bottom-inset));padding-left:var(--controls-group-heading-bleed,0px);padding-right:var(--controls-group-heading-bleed,0px);padding-block:0;padding-top:var(--controls-group-heading-inset);padding-bottom:var(--controls-group-heading-bottom-inset);min-height:calc(var(--hub-space-24) + var(--controls-group-heading-inset) + var(--controls-group-heading-bottom-inset));text-align:left;text-transform:none;color:var(--hub-fg-default);border-radius:0;justify-content:space-between}.controls-group-toggle .controls-group-label{font-size:var(--hub-text-size-small);color:var(--hub-fg-default);white-space:normal;overflow-wrap:anywhere}.controls-group-body{gap:var(--hub-space-8);min-width:0;padding-top:calc(var(--hub-space-4) + var(--controls-group-heading-bottom-inset));grid-template-columns:minmax(0,1fr);display:grid}.controls-group-body[hidden]{display:none}.controls-native-slider{--controls-slider-thumb-size:1rem;--controls-slider-track-size:.375rem;--controls-slider-fill:var(--hub-accent);--controls-slider-track-background:linear-gradient(to right, var(--controls-slider-fill) var(--controls-slider-progress), var(--hub-border-muted) var(--controls-slider-progress));appearance:none;width:100%;min-height:var(--brand-control-small-size);cursor:pointer;background:0 0;margin:0}.controls-native-slider::-webkit-slider-runnable-track{height:var(--controls-slider-track-size);border-radius:var(--controls-slider-track-size);background:var(--controls-slider-track-background)}.controls-native-slider::-webkit-slider-thumb{appearance:none;box-sizing:border-box;width:var(--controls-slider-thumb-size);height:var(--controls-slider-thumb-size);margin-top:calc((var(--controls-slider-track-size) - var(--controls-slider-thumb-size)) / 2);border:var(--brand-borderWidth-thin) solid var(--hub-border-default);background:var(--hub-canvas-default);box-shadow:var(--controls-selection-shadow);border-radius:50%}.controls-native-slider::-moz-range-track{height:var(--controls-slider-track-size);border-radius:var(--controls-slider-track-size);background:var(--controls-slider-track-background);border:0}.controls-native-slider::-moz-range-thumb{box-sizing:border-box;width:var(--controls-slider-thumb-size);height:var(--controls-slider-thumb-size);border:var(--brand-borderWidth-thin) solid var(--hub-border-default);background:var(--hub-canvas-default);box-shadow:var(--controls-selection-shadow);border-radius:50%}.controls-native-slider:disabled{--controls-slider-fill:var(--hub-fg-muted);cursor:not-allowed}@media (forced-colors:active){.controls-native-slider::-webkit-slider-runnable-track{background:canvastext}.controls-native-slider::-moz-range-track{background:canvastext}}.controls-native-color{width:var(--brand-control-small-size);height:var(--brand-control-small-size);padding:var(--hub-space-4);background:var(--hub-canvas-muted);border:var(--brand-borderWidth-thin) solid var(--hub-border-muted);border-radius:var(--hub-radius-medium);cursor:pointer}.controls-native-color:disabled{background:var(--hub-canvas-muted);cursor:not-allowed}.controls-segments{--brand-text-size-100:var(--hub-text-size-small);--controls-segment-inset:.125rem;width:100%;max-width:100%;padding:var(--controls-segment-inset);border:var(--brand-borderWidth-thin) solid var(--hub-border-muted);border-radius:var(--hub-radius-medium);background:var(--hub-canvas-muted);display:flex}.controls-segment{min-width:0;min-height:calc(var(--brand-control-medium-size) - (var(--brand-borderWidth-thin) + var(--controls-segment-inset)) * 2);padding-inline:var(--hub-space-8);border:var(--brand-borderWidth-thin) solid transparent;border-radius:max(0px, calc(var(--hub-radius-medium) - var(--brand-borderWidth-thin) - var(--controls-segment-inset)));cursor:pointer;color:var(--hub-fg-muted);flex:1 1 0;justify-content:center;align-items:center;display:flex;position:relative}.controls-segment>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:inherit;overflow:hidden}.controls-segment:has(input:checked){background:var(--hub-canvas-default);border-color:var(--hub-border-muted);box-shadow:var(--controls-selection-shadow);color:var(--hub-fg-default)}.controls-segment:has(input:disabled){color:var(--hub-fg-muted);cursor:not-allowed}.controls-fields:focus-visible,.controls-native-slider:focus-visible,.controls-native-color:focus-visible{outline:var(--hub-border-width-thick) solid var(--hub-focus);outline-offset:var(--hub-space-4)}.controls-segment:has(input:focus-visible){outline:var(--hub-border-width-thick) solid var(--hub-focus);outline-offset:var(--hub-space-4)}.controls-ghost-button{--controls-ghost-background:transparent;--brand-button-subtle-bgColor-rest:var(--controls-ghost-background);--brand-button-subtle-bgColor-hover:var(--controls-ghost-background);--brand-button-subtle-bgColor-active:var(--controls-ghost-background);--brand-button-subtle-borderColor-rest:transparent;--brand-button-subtle-borderColor-hover:transparent;--brand-button-subtle-borderColor-active:transparent}.controls-ghost-button.controls-ghost-button:is(button){background:var(--controls-ghost-background);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0}.controls-ghost-button:not(:disabled):hover{--controls-ghost-background:var(--hub-canvas-muted)}.canvas-controls-layer{z-index:40;inset:var(--canvas-preview-top,0) 0 0;pointer-events:none;position:absolute}.canvas-controls-panel{--brand-text-size-100:.875rem;--brand-control-small-size:1.75rem;top:var(--hub-space-16);left:var(--hub-space-16);width:min(18rem, calc(100% - var(--hub-space-16) * 2));max-height:calc(100% - var(--hub-space-16) * 2);background:var(--hub-canvas-default);color:var(--hub-fg-default);border:var(--brand-borderWidth-thin) solid var(--hub-border-default);border-radius:var(--hub-radius-medium);box-shadow:var(--hub-shadow-floating);pointer-events:auto;font-size:var(--brand-text-size-100);flex-direction:column;display:flex;position:absolute;overflow:hidden}.canvas-controls-header{align-items:center;gap:var(--hub-space-4);padding:var(--hub-space-8);flex:none;display:flex}.canvas-controls-grab{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.canvas-controls-panel[data-dragging=true] .canvas-controls-grab{cursor:grabbing}.canvas-shell:has(.canvas-controls-panel[data-dragging=true]) .prototype-frame{pointer-events:none}.canvas-controls-header .canvas-controls-title{min-width:0;padding-inline:var(--hub-space-8);text-align:left;flex:1;justify-content:space-between}.canvas-controls-body{border-top:var(--brand-borderWidth-thin) solid var(--hub-border-muted);flex-direction:column;min-width:0;min-height:0;display:flex}.canvas-controls-body[hidden]{display:none}.canvas-controls-content{--controls-group-heading-bleed:var(--hub-space-8);gap:var(--hub-space-8);min-width:0;min-height:0;padding:var(--hub-space-8);scrollbar-gutter:stable;overscroll-behavior:contain;grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden scroll}.canvas-controls-content [role=alert]{color:var(--hub-fg-danger)}.canvas-controls-content:has(>.controls-fields:first-child>.controls-scope:first-child>.controls-group:first-child){padding-top:0}.canvas-controls-footer{gap:var(--hub-space-8);padding:var(--hub-space-8);background:var(--hub-canvas-subtle);border-top:var(--brand-borderWidth-thin) solid var(--hub-border-muted);flex:none;display:grid}.canvas-controls-footer button:not(:disabled):not(:focus-visible){box-shadow:var(--hub-shadow-control-raised)}.canvas-controls-footer .canvas-controls-learn-more{--brand-InlineLink-color-rest:var(--hub-fg-success);--brand-InlineLink-color-pressed:var(--hub-fg-success);justify-self:start;align-items:center;gap:var(--hub-space-4);text-decoration:none;display:inline-flex}.canvas-controls-learn-more:focus-visible{outline:var(--hub-border-width-thick) solid var(--hub-focus);outline-offset:var(--hub-space-4)}.canvas-controls-diagnostics{overflow-wrap:anywhere;color:var(--hub-fg-muted);font-size:var(--brand-text-size-100)}.canvas-controls-diagnostics summary{cursor:pointer;padding:var(--hub-space-8)}.canvas-controls-diagnostics h4{font-size:var(--brand-text-size-100)}.canvas-controls-diagnostics summary:focus-visible{outline:var(--hub-border-width-thick) solid var(--hub-focus);outline-offset:var(--hub-space-4)}.canvas-controls-diagnostics p{margin-top:var(--hub-space-8);white-space:pre-wrap}.hub-counter{background:var(--hub-counter-background,color-mix(in srgb, currentColor 10%, Canvas));min-width:1.25rem;min-height:1.25rem;color:inherit;font-variant-numeric:tabular-nums;border-radius:100rem;justify-content:center;align-items:center;padding:0 .375rem;font-size:.75rem;font-weight:600;line-height:1.25rem;display:inline-flex}.hub-sidebar{z-index:var(--hub-sidebar-z-index,30);inset:var(--hub-sidebar-top,0) 0 0 auto;width:min(var(--hub-sidebar-width,24rem), 100%);background:var(--hub-canvas-muted);min-height:0;color:var(--hub-fg-default);border-left:var(--brand-borderWidth-thin) solid var(--hub-border-muted);box-shadow:var(--hub-shadow-floating);visibility:hidden;pointer-events:none;flex-direction:column;transition:transform .16s cubic-bezier(.4,0,1,1),visibility 0s linear .16s;display:flex;position:absolute;transform:translate(calc(100% + 1.5rem))}.hub-sidebar[data-open=true]{visibility:visible;pointer-events:auto;transition:transform .24s ease-in,visibility;transform:translate(0)}.hub-sidebar__header{justify-content:space-between;align-items:center;gap:var(--hub-space-12);padding:var(--hub-space-8) var(--hub-space-16);background:var(--hub-canvas-subtle);border-bottom:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);flex:none;display:flex}.hub-sidebar__heading{align-items:center;gap:var(--hub-space-8);min-width:0;display:flex}.hub-sidebar__heading h2{color:var(--hub-fg-default);font-size:var(--brand-text-size-200);overflow-wrap:anywhere;margin:0}.hub-sidebar .hub-sidebar__close{--brand-button-subtle-bgColor-hover:var(--brand-color-border-muted);--brand-button-subtle-borderColor-hover:transparent;background:0 0;border-color:#0000}.hub-sidebar__close:focus-visible{outline:2px solid var(--hub-focus);outline-offset:1px}.hub-sidebar__content{flex:1;min-height:0;overflow:auto}@media (prefers-reduced-motion:reduce){.hub-sidebar,.hub-sidebar[data-open=true]{transition:none}}.hub-user-avatar.hub-user-avatar{width:var(--hub-avatar-size);height:var(--hub-avatar-size);object-fit:cover;flex:none;display:block}.hub-user-avatar--20{--hub-avatar-size:1.25rem}.hub-user-avatar--24{--hub-avatar-size:1.5rem}.hub-user-avatar--28{--hub-avatar-size:1.75rem}.hub-user-avatar--32{--hub-avatar-size:2rem}.review-participant-stack{align-items:center;display:inline-flex}.review-participant-stack__avatar{background:var(--hub-canvas-default);border:2px solid var(--hub-canvas-default);color:var(--hub-fg-muted);transform:translateX(calc(var(--review-avatar-index,0) * var(--review-avatar-spread,0px)));border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.review-participant-stack__avatar:first-child{z-index:4}.review-participant-stack__avatar:nth-child(2){z-index:3;--review-avatar-index:1}.review-participant-stack__avatar:nth-child(3){z-index:2;--review-avatar-index:2}.review-participant-stack__avatar:nth-child(4){z-index:1;--review-avatar-index:3}.review-participant-stack__avatar+.review-participant-stack__avatar{margin-inline-start:calc(-1 * var(--hub-space-8))}.review-participant-stack--small .review-participant-stack__avatar,.review-participant-stack--medium .review-participant-stack__avatar{width:1.75rem;height:1.75rem}.review-participant-stack__avatar--overflow{background:var(--hub-canvas-muted);color:var(--hub-fg-default);font-size:.625rem;font-weight:600}@media (prefers-reduced-motion:no-preference){.review-participant-stack__avatar{transition:transform .15s cubic-bezier(.77,0,.175,1)}}.review-comment-markers{z-index:10;pointer-events:none;position:absolute;inset:0;overflow:hidden}.review-comment-marker{width:auto;min-width:var(--hub-space-32);height:var(--hub-space-32);transform:translate(calc(-1 * var(--hub-space-16) + var(--review-marker-offset-x,0px)), -50%);box-shadow:none;pointer-events:auto;color:var(--hub-fg-muted);background:0 0;border:0;border-radius:50%;padding:.125rem .875rem .125rem .125rem;position:absolute}.review-comment-marker--resolved{opacity:.65}.review-comment-marker .review-participant-stack__avatar:first-child{box-shadow:var(--hub-shadow-review-marker)}.review-comment-marker--unread .review-participant-stack__avatar:first-child{border-color:var(--hub-accent)}.review-comment-marker--unread:after{background:var(--hub-accent);width:var(--hub-space-8);height:var(--hub-space-8);border:1px solid var(--hub-canvas-default);content:"";border-radius:50%;position:absolute;top:-.125rem;right:-.125rem}.review-comment-marker--blocked{cursor:not-allowed}.review-comment-area{pointer-events:none;position:absolute;inset:0;overflow:visible}.review-comment-area__path{fill:none;stroke:var(--hub-accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.review-comment-area__path--selected{stroke:var(--hub-focus);stroke-width:4px}.review-comment-marker--selected,.review-comment-marker:focus-visible{outline:0}.review-comment-marker--selected .review-participant-stack__avatar:first-child,.review-comment-marker:focus-visible .review-participant-stack__avatar:first-child{outline:2px solid var(--hub-focus);outline-offset:.125rem}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.review-comment-marker:hover:not(:disabled) .review-participant-stack__avatar{--review-avatar-spread:.1875rem}}@media (prefers-reduced-motion:no-preference){.review-comment-marker:focus-visible .review-participant-stack__avatar{--review-avatar-spread:.1875rem;transition:none}}.hub-switch{width:var(--base-size-48);height:var(--base-size-40);cursor:pointer;vertical-align:middle;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.hub-switch--small{width:var(--base-size-40);height:var(--base-size-32)}.hub-switch__native-control{opacity:0;pointer-events:none;position:absolute;inset:0}.hub-switch__track{width:var(--base-size-36);height:var(--base-size-24);padding:var(--base-size-4);border-radius:var(--base-size-24);background:var(--brand-color-neutral-emphasis);align-items:center;display:flex}.hub-switch--small .hub-switch__track{width:var(--base-size-28);height:var(--base-size-16);padding:var(--base-size-2)}.hub-switch__thumb{width:var(--base-size-16);height:var(--base-size-16);border-radius:var(--base-size-16);background:var(--brand-color-text-onEmphasis);transition:transform var(--brand-animation-duration-faster) var(--brand-animation-easing-default)}.hub-switch--small .hub-switch__thumb{width:var(--base-size-12);height:var(--base-size-12)}.hub-switch__track[data-checked=true]{background:var(--brand-color-success-fg)}.hub-switch__track[data-checked=true] .hub-switch__thumb{transform:translateX(var(--base-size-12))}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .hub-switch__track[data-checked=true] .hub-switch__thumb{transform:translateX(calc(-1 * var(--base-size-12)))}.hub-switch:has(:focus-visible) .hub-switch__track{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.hub-switch[data-disabled]{opacity:.5;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.hub-switch__thumb{transition:none}}.review-comment-filter-controls{flex-direction:column;gap:.75rem;padding:0;display:flex}.review-comment-filter-controls__search{align-items:center;gap:.5rem;display:flex}.review-comment-filter-controls__search-field{flex:1;min-width:0;position:relative}.review-comment-filter-controls__input{box-sizing:border-box;border:1px solid var(--hub-border-default);border-radius:var(--hub-radius-medium);background:var(--hub-canvas-default);width:100%;height:2.5rem;min-height:2.5rem;color:var(--hub-fg-default);font-size:var(--brand-text-size-100);padding:.5rem 1rem .625rem 2.5rem;line-height:1.25rem}.review-comment-filter-controls__input:focus{border-color:var(--hub-focus);outline:none}.review-comment-filter-controls__input::placeholder{color:var(--hub-fg-muted)}.review-comment-filter-controls__search-icon{z-index:1;color:var(--hub-fg-muted);pointer-events:none;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.review-comment-filter-controls .review-comment-filter-controls__button{border-color:#0000}.review-comment-filter-controls .review-comment-filter-controls__button--active,.review-comment-filter-controls .review-comment-filter-controls__button:hover:not(:disabled){background:var(--brand-color-border-muted)}.review-comment-filter-controls__button:focus-visible{outline:2px solid var(--hub-focus);outline-offset:1px}.review-comment-filter-controls__filters{flex-direction:column;gap:.5rem;padding-top:.25rem;display:flex}.review-comment-filter-controls__toggle,.review-comment-filter-controls__participant{justify-content:space-between;align-items:center;gap:.75rem;min-height:2rem;font-size:.875rem;display:flex}.review-comment-filter-controls__participant{gap:.5rem}.review-comment-filter-controls__participant [data-testid=ActionMenu],.review-comment-filter-controls__participant-trigger{max-width:12rem}.review-comment-filter-controls__participant-name{text-overflow:ellipsis;white-space:nowrap;max-width:8rem;display:block;overflow:hidden}.review-comment-filter-controls__participant [role=menu]{width:max-content;min-width:12rem;max-width:min(20rem,100vw - 1rem)}.review-comment-row{padding:var(--hub-space-8) var(--hub-space-12);border-radius:var(--brand-borderRadius-medium);isolation:isolate;font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);background:0 0;border:0;margin-inline-start:var(--hub-space-12);position:relative}.review-comment-row:before{content:"";inset-block:0;inset-inline:calc(-1 * var(--hub-space-16) - var(--hub-space-4)) calc(-1 * var(--hub-space-4));border-radius:inherit;pointer-events:none;z-index:-1;position:absolute}.review-comment-row:hover:before,.review-comment-row--selected:before{background:var(--brand-color-border-muted)}.review-comment-row__button{appearance:none;cursor:pointer;width:100%;min-height:0;font:inherit;text-align:left;color:inherit;background:0 0;border:0;margin:0;padding:0;display:block}.review-comment-row__button:after{content:"";inset-block:0;inset-inline:calc(-1 * var(--hub-space-16) - var(--hub-space-4)) calc(-1 * var(--hub-space-4));border-radius:var(--brand-borderRadius-medium);position:absolute}.review-comment-row__button:focus-visible{outline:none}.review-comment-row__button:focus-visible:after{outline:2px solid var(--hub-focus);outline-offset:-2px}.review-comment-row__button:disabled{cursor:not-allowed;opacity:.6}.review-comment-row .review-comment-row__avatar{width:1.25rem;height:1.25rem;inset-inline-start:calc(-1 * var(--hub-space-24));color:var(--hub-fg-muted);border-radius:50%;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.review-comment-row__content{min-width:0}.review-comment-row__metadata{min-width:0;color:var(--hub-fg-muted);flex-wrap:wrap}.review-comment-row__author{text-overflow:ellipsis;white-space:nowrap;color:var(--hub-fg-muted);font-weight:400;overflow:hidden}.review-comment-row--unread .review-comment-row__author{font-weight:600}.review-comment-row__author-and-build{align-items:center;gap:var(--hub-space-4);flex:1;min-width:0;display:flex;position:relative}.review-comment-row__metadata time{z-index:1;cursor:pointer;white-space:nowrap;font-size:.75rem;position:relative}.review-comment-row__unread{z-index:1;cursor:pointer;background:var(--hub-accent);width:var(--hub-space-8);height:var(--hub-space-8);top:50%;border-radius:50%;position:absolute;inset-inline-start:calc(-1 * var(--hub-space-24) + (1.25rem - var(--hub-space-8)) / 2);transform:translateY(-50%)}.review-comment-row__body-container{display:block;position:relative}.review-comment-row__body{overflow-wrap:anywhere;-webkit-line-clamp:3;color:var(--hub-fg-muted);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.review-comment-row--unread .review-comment-row__author,.review-comment-row--unread .review-comment-row__body{color:var(--hub-fg-default)}.review-comment-row__context{padding-block-start:var(--hub-space-4)}.review-comment-row__build{white-space:nowrap;flex-shrink:0;font-size:.75rem}.review-comment-row__build a{z-index:1;color:var(--hub-fg-muted);text-decoration:none;position:relative}.review-comment-row__build a:hover{text-decoration:underline}.review-comment-row__replies{white-space:nowrap;color:var(--hub-fg-muted)}.review-comment-row__layout,.review-comment-row__metadata,.review-comment-row__context{align-items:flex-start;gap:.5rem;display:flex}.review-comment-row__content,.review-comment-row__replies{flex:1;min-width:0}.review-comment-row__author{flex:0 auto}.review-comment-row__copy{flex-direction:column;gap:.25rem;display:flex}.review-comment-row__metadata{align-items:center}.review-comment-row__context{align-items:center;font-size:.75rem}.review-comment-row__status{white-space:nowrap;margin-inline-start:auto}.review-comments-sidebar{flex-direction:column;width:100%;height:100%;display:flex}.review-comments-sidebar__header{justify-content:space-between;align-items:center;gap:.75rem;min-height:3.5rem;padding:0;display:flex}.review-comments-sidebar__heading{align-items:center;gap:.5rem;display:flex}.review-comments-sidebar__heading h2{margin:0;font-size:1rem}.review-comments-sidebar .review-comments-sidebar__close{--brand-button-subtle-bgColor-hover:var(--brand-color-border-muted);--brand-button-subtle-borderColor-hover:transparent;background:0 0;border-color:#0000}.review-comments-sidebar__close:focus-visible{outline:2px solid var(--hub-focus);outline-offset:1px}.review-comments-sidebar__body{min-height:0;margin-inline:calc(-1 * var(--hub-space-8)) calc(-1 * var(--hub-space-4));padding-inline:var(--hub-space-8) var(--hub-space-4);flex-direction:column;flex:1;display:flex;overflow:auto}.review-comments-sidebar__state{text-align:center;min-height:12rem;color:var(--hub-fg-muted);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;display:flex}.review-comments-sidebar__threads{padding:var(--hub-space-8) 0 0;flex-direction:column;gap:.25rem;display:flex}.review-comments-sidebar__loading{border-top:1px solid var(--hub-border-muted);color:var(--hub-fg-muted);justify-content:center;align-items:center;gap:.5rem;margin-top:auto;padding:.75rem 1rem;display:flex}.review-comment-control__trigger{width:var(--brand-control-small-size);min-width:var(--brand-control-small-size);height:var(--brand-control-small-size);min-height:var(--brand-control-small-size);gap:0;padding:0}.review-shell__comment-actions .review-comment-control__trigger{border-start-end-radius:0;border-end-end-radius:0}.review-comment-control__trigger>[data-testid=Button-trailing-visual],.review-comment-control__trigger>span:nth-child(2){display:none}.review-comment-control__trigger~div [role=menu]{max-height:min(460px, var(--review-comment-control-menu-height,460px))}.review-comment-control__menu-item{column-gap:var(--brand-control-medium-gap)}div:has(>[data-testid=ActionMenu] .review-comment-control__trigger[aria-expanded=true])+[role=tooltip]{display:none}.canvas-commenting-recovery__actions{flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;display:flex}.review-confirmation-panel{background:var(--hub-attention-subtle);border:1px solid var(--hub-border-default);border-radius:var(--hub-radius-medium);flex-direction:column;gap:.75rem;padding:.75rem;display:flex}.review-confirmation-panel--compact{gap:.5rem;padding:.5rem}.review-confirmation-panel--condensed{flex-flow:wrap;justify-content:space-between;align-items:center;gap:.375rem .5rem;padding:.375rem;padding-inline-start:.625rem}.review-confirmation-panel--condensed .review-confirmation-panel__copy{flex:1 0 auto;max-width:100%}.review-confirmation-panel--condensed .review-confirmation-panel__copy strong{font-size:.8125rem;line-height:1.25rem}.review-confirmation-panel--condensed .review-confirmation-panel__actions{margin-inline-start:auto}.review-confirmation-panel--condensed .review-confirmation-panel__error{flex-basis:100%}.review-confirmation-panel__copy{flex-direction:column;gap:.25rem;display:flex}.review-confirmation-panel__copy span,.review-confirmation-panel__error{font-size:.875rem}.review-confirmation-panel__actions{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.review-confirmation-panel__danger{border-color:var(--hub-danger-emphasis);background:var(--hub-danger-emphasis);color:var(--hub-fg-on-danger)}@media (hover:hover) and (pointer:fine){.review-confirmation-panel__danger:not(:disabled):hover{border-color:color-mix(in srgb, var(--hub-danger-emphasis) 85%, var(--hub-fg-default));background:color-mix(in srgb, var(--hub-danger-emphasis) 85%, var(--hub-fg-default))}}.review-confirmation-panel__error{color:var(--hub-fg-danger)}.mention-input{width:100%;position:relative}.mention-input textarea{box-sizing:border-box;border:1px solid var(--hub-border-default);border-radius:var(--hub-radius-medium);background:var(--hub-canvas-default);width:100%;color:var(--hub-fg-default);font:inherit;resize:vertical;padding:.5rem}.mention-input textarea:focus-visible{outline:2px solid var(--hub-focus);outline-offset:-1px}.mention-input__suggestions{z-index:100;border:1px solid var(--hub-border-default);border-radius:var(--hub-radius-medium);background:var(--hub-canvas-default);max-height:14rem;color:var(--hub-fg-default);padding:.25rem;position:fixed;overflow-y:auto}.mention-input__suggestions ul{margin:0;padding:0;list-style:none}.mention-input__suggestions button{width:100%;color:inherit;text-align:start;cursor:pointer;background:0 0;border:0;padding:.5rem}.mention-input__suggestions [aria-selected=true]{background:var(--hub-canvas-subtle)}.review-comment-composer-backdrop{z-index:39;background:0 0;border:0;position:absolute;inset:0}.review-comment-composer{width:min(20rem, calc(100% - var(--hub-space-16)));max-height:calc(100% - var(--hub-space-16));border:1px solid var(--hub-border-muted);background:var(--hub-canvas-subtle);z-index:40;box-shadow:var(--hub-shadow-review-overlay);border-radius:.5625rem;padding:.75rem 1rem 1rem;position:absolute;overflow:auto}.review-comment-composer__form{flex-direction:column;gap:.75rem;display:flex}.review-comment-composer__header,.review-comment-composer__actions{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.review-comment-composer__header h2{font-size:var(--brand-text-size-100);margin:0;font-weight:600}.review-comment-composer__actions{justify-content:flex-end}.review-comment-composer textarea{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100)}.review-comment-composer__error{color:var(--hub-fg-danger)}.review-comment-composer__banner{margin:0}.review-thread-reply-form__blocked{padding:var(--hub-space-8) var(--hub-space-12);color:var(--hub-fg-muted);font-size:.75rem;display:block}.review-thread-reply-form__error{color:var(--hub-fg-danger)}.review-thread-reply-form{flex-direction:column;gap:.5rem;display:flex}.review-thread-reply-form__composer{align-items:flex-end;display:flex;position:relative}.review-thread-reply-form__composer textarea{resize:none;border:1px solid var(--hub-border-default);border-radius:var(--hub-radius-medium);background:var(--hub-canvas-default);width:100%;min-height:2.5rem;max-height:min(7.5rem,20dvh);color:var(--hub-fg-default);font-size:var(--brand-text-size-100);padding:.5rem 2.75rem .625rem 1rem;line-height:1.25rem;display:block}.review-thread-reply-form__composer textarea:focus{border-color:var(--hub-focus);outline:none}.review-thread-reply-form__composer textarea::placeholder{color:var(--hub-fg-muted)}.review-thread-reply-form__composer textarea:placeholder-shown{white-space:nowrap}.review-thread-reply-form__submit{background:var(--brand-button-primary-bgColor-rest);width:1.875rem;height:1.875rem;color:var(--brand-button-primary-fgColor-rest);cursor:pointer;border:0;border-radius:.375rem;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;bottom:.3125rem;right:.3125rem}.review-thread-reply-form__submit:hover:not(:disabled){opacity:.85}.review-thread-reply-form__submit:disabled{background:var(--hub-border-default);color:var(--hub-fg-muted);cursor:default}.review-thread-reply-form__submit:focus-visible{outline:2px solid var(--hub-focus);outline-offset:2px}.review-thread-reply-form__error{font-size:.875rem}.mention-text{border-radius:var(--hub-radius-small);background:var(--hub-canvas-subtle);color:var(--hub-fg-default);padding-inline:.15em;font-weight:600}.review-thread-message__header{align-items:center;gap:.5rem;display:flex}.review-thread-message__byline{flex-wrap:wrap;flex:1;align-items:baseline;column-gap:.5rem;min-width:0;line-height:1.25rem;display:flex}.review-thread-message__byline time,.review-thread-message__byline>span:not(.review-thread-message__identity){color:var(--hub-fg-muted);font-size:.75rem}.review-thread-message__identity{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.review-comment-reactions{gap:var(--hub-space-4);flex-wrap:wrap;align-items:center;display:flex}.review-comment-reactions>button{border-color:var(--hub-border-muted);border-radius:.375rem;gap:.25rem;height:1.625rem;min-height:1.625rem;padding-inline:.375rem;font-size:.75rem}.review-comment-reactions>button>span:first-child{font-size:.75rem;line-height:1}.review-comment-reactions>button .hub-counter{background:var(--hub-counter-background,transparent);min-width:0;min-height:0;padding:0;font-size:.75rem;line-height:1}.review-comment-reactions>button.review-comment-reaction--selected{background:var(--hub-accent-subtle);border-color:color-mix(in srgb, var(--hub-accent) 40%, var(--hub-border-muted));color:var(--hub-fg-default)}.review-comment-reactions__picker-emoji{font-size:1rem;line-height:1}.review-comment-reactions__error{color:var(--hub-fg-danger)}.review-comment-reactions__tooltip[popover][role=tooltip]{white-space:nowrap}.review-comment-reactions__layout{flex-direction:column;gap:.25rem;display:flex}.review-comment-reactions__menu-trigger{width:var(--brand-control-small-size);min-width:var(--brand-control-small-size);height:var(--brand-control-small-size);min-height:var(--brand-control-small-size);background:0 0;border-color:#0000;gap:0;padding:0}.review-comment-reactions__menu-trigger>[data-testid=Button-trailing-visual],.review-comment-reactions__menu-trigger>span:nth-child(2),.review-comment-reactions__tooltip.review-comment-reactions__tooltip--suppressed[popover][role=tooltip]{display:none}.review-comment-reactions:has(.review-comment-reactions__menu-trigger[aria-expanded=true])>[role=tooltip]{display:none}.review-comment-reactions__layout [role=menu]{max-height:min(460px,100dvh - 2rem)}.review-comment-reactions__layout [role=menu] li{column-gap:var(--brand-control-medium-gap)}.review-thread-message{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);flex-direction:column;gap:.125rem;padding:.5rem 1rem 1rem;display:flex}.review-thread-message+.review-thread-message{padding-top:.5rem}.review-thread-message__actions{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.review-thread-message__edit{flex-direction:column;gap:.5rem;display:flex}.review-thread-message__body{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);overflow-wrap:anywhere;white-space:pre-wrap;margin:0 0 0 2.25rem}.review-thread-message__edit,.review-thread-message>.review-comment-reactions__layout{margin-inline-start:2.25rem}.review-thread-message>.review-comment-reactions__layout{margin-block-start:.5rem}.review-thread-message__body--deleted{color:var(--hub-fg-muted);font-style:italic}.review-thread-message__error{color:var(--hub-fg-danger)}.review-thread-message .review-thread-message__menu-trigger:is(button){width:var(--brand-control-small-size);min-width:var(--brand-control-small-size);height:var(--brand-control-small-size);min-height:var(--brand-control-small-size);box-shadow:none;background:0 0;border:0;gap:0;padding:0}.review-thread-message .review-thread-message__menu-trigger:not(:disabled):hover{background:var(--brand-color-border-muted)}.review-thread-message [role=menu] li{column-gap:var(--brand-control-medium-gap)}.review-thread-message__menu-trigger>[data-testid=Button-trailing-visual],.review-thread-message__menu-trigger>span:nth-child(2){display:none}.review-thread-message__header:has(.review-thread-message__menu-trigger[aria-expanded=true])>[role=tooltip]{display:none}.review-thread-message__delete-item{color:var(--hub-fg-danger)}.review-thread-message__menu-divider{border-top:1px solid var(--hub-border-muted);margin-block:var(--hub-space-4);list-style:none}.review-thread-message__delete-item span{color:var(--hub-fg-danger)}.review-thread-message[data-notification-target=true]{outline:2px solid var(--hub-focus);outline-offset:-2px;border-radius:var(--hub-radius-medium)}.review-thread-conversation{background:var(--hub-canvas-subtle);z-index:40;width:100%;height:100%;box-shadow:var(--hub-shadow-review-overlay);border:0;border-radius:0;display:flex;position:absolute;inset:0;overflow:visible}.review-thread-conversation__layout{max-height:inherit;flex-direction:column;flex:1;min-height:0;display:flex}@container (width>=48rem){.review-thread-conversation{width:min(20rem, calc(100% - var(--hub-space-16)));height:auto;max-height:calc(100% - var(--hub-space-16));border:1px solid var(--hub-border-default);border-radius:.75rem;inset:auto}.review-thread-conversation--anchored{top:var(--review-thread-top);left:var(--review-thread-left)}.review-thread-conversation--docked{top:var(--hub-space-12);right:var(--hub-space-12)}}.review-emoji-burst{z-index:50;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.review-thread-conversation__header{border-bottom:1px solid var(--hub-border-default);flex:none;align-items:center;gap:.5rem;min-height:3rem;padding:.5rem 1rem;display:flex}.review-thread-conversation__header h2{font-size:var(--brand-text-size-100);flex:1;margin:0;font-weight:600}.review-thread-conversation__close{background:0 0;border-color:#0000}.review-thread-conversation__banner{margin:var(--hub-space-8)}.review-thread-conversation__messages{flex:auto;min-height:0;overflow:auto}.review-thread-conversation__messages [data-testid=ActionMenu]{position:static}.review-thread-conversation__messages [data-testid=ActionMenu] [role=menu]{max-height:min(460px, var(--review-thread-menu-room-bottom,calc(100dvh - 2rem)))}.review-thread-conversation__messages [data-testid=ActionMenu] [role=menu][class*=ActionMenu__menu--pos-outside-top]{max-height:min(460px, var(--review-thread-menu-room-top,calc(100dvh - 2rem)))}.review-thread-conversation__footer{flex:none;padding:0 .25rem .25rem}.review-thread-conversation__footer--blocked{border-top:1px solid var(--hub-border-muted);padding:0}@container (width>=48rem){.review-thread-conversation__messages{min-height:5rem;max-height:20rem}}.canvas-hub-panel{--hub-sidebar-top:var(--canvas-preview-top,2.75rem)}.canvas-hub-content{padding:var(--hub-space-16);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);flex:1;overflow:auto}.canvas-hub-connection{margin-bottom:1.5rem}.canvas-hub-status{justify-items:start;gap:var(--hub-space-16);display:grid}.canvas-hub-status>.hub-alert{justify-self:stretch}.canvas-hub-content .canvas-hub-connection p{color:var(--hub-fg-default);margin-block-end:var(--base-size-8)}.canvas-hub-settings{margin-bottom:1rem}.canvas-hub-publication__title,.canvas-hub-section__heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.canvas-hub-publication__title{align-items:flex-start}.canvas-hub-publication__title h3,.canvas-hub-section h3{margin:0}.canvas-hub-publication__title h3{overflow-wrap:anywhere;min-width:0}.canvas-hub-publication__status{border:1px solid var(--hub-border-muted);color:var(--hub-fg-muted);border-radius:999px;flex:none;margin-top:.25rem;padding:.25rem .5rem;font-size:.75rem;line-height:1}.canvas-hub-publication__branch{color:var(--hub-fg-muted);overflow-wrap:anywhere;align-items:center;gap:.375rem;margin:.5rem 0 0;text-decoration:none;display:inline-flex}a.canvas-hub-publication__branch:hover{color:var(--hub-accent);text-decoration:underline}.canvas-hub-publication__description{overflow-wrap:anywhere;margin:1rem 0}.canvas-hub-publication__start-page{margin-bottom:0}.canvas-hub-content .canvas-hub-publication__form label{margin:0}.canvas-hub-publication__name-field{flex:1;min-width:0}.canvas-hub-content .canvas-hub-publication__name-field input{box-sizing:border-box;min-height:1.75rem;font-size:var(--brand-text-size-200);font-weight:var(--brand-text-weight-semibold);margin:0;padding-block:.25rem;line-height:1.25rem}.canvas-hub-publication__description-field{margin-top:1rem}.canvas-hub-content .canvas-hub-publication__description-field textarea{resize:vertical;min-height:5rem;margin:0}.canvas-hub-publication__form .canvas-hub-form-actions,.canvas-hub-content .canvas-hub-publication__form .canvas-hub-publication__start-page-field{margin-top:1rem}.canvas-hub-publication__hint{color:var(--hub-fg-muted);margin:.375rem 0 0;font-size:.75rem}.canvas-hub-publication>button{margin-top:var(--hub-space-16)}.canvas-hub-section,.canvas-hub-publication--after-status{border-top:1px solid var(--hub-border-muted);margin-top:1.25rem;padding-top:1.25rem}.canvas-hub-section>p{color:var(--hub-fg-muted);margin:.75rem 0 0}.canvas-hub-build{margin-top:.75rem}.canvas-hub-build__identity{align-items:baseline;gap:var(--hub-space-8);display:flex}.canvas-hub-build__identity>code{color:var(--hub-fg-muted)}.canvas-hub-build>p{color:var(--hub-fg-muted);margin:.5rem 0 0}.canvas-hub-build a,.canvas-hub-build__history{color:var(--hub-accent)}.canvas-hub-build .canvas-hub-build__author{color:inherit;text-decoration:none}.canvas-hub-build .canvas-hub-build__author:hover{color:var(--hub-accent);text-decoration:underline}.canvas-hub-build__history{margin-top:var(--hub-space-12);display:inline-block}.canvas-hub-build>.canvas-hub-build__notice{color:var(--hub-fg-default)}.canvas-hub-disconnect{margin-top:var(--hub-space-16)}.canvas-hub-origin{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem .5rem;display:grid}.canvas-hub-origin>a{min-width:0;color:var(--hub-accent);overflow-wrap:anywhere}.canvas-hub-origin button{white-space:nowrap;grid-area:1/2}.canvas-hub-origin+p,.canvas-hub-origin+.canvas-hub-publication,.canvas-hub-content>p+p{margin-top:1rem}.canvas-hub-origin-form{margin-block:.75rem}.canvas-hub-origin-form p{color:var(--hub-fg-muted)}.canvas-hub-origin-field{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.5rem;display:grid}.canvas-hub-content .canvas-hub-origin-field label{margin:0}.canvas-hub-origin-form>p{margin:.5rem 0 0}.canvas-hub-origin-form>.canvas-hub-form-actions{margin-top:1rem}.canvas-hub-content form label{margin-block:.75rem;display:block}.canvas-hub-content input,.canvas-hub-content textarea{width:100%;margin-top:.25rem;display:block}.canvas-hub-form-actions{gap:.5rem;display:flex}.canvas-marker-layer{inset:var(--canvas-preview-top,2.75rem) 0 0;z-index:20;pointer-events:none;position:absolute}.canvas-review-controls{align-items:center;gap:0;display:inline-flex}.canvas-review-controls .review-comment-control__trigger{border-start-end-radius:0;border-end-end-radius:0;border-top-right-radius:0;border-bottom-right-radius:0;overflow:visible}.canvas-review-controls .review-comment-control__trigger [data-testid=Button-leading-visual]{flex:0 0 1rem;overflow:visible}.canvas-review-controls .review-comment-control__trigger svg{overflow:visible}.canvas-review-controls .canvas-comments-toggle{--brand-button-secondary-bgColor-active:var(--brand-button-secondary-bgColor-rest);--brand-button-secondary-borderColor-active:var(--brand-button-secondary-borderColor-rest);min-width:var(--brand-control-small-size);height:var(--brand-control-small-size);padding-inline:var(--hub-space-8);gap:var(--hub-space-4);border-start-start-radius:0;border-end-start-radius:0;border-inline-start-width:0;border-left-width:0;border-top-left-radius:0;border-bottom-left-radius:0;margin-inline-start:0}.canvas-comments-toggle:focus-visible{outline:2px solid var(--hub-focus);outline-offset:1px}.canvas-comments-unread-badge{width:var(--hub-space-8);height:var(--hub-space-8);background:var(--hub-accent);border-radius:50%}.canvas-comments-sidebar-shell{--hub-sidebar-top:var(--canvas-preview-top,2.75rem);--hub-sidebar-z-index:35}.canvas-comments-sidebar-content{flex-direction:column;padding:0 1rem 1rem;display:flex;overflow:hidden}.canvas-comments-sidebar-shell .review-comment-filter-controls{padding-top:1rem}.canvas-comments-sidebar-shell .review-comment-filter-controls__filters{border-bottom:var(--brand-borderWidth-thin) solid var(--hub-border-muted);margin-inline:-1rem;padding:.25rem 1rem 1rem}.canvas-comments-live-notices{padding-top:.75rem}.canvas-comments-live-status{color:var(--hub-fg-muted);font-size:var(--brand-text-size-100);margin:0;padding:0}.canvas-comments-live-status+.canvas-comments-live-status{margin-top:.5rem}.canvas-conversation-shell{z-index:40;inset:var(--canvas-preview-top,2.75rem) 0 0;pointer-events:none;position:absolute;container-type:inline-size}.canvas-composer-shell{z-index:45;inset:var(--canvas-preview-top,2.75rem) 0 0;pointer-events:none;position:absolute;container-type:inline-size}.canvas-composer-shell .review-comment-composer,.canvas-composer-shell .review-comment-composer-backdrop{pointer-events:auto}.canvas-selection-notice{z-index:46;top:calc(var(--canvas-preview-top,2.75rem) + .75rem);border:1px solid var(--hub-danger-emphasis);border-radius:var(--brand-borderRadius-medium);background:var(--hub-canvas-default);max-width:min(30rem,100% - 2rem);color:var(--hub-fg-default);box-shadow:var(--hub-shadow-floating);padding:.75rem 1rem;position:absolute;left:50%;transform:translate(-50%)}.canvas-conversation-shell .review-thread-conversation{pointer-events:auto}.canvas-conversation-shell :is(.review-thread-message__menu-trigger,.review-comment-reactions__menu-trigger) [data-testid=Button-leading-visual]{flex:0 0 1rem;overflow:visible}.canvas-publish-settings__option{justify-content:space-between;align-items:center;gap:var(--hub-space-16);margin-top:var(--hub-space-12);display:flex}.canvas-publish-settings__option>label{min-width:0}.canvas-publish-settings__toggle:has([aria-disabled=true]){opacity:.5;cursor:not-allowed}.canvas-publish-settings__error{gap:var(--hub-space-12);margin-top:var(--hub-space-12);display:grid}.canvas-toolbar{--hub-toolbar-selected-bg:var(--brand-button-secondary-bgColor-hover);--hub-toolbar-selected-hover-bg:var(--brand-button-secondary-bgColor-active);z-index:50;background:var(--brand-color-canvas-subtle);border-bottom:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;min-height:2.75rem;padding-block:.375rem;padding-inline:.5rem;display:flex;position:relative}.canvas-toolbar .canvas-publish-share{flex-direction:row;flex:none;align-items:center;gap:0;display:flex}.canvas-publish-share:has(.hub-icon-button) .canvas-publish-button{border-start-end-radius:0;border-end-end-radius:0}.canvas-publish-share .hub-icon-button{border-start-start-radius:0;border-end-start-radius:0;margin-inline-start:-1px}.canvas-publish-share button:focus-visible{z-index:1;position:relative}.canvas-publish-share .hub-icon-button,.canvas-publish-share .canvas-publish-button{height:var(--brand-control-small-size);min-height:var(--brand-control-small-size)}.canvas-toolbar .canvas-title{width:fit-content;min-width:0;max-width:max-content;color:var(--brand-color-text-muted,#656d76);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:var(--brand-text-size-100);letter-spacing:-.015em;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1 1 0;justify-content:flex-start;margin-right:auto;font-weight:700;line-height:1.25rem;overflow:hidden}.canvas-toolbar .canvas-title>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.canvas-toolbar .canvas-title:hover{background:var(--brand-button-subtle-bgColor-hover)}.canvas-toolbar .canvas-title:focus-visible{outline:2px solid var(--hub-accent);outline-offset:2px}.canvas-toolbar button{flex-shrink:0}.canvas-toolbar button:is([aria-pressed=true],[aria-expanded=true]):not(.canvas-title,.canvas-publish-button):not(:disabled):not([aria-disabled=true]){background-color:var(--hub-toolbar-selected-bg)}.canvas-toolbar button:is([aria-pressed=true],[aria-expanded=true]):not(.canvas-title,.canvas-publish-button):not(:disabled):not([aria-disabled=true]):is(:hover,:active){background-color:var(--hub-toolbar-selected-hover-bg)}.canvas-review-controls-slot{align-items:center;display:flex}.canvas-publish-button[aria-busy=true] svg{animation:1s linear infinite canvas-publish-spin}@keyframes canvas-publish-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.canvas-publish-button[aria-busy=true] svg{animation:none}}@media (width<=30rem){.canvas-toolbar{padding-inline:.625rem}}@media (width<1024px){.canvas-toolbar .canvas-toolbar-compact-button{width:var(--brand-control-small-size);min-width:var(--brand-control-small-size);gap:0;padding-inline:0}.canvas-toolbar .canvas-toolbar-button-label{display:none}}*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{list-style:none}html,html:focus-within{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html,html:focus-within{scroll-behavior:auto}}body{min-height:100vh;line-height:1.5}a:not([class]){-webkit-text-decoration-skip:ink;-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto}img,picture{max-width:100%}input,button,textarea,select{font-family:inherit}:root,[data-color-mode=light]{--base-color-scale-black-0:#000;--base-color-scale-transparent:#fff0;--base-color-scale-white-0:#fff;--base-color-scale-gray-0:#f2f5f3;--base-color-scale-gray-1:#e4ebe6;--base-color-scale-gray-2:#d2d9d4;--base-color-scale-gray-3:#c4ccc6;--base-color-scale-gray-4:#b6bfb8;--base-color-scale-gray-5:#96a199;--base-color-scale-gray-6:#77827a;--base-color-scale-gray-7:#58635b;--base-color-scale-gray-8:#353d37;--base-color-scale-gray-9:#191f1b;--base-color-scale-blue-0:#ddf4ff;--base-color-scale-blue-1:#bcecff;--base-color-scale-blue-2:#8dd6ff;--base-color-scale-blue-3:#5fb9ff;--base-color-scale-blue-4:#3094ff;--base-color-scale-blue-5:#0377ff;--base-color-scale-blue-6:#0055d5;--base-color-scale-blue-7:#0040a7;--base-color-scale-blue-8:#002f7a;--base-color-scale-blue-9:#001c4d;--base-color-scale-green-0:#ebf9f4;--base-color-scale-green-1:#bfffd1;--base-color-scale-green-2:#8cf2a6;--base-color-scale-green-3:#5fed83;--base-color-scale-green-4:#23ea57;--base-color-scale-green-5:#0fbf3e;--base-color-scale-green-6:#08872b;--base-color-scale-green-7:#0d6731;--base-color-scale-green-8:#0e4a2e;--base-color-scale-green-9:#0d3024;--base-color-scale-yellow-0:#fff8c5;--base-color-scale-yellow-1:#ffe777;--base-color-scale-yellow-2:#ffd743;--base-color-scale-yellow-3:#fabf21;--base-color-scale-yellow-4:#db9d00;--base-color-scale-yellow-5:#be7d00;--base-color-scale-yellow-6:#a06100;--base-color-scale-yellow-7:#824800;--base-color-scale-yellow-8:#653200;--base-color-scale-yellow-9:#471f00;--base-color-scale-orange-0:#fff1e5;--base-color-scale-orange-1:#fcceab;--base-color-scale-orange-2:#f4a876;--base-color-scale-orange-3:#f08a3a;--base-color-scale-orange-4:#da7210;--base-color-scale-orange-5:#b85b06;--base-color-scale-orange-6:#954502;--base-color-scale-orange-7:#703100;--base-color-scale-orange-8:#5c2300;--base-color-scale-orange-9:#471700;--base-color-scale-red-0:#ffebe9;--base-color-scale-red-1:#ffcecb;--base-color-scale-red-2:#ffaba8;--base-color-scale-red-3:#ff8182;--base-color-scale-red-4:#fa4549;--base-color-scale-red-5:#cf2230;--base-color-scale-red-6:#ae0b29;--base-color-scale-red-7:#860620;--base-color-scale-red-8:#730019;--base-color-scale-red-9:#420011;--base-color-scale-purple-0:#f0e5ff;--base-color-scale-purple-1:#dbbffd;--base-color-scale-purple-2:#c898fd;--base-color-scale-purple-3:#b870ff;--base-color-scale-purple-4:#9f51fa;--base-color-scale-purple-5:#8534f3;--base-color-scale-purple-6:#6619e1;--base-color-scale-purple-7:#43179e;--base-color-scale-purple-8:#26115f;--base-color-scale-purple-9:#160048;--base-color-scale-pink-0:#fff0fc;--base-color-scale-pink-1:#ffc9f2;--base-color-scale-pink-2:#f67ed2;--base-color-scale-pink-3:#ff80d2;--base-color-scale-pink-4:#ff4ac0;--base-color-scale-pink-5:#ef2aa4;--base-color-scale-pink-6:#ca2186;--base-color-scale-pink-7:#952866;--base-color-scale-pink-8:#651643;--base-color-scale-pink-9:#3d0a28;--base-color-scale-coral-0:#fff0eb;--base-color-scale-coral-1:#ffcab8;--base-color-scale-coral-2:#ffa387;--base-color-scale-coral-3:#ff7b56;--base-color-scale-coral-4:#fe4c25;--base-color-scale-coral-5:#e13f1b;--base-color-scale-coral-6:#c53211;--base-color-scale-coral-7:#a22710;--base-color-scale-coral-8:#801e0f;--base-color-scale-coral-9:#500a00;--base-color-scale-lemon-0:#fdf5b3;--base-color-scale-lemon-1:#f5e36b;--base-color-scale-lemon-2:#f2da3b;--base-color-scale-lemon-3:#e1c50f;--base-color-scale-lemon-4:#c7a60b;--base-color-scale-lemon-5:#a98906;--base-color-scale-lemon-6:#806803;--base-color-scale-lemon-7:#614d01;--base-color-scale-lemon-8:#413200;--base-color-scale-lemon-9:#322400;--base-color-scale-lime-0:#f3fec8;--base-color-scale-lime-1:#e8fc97;--base-color-scale-lime-2:#dcfa67;--base-color-scale-lime-3:#d1f441;--base-color-scale-lime-4:#b2de28;--base-color-scale-lime-5:#92c219;--base-color-scale-lime-6:#698e17;--base-color-scale-lime-7:#425e13;--base-color-scale-lime-8:#2c440b;--base-color-scale-lime-9:#182c01;--base-color-scale-teal-0:#daf9f5;--base-color-scale-teal-1:#a4efe8;--base-color-scale-teal-2:#6ee5dc;--base-color-scale-teal-3:#39dad2;--base-color-scale-teal-4:#23b1ae;--base-color-scale-teal-5:#197b7b;--base-color-scale-teal-6:#136061;--base-color-scale-teal-7:#024b4d;--base-color-scale-teal-8:#083d3d;--base-color-scale-teal-9:#052b2c;--base-color-scale-indigo-0:#eff2ff;--base-color-scale-indigo-1:#d4dbff;--base-color-scale-indigo-2:#b3c1fd;--base-color-scale-indigo-3:#8e9df7;--base-color-scale-indigo-4:#6b7bef;--base-color-scale-indigo-5:#4956e5;--base-color-scale-indigo-6:#2d3dd7;--base-color-scale-indigo-7:#262dae;--base-color-scale-indigo-8:#212183;--base-color-scale-indigo-9:#12144f}[data-color-mode=dark]{--base-color-scale-black-0:#000;--base-color-scale-transparent:#0000;--base-color-scale-white-0:#fff;--base-color-scale-gray-0:#d2d9d4;--base-color-scale-gray-1:#c4ccc6;--base-color-scale-gray-2:#a4aea6;--base-color-scale-gray-3:#7c8980;--base-color-scale-gray-4:#58635b;--base-color-scale-gray-5:#353d37;--base-color-scale-gray-6:#262c28;--base-color-scale-gray-7:#191f1b;--base-color-scale-gray-8:#0f1511;--base-color-scale-gray-9:#060907;--base-color-scale-blue-0:#c2edff;--base-color-scale-blue-1:#a2daff;--base-color-scale-blue-2:#78bafe;--base-color-scale-blue-3:#3094ff;--base-color-scale-blue-4:#0377ff;--base-color-scale-blue-5:#0a50db;--base-color-scale-blue-6:#1530b7;--base-color-scale-blue-7:#082a8f;--base-color-scale-blue-8:#052063;--base-color-scale-blue-9:#000839;--base-color-scale-green-0:#cdfcd9;--base-color-scale-green-1:#8cf2a6;--base-color-scale-green-2:#5fed83;--base-color-scale-green-3:#23ea57;--base-color-scale-green-4:#0fbf3e;--base-color-scale-green-5:#08872b;--base-color-scale-green-6:#0d6731;--base-color-scale-green-7:#0e422c;--base-color-scale-green-8:#0d3024;--base-color-scale-green-9:#0a241b;--base-color-scale-yellow-0:#f8e3a1;--base-color-scale-yellow-1:#f7d162;--base-color-scale-yellow-2:#fabf21;--base-color-scale-yellow-3:#db9d00;--base-color-scale-yellow-4:#be7d00;--base-color-scale-yellow-5:#a06100;--base-color-scale-yellow-6:#834800;--base-color-scale-yellow-7:#653200;--base-color-scale-yellow-8:#471f00;--base-color-scale-yellow-9:#2a1000;--base-color-scale-orange-0:#ffe2cc;--base-color-scale-orange-1:#fab580;--base-color-scale-orange-2:#f08a3a;--base-color-scale-orange-3:#ea7110;--base-color-scale-orange-4:#d56101;--base-color-scale-orange-5:#b35101;--base-color-scale-orange-6:#924100;--base-color-scale-orange-7:#703100;--base-color-scale-orange-8:#572400;--base-color-scale-orange-9:#3d1800;--base-color-scale-red-0:#ffd9d6;--base-color-scale-red-1:#feb2ae;--base-color-scale-red-2:#fd8986;--base-color-scale-red-3:#fc5c5d;--base-color-scale-red-4:#fa383d;--base-color-scale-red-5:#d31231;--base-color-scale-red-6:#ae0b29;--base-color-scale-red-7:#860620;--base-color-scale-red-8:#5e0217;--base-color-scale-red-9:#33000d;--base-color-scale-purple-0:#eadbff;--base-color-scale-purple-1:#d3b3fe;--base-color-scale-purple-2:#c08bfc;--base-color-scale-purple-3:#a665f9;--base-color-scale-purple-4:#8b40f5;--base-color-scale-purple-5:#6619e1;--base-color-scale-purple-6:#43179e;--base-color-scale-purple-7:#26115f;--base-color-scale-purple-8:#160048;--base-color-scale-purple-9:#0e022c;--base-color-scale-pink-0:#ffdbf7;--base-color-scale-pink-1:#fcabe7;--base-color-scale-pink-2:#f67ed2;--base-color-scale-pink-3:#ed55ba;--base-color-scale-pink-4:#e22d9f;--base-color-scale-pink-5:#ca2186;--base-color-scale-pink-6:#961c66;--base-color-scale-pink-7:#741550;--base-color-scale-pink-8:#520e39;--base-color-scale-pink-9:#30081f;--base-color-scale-coral-0:#ffd5c7;--base-color-scale-coral-1:#fdb7a1;--base-color-scale-coral-2:#fa9072;--base-color-scale-coral-3:#f66945;--base-color-scale-coral-4:#ef4319;--base-color-scale-coral-5:#c53211;--base-color-scale-coral-6:#a22710;--base-color-scale-coral-7:#801e0f;--base-color-scale-coral-8:#500a00;--base-color-scale-coral-9:#3c0000;--base-color-scale-lemon-0:#fcf2a5;--base-color-scale-lemon-1:#f9e76a;--base-color-scale-lemon-2:#f4da38;--base-color-scale-lemon-3:#e4c411;--base-color-scale-lemon-4:#c7a60b;--base-color-scale-lemon-5:#a98906;--base-color-scale-lemon-6:#876a04;--base-color-scale-lemon-7:#654d02;--base-color-scale-lemon-8:#423101;--base-color-scale-lemon-9:#241900;--base-color-scale-lime-0:#edffc9;--base-color-scale-lime-1:#dcff96;--base-color-scale-lime-2:#cdf041;--base-color-scale-lime-3:#b1e119;--base-color-scale-lime-4:#88b80f;--base-color-scale-lime-5:#608a10;--base-color-scale-lime-6:#3e5f0f;--base-color-scale-lime-7:#22360b;--base-color-scale-lime-8:#142a08;--base-color-scale-lime-9:#091d05;--base-color-scale-teal-0:#cff7f2;--base-color-scale-teal-1:#99f1e8;--base-color-scale-teal-2:#61eee3;--base-color-scale-teal-3:#26ede2;--base-color-scale-teal-4:#10dcd4;--base-color-scale-teal-5:#0bbab6;--base-color-scale-teal-6:#079695;--base-color-scale-teal-7:#047172;--base-color-scale-teal-8:#024b4d;--base-color-scale-teal-9:#052d2e;--base-color-scale-indigo-0:#dbe3ff;--base-color-scale-indigo-1:#b3c1fd;--base-color-scale-indigo-2:#8d9ff8;--base-color-scale-indigo-3:#6a7df0;--base-color-scale-indigo-4:#4a5ce5;--base-color-scale-indigo-5:#2d3dd7;--base-color-scale-indigo-6:#232fb3;--base-color-scale-indigo-7:#212183;--base-color-scale-indigo-8:#161962;--base-color-scale-indigo-9:#0d103f}:root{--base-size-128:8rem;--base-size-112:7rem;--base-size-96:6rem;--base-size-88:5.5rem;--base-size-80:5rem;--base-size-64:4rem;--base-size-60:3.75rem;--base-size-48:3rem;--base-size-44:2.75rem;--base-size-40:2.5rem;--base-size-36:2.25rem;--base-size-32:2rem;--base-size-28:1.75rem;--base-size-24:1.5rem;--base-size-20:1.25rem;--base-size-16:1rem;--base-size-12:.75rem;--base-size-8:.5rem;--base-size-6:.375rem;--base-size-4:.25rem;--base-size-2:.125rem;--base-text-weight-heavy:900;--base-text-weight-extrabold:800;--base-text-weight-bold:700;--base-text-weight-semibold:600;--base-text-weight-medium:500;--base-text-weight-normal:400;--base-text-weight-regular:400;--base-text-weight-light:300;--base-text-weight-extralight:200;--brand-animation-variant-scaleInLeft-end:1;--brand-animation-variant-scaleInLeft-start:.9;--brand-animation-variant-scaleInLeft-distance:1.25rem;--brand-animation-variant-scaleInRight-end:1;--brand-animation-variant-scaleInRight-start:.9;--brand-animation-variant-scaleInRight-distance:-1.25rem;--brand-animation-variant-scaleInTop-distance: ;--brand-animation-variant-scaleIn-end:1;--brand-animation-variant-scaleIn-start:.96;--brand-animation-variant-scaleInDown-end:1;--brand-animation-variant-scaleInDown-start:0;--brand-animation-variant-scaleInDown-distance:-3.125rem;--brand-animation-variant-scaleInUp-end:1;--brand-animation-variant-scaleInUp-start:.96;--brand-animation-variant-scaleInUp-distance:1.5rem;--brand-animation-variant-slideInRight-distance:-.9375rem;--brand-animation-variant-slideInLeft-distance:.9375rem;--brand-animation-variant-slideInDown-distance:-.9375rem;--brand-animation-variant-slideInUp-distance:.9375rem;--brand-animation-transition-default:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), transform var(--brand-animation-duration-default) var(--brand-animation-easing-default);--brand-animation-easing-glide:cubic-bezier(.33, 1, .68, 1);--brand-animation-easing-default:cubic-bezier(.16, 1, .3, 1);--brand-animation-duration-extended:.7s;--brand-animation-duration-default:.6s;--brand-animation-duration-fast:.3s;--brand-animation-duration-faster:.2s;--brand-control-animation-easing:var(--brand-animation-easing-glide);--brand-control-animation-duration:80ms;--brand-control-large-size:3.75rem;--brand-control-medium-size:2.6875rem;--brand-controlStack-large-gap-spacious:var(--base-size-12);--brand-controlStack-large-gap-condensed:var(--base-size-8);--brand-controlStack-large-gap-auto:var(--base-size-8);--brand-controlStack-medium-gap-spacious:var(--base-size-12);--brand-controlStack-medium-gap-condensed:var(--base-size-8);--brand-controlStack-small-gap-spacious:var(--base-size-16);--brand-controlStack-small-gap-condensed:var(--base-size-8);--brand-stack-gap-spacious:var(--base-size-48);--brand-stack-gap-normal:var(--base-size-24);--brand-stack-gap-condensed:var(--base-size-16);--brand-stack-padding-spacious:var(--base-size-48);--brand-stack-padding-normal:var(--base-size-24);--brand-stack-padding-condensed:var(--base-size-16);--brand-box-spacing-spacious:var(--base-size-48);--brand-box-spacing-normal:var(--base-size-24);--brand-box-spacing-condensed:var(--base-size-16);--brand-control-large-gap:var(--base-size-16);--brand-control-large-paddingInline-spacious:var(--base-size-32);--brand-control-large-paddingInline-normal:var(--base-size-20);--brand-control-large-paddingInline-condensed:var(--base-size-16);--brand-control-large-paddingBlock-normal:var(--base-size-20);--brand-control-large-paddingBlock-condensed:var(--base-size-12);--brand-control-large-lineBoxHeight:var(--base-size-20);--brand-control-medium-gap:var(--base-size-12);--brand-control-medium-paddingInline-spacious:var(--base-size-28);--brand-control-medium-paddingInline-normal:var(--base-size-16);--brand-control-medium-paddingInline-condensed:var(--base-size-12);--brand-control-medium-paddingBlock-normal:var(--base-size-16);--brand-control-medium-paddingBlock-condensed:var(--base-size-6);--brand-control-medium-lineBoxHeight:var(--base-size-16);--brand-control-small-gap:var(--base-size-8);--brand-control-small-paddingInline-spacious:var(--base-size-24);--brand-control-small-paddingInline-normal:var(--base-size-12);--brand-control-small-paddingInline-condensed:var(--base-size-8);--brand-control-small-paddingBlock:var(--base-size-8);--brand-control-small-lineBoxHeight:var(--base-size-12);--brand-control-small-size:var(--base-size-32);--brand-control-minTarget-coarse:var(--base-size-44);--brand-control-minTarget-fine:var(--base-size-16);--brand-text-style-italic-10:"ital" 10;--brand-text-style-italic-9:"ital" 9;--brand-text-style-italic-8:"ital" 8;--brand-text-style-italic-7:"ital" 7;--brand-text-style-italic-6:"ital" 6;--brand-text-style-italic-5:"ital" 5;--brand-text-style-italic-4:"ital" 4;--brand-text-style-italic-3:"ital" 3;--brand-text-style-italic-2:"ital" 2;--brand-text-style-italic-1:"ital" 1;--brand-text-letterSpacing-1000:0;--brand-text-letterSpacing-900:0;--brand-text-letterSpacing-800:0;--brand-text-letterSpacing-700:0;--brand-text-letterSpacing-600:0;--brand-text-letterSpacing-500:0;--brand-text-letterSpacing-400:0;--brand-text-letterSpacing-350:.18px;--brand-text-letterSpacing-300:.18px;--brand-text-letterSpacing-200:.24px;--brand-text-letterSpacing-100:.21px;--brand-text-lineHeight-1000:1.149;--brand-text-lineHeight-900:1.2;--brand-text-lineHeight-800:1.2;--brand-text-lineHeight-700:1.2;--brand-text-lineHeight-600:1.3;--brand-text-lineHeight-500:1.3;--brand-text-lineHeight-400:1.4;--brand-text-lineHeight-350:1.5;--brand-text-lineHeight-300:1.5;--brand-text-lineHeight-200:1.5;--brand-text-lineHeight-100:1.5;--brand-text-size-1000:2.5rem;--brand-text-size-900:2.25rem;--brand-text-size-800:2rem;--brand-text-size-700:1.75rem;--brand-text-size-600:1.5rem;--brand-text-size-500:1.375rem;--brand-text-size-400:1.25rem;--brand-text-size-350:1.125rem;--brand-text-size-300:1.125rem;--brand-text-size-200:1rem;--brand-text-size-100:.875rem;--brand-text-weight-heavy:550;--brand-text-weight-extrabold:543;--brand-text-weight-bold:537;--brand-text-weight-semibold:525;--brand-text-weight-medium:500;--brand-text-weight-normal:400;--brand-text-weight-regular:400;--brand-text-weight-light:400;--brand-text-weight-extralight:400;--brand-text-weight-1000:var(--base-text-weight-normal);--brand-text-weight-900:var(--base-text-weight-normal);--brand-text-weight-800:var(--base-text-weight-normal);--brand-text-weight-700:var(--base-text-weight-normal);--brand-text-weight-600:var(--base-text-weight-normal);--brand-text-weight-500:var(--base-text-weight-normal);--brand-text-weight-400:var(--base-text-weight-normal);--brand-text-weight-350:var(--base-text-weight-normal);--brand-text-weight-300:var(--base-text-weight-normal);--brand-text-weight-200:var(--base-text-weight-normal);--brand-text-weight-100:var(--base-text-weight-normal);--brand-text-subhead-lineHeight-large:1.3;--brand-text-subhead-lineHeight-medium:1.3;--brand-text-subhead-weight-large:475;--brand-text-subhead-weight-medium:550;--brand-text-subhead-letterSpacing-large:.1px;--brand-text-subhead-letterSpacing-medium:.24px;--brand-text-subhead-size-large:1.125rem;--brand-text-subhead-size-medium:1rem;--brand-heading-lineHeight-1000:1.1;--brand-heading-lineHeight-900:1.1;--brand-heading-lineHeight-800:1.2;--brand-heading-lineHeight-700:1.2;--brand-heading-lineHeight-600:1.3;--brand-heading-lineHeight-500:1.3;--brand-heading-lineHeight-400:1.3;--brand-heading-letterSpacing-1000:0;--brand-heading-letterSpacing-900:0;--brand-heading-letterSpacing-800:0;--brand-heading-letterSpacing-700:0;--brand-heading-letterSpacing-600:0;--brand-heading-letterSpacing-500:0;--brand-heading-letterSpacing-400:0;--brand-heading-weight-1000:440;--brand-heading-weight-900:440;--brand-heading-weight-800:465;--brand-heading-weight-700:460;--brand-heading-weight-600:460;--brand-heading-weight-500:480;--brand-heading-weight-400:480;--brand-fontStack-monospace:"Mona Sans Mono", monospace;--brand-fontStack-sansSerifAlt:"Hubot Sans", "Hubot SansHeaderFallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--brand-fontStack-sansSerif:"Mona Sans", "MonaSansFallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--brand-fontStack-system:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--brand-heading-fontFamilyAlt:var(--brand-fontStack-sansSerifAlt);--brand-heading-fontFamily:var(--brand-fontStack-sansSerif);--brand-body-fontFamilyAlt:var(--brand-fontStack-sansSerifAlt);--brand-body-fontFamily:var(--brand-fontStack-sansSerif)}@media (width>=768px){:root{--brand-text-lineHeight-1000:1.08;--brand-text-lineHeight-900:1.2;--brand-text-lineHeight-800:1.2;--brand-text-size-1000:3.5rem;--brand-text-size-900:3rem;--brand-text-size-800:2.5rem;--brand-text-size-700:2.125rem;--brand-text-size-600:1.75rem;--brand-text-size-500:1.5rem;--brand-text-size-400:1.25rem;--brand-text-subhead-weight-large:525;--brand-heading-lineHeight-1000:1.05;--brand-heading-lineHeight-900:1.05;--brand-heading-weight-1000:440;--brand-heading-weight-900:440;--brand-heading-weight-800:465;--brand-heading-weight-700:460}}@media (width>=1012px){:root{--brand-text-letterSpacing-1000:-.035em;--brand-text-lineHeight-1000:1.08;--brand-text-lineHeight-900:1.1;--brand-text-lineHeight-800:1.18;--brand-text-lineHeight-500:1.35;--brand-text-size-1000:4rem;--brand-text-size-900:3.5rem;--brand-text-size-800:3rem;--brand-text-size-700:2.5rem;--brand-text-size-600:2.125rem;--brand-text-size-500:1.75rem;--brand-text-size-400:1.375rem;--brand-text-size-350:1.25rem;--brand-text-subhead-weight-large:500;--brand-text-subhead-size-large:1.25rem;--brand-heading-lineHeight-1000:1;--brand-heading-lineHeight-900:1;--brand-heading-lineHeight-600:1.2;--brand-heading-letterSpacing-1000:-.014rem;--brand-heading-weight-1000:425;--brand-heading-weight-900:440;--brand-heading-weight-800:440;--brand-heading-weight-700:460}}:root{--brand-breakpoint-xxlarge:87.5rem;--brand-breakpoint-xlarge:80rem;--brand-breakpoint-large:63.25rem;--brand-breakpoint-medium:48rem;--brand-breakpoint-small:34rem;--brand-breakpoint-xsmall:20rem;--brand-borderRadius-full:624.938rem;--brand-borderWidth-thicker:max(4px, .25rem);--brand-borderWidth-thick:max(2px, .125rem);--brand-borderWidth-thin:max(1px, .0625rem);--brand-borderRadius-xlarge:var(--base-size-24);--brand-borderRadius-large:var(--base-size-16);--brand-borderRadius-medium:var(--base-size-8);--brand-borderRadius-small:var(--base-size-4);--brand-borderInset-thicker:inset 0 0 0 var(--brand-borderWidth-thicker);--brand-borderInset-thick:inset 0 0 0 var(--brand-borderWidth-thick);--brand-borderInset-thin:inset 0 0 0 var(--brand-borderWidth-thin)}:root,[data-color-mode=light]{--brand-color-success-fg:var(--base-color-scale-green-6);--brand-color-success-emphasis:var(--base-color-scale-green-5);--brand-color-success-muted:#8cf2a699;--brand-color-success-subtle:var(--base-color-scale-green-1);--brand-color-danger-fg:var(--base-color-scale-red-5);--brand-color-danger-emphasis:var(--base-color-scale-red-5);--brand-color-danger-muted:#ffaba899;--brand-color-danger-subtle:var(--base-color-scale-red-0);--brand-color-error-fg:var(--brand-color-danger-fg);--brand-color-error-emphasis:var(--brand-color-danger-emphasis);--brand-color-error-muted:var(--brand-color-danger-muted);--brand-color-error-subtle:var(--brand-color-danger-subtle);--brand-color-accent-primary:var(--base-color-scale-green-7);--brand-color-accent-secondary:var(--base-color-scale-yellow-5);--brand-color-text-default:var(--base-color-scale-black-0);--brand-color-text-muted:var(--base-color-scale-gray-7);--brand-color-text-subtle:var(--brand-color-text-muted);--brand-color-text-onEmphasis:var(--base-color-scale-white-0);--brand-color-text-emphasized:var(--base-color-scale-green-6);--brand-color-text-link-rest:var(--base-color-scale-blue-6);--brand-color-text-link-pressed:var(--base-color-scale-blue-8);--brand-color-text-danger:#cf222e;--brand-color-text-error:var(--brand-color-text-danger);--brand-color-neutral-emphasisPlus:var(--base-color-scale-gray-8);--brand-color-neutral-emphasis:var(--base-color-scale-gray-6);--brand-color-neutral-muted:#c4ccc6fe;--brand-color-neutral-subtle:#e4ebe6fe;--brand-color-canvas-default:var(--base-color-scale-white-0);--brand-color-canvas-invert:var(--base-color-scale-black-0);--brand-color-canvas-overlay:var(--base-color-scale-white-0);--brand-color-canvas-inset:var(--base-color-scale-gray-0);--brand-color-canvas-subtle:var(--base-color-scale-gray-0);--brand-color-canvas-muted:#f9fbf9;--brand-color-border-default:var(--base-color-scale-gray-4);--brand-color-border-muted:var(--base-color-scale-gray-1);--brand-color-border-subtle:var(--base-color-scale-gray-2);--brand-color-focus:var(--base-color-scale-blue-5)}[data-color-mode=dark]{--brand-color-success-fg:var(--base-color-scale-green-3);--brand-color-success-emphasis:var(--base-color-scale-green-6);--brand-color-success-muted:#0d302499;--brand-color-success-subtle:#0e422cd9;--brand-color-danger-fg:var(--base-color-scale-red-4);--brand-color-danger-emphasis:var(--base-color-scale-red-5);--brand-color-danger-muted:#5e021799;--brand-color-danger-subtle:#fa383dd9;--brand-color-error-fg:var(--brand-color-danger-fg);--brand-color-error-emphasis:var(--brand-color-danger-emphasis);--brand-color-error-muted:var(--brand-color-danger-muted);--brand-color-error-subtle:var(--brand-color-danger-subtle);--brand-color-accent-primary:var(--base-color-scale-green-2);--brand-color-accent-secondary:var(--base-color-scale-yellow-3);--brand-color-text-default:var(--base-color-scale-white-0);--brand-color-text-muted:var(--base-color-scale-gray-2);--brand-color-text-subtle:var(--brand-color-text-muted);--brand-color-text-onEmphasis:var(--base-color-scale-black-0);--brand-color-text-emphasized:var(--base-color-scale-green-3);--brand-color-text-link-rest:var(--base-color-scale-blue-1);--brand-color-text-link-pressed:var(--base-color-scale-blue-1);--brand-color-text-danger:#ff8182;--brand-color-text-error:var(--brand-color-text-danger);--brand-color-neutral-emphasisPlus:var(--base-color-scale-gray-3);--brand-color-neutral-emphasis:var(--base-color-scale-gray-3);--brand-color-neutral-muted:#7c8980fe;--brand-color-neutral-subtle:#7c8980;--brand-color-canvas-default:var(--base-color-scale-black-0);--brand-color-canvas-invert:var(--base-color-scale-white-0);--brand-color-canvas-overlay:var(--base-color-scale-gray-6);--brand-color-canvas-inset:var(--base-color-scale-black-0);--brand-color-canvas-subtle:var(--base-color-scale-gray-8);--brand-color-canvas-muted:#090d0a;--brand-color-border-default:var(--base-color-scale-gray-5);--brand-color-border-muted:var(--base-color-scale-gray-7);--brand-color-border-subtle:var(--base-color-scale-gray-6);--brand-color-focus:var(--base-color-scale-blue-3)}.visually-hidden{clip:rect(0, 0, 0, 0);word-wrap:normal;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}:root{--brand-Grid-spacing-margin:var(--base-size-16);--brand-Grid-spacing-column-gap:var(--base-size-16);--brand-Grid-spacing-row:var(--base-size-16)}@media (width>=768px){:root{--brand-Grid-spacing-margin:var(--base-size-40);--brand-Grid-spacing-column-gap:var(--base-size-32);--brand-Grid-spacing-row:var(--base-size-32)}}@media (width>=1280px){:root{--brand-Grid-spacing-margin:var(--base-size-16);--brand-Grid-spacing-column-gap:var(--base-size-48);--brand-Grid-spacing-row:var(--base-size-48)}}:root,[data-color-mode=light],[data-color-mode=dark]{--brand-Grid-column-bgColor-overlay:#fb51544d}.Primer_Brand__Grid-module__Grid___q48mT{grid-template-columns:repeat(12,minmax(0,1fr));max-width:1280px;margin:0 auto;display:grid}.Primer_Brand__Grid-module__Grid--columnGap-default___NxZ0V{grid-column-gap:var(--brand-Grid-spacing-column-gap)}.Primer_Brand__Grid-module__Grid--columnGap-none___Qh5GF{grid-column-gap:0}.Primer_Brand__Grid-module__Grid--rowGap-default___X5kJS{grid-row-gap:var(--brand-Grid-spacing-row)}.Primer_Brand__Grid-module__Grid--rowGap-none___WSM_k{grid-row-gap:0}.Primer_Brand__Grid-module__Grid--full-width___pIgWW{width:100%;max-width:none}.Primer_Brand__Grid-module__Grid___q48mT+.Primer_Brand__Grid-module__Grid___q48mT{margin-top:var(--brand-Grid-spacing-row)}.Primer_Brand__Grid-module__Grid___q48mT .Primer_Brand__Grid-module__Grid___q48mT{margin:0;padding-inline:0}.Primer_Brand__Grid-module__Grid__column___HTpsw{grid-column:auto/span 12}.Primer_Brand__Grid-module__Grid--has-overlay___M9Cs0 .Primer_Brand__Grid-module__Grid__column___HTpsw{background-color:var(--brand-Grid-column-bgColor-overlay);min-height:var(--base-size-24)}.Primer_Brand__Grid-module__Grid--has-gutters___KoJD2{padding-inline:var(--brand-Grid-spacing-margin)}.Primer_Brand__Grid-module__Grid__column--span-1___T7v1_{grid-column:auto/span 1}.Primer_Brand__Grid-module__Grid__column--span-2___r4qRu{grid-column:auto/span 2}.Primer_Brand__Grid-module__Grid__column--span-3___Tnlwe{grid-column:auto/span 3}.Primer_Brand__Grid-module__Grid__column--span-4___Q9jA0{grid-column:auto/span 4}.Primer_Brand__Grid-module__Grid__column--span-5___UpILx{grid-column:auto/span 5}.Primer_Brand__Grid-module__Grid__column--span-6___vUUep{grid-column:auto/span 6}.Primer_Brand__Grid-module__Grid__column--span-7___lfMLa{grid-column:auto/span 7}.Primer_Brand__Grid-module__Grid__column--span-8___qarGZ{grid-column:auto/span 8}.Primer_Brand__Grid-module__Grid__column--span-9___L2waY{grid-column:auto/span 9}.Primer_Brand__Grid-module__Grid__column--span-10___VRJQp{grid-column:auto/span 10}.Primer_Brand__Grid-module__Grid__column--span-11___pjEQO{grid-column:auto/span 11}.Primer_Brand__Grid-module__Grid__column--span-12___Tn1Hg{grid-column:auto/span 12}.Primer_Brand__Grid-module__Grid__column--start-1___jF8hC{grid-column-start:1}.Primer_Brand__Grid-module__Grid__column--start-2___S9EWU{grid-column-start:2}.Primer_Brand__Grid-module__Grid__column--start-3___GwcI1{grid-column-start:3}.Primer_Brand__Grid-module__Grid__column--start-4___BIVqR{grid-column-start:4}.Primer_Brand__Grid-module__Grid__column--start-5___yTruZ{grid-column-start:5}.Primer_Brand__Grid-module__Grid__column--start-6___FAtcW{grid-column-start:6}.Primer_Brand__Grid-module__Grid__column--start-7___Jnzaq{grid-column-start:7}.Primer_Brand__Grid-module__Grid__column--start-8___CLuiS{grid-column-start:8}.Primer_Brand__Grid-module__Grid__column--start-9___hhyfE{grid-column-start:9}.Primer_Brand__Grid-module__Grid__column--start-10___ojxEo{grid-column-start:10}.Primer_Brand__Grid-module__Grid__column--start-11___oBenU{grid-column-start:11}.Primer_Brand__Grid-module__Grid__column--start-12___wQnvA{grid-column-start:12}@media screen and (width>=0){.Primer_Brand__Grid-module__Grid__column--xsmall-span-1___srexO{grid-column:auto/span 1}.Primer_Brand__Grid-module__Grid__column--xsmall-span-2___XrAnt{grid-column:auto/span 2}.Primer_Brand__Grid-module__Grid__column--xsmall-span-3___Aps_z{grid-column:auto/span 3}.Primer_Brand__Grid-module__Grid__column--xsmall-span-4___OSsWO{grid-column:auto/span 4}.Primer_Brand__Grid-module__Grid__column--xsmall-span-5___ShR77{grid-column:auto/span 5}.Primer_Brand__Grid-module__Grid__column--xsmall-span-6___V4QJq{grid-column:auto/span 6}.Primer_Brand__Grid-module__Grid__column--xsmall-span-7___DtdFA{grid-column:auto/span 7}.Primer_Brand__Grid-module__Grid__column--xsmall-span-8___e5M5o{grid-column:auto/span 8}.Primer_Brand__Grid-module__Grid__column--xsmall-span-9___sdZ5a{grid-column:auto/span 9}.Primer_Brand__Grid-module__Grid__column--xsmall-span-10___YuS1a{grid-column:auto/span 10}.Primer_Brand__Grid-module__Grid__column--xsmall-span-11____RxYR{grid-column:auto/span 11}.Primer_Brand__Grid-module__Grid__column--xsmall-span-12___brXS7{grid-column:auto/span 12}.Primer_Brand__Grid-module__Grid__column--xsmall-start-1___Y9JJq{grid-column-start:1}.Primer_Brand__Grid-module__Grid__column--xsmall-start-2___ruZTF{grid-column-start:2}.Primer_Brand__Grid-module__Grid__column--xsmall-start-3___yEBif{grid-column-start:3}.Primer_Brand__Grid-module__Grid__column--xsmall-start-4___QPFc2{grid-column-start:4}.Primer_Brand__Grid-module__Grid__column--xsmall-start-5___WAqd0{grid-column-start:5}.Primer_Brand__Grid-module__Grid__column--xsmall-start-6___T1rhy{grid-column-start:6}.Primer_Brand__Grid-module__Grid__column--xsmall-start-7___uMQT1{grid-column-start:7}.Primer_Brand__Grid-module__Grid__column--xsmall-start-8___LUADA{grid-column-start:8}.Primer_Brand__Grid-module__Grid__column--xsmall-start-9___CBnBu{grid-column-start:9}.Primer_Brand__Grid-module__Grid__column--xsmall-start-10___EPRyw{grid-column-start:10}.Primer_Brand__Grid-module__Grid__column--xsmall-start-11___UbCAy{grid-column-start:11}.Primer_Brand__Grid-module__Grid__column--xsmall-start-12___gYCaa{grid-column-start:12}}@media screen and (width>=34rem){.Primer_Brand__Grid-module__Grid__column--small-span-1___rBTjf{grid-column:auto/span 1}.Primer_Brand__Grid-module__Grid__column--small-span-2___SHQM3{grid-column:auto/span 2}.Primer_Brand__Grid-module__Grid__column--small-span-3___cbAS8{grid-column:auto/span 3}.Primer_Brand__Grid-module__Grid__column--small-span-4___tv973{grid-column:auto/span 4}.Primer_Brand__Grid-module__Grid__column--small-span-5___EBkra{grid-column:auto/span 5}.Primer_Brand__Grid-module__Grid__column--small-span-6___OYZPl{grid-column:auto/span 6}.Primer_Brand__Grid-module__Grid__column--small-span-7___ymqG4{grid-column:auto/span 7}.Primer_Brand__Grid-module__Grid__column--small-span-8___qy9wb{grid-column:auto/span 8}.Primer_Brand__Grid-module__Grid__column--small-span-9___hWJAx{grid-column:auto/span 9}.Primer_Brand__Grid-module__Grid__column--small-span-10___apy3R{grid-column:auto/span 10}.Primer_Brand__Grid-module__Grid__column--small-span-11___tsz0q{grid-column:auto/span 11}.Primer_Brand__Grid-module__Grid__column--small-span-12___NdAWP{grid-column:auto/span 12}.Primer_Brand__Grid-module__Grid__column--small-start-1___epLTD{grid-column-start:1}.Primer_Brand__Grid-module__Grid__column--small-start-2___wlXcD{grid-column-start:2}.Primer_Brand__Grid-module__Grid__column--small-start-3___YFtvP{grid-column-start:3}.Primer_Brand__Grid-module__Grid__column--small-start-4___SOC6v{grid-column-start:4}.Primer_Brand__Grid-module__Grid__column--small-start-5___EVXuW{grid-column-start:5}.Primer_Brand__Grid-module__Grid__column--small-start-6___t1yYl{grid-column-start:6}.Primer_Brand__Grid-module__Grid__column--small-start-7___MDozK{grid-column-start:7}.Primer_Brand__Grid-module__Grid__column--small-start-8___CR0Zw{grid-column-start:8}.Primer_Brand__Grid-module__Grid__column--small-start-9___W0svP{grid-column-start:9}.Primer_Brand__Grid-module__Grid__column--small-start-10___vxEwX{grid-column-start:10}.Primer_Brand__Grid-module__Grid__column--small-start-11___orcQZ{grid-column-start:11}.Primer_Brand__Grid-module__Grid__column--small-start-12___o4V7W{grid-column-start:12}}@media screen and (width>=48rem){.Primer_Brand__Grid-module__Grid__column--medium-span-1___BiHOE{grid-column:auto/span 1}.Primer_Brand__Grid-module__Grid__column--medium-span-2___nANvY{grid-column:auto/span 2}.Primer_Brand__Grid-module__Grid__column--medium-span-3___GpBD0{grid-column:auto/span 3}.Primer_Brand__Grid-module__Grid__column--medium-span-4___zBxBa{grid-column:auto/span 4}.Primer_Brand__Grid-module__Grid__column--medium-span-5___CnPWN{grid-column:auto/span 5}.Primer_Brand__Grid-module__Grid__column--medium-span-6___DACuh{grid-column:auto/span 6}.Primer_Brand__Grid-module__Grid__column--medium-span-7___R2Isv{grid-column:auto/span 7}.Primer_Brand__Grid-module__Grid__column--medium-span-8___KI5ir{grid-column:auto/span 8}.Primer_Brand__Grid-module__Grid__column--medium-span-9___is8dv{grid-column:auto/span 9}.Primer_Brand__Grid-module__Grid__column--medium-span-10___eN2sH{grid-column:auto/span 10}.Primer_Brand__Grid-module__Grid__column--medium-span-11___anfim{grid-column:auto/span 11}.Primer_Brand__Grid-module__Grid__column--medium-span-12___eT5YS{grid-column:auto/span 12}.Primer_Brand__Grid-module__Grid__column--medium-start-1___bCFG1{grid-column-start:1}.Primer_Brand__Grid-module__Grid__column--medium-start-2___ZxYOX{grid-column-start:2}.Primer_Brand__Grid-module__Grid__column--medium-start-3___aPUJ0{grid-column-start:3}.Primer_Brand__Grid-module__Grid__column--medium-start-4___VTIjA{grid-column-start:4}.Primer_Brand__Grid-module__Grid__column--medium-start-5___ccI5l{grid-column-start:5}.Primer_Brand__Grid-module__Grid__column--medium-start-6___Yc14i{grid-column-start:6}.Primer_Brand__Grid-module__Grid__column--medium-start-7___HOZSW{grid-column-start:7}.Primer_Brand__Grid-module__Grid__column--medium-start-8___G8VdF{grid-column-start:8}.Primer_Brand__Grid-module__Grid__column--medium-start-9___Ebcy8{grid-column-start:9}.Primer_Brand__Grid-module__Grid__column--medium-start-10___dY7pN{grid-column-start:10}.Primer_Brand__Grid-module__Grid__column--medium-start-11___hVffM{grid-column-start:11}.Primer_Brand__Grid-module__Grid__column--medium-start-12___N3mIQ{grid-column-start:12}}@media screen and (width>=63.25rem){.Primer_Brand__Grid-module__Grid__column--large-span-1___Nfkto{grid-column:auto/span 1}.Primer_Brand__Grid-module__Grid__column--large-span-2___GyGH4{grid-column:auto/span 2}.Primer_Brand__Grid-module__Grid__column--large-span-3___iwGxK{grid-column:auto/span 3}.Primer_Brand__Grid-module__Grid__column--large-span-4___eJREG{grid-column:auto/span 4}.Primer_Brand__Grid-module__Grid__column--large-span-5___rCJ_b{grid-column:auto/span 5}.Primer_Brand__Grid-module__Grid__column--large-span-6___JNphY{grid-column:auto/span 6}.Primer_Brand__Grid-module__Grid__column--large-span-7___TySdj{grid-column:auto/span 7}.Primer_Brand__Grid-module__Grid__column--large-span-8___dkJwh{grid-column:auto/span 8}.Primer_Brand__Grid-module__Grid__column--large-span-9___aamnY{grid-column:auto/span 9}.Primer_Brand__Grid-module__Grid__column--large-span-10___nH4Bt{grid-column:auto/span 10}.Primer_Brand__Grid-module__Grid__column--large-span-11___mDo3B{grid-column:auto/span 11}.Primer_Brand__Grid-module__Grid__column--large-span-12___zSL6d{grid-column:auto/span 12}.Primer_Brand__Grid-module__Grid__column--large-start-1___Hc53V{grid-column-start:1}.Primer_Brand__Grid-module__Grid__column--large-start-2____RsQ_{grid-column-start:2}.Primer_Brand__Grid-module__Grid__column--large-start-3___DN5KJ{grid-column-start:3}.Primer_Brand__Grid-module__Grid__column--large-start-4___iKrrW{grid-column-start:4}.Primer_Brand__Grid-module__Grid__column--large-start-5___t3K5k{grid-column-start:5}.Primer_Brand__Grid-module__Grid__column--large-start-6___uFIIO{grid-column-start:6}.Primer_Brand__Grid-module__Grid__column--large-start-7___YeqWt{grid-column-start:7}.Primer_Brand__Grid-module__Grid__column--large-start-8___fmHfg{grid-column-start:8}.Primer_Brand__Grid-module__Grid__column--large-start-9___UIwRf{grid-column-start:9}.Primer_Brand__Grid-module__Grid__column--large-start-10___rOnsb{grid-column-start:10}.Primer_Brand__Grid-module__Grid__column--large-start-11___oPN0R{grid-column-start:11}.Primer_Brand__Grid-module__Grid__column--large-start-12___tZLO7{grid-column-start:12}}@media screen and (width>=80rem){.Primer_Brand__Grid-module__Grid__column--xlarge-span-1___VzjSN{grid-column:auto/span 1}.Primer_Brand__Grid-module__Grid__column--xlarge-span-2___p1QuZ{grid-column:auto/span 2}.Primer_Brand__Grid-module__Grid__column--xlarge-span-3___xvbnJ{grid-column:auto/span 3}.Primer_Brand__Grid-module__Grid__column--xlarge-span-4___D_9gq{grid-column:auto/span 4}.Primer_Brand__Grid-module__Grid__column--xlarge-span-5___AWQN4{grid-column:auto/span 5}.Primer_Brand__Grid-module__Grid__column--xlarge-span-6___FY68d{grid-column:auto/span 6}.Primer_Brand__Grid-module__Grid__column--xlarge-span-7___PDVrC{grid-column:auto/span 7}.Primer_Brand__Grid-module__Grid__column--xlarge-span-8___Np3vn{grid-column:auto/span 8}.Primer_Brand__Grid-module__Grid__column--xlarge-span-9___QnUTm{grid-column:auto/span 9}.Primer_Brand__Grid-module__Grid__column--xlarge-span-10___GPYff{grid-column:auto/span 10}.Primer_Brand__Grid-module__Grid__column--xlarge-span-11____dXqr{grid-column:auto/span 11}.Primer_Brand__Grid-module__Grid__column--xlarge-span-12___Faxbf{grid-column:auto/span 12}.Primer_Brand__Grid-module__Grid__column--xlarge-start-1___8hqMz{grid-column-start:1}.Primer_Brand__Grid-module__Grid__column--xlarge-start-2___aiylo{grid-column-start:2}.Primer_Brand__Grid-module__Grid__column--xlarge-start-3___Iuufu{grid-column-start:3}.Primer_Brand__Grid-module__Grid__column--xlarge-start-4___ynfkD{grid-column-start:4}.Primer_Brand__Grid-module__Grid__column--xlarge-start-5___smnkV{grid-column-start:5}.Primer_Brand__Grid-module__Grid__column--xlarge-start-6___Z4EoQ{grid-column-start:6}.Primer_Brand__Grid-module__Grid__column--xlarge-start-7___NCAWz{grid-column-start:7}.Primer_Brand__Grid-module__Grid__column--xlarge-start-8___CZ8J_{grid-column-start:8}.Primer_Brand__Grid-module__Grid__column--xlarge-start-9___yhpyy{grid-column-start:9}.Primer_Brand__Grid-module__Grid__column--xlarge-start-10___E5Jou{grid-column-start:10}.Primer_Brand__Grid-module__Grid__column--xlarge-start-11___OGVVw{grid-column-start:11}.Primer_Brand__Grid-module__Grid__column--xlarge-start-12____kw0D{grid-column-start:12}}@media screen and (width>=87.5rem){.Primer_Brand__Grid-module__Grid__column--xxlarge-span-1___K9YLn{grid-column:auto/span 1}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-2___FoOLk{grid-column:auto/span 2}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-3___AvRFb{grid-column:auto/span 3}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-4___wmisc{grid-column:auto/span 4}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-5___oSh5q{grid-column:auto/span 5}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-6___zg0Yr{grid-column:auto/span 6}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-7___CxtNE{grid-column:auto/span 7}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-8___r4GdW{grid-column:auto/span 8}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-9___mfOCW{grid-column:auto/span 9}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-10___xjus8{grid-column:auto/span 10}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-11___AZC4h{grid-column:auto/span 11}.Primer_Brand__Grid-module__Grid__column--xxlarge-span-12___DjdAU{grid-column:auto/span 12}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-1___HFYSu{grid-column-start:1}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-2___dBj41{grid-column-start:2}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-3___BX9bn{grid-column-start:3}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-4___FwEd9{grid-column-start:4}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-5____pwv6{grid-column-start:5}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-6___u1opn{grid-column-start:6}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-7___GuJAv{grid-column-start:7}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-8___Z7ZFc{grid-column-start:8}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-9___CcH1u{grid-column-start:9}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-10___sck1f{grid-column-start:10}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-11___VvIqo{grid-column-start:11}.Primer_Brand__Grid-module__Grid__column--xxlarge-start-12___MKYFP{grid-column-start:12}}.Primer_Brand__Animation-module__Animation___KNtEW{transition:var(--brand-animation-transition-default)}.Primer_Brand__Animation-module__Animation--fade-in___jUvJD{opacity:0;transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--fade-in___jUvJD.Primer_Brand__Animation-module__Animation--active___g_UBK,.Primer_Brand__Animation-module__Animation--fade-out___CsyfK{opacity:1}.Primer_Brand__Animation-module__Animation--fade-out___CsyfK.Primer_Brand__Animation-module__Animation--active___g_UBK{opacity:0;transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--slide-in-up___ONnmI{opacity:0;transform:translateY(var(--brand-animation-variant-slideInUp-distance));transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), transform var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--slide-in-up___ONnmI.Primer_Brand__Animation-module__Animation--active___g_UBK{opacity:1;transform:translateY(0)}.Primer_Brand__Animation-module__Animation--slide-in-down___bjmGv{opacity:0;transform:translateY(var(--brand-animation-variant-slideInDown-distance));transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), transform var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--slide-in-down___bjmGv.Primer_Brand__Animation-module__Animation--active___g_UBK{opacity:1;transform:translateY(0)}.Primer_Brand__Animation-module__Animation--slide-in-left___iy5Js{opacity:0;transform:translateX(var(--brand-animation-variant-slideInLeft-distance));transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), transform var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--slide-in-left___iy5Js.Primer_Brand__Animation-module__Animation--active___g_UBK{opacity:1;transform:translate(0)}.Primer_Brand__Animation-module__Animation--slide-in-right___UZvNx{opacity:0;transform:translateX(var(--brand-animation-variant-slideInRight-distance));transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), transform var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--slide-in-right___UZvNx.Primer_Brand__Animation-module__Animation--active___g_UBK{opacity:1;transform:translate(0)}.Primer_Brand__Animation-module__Animation--scale-in___P7xzG{opacity:0;transform:scale(var(--brand-animation-variant-scaleIn-start));transition:opacity var(--brand-animation-duration-extended) var(--brand-animation-easing-default), transform var(--brand-animation-duration-extended) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--scale-in___P7xzG.Primer_Brand__Animation-module__Animation--active___g_UBK{opacity:1;transform:scale(--brand-animation-variant-scaleIn-end)}.Primer_Brand__Animation-module__Animation--scale-in-up___n0qDP{opacity:0;transform:scale(var(--brand-animation-variant-scaleInUp-start)) translateY(var(--brand-animation-variant-scaleInUp-distance));transition:opacity var(--brand-animation-duration-extended) var(--brand-animation-easing-default), transform var(--brand-animation-duration-extended) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--scale-in-up___n0qDP.Primer_Brand__Animation-module__Animation--active___g_UBK{opacity:1;transform:scale(var(--brand-animation-variant-scaleInUp-end)) translateY(0)}.Primer_Brand__Animation-module__Animation--scale-in-down___YEgko{opacity:0;transform:translateY(var(--brand-animation-variant-scaleInDown-distance)) scale(var(--brand-animation-variant-scaleInDown-start));transition:opacity var(--brand-animation-duration-extended) var(--brand-animation-easing-default), transform var(--brand-animation-duration-extended) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--scale-in-down___YEgko.Primer_Brand__Animation-module__Animation--active___g_UBK{opacity:1;transform:translateY(0) scale(var(--brand-animation-variant-scaleInDown-end))}.Primer_Brand__Animation-module__Animation--scale-in-right___jBPh4{opacity:0;transform:scale(var(--brand-animation-variant-scaleInRight-start)) translateX(var(--brand-animation-variant-scaleInRight-distance));transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), transform var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--scale-in-right___jBPh4.Primer_Brand__Animation-module__Animation--active___g_UBK{opacity:1;transform:translateX(0) scale(var(--brand-animation-variant-scaleInRight-end))}.Primer_Brand__Animation-module__Animation--scale-in-left___g8_dC{opacity:0;transform:scale(var(--brand-animation-variant-scaleInLeft-start)) translateX(var(--brand-animation-variant-scaleInLeft-distance));transition:opacity var(--brand-animation-duration-extended) var(--brand-animation-easing-default), transform var(--brand-animation-duration-extended) var(--brand-animation-easing-default)}.Primer_Brand__Animation-module__Animation--scale-in-left___g8_dC.Primer_Brand__Animation-module__Animation--active___g_UBK{opacity:1;transform:translateX(0) scale(var(--brand-animation-variant-scaleInLeft-end))}.Primer_Brand__Animation-module__Animation--fill-in-right___G_LYH{transform-origin:0;transition:transform var(--brand-animation-duration-default) var(--brand-animation-easing-default);transform:scaleX(0)}.Primer_Brand__Animation-module__Animation--fill-in-right___G_LYH.Primer_Brand__Animation-module__Animation--active___g_UBK{transform:scaleX(1)}.Primer_Brand__Animation-module__Animation--fill-in-top___AHELS{transform-origin:top;transition:transform var(--brand-animation-duration-extended) var(--brand-animation-easing-default);transform:scaleY(0)}.Primer_Brand__Animation-module__Animation--fill-in-top___AHELS.Primer_Brand__Animation-module__Animation--active___g_UBK{transform:scaleY(1)}.Primer_Brand__Animation-module__Animation--reveal-in-up___xMAnz{clip-path:inset(-100% 0 100%);transition:transform var(--brand-animation-duration-default) var(--brand-animation-easing-default), clip-path var(--brand-animation-duration-default) var(--brand-animation-easing-default);transform:translateY(100%)}.Primer_Brand__Animation-module__Animation--reveal-in-up___xMAnz.Primer_Brand__Animation-module__Animation--active___g_UBK{clip-path:inset(0 0 -.2em);transform:translateY(0)}@media (prefers-reduced-motion:reduce){.Primer_Brand__Animation-module__Animation___KNtEW,.Primer_Brand__Animation-module__Animation___KNtEW:before,.Primer_Brand__Animation-module__Animation___KNtEW:after,.Primer_Brand__Animation-module__Animation___KNtEW *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__Stack-module__Stack___tASKe{display:flex}.Primer_Brand__Stack-module__Stack--vertical___CFzE7{flex-direction:column}.Primer_Brand__Stack-module__Stack--horizontal___YJFas{flex-direction:row}.Primer_Brand__Stack-module__Stack-narrow--vertical___GDT_Z{flex-direction:column}.Primer_Brand__Stack-module__Stack-narrow--horizontal___Co6IL{flex-direction:row}@media screen and (width>=48rem){.Primer_Brand__Stack-module__Stack-regular--vertical___TMpL8{flex-direction:column}.Primer_Brand__Stack-module__Stack-regular--horizontal___WDLyR{flex-direction:row}}@media screen and (width>=80rem){.Primer_Brand__Stack-module__Stack-wide--vertical___G1Eu6{flex-direction:column}.Primer_Brand__Stack-module__Stack-wide--horizontal___cvxh3{flex-direction:row}}.Primer_Brand__Stack-module__Stack--gap-none___M7T_v{gap:0}.Primer_Brand__Stack-module__Stack--gap-condensed___Xe9jx{gap:var(--brand-stack-gap-condensed)}.Primer_Brand__Stack-module__Stack--gap-normal___JEO7_{gap:var(--brand-stack-gap-normal)}.Primer_Brand__Stack-module__Stack--gap-spacious___w5ugZ{gap:var(--brand-stack-gap-spacious)}.Primer_Brand__Stack-module__Stack--gap-4___Ig30K{gap:var(--base-size-4)}.Primer_Brand__Stack-module__Stack--gap-8___fQ3Ul{gap:var(--base-size-8)}.Primer_Brand__Stack-module__Stack--gap-12___hJNHc{gap:var(--base-size-12)}.Primer_Brand__Stack-module__Stack--gap-16___gT_Of{gap:var(--base-size-16)}.Primer_Brand__Stack-module__Stack--gap-20___eVLBq{gap:var(--base-size-20)}.Primer_Brand__Stack-module__Stack--gap-24___TQnkj{gap:var(--base-size-24)}.Primer_Brand__Stack-module__Stack--gap-28___Ao4f4{gap:var(--base-size-28)}.Primer_Brand__Stack-module__Stack--gap-32___iSq9y{gap:var(--base-size-32)}.Primer_Brand__Stack-module__Stack--gap-36___QzYro{gap:var(--base-size-36)}.Primer_Brand__Stack-module__Stack--gap-40___m5Kys{gap:var(--base-size-40)}.Primer_Brand__Stack-module__Stack--gap-44___grqBd{gap:var(--base-size-44)}.Primer_Brand__Stack-module__Stack--gap-48___vhQgW{gap:var(--base-size-48)}.Primer_Brand__Stack-module__Stack--gap-60___eZ7wt{gap:var(--base-size-60)}.Primer_Brand__Stack-module__Stack--gap-64___XKCAY{gap:var(--base-size-64)}.Primer_Brand__Stack-module__Stack--gap-80___GfDtU{gap:var(--base-size-80)}.Primer_Brand__Stack-module__Stack--gap-88___IfwPj{gap:var(--base-size-88)}.Primer_Brand__Stack-module__Stack--gap-96___wM4RB{gap:var(--base-size-96)}.Primer_Brand__Stack-module__Stack--gap-112___Rva1x{gap:var(--base-size-112)}.Primer_Brand__Stack-module__Stack--gap-128___KJAoH{gap:var(--base-size-128)}.Primer_Brand__Stack-module__Stack-narrow--gap-none___YtqsL{gap:0}.Primer_Brand__Stack-module__Stack-narrow--gap-condensed___zwHUG{gap:var(--brand-stack-gap-condensed)}.Primer_Brand__Stack-module__Stack-narrow--gap-normal___smNw5{gap:var(--brand-stack-gap-normal)}.Primer_Brand__Stack-module__Stack-narrow--gap-spacious___TX17G{gap:var(--brand-stack-gap-spacious)}.Primer_Brand__Stack-module__Stack--padding-none___RCMh9{padding:0}.Primer_Brand__Stack-module__Stack--padding-condensed___mo7Aq{padding:var(--brand-stack-padding-condensed)}.Primer_Brand__Stack-module__Stack--padding-normal___ySRTI{padding:var(--brand-stack-padding-normal)}.Primer_Brand__Stack-module__Stack--padding-spacious___REyye{padding:var(--brand-stack-padding-spacious)}.Primer_Brand__Stack-module__Stack--padding-4___aj4uj{padding:var(--base-size-4)}.Primer_Brand__Stack-module__Stack--padding-8___roPlm{padding:var(--base-size-8)}.Primer_Brand__Stack-module__Stack--padding-12___x5qIX{padding:var(--base-size-12)}.Primer_Brand__Stack-module__Stack--padding-16___ZFRO_{padding:var(--base-size-16)}.Primer_Brand__Stack-module__Stack--padding-20___pi8jv{padding:var(--base-size-20)}.Primer_Brand__Stack-module__Stack--padding-24___iHVEv{padding:var(--base-size-24)}.Primer_Brand__Stack-module__Stack--padding-28___ZzMnF{padding:var(--base-size-28)}.Primer_Brand__Stack-module__Stack--padding-32___m4XKv{padding:var(--base-size-32)}.Primer_Brand__Stack-module__Stack--padding-36___TssXo{padding:var(--base-size-36)}.Primer_Brand__Stack-module__Stack--padding-40___GoH03{padding:var(--base-size-40)}.Primer_Brand__Stack-module__Stack--padding-44___yXX7f{padding:var(--base-size-44)}.Primer_Brand__Stack-module__Stack--padding-48___Owl4z{padding:var(--base-size-48)}.Primer_Brand__Stack-module__Stack--padding-60___gm0l0{padding:var(--base-size-60)}.Primer_Brand__Stack-module__Stack--padding-64___IIv9e{padding:var(--base-size-64)}.Primer_Brand__Stack-module__Stack--padding-80___GvEJb{padding:var(--base-size-80)}.Primer_Brand__Stack-module__Stack--padding-88___ZuA5D{padding:var(--base-size-88)}.Primer_Brand__Stack-module__Stack--padding-96___JF88r{padding:var(--base-size-96)}.Primer_Brand__Stack-module__Stack--padding-112___wzOyM{padding:var(--base-size-112)}.Primer_Brand__Stack-module__Stack--padding-128___uuMnk{padding:var(--base-size-128)}.Primer_Brand__Stack-module__Stack-narrow--padding-none___ndsvs{padding:0}.Primer_Brand__Stack-module__Stack-narrow--padding-condensed___f1f4j{padding:var(--brand-stack-padding-condensed)}.Primer_Brand__Stack-module__Stack-narrow--padding-normal___TQe_D{padding:var(--brand-stack-padding-normal)}.Primer_Brand__Stack-module__Stack-narrow--padding-spacious___YeMDB{padding:var(--brand-stack-padding-spacious)}.Primer_Brand__Stack-module__Stack-narrow--padding-4___u7vTZ{padding:var(--base-size-4)}.Primer_Brand__Stack-module__Stack-narrow--padding-8___I46C6{padding:var(--base-size-8)}.Primer_Brand__Stack-module__Stack-narrow--padding-12___dDOxC{padding:var(--base-size-12)}.Primer_Brand__Stack-module__Stack-narrow--padding-16___fP_Cf{padding:var(--base-size-16)}.Primer_Brand__Stack-module__Stack-narrow--padding-20___iQimO{padding:var(--base-size-20)}.Primer_Brand__Stack-module__Stack-narrow--padding-24___A3O7E{padding:var(--base-size-24)}.Primer_Brand__Stack-module__Stack-narrow--padding-28___AQ6m1{padding:var(--base-size-28)}.Primer_Brand__Stack-module__Stack-narrow--padding-32___fwzmW{padding:var(--base-size-32)}.Primer_Brand__Stack-module__Stack-narrow--padding-36___nREO8{padding:var(--base-size-36)}.Primer_Brand__Stack-module__Stack-narrow--padding-40___Z0my5{padding:var(--base-size-40)}.Primer_Brand__Stack-module__Stack-narrow--padding-44___DBucu{padding:var(--base-size-44)}.Primer_Brand__Stack-module__Stack-narrow--padding-48___FmiJM{padding:var(--base-size-48)}.Primer_Brand__Stack-module__Stack-narrow--padding-60___wMl0S{padding:var(--base-size-60)}.Primer_Brand__Stack-module__Stack-narrow--padding-64___X7fQc{padding:var(--base-size-64)}.Primer_Brand__Stack-module__Stack-narrow--padding-80___URxqt{padding:var(--base-size-80)}.Primer_Brand__Stack-module__Stack-narrow--padding-88___TTW75{padding:var(--base-size-88)}.Primer_Brand__Stack-module__Stack-narrow--padding-96___OHxcW{padding:var(--base-size-96)}.Primer_Brand__Stack-module__Stack-narrow--padding-112___tNmYE{padding:var(--base-size-112)}.Primer_Brand__Stack-module__Stack-narrow--padding-128___MeCmA{padding:var(--base-size-128)}.Primer_Brand__Stack-module__Stack-narrow--gap-4___DPSDt{gap:var(--base-size-4)}.Primer_Brand__Stack-module__Stack-narrow--gap-8___kbBO7{gap:var(--base-size-8)}.Primer_Brand__Stack-module__Stack-narrow--gap-12___g2DMv{gap:var(--base-size-12)}.Primer_Brand__Stack-module__Stack-narrow--gap-16___txy3T{gap:var(--base-size-16)}.Primer_Brand__Stack-module__Stack-narrow--gap-20___EI1Lr{gap:var(--base-size-20)}.Primer_Brand__Stack-module__Stack-narrow--gap-24___eCYeX{gap:var(--base-size-24)}.Primer_Brand__Stack-module__Stack-narrow--gap-28___lFWdB{gap:var(--base-size-28)}.Primer_Brand__Stack-module__Stack-narrow--gap-32___OvuFF{gap:var(--base-size-32)}.Primer_Brand__Stack-module__Stack-narrow--gap-36___iDp6W{gap:var(--base-size-36)}.Primer_Brand__Stack-module__Stack-narrow--gap-40___nCuFr{gap:var(--base-size-40)}.Primer_Brand__Stack-module__Stack-narrow--gap-44___aAL4O{gap:var(--base-size-44)}.Primer_Brand__Stack-module__Stack-narrow--gap-48___NmFRy{gap:var(--base-size-48)}.Primer_Brand__Stack-module__Stack-narrow--gap-60___gC89b{gap:var(--base-size-60)}.Primer_Brand__Stack-module__Stack-narrow--gap-64___zmJsB{gap:var(--base-size-64)}.Primer_Brand__Stack-module__Stack-narrow--gap-80___PZ_rn{gap:var(--base-size-80)}.Primer_Brand__Stack-module__Stack-narrow--gap-88___jCo0m{gap:var(--base-size-88)}.Primer_Brand__Stack-module__Stack-narrow--gap-96___lmTUq{gap:var(--base-size-96)}.Primer_Brand__Stack-module__Stack-narrow--gap-112___WsPB0{gap:var(--base-size-112)}.Primer_Brand__Stack-module__Stack-narrow--gap-128___gWyum{gap:var(--base-size-128)}@media screen and (width>=48rem){.Primer_Brand__Stack-module__Stack-regular--gap-none____ZDEx{gap:0}.Primer_Brand__Stack-module__Stack-regular--gap-condensed___ZYYsD{gap:var(--brand-stack-gap-condensed)}.Primer_Brand__Stack-module__Stack-regular--gap-normal___dRchQ{gap:var(--brand-stack-gap-normal)}.Primer_Brand__Stack-module__Stack-regular--gap-spacious___oMqRv{gap:var(--brand-stack-gap-spacious)}.Primer_Brand__Stack-module__Stack-regular--gap-4___S08kR{gap:var(--base-size-4)}.Primer_Brand__Stack-module__Stack-regular--gap-8___TtKx9{gap:var(--base-size-8)}.Primer_Brand__Stack-module__Stack-regular--gap-12___hzuKq{gap:var(--base-size-12)}.Primer_Brand__Stack-module__Stack-regular--gap-16___o7HsO{gap:var(--base-size-16)}.Primer_Brand__Stack-module__Stack-regular--gap-20___QDl67{gap:var(--base-size-20)}.Primer_Brand__Stack-module__Stack-regular--gap-24___CweJ8{gap:var(--base-size-24)}.Primer_Brand__Stack-module__Stack-regular--gap-28___Ud6HO{gap:var(--base-size-28)}.Primer_Brand__Stack-module__Stack-regular--gap-32___pua20{gap:var(--base-size-32)}.Primer_Brand__Stack-module__Stack-regular--gap-36___q_Cjl{gap:var(--base-size-36)}.Primer_Brand__Stack-module__Stack-regular--gap-40___cZw83{gap:var(--base-size-40)}.Primer_Brand__Stack-module__Stack-regular--gap-44___EzLI4{gap:var(--base-size-44)}.Primer_Brand__Stack-module__Stack-regular--gap-48___IECRy{gap:var(--base-size-48)}.Primer_Brand__Stack-module__Stack-regular--gap-60___BuFRm{gap:var(--base-size-60)}.Primer_Brand__Stack-module__Stack-regular--gap-64___Jiu59{gap:var(--base-size-64)}.Primer_Brand__Stack-module__Stack-regular--gap-80___f0xxA{gap:var(--base-size-80)}.Primer_Brand__Stack-module__Stack-regular--gap-88___p830y{gap:var(--base-size-88)}.Primer_Brand__Stack-module__Stack-regular--gap-96___BYfZt{gap:var(--base-size-96)}.Primer_Brand__Stack-module__Stack-regular--gap-112___VFbdf{gap:var(--base-size-112)}.Primer_Brand__Stack-module__Stack-regular--gap-128___o25ih{gap:var(--base-size-128)}.Primer_Brand__Stack-module__Stack-regular--padding-none____wmhn{padding:0}.Primer_Brand__Stack-module__Stack-regular--padding-condensed___WxLyH{padding:var(--brand-stack-padding-condensed)}.Primer_Brand__Stack-module__Stack-regular--padding-normal___oKpGh{padding:var(--brand-stack-padding-normal)}.Primer_Brand__Stack-module__Stack-regular--padding-spacious___pL7HW{padding:var(--brand-stack-padding-spacious)}.Primer_Brand__Stack-module__Stack-regular--padding-4___g1MlZ{padding:var(--base-size-4)}.Primer_Brand__Stack-module__Stack-regular--padding-8___MV9gV{padding:var(--base-size-8)}.Primer_Brand__Stack-module__Stack-regular--padding-12___U43Fw{padding:var(--base-size-12)}.Primer_Brand__Stack-module__Stack-regular--padding-16___KvH6B{padding:var(--base-size-16)}.Primer_Brand__Stack-module__Stack-regular--padding-20___eppyK{padding:var(--base-size-20)}.Primer_Brand__Stack-module__Stack-regular--padding-24___vtwRC{padding:var(--base-size-24)}.Primer_Brand__Stack-module__Stack-regular--padding-28___nTiOJ{padding:var(--base-size-28)}.Primer_Brand__Stack-module__Stack-regular--padding-32___I5REZ{padding:var(--base-size-32)}.Primer_Brand__Stack-module__Stack-regular--padding-36___WS1K6{padding:var(--base-size-36)}.Primer_Brand__Stack-module__Stack-regular--padding-40___JMmOa{padding:var(--base-size-40)}.Primer_Brand__Stack-module__Stack-regular--padding-44____aK4u{padding:var(--base-size-44)}.Primer_Brand__Stack-module__Stack-regular--padding-48___oQ2EH{padding:var(--base-size-48)}.Primer_Brand__Stack-module__Stack-regular--padding-60___iStI8{padding:var(--base-size-60)}.Primer_Brand__Stack-module__Stack-regular--padding-64___lVIL3{padding:var(--base-size-64)}.Primer_Brand__Stack-module__Stack-regular--padding-80___iDn3V{padding:var(--base-size-80)}.Primer_Brand__Stack-module__Stack-regular--padding-88___ugAjz{padding:var(--base-size-88)}.Primer_Brand__Stack-module__Stack-regular--padding-96___a2rM5{padding:var(--base-size-96)}.Primer_Brand__Stack-module__Stack-regular--padding-112___iIwN_{padding:var(--base-size-112)}.Primer_Brand__Stack-module__Stack-regular--padding-128___CNuPG{padding:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Stack-module__Stack-wide--gap-none___V9yZQ{gap:0}.Primer_Brand__Stack-module__Stack-wide--gap-condensed___TB7xm{gap:var(--brand-stack-gap-condensed)}.Primer_Brand__Stack-module__Stack-wide--gap-normal___Et9_A{gap:var(--brand-stack-gap-normal)}.Primer_Brand__Stack-module__Stack-wide--gap-spacious___WXQyb{gap:var(--brand-stack-gap-spacious)}.Primer_Brand__Stack-module__Stack-wide--gap-4___jztrv{gap:var(--base-size-4)}.Primer_Brand__Stack-module__Stack-wide--gap-8___qaywr{gap:var(--base-size-8)}.Primer_Brand__Stack-module__Stack-wide--gap-12___bCgki{gap:var(--base-size-12)}.Primer_Brand__Stack-module__Stack-wide--gap-16___V0Ly_{gap:var(--base-size-16)}.Primer_Brand__Stack-module__Stack-wide--gap-20___lcLAk{gap:var(--base-size-20)}.Primer_Brand__Stack-module__Stack-wide--gap-24___H0crZ{gap:var(--base-size-24)}.Primer_Brand__Stack-module__Stack-wide--gap-28___IVObp{gap:var(--base-size-28)}.Primer_Brand__Stack-module__Stack-wide--gap-32___HXuJZ{gap:var(--base-size-32)}.Primer_Brand__Stack-module__Stack-wide--gap-36___nP2T_{gap:var(--base-size-36)}.Primer_Brand__Stack-module__Stack-wide--gap-40___NfVDb{gap:var(--base-size-40)}.Primer_Brand__Stack-module__Stack-wide--gap-44___bqym2{gap:var(--base-size-44)}.Primer_Brand__Stack-module__Stack-wide--gap-48___M3ciy{gap:var(--base-size-48)}.Primer_Brand__Stack-module__Stack-wide--gap-60___X9p2c{gap:var(--base-size-60)}.Primer_Brand__Stack-module__Stack-wide--gap-64___x2ZRh{gap:var(--base-size-64)}.Primer_Brand__Stack-module__Stack-wide--gap-80___OKRwQ{gap:var(--base-size-80)}.Primer_Brand__Stack-module__Stack-wide--gap-88___OXC9b{gap:var(--base-size-88)}.Primer_Brand__Stack-module__Stack-wide--gap-96___piUPg{gap:var(--base-size-96)}.Primer_Brand__Stack-module__Stack-wide--gap-112___s5WKM{gap:var(--base-size-112)}.Primer_Brand__Stack-module__Stack-wide--gap-128___JJ87b{gap:var(--base-size-128)}.Primer_Brand__Stack-module__Stack-wide--padding-none___GEcfF{padding:0}.Primer_Brand__Stack-module__Stack-wide--padding-condensed___heIOO{padding:var(--brand-stack-padding-condensed)}.Primer_Brand__Stack-module__Stack-wide--padding-normal___Pdr2C{padding:var(--brand-stack-padding-normal)}.Primer_Brand__Stack-module__Stack-wide--padding-spacious___d_AmA{padding:var(--brand-stack-padding-spacious)}.Primer_Brand__Stack-module__Stack-wide--padding-4___a4P38{padding:var(--base-size-4)}.Primer_Brand__Stack-module__Stack-wide--padding-8___JPU6G{padding:var(--base-size-8)}.Primer_Brand__Stack-module__Stack-wide--padding-12___neDmy{padding:var(--base-size-12)}.Primer_Brand__Stack-module__Stack-wide--padding-16___Cj2BV{padding:var(--base-size-16)}.Primer_Brand__Stack-module__Stack-wide--padding-20___lPynX{padding:var(--base-size-20)}.Primer_Brand__Stack-module__Stack-wide--padding-24___Ypw7V{padding:var(--base-size-24)}.Primer_Brand__Stack-module__Stack-wide--padding-28___k80vm{padding:var(--base-size-28)}.Primer_Brand__Stack-module__Stack-wide--padding-32___SHTUT{padding:var(--base-size-32)}.Primer_Brand__Stack-module__Stack-wide--padding-36___iWSDo{padding:var(--base-size-36)}.Primer_Brand__Stack-module__Stack-wide--padding-40___qk1Hg{padding:var(--base-size-40)}.Primer_Brand__Stack-module__Stack-wide--padding-44___a8DV4{padding:var(--base-size-44)}.Primer_Brand__Stack-module__Stack-wide--padding-48___yc5OP{padding:var(--base-size-48)}.Primer_Brand__Stack-module__Stack-wide--padding-60___JHhf2{padding:var(--base-size-60)}.Primer_Brand__Stack-module__Stack-wide--padding-64____opnu{padding:var(--base-size-64)}.Primer_Brand__Stack-module__Stack-wide--padding-80___c5WnH{padding:var(--base-size-80)}.Primer_Brand__Stack-module__Stack-wide--padding-88___cQ0Vq{padding:var(--base-size-88)}.Primer_Brand__Stack-module__Stack-wide--padding-96___xJjZt{padding:var(--base-size-96)}.Primer_Brand__Stack-module__Stack-wide--padding-112___xmuIf{padding:var(--base-size-112)}.Primer_Brand__Stack-module__Stack-wide--padding-128___OV3zg{padding:var(--base-size-128)}}.Primer_Brand__Stack-module__Stack--align-items-flex-end___cJG6k{align-items:flex-end}.Primer_Brand__Stack-module__Stack--align-items-flex-start___Vh1Ca{align-items:flex-start}.Primer_Brand__Stack-module__Stack--align-items-center___xWKxj{align-items:center}.Primer_Brand__Stack-module__Stack-narrow--align-items-flex-end___bXiXc{align-items:flex-end}.Primer_Brand__Stack-module__Stack-narrow--align-items-flex-start___eBtSy{align-items:flex-start}.Primer_Brand__Stack-module__Stack-narrow--align-items-center___jZIXU{align-items:center}@media screen and (width>=48rem){.Primer_Brand__Stack-module__Stack-regular--align-items-flex-end___JlKOr{align-items:flex-end}.Primer_Brand__Stack-module__Stack-regular--align-items-flex-start___jusm2{align-items:flex-start}.Primer_Brand__Stack-module__Stack-regular--align-items-center___tY013{align-items:center}}@media screen and (width>=80rem){.Primer_Brand__Stack-module__Stack-wide--align-items-flex-end___z5xxr{align-items:flex-end}.Primer_Brand__Stack-module__Stack-wide--align-items-flex-start___QKRoP{align-items:flex-start}.Primer_Brand__Stack-module__Stack-wide--align-items-center___DUG9C{align-items:center}}.Primer_Brand__Stack-module__Stack--justify-content-flex-end___mp2Ka{justify-content:flex-end}.Primer_Brand__Stack-module__Stack--justify-content-flex-start___VIkHJ{justify-content:flex-start}.Primer_Brand__Stack-module__Stack--justify-content-center___uZGXl{justify-content:center}.Primer_Brand__Stack-module__Stack--justify-content-space-between___r8E3d{justify-content:space-between}.Primer_Brand__Stack-module__Stack--justify-content-space-evenly___G1eGw{justify-content:space-evenly}.Primer_Brand__Stack-module__Stack--justify-content-space-around___kqm4D{justify-content:space-around}.Primer_Brand__Stack-module__Stack-narrow--justify-content-flex-end___QUDo3{justify-content:flex-end}.Primer_Brand__Stack-module__Stack-narrow--justify-content-flex-start___fNLJd{justify-content:flex-start}.Primer_Brand__Stack-module__Stack-narrow--justify-content-center___kdlmI{justify-content:center}.Primer_Brand__Stack-module__Stack-narrow--justify-content-space-between___w7Ki5{justify-content:space-between}.Primer_Brand__Stack-module__Stack-narrow--justify-content-space-evenly___ntQwA{justify-content:space-evenly}.Primer_Brand__Stack-module__Stack-narrow--justify-content-space-around___NHZVk{justify-content:space-around}@media screen and (width>=48rem){.Primer_Brand__Stack-module__Stack-regular--justify-content-flex-end___B0xmt{justify-content:flex-end}.Primer_Brand__Stack-module__Stack-regular--justify-content-flex-start___DtA1j{justify-content:flex-start}.Primer_Brand__Stack-module__Stack-regular--justify-content-center___oEcdF{justify-content:center}.Primer_Brand__Stack-module__Stack-regular--justify-content-space-between___F1gqO{justify-content:space-between}.Primer_Brand__Stack-module__Stack-regular--justify-content-space-evenly___xZdXl{justify-content:space-evenly}.Primer_Brand__Stack-module__Stack-regular--justify-content-space-around___nSDM4{justify-content:space-around}}@media screen and (width>=80rem){.Primer_Brand__Stack-module__Stack-wide--justify-content-flex-end___Hztn5{justify-content:flex-end}.Primer_Brand__Stack-module__Stack-wide--justify-content-flex-start___gnhnO{justify-content:flex-start}.Primer_Brand__Stack-module__Stack-wide--justify-content-center___XxA7G{justify-content:center}.Primer_Brand__Stack-module__Stack-wide--justify-content-space-between___HEm_x{justify-content:space-between}.Primer_Brand__Stack-module__Stack-wide--justify-content-space-evenly___Hgs5B{justify-content:space-evenly}.Primer_Brand__Stack-module__Stack-wide--justify-content-space-around___B30C2{justify-content:space-around}}.Primer_Brand__Stack-module__Stack-flexWrap--wrap___oHt4z{flex-wrap:wrap}.Primer_Brand__Stack-module__Stack-flexWrap--no-wrap___bGR_x{flex-wrap:nowrap}.Primer_Brand__Stack-module__Stack-narrow-flexWrap--wrap___fnS6A{flex-wrap:wrap}.Primer_Brand__Stack-module__Stack-narrow-flexWrap--no-wrap___DYcBz{flex-wrap:nowrap}@media screen and (width>=48rem){.Primer_Brand__Stack-module__Stack-regular-flexWrap--wrap___hwBqs{flex-wrap:wrap}.Primer_Brand__Stack-module__Stack-regular-flexWrap--no-wrap___Y8wyw{flex-wrap:nowrap}}@media screen and (width>=80rem){.Primer_Brand__Stack-module__Stack-wide-flexWrap--wrap___i9hAC{flex-wrap:wrap}.Primer_Brand__Stack-module__Stack-wide-flexWrap--no-wrap___C__JU{flex-wrap:nowrap}}.Primer_Brand__Box-module__Box-padding--condensed___moOU_{padding:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-padding--normal___I99VZ{padding:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-padding--spacious___IDH0L{padding:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-padding--none___SiKZE{padding:0}.Primer_Brand__Box-module__Box-padding--4___P8ym4{padding:var(--base-size-4)}.Primer_Brand__Box-module__Box-padding--8___tkmC2{padding:var(--base-size-8)}.Primer_Brand__Box-module__Box-padding--12___WZtC5{padding:var(--base-size-12)}.Primer_Brand__Box-module__Box-padding--16___uSvFs{padding:var(--base-size-16)}.Primer_Brand__Box-module__Box-padding--20___CqPHd{padding:var(--base-size-20)}.Primer_Brand__Box-module__Box-padding--24___ns6vt{padding:var(--base-size-24)}.Primer_Brand__Box-module__Box-padding--28___C3Z0M{padding:var(--base-size-28)}.Primer_Brand__Box-module__Box-padding--32___Xi9K8{padding:var(--base-size-32)}.Primer_Brand__Box-module__Box-padding--36___elDVr{padding:var(--base-size-36)}.Primer_Brand__Box-module__Box-padding--40___FiQOK{padding:var(--base-size-40)}.Primer_Brand__Box-module__Box-padding--44___pcGzC{padding:var(--base-size-44)}.Primer_Brand__Box-module__Box-padding--48___sKAhw{padding:var(--base-size-48)}.Primer_Brand__Box-module__Box-padding--60___aeyGV{padding:var(--base-size-60)}.Primer_Brand__Box-module__Box-padding--64___eD0xN{padding:var(--base-size-64)}.Primer_Brand__Box-module__Box-padding--80___Ny1Eo{padding:var(--base-size-80)}.Primer_Brand__Box-module__Box-padding--88___yPev4{padding:var(--base-size-88)}.Primer_Brand__Box-module__Box-padding--96___vQxms{padding:var(--base-size-96)}.Primer_Brand__Box-module__Box-padding--112___UKjfn{padding:var(--base-size-112)}.Primer_Brand__Box-module__Box-padding--128___eM3cZ{padding:var(--base-size-128)}.Primer_Brand__Box-module__Box-narrow-padding--condensed___anAAR{padding:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-narrow-padding--normal___drqoL{padding:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-narrow-padding--spacious___JblB1{padding:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-narrow-padding--none___Ee52O{padding:0}.Primer_Brand__Box-module__Box-narrow-padding--4___gcJCt{padding:var(--base-size-4)}.Primer_Brand__Box-module__Box-narrow-padding--8___a7q08{padding:var(--base-size-8)}.Primer_Brand__Box-module__Box-narrow-padding--12___aaFXk{padding:var(--base-size-12)}.Primer_Brand__Box-module__Box-narrow-padding--16___jdlkw{padding:var(--base-size-16)}.Primer_Brand__Box-module__Box-narrow-padding--20___O5D_M{padding:var(--base-size-20)}.Primer_Brand__Box-module__Box-narrow-padding--24___lyefS{padding:var(--base-size-24)}.Primer_Brand__Box-module__Box-narrow-padding--28___TwWF_{padding:var(--base-size-28)}.Primer_Brand__Box-module__Box-narrow-padding--32___fPqRw{padding:var(--base-size-32)}.Primer_Brand__Box-module__Box-narrow-padding--36___IjUkb{padding:var(--base-size-36)}.Primer_Brand__Box-module__Box-narrow-padding--40___pxXrQ{padding:var(--base-size-40)}.Primer_Brand__Box-module__Box-narrow-padding--44___MCitQ{padding:var(--base-size-44)}.Primer_Brand__Box-module__Box-narrow-padding--48___TYalO{padding:var(--base-size-48)}.Primer_Brand__Box-module__Box-narrow-padding--60___GCUuJ{padding:var(--base-size-60)}.Primer_Brand__Box-module__Box-narrow-padding--64___DfG4r{padding:var(--base-size-64)}.Primer_Brand__Box-module__Box-narrow-padding--80___aM_tb{padding:var(--base-size-80)}.Primer_Brand__Box-module__Box-narrow-padding--88___RAwuQ{padding:var(--base-size-88)}.Primer_Brand__Box-module__Box-narrow-padding--96___AAjgj{padding:var(--base-size-96)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-padding--condensed___Sa56q{padding:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-regular-padding--normal___kPK0N{padding:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-regular-padding--spacious___eg7WK{padding:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-regular-padding--none___RqmqL{padding:0}.Primer_Brand__Box-module__Box-regular-padding--4___Hrlt7{padding:var(--base-size-4)}.Primer_Brand__Box-module__Box-regular-padding--8___S4Vzp{padding:var(--base-size-8)}.Primer_Brand__Box-module__Box-regular-padding--12___aqPhA{padding:var(--base-size-12)}.Primer_Brand__Box-module__Box-regular-padding--16___dspf1{padding:var(--base-size-16)}.Primer_Brand__Box-module__Box-regular-padding--20___je3L4{padding:var(--base-size-20)}.Primer_Brand__Box-module__Box-regular-padding--24___BRWrO{padding:var(--base-size-24)}.Primer_Brand__Box-module__Box-regular-padding--28___MLuWu{padding:var(--base-size-28)}.Primer_Brand__Box-module__Box-regular-padding--32___UuJR3{padding:var(--base-size-32)}.Primer_Brand__Box-module__Box-regular-padding--36___pnnlM{padding:var(--base-size-36)}.Primer_Brand__Box-module__Box-regular-padding--40___KvG6x{padding:var(--base-size-40)}.Primer_Brand__Box-module__Box-regular-padding--44___QbfqE{padding:var(--base-size-44)}.Primer_Brand__Box-module__Box-regular-padding--48___o68vT{padding:var(--base-size-48)}.Primer_Brand__Box-module__Box-regular-padding--60___w5Ah3{padding:var(--base-size-60)}.Primer_Brand__Box-module__Box-regular-padding--64___VXnt9{padding:var(--base-size-64)}.Primer_Brand__Box-module__Box-regular-padding--80___sCKZd{padding:var(--base-size-80)}.Primer_Brand__Box-module__Box-regular-padding--88___rtS6L{padding:var(--base-size-88)}.Primer_Brand__Box-module__Box-regular-padding--96___MjgI_{padding:var(--base-size-96)}.Primer_Brand__Box-module__Box-regular-padding--112___uyz9m{padding:var(--base-size-112)}.Primer_Brand__Box-module__Box-regular-padding--128___a3PIs{padding:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Box-module__Box-wide-padding--condensed___G1jXL{padding:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-wide-padding--normal___tIQlq{padding:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-wide-padding--spacious___PGhNc{padding:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-wide-padding--none___qcMjk{padding:0}.Primer_Brand__Box-module__Box-wide-padding--4___aySqW{padding:var(--base-size-4)}.Primer_Brand__Box-module__Box-wide-padding--8___cPNFj{padding:var(--base-size-8)}.Primer_Brand__Box-module__Box-wide-padding--12___OUxUa{padding:var(--base-size-12)}.Primer_Brand__Box-module__Box-wide-padding--16___IIZ2x{padding:var(--base-size-16)}.Primer_Brand__Box-module__Box-wide-padding--20___IMkXv{padding:var(--base-size-20)}.Primer_Brand__Box-module__Box-wide-padding--24___Jqf0K{padding:var(--base-size-24)}.Primer_Brand__Box-module__Box-wide-padding--28___qJoHf{padding:var(--base-size-28)}.Primer_Brand__Box-module__Box-wide-padding--32___QiAzQ{padding:var(--base-size-32)}.Primer_Brand__Box-module__Box-wide-padding--36___HliwM{padding:var(--base-size-36)}.Primer_Brand__Box-module__Box-wide-padding--40___ebzR0{padding:var(--base-size-40)}.Primer_Brand__Box-module__Box-wide-padding--44___kxHFt{padding:var(--base-size-44)}.Primer_Brand__Box-module__Box-wide-padding--48___VI8OS{padding:var(--base-size-48)}.Primer_Brand__Box-module__Box-wide-padding--60___aDgU_{padding:var(--base-size-60)}.Primer_Brand__Box-module__Box-wide-padding--64___ZIZly{padding:var(--base-size-64)}.Primer_Brand__Box-module__Box-wide-padding--80___Pm5Do{padding:var(--base-size-80)}.Primer_Brand__Box-module__Box-wide-padding--88___fj9YB{padding:var(--base-size-88)}.Primer_Brand__Box-module__Box-wide-padding--96___cdgwB{padding:var(--base-size-96)}.Primer_Brand__Box-module__Box-wide-padding--112___xnULq{padding:var(--base-size-112)}.Primer_Brand__Box-module__Box-wide-padding--128___Cd7wM{padding:var(--base-size-128)}}.Primer_Brand__Box-module__Box-paddingBlockStart--condensed___W1bY3{padding-block-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-paddingBlockStart--normal___Zg_Os{padding-block-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-paddingBlockStart--spacious___ViXP1{padding-block-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-paddingBlockStart--none___OMRh1{padding-block-start:0}.Primer_Brand__Box-module__Box-paddingBlockStart--4___dVFMa{padding-block-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-paddingBlockStart--8___TNzCC{padding-block-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-paddingBlockStart--12___QFOW7{padding-block-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-paddingBlockStart--16___ZVevq{padding-block-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-paddingBlockStart--20___BIULn{padding-block-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-paddingBlockStart--24___W0xXx{padding-block-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-paddingBlockStart--28___cfKdr{padding-block-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-paddingBlockStart--32___nFZZ8{padding-block-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-paddingBlockStart--36___c5djO{padding-block-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-paddingBlockStart--40___vX8Fj{padding-block-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-paddingBlockStart--44___gHVxS{padding-block-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-paddingBlockStart--48___dATiV{padding-block-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-paddingBlockStart--60___iBaCb{padding-block-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-paddingBlockStart--64___GC9HQ{padding-block-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-paddingBlockStart--80___AzNIY{padding-block-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-paddingBlockStart--88___mlghT{padding-block-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-paddingBlockStart--96___eirfv{padding-block-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-paddingBlockStart--112___WErQC{padding-block-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-paddingBlockStart--128___PQBNx{padding-block-start:var(--base-size-128)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--condensed___TpPWY{padding-block-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--normal___WoejX{padding-block-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--spacious___YGOfc{padding-block-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--none___rBPCn{padding-block-start:0}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--4___pKCVF{padding-block-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--8___Mno90{padding-block-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--12___o4TBL{padding-block-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--16___e1SBw{padding-block-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--20___n1NNi{padding-block-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--24___uZOxT{padding-block-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--28___m2mO9{padding-block-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--32___qReqY{padding-block-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--36___FeGVX{padding-block-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--40___NWdbk{padding-block-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--44___xUghA{padding-block-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--48___QXRZC{padding-block-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--60___Q10gK{padding-block-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--64___xkgoO{padding-block-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--80___VP_yD{padding-block-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--88___rCE4P{padding-block-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--96___DwVjV{padding-block-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--112___KR3bh{padding-block-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-narrow-paddingBlockStart--128___sY3Vs{padding-block-start:var(--base-size-128)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-paddingBlockStart--condensed____4rsh{padding-block-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--normal___D08eA{padding-block-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--spacious___ANm3m{padding-block-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--none___gWbHQ{padding-block-start:0}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--4___hDJd4{padding-block-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--8___sMD28{padding-block-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--12___vUJnn{padding-block-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--16___N8Zxa{padding-block-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--20___BsEXk{padding-block-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--24___AI2B1{padding-block-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--28___OZFGX{padding-block-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--32___viH7U{padding-block-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--36___E6h7E{padding-block-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--40___qZE9d{padding-block-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--44___mveRI{padding-block-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--48___HcGS_{padding-block-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--60___h0JrH{padding-block-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--64___nx8cK{padding-block-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--80___ld1du{padding-block-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--88___lU6HN{padding-block-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--96___BOrMI{padding-block-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--112___OpuYq{padding-block-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-regular-paddingBlockStart--128___Gp33i{padding-block-start:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Box-module__Box-wide-paddingBlockStart--condensed___PXi4I{padding-block-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--normal___GnoL0{padding-block-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--spacious___krfm9{padding-block-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--none___Y9qJB{padding-block-start:0}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--4___Zryv_{padding-block-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--8___u5PHy{padding-block-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--12___U5Ofg{padding-block-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--16___ZBJ3Y{padding-block-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--20___pAFgx{padding-block-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--24___MEQNA{padding-block-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--28___dNYbO{padding-block-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--32___ohjFs{padding-block-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--36___nZoBT{padding-block-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--40___ak06g{padding-block-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--44___o7t7i{padding-block-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--48___XERud{padding-block-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--60___DB6D9{padding-block-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--64___c4HWW{padding-block-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--80___IQUjF{padding-block-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--88___sNl4k{padding-block-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--96___ziRgY{padding-block-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--112___kU2x1{padding-block-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-wide-paddingBlockStart--128___nWESD{padding-block-start:var(--base-size-128)}}.Primer_Brand__Box-module__Box-paddingInlineEnd--condensed___eOQgc{padding-inline-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-paddingInlineEnd--normal___iaaKM{padding-inline-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-paddingInlineEnd--spacious___QRkuj{padding-inline-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-paddingInlineEnd--none___zgwVT{padding-inline-end:0}.Primer_Brand__Box-module__Box-paddingInlineEnd--4___QYTSr{padding-inline-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-paddingInlineEnd--8___qOjp8{padding-inline-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-paddingInlineEnd--12___ki7vg{padding-inline-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-paddingInlineEnd--16___eBvli{padding-inline-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-paddingInlineEnd--20___fUBLQ{padding-inline-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-paddingInlineEnd--24___qvm6U{padding-inline-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-paddingInlineEnd--28___RLJPP{padding-inline-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-paddingInlineEnd--32___rmFsu{padding-inline-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-paddingInlineEnd--36___eD4ie{padding-inline-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-paddingInlineEnd--40___Pa_hU{padding-inline-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-paddingInlineEnd--44___ISq6N{padding-inline-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-paddingInlineEnd--48____6VIs{padding-inline-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-paddingInlineEnd--60___nSk0c{padding-inline-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-paddingInlineEnd--64___XEdic{padding-inline-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-paddingInlineEnd--80___ro2Q6{padding-inline-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-paddingInlineEnd--88____tOlK{padding-inline-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-paddingInlineEnd--96___VGzUa{padding-inline-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-paddingInlineEnd--112___u399j{padding-inline-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-paddingInlineEnd--128___XCfRF{padding-inline-end:var(--base-size-128)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--condensed___tbVph{padding-inline-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--normal___J14DR{padding-inline-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--spacious___XYmJk{padding-inline-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--none____Uy0e{padding-inline-end:0}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--4___LCky2{padding-inline-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--8___s737E{padding-inline-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--12___F2fc4{padding-inline-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--16___hCEUi{padding-inline-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--20___moqMn{padding-inline-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--24___nUtP0{padding-inline-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--28___GoW1H{padding-inline-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--32___kE8pF{padding-inline-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--36___zUIaG{padding-inline-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--40___U_LUs{padding-inline-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--44___HfR2e{padding-inline-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--48___VpyWJ{padding-inline-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--60___M439R{padding-inline-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--64____U2Bb{padding-inline-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--80___xLRwJ{padding-inline-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--88___venIk{padding-inline-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-narrow-paddingInlineEnd--96___lz9Ah{padding-inline-end:var(--base-size-96)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--condensed___Y3PpC{padding-inline-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--normal___uQZJL{padding-inline-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--spacious___Yg_oy{padding-inline-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--none___d07JU{padding-inline-end:0}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--4____Mu6j{padding-inline-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--8___KLTjM{padding-inline-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--12___MZaFD{padding-inline-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--16___zuYxe{padding-inline-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--20___X7kQ7{padding-inline-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--24___OLwfl{padding-inline-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--28___S8g3g{padding-inline-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--32___fOGZt{padding-inline-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--36___Gsz4A{padding-inline-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--40___beKbG{padding-inline-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--44___Fbir5{padding-inline-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--48___JLuQO{padding-inline-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--60___RhhLC{padding-inline-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--64___j2pqZ{padding-inline-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--80____2Wqx{padding-inline-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--88___DFSeP{padding-inline-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--96___VLntF{padding-inline-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--112___fkEpY{padding-inline-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-regular-paddingInlineEnd--128___gQRRw{padding-inline-end:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--condensed___Qcd9O{padding-inline-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--normal___RCW25{padding-inline-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--spacious___l9ArL{padding-inline-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--none___l9mTk{padding-inline-end:0}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--4___Po8UR{padding-inline-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--8___JogoU{padding-inline-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--12___mTBkP{padding-inline-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--16___yWWxx{padding-inline-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--20___Ho0IF{padding-inline-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--24___eQFrc{padding-inline-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--28___NDHpo{padding-inline-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--32___W5qHl{padding-inline-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--36___GjFzC{padding-inline-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--40___waIcY{padding-inline-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--44___JOSMH{padding-inline-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--48___pI6_m{padding-inline-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--60___ed3T2{padding-inline-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--64___D6UgI{padding-inline-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--80___A72UQ{padding-inline-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--88___DE0O8{padding-inline-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--96___JZowF{padding-inline-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--112___fAjZM{padding-inline-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-wide-paddingInlineEnd--128___V6AHo{padding-inline-end:var(--base-size-128)}}.Primer_Brand__Box-module__Box-paddingBlockEnd--condensed___dEYMv{padding-block-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-paddingBlockEnd--normal___85pec{padding-block-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-paddingBlockEnd--spacious___LGfk7{padding-block-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-paddingBlockEnd--none____vlh7{padding-block-end:0}.Primer_Brand__Box-module__Box-paddingBlockEnd--4____i2UO{padding-block-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-paddingBlockEnd--8___bNx7n{padding-block-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-paddingBlockEnd--12____EOsG{padding-block-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-paddingBlockEnd--16___wkJ99{padding-block-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-paddingBlockEnd--20___xjcqw{padding-block-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-paddingBlockEnd--24___NFG9h{padding-block-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-paddingBlockEnd--28___u7XJS{padding-block-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-paddingBlockEnd--32___zjWVZ{padding-block-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-paddingBlockEnd--36___f12Tl{padding-block-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-paddingBlockEnd--40___j6T9R{padding-block-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-paddingBlockEnd--44___gl2rH{padding-block-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-paddingBlockEnd--48___OcWnm{padding-block-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-paddingBlockEnd--60___T7psX{padding-block-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-paddingBlockEnd--64___dSBrT{padding-block-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-paddingBlockEnd--80___Sbcpv{padding-block-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-paddingBlockEnd--88___tspXM{padding-block-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-paddingBlockEnd--96___eMrZV{padding-block-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-paddingBlockEnd--112___ty2_p{padding-block-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-paddingBlockEnd--128___H35FY{padding-block-end:var(--base-size-128)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--condensed___QTO1y{padding-block-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--normal___MupAF{padding-block-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--spacious____jivs{padding-block-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--none___xwpBe{padding-block-end:0}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--4___g4hDY{padding-block-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--8___dhfNf{padding-block-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--12___fLDtZ{padding-block-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--16___BHuqq{padding-block-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--20___JI4SX{padding-block-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--24___s1eco{padding-block-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--28___g6wCx{padding-block-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--32___wycVg{padding-block-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--36___wjt4p{padding-block-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--40___rVjJV{padding-block-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--44___akvlZ{padding-block-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--48___OPwru{padding-block-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--60___zRr4T{padding-block-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--64___icCAb{padding-block-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--80___Y_JGc{padding-block-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--88___dl3rO{padding-block-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--96___ojJIp{padding-block-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--112___pKYyd{padding-block-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-narrow-paddingBlockEnd--128___oI5vn{padding-block-end:var(--base-size-128)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--condensed___iiMOv{padding-block-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--normal___J5glu{padding-block-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--spacious___Qbwlq{padding-block-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--none___D1NkR{padding-block-end:0}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--4___TL1oP{padding-block-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--8___pKg9P{padding-block-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--12___UBth1{padding-block-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--16___LKRrT{padding-block-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--20___mRbHZ{padding-block-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--24___il8K_{padding-block-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--28___ZmE1R{padding-block-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--32____C9RT{padding-block-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--36___nocbv{padding-block-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--40___nsz4g{padding-block-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--44___bsz6J{padding-block-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--48___eApXN{padding-block-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--60___FR7Cn{padding-block-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--64___ATo_6{padding-block-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--80___HuPNm{padding-block-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--88___axhPf{padding-block-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--96___QWDd0{padding-block-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--112___Ql_U3{padding-block-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-regular-paddingBlockEnd--128___R4xJd{padding-block-end:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--condensed___fKrol{padding-block-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--normal___Kbldz{padding-block-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--spacious___zbi5h{padding-block-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--none___rVFoE{padding-block-end:0}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--4___YjBbR{padding-block-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--8___CpDlD{padding-block-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--12___cjNk6{padding-block-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--16___PKo6_{padding-block-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--20___bNtXr{padding-block-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--24___o8_OD{padding-block-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--28___zR53L{padding-block-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--32___xX0KK{padding-block-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--36___KeAYu{padding-block-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--40___FUROs{padding-block-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--44___nWycQ{padding-block-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--48___J4Ljw{padding-block-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--60___YiIwB{padding-block-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--64___pbSxt{padding-block-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--80___wJtUa{padding-block-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--88___M2vDM{padding-block-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--96___Uq5AZ{padding-block-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--112___B96UD{padding-block-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-wide-paddingBlockEnd--128___GcJ48{padding-block-end:var(--base-size-128)}}.Primer_Brand__Box-module__Box-paddingInlineStart--condensed___rq2fI{padding-inline-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-paddingInlineStart--normal___BmKv4{padding-inline-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-paddingInlineStart--spacious___rk6ci{padding-inline-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-paddingInlineStart--none___zXxYO{padding-inline-start:0}.Primer_Brand__Box-module__Box-paddingInlineStart--4___XP6SF{padding-inline-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-paddingInlineStart--8___OBQ5l{padding-inline-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-paddingInlineStart--12___F1XBU{padding-inline-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-paddingInlineStart--16___QesGK{padding-inline-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-paddingInlineStart--20___xOS1A{padding-inline-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-paddingInlineStart--24___moDQ8{padding-inline-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-paddingInlineStart--28___KBIxR{padding-inline-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-paddingInlineStart--32___nVH6P{padding-inline-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-paddingInlineStart--36___VqmhW{padding-inline-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-paddingInlineStart--40___DXgBn{padding-inline-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-paddingInlineStart--44___Bulbu{padding-inline-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-paddingInlineStart--48___x5m9Q{padding-inline-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-paddingInlineStart--60___Iprl6{padding-inline-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-paddingInlineStart--64___WUgUO{padding-inline-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-paddingInlineStart--80___Kn2gO{padding-inline-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-paddingInlineStart--88___kWkOB{padding-inline-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-paddingInlineStart--96___B2qkH{padding-inline-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-paddingInlineStart--112___v4yZC{padding-inline-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-paddingInlineStart--128___aafEk{padding-inline-start:var(--base-size-128)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--condensed___YI9Eh{padding-inline-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--normal___iqKMr{padding-inline-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--spacious___O1i9G{padding-inline-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--none___pGKmW{padding-inline-start:0}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--4___pS_Gh{padding-inline-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--8___F6dKN{padding-inline-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--12___Ci8GO{padding-inline-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--16___fkZ4s{padding-inline-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--20___tRwV3{padding-inline-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--24___uVuT2{padding-inline-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--28___ueTAO{padding-inline-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--32___e1dD1{padding-inline-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--36___kPOzQ{padding-inline-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--40___ekOE3{padding-inline-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--44___nALOu{padding-inline-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--48___cg27m{padding-inline-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--60___CwVSc{padding-inline-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--64___PBLfw{padding-inline-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--80___Mv5eX{padding-inline-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--88___QTgm8{padding-inline-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--96___W7uL8{padding-inline-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--112___qXECF{padding-inline-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-narrow-paddingInlineStart--128___tBlKZ{padding-inline-start:var(--base-size-128)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-paddingInlineStart--condensed___K1JTe{padding-inline-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--normal___hE24G{padding-inline-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--spacious___Y3FYm{padding-inline-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--none___rA7QC{padding-inline-start:0}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--4___ffJtu{padding-inline-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--8___K3PDT{padding-inline-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--12___ZI1Zt{padding-inline-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--16___pSuDM{padding-inline-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--20___J_Lac{padding-inline-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--24___olfR2{padding-inline-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--28___u3Jxq{padding-inline-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--32___j8YOd{padding-inline-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--36___ioVRd{padding-inline-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--40___CZDsm{padding-inline-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--44___eBvKb{padding-inline-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--48___JdZPY{padding-inline-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--60___gyHKL{padding-inline-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--64___GGNhi{padding-inline-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--80___oqP9L{padding-inline-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--88___dCPPv{padding-inline-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--96___XT27R{padding-inline-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--112___MFUWm{padding-inline-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-regular-paddingInlineStart--128___lfSNz{padding-inline-start:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Box-module__Box-wide-paddingInlineStart--condensed___p04xa{padding-inline-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--normal___fUsFX{padding-inline-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--spacious___Sqsw2{padding-inline-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--none___Nv0wp{padding-inline-start:0}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--4___nVn_B{padding-inline-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--8___wLVn9{padding-inline-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--12___rnbWe{padding-inline-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--16___lhOME{padding-inline-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--20___ULYpU{padding-inline-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--24___HVDrv{padding-inline-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--28___CDihC{padding-inline-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--32___Wq77T{padding-inline-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--36___tCHNn{padding-inline-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--40___Yfoos{padding-inline-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--44___GIxDS{padding-inline-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--48___GlLkg{padding-inline-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--60___nBbo0{padding-inline-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--64___EVzB4{padding-inline-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--80___F366d{padding-inline-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--88___yrcrw{padding-inline-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--96___jvQgf{padding-inline-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--112___Z_i9M{padding-inline-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-wide-paddingInlineStart--128___dxJ4W{padding-inline-start:var(--base-size-128)}}.Primer_Brand__Box-module__Box-margin--condensed___t8Ura{margin:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-margin--normal___ZVHSh{margin:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-margin--spacious___j0gGh{margin:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-margin--none___x7HE0{margin:0}.Primer_Brand__Box-module__Box-margin--4___SAGHe{margin:var(--base-size-4)}.Primer_Brand__Box-module__Box-margin--8___rwesA{margin:var(--base-size-8)}.Primer_Brand__Box-module__Box-margin--12___olT6x{margin:var(--base-size-12)}.Primer_Brand__Box-module__Box-margin--16___bf8KF{margin:var(--base-size-16)}.Primer_Brand__Box-module__Box-margin--20___eRoV_{margin:var(--base-size-20)}.Primer_Brand__Box-module__Box-margin--24___pFF57{margin:var(--base-size-24)}.Primer_Brand__Box-module__Box-margin--28___EGGCf{margin:var(--base-size-28)}.Primer_Brand__Box-module__Box-margin--32___piqFe{margin:var(--base-size-32)}.Primer_Brand__Box-module__Box-margin--36___xujLX{margin:var(--base-size-36)}.Primer_Brand__Box-module__Box-margin--40___75KiU{margin:var(--base-size-40)}.Primer_Brand__Box-module__Box-margin--44___eoeZ9{margin:var(--base-size-44)}.Primer_Brand__Box-module__Box-margin--48___RveUf{margin:var(--base-size-48)}.Primer_Brand__Box-module__Box-margin--60___A8h1D{margin:var(--base-size-60)}.Primer_Brand__Box-module__Box-margin--64___U6GY0{margin:var(--base-size-64)}.Primer_Brand__Box-module__Box-margin--80___VXJ1m{margin:var(--base-size-80)}.Primer_Brand__Box-module__Box-margin--88___dr4BK{margin:var(--base-size-88)}.Primer_Brand__Box-module__Box-margin--96___W5lUS{margin:var(--base-size-96)}.Primer_Brand__Box-module__Box-margin--112___CMH1O{margin:var(--base-size-112)}.Primer_Brand__Box-module__Box-margin--128___chyQh{margin:var(--base-size-128)}.Primer_Brand__Box-module__Box-narrow-margin--condensed____oxX7{margin:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-narrow-margin--normal___XezR0{margin:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-narrow-margin--spacious___g6g0f{margin:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-narrow-margin--none___POgbx{margin:0}.Primer_Brand__Box-module__Box-narrow-margin--4___Q2uQ_{margin:var(--base-size-4)}.Primer_Brand__Box-module__Box-narrow-margin--8___rBgr8{margin:var(--base-size-8)}.Primer_Brand__Box-module__Box-narrow-margin--12___iI8JN{margin:var(--base-size-12)}.Primer_Brand__Box-module__Box-narrow-margin--16____6lfa{margin:var(--base-size-16)}.Primer_Brand__Box-module__Box-narrow-margin--20___eP512{margin:var(--base-size-20)}.Primer_Brand__Box-module__Box-narrow-margin--24___WRxp2{margin:var(--base-size-24)}.Primer_Brand__Box-module__Box-narrow-margin--28___Go_go{margin:var(--base-size-28)}.Primer_Brand__Box-module__Box-narrow-margin--32___ZywhO{margin:var(--base-size-32)}.Primer_Brand__Box-module__Box-narrow-margin--36___I5ZXC{margin:var(--base-size-36)}.Primer_Brand__Box-module__Box-narrow-margin--40___LLwK7{margin:var(--base-size-40)}.Primer_Brand__Box-module__Box-narrow-margin--44____tEzU{margin:var(--base-size-44)}.Primer_Brand__Box-module__Box-narrow-margin--48___isJ89{margin:var(--base-size-48)}.Primer_Brand__Box-module__Box-narrow-margin--60___GhiZZ{margin:var(--base-size-60)}.Primer_Brand__Box-module__Box-narrow-margin--64___L0c0n{margin:var(--base-size-64)}.Primer_Brand__Box-module__Box-narrow-margin--80___vvJ9F{margin:var(--base-size-80)}.Primer_Brand__Box-module__Box-narrow-margin--88____rLH2{margin:var(--base-size-88)}.Primer_Brand__Box-module__Box-narrow-margin--96___lp2Ry{margin:var(--base-size-96)}.Primer_Brand__Box-module__Box-narrow-margin--112___a5t03{margin:var(--base-size-112)}.Primer_Brand__Box-module__Box-narrow-margin--128___P5b03{margin:var(--base-size-128)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-margin--condensed___Caa8r{margin:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-regular-margin--normal___KdX5O{margin:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-regular-margin--spacious___mG0NN{margin:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-regular-margin--none____xN9L{margin:0}.Primer_Brand__Box-module__Box-regular-margin--4___J8A2t{margin:var(--base-size-4)}.Primer_Brand__Box-module__Box-regular-margin--8___iSM8W{margin:var(--base-size-8)}.Primer_Brand__Box-module__Box-regular-margin--12___jqgj2{margin:var(--base-size-12)}.Primer_Brand__Box-module__Box-regular-margin--16___UkF2r{margin:var(--base-size-16)}.Primer_Brand__Box-module__Box-regular-margin--20___QOTe2{margin:var(--base-size-20)}.Primer_Brand__Box-module__Box-regular-margin--24___g6Kqw{margin:var(--base-size-24)}.Primer_Brand__Box-module__Box-regular-margin--28___rycHv{margin:var(--base-size-28)}.Primer_Brand__Box-module__Box-regular-margin--32___mqhOH{margin:var(--base-size-32)}.Primer_Brand__Box-module__Box-regular-margin--36___WB582{margin:var(--base-size-36)}.Primer_Brand__Box-module__Box-regular-margin--40___ZtXXm{margin:var(--base-size-40)}.Primer_Brand__Box-module__Box-regular-margin--44___WzwUP{margin:var(--base-size-44)}.Primer_Brand__Box-module__Box-regular-margin--48___AI_QF{margin:var(--base-size-48)}.Primer_Brand__Box-module__Box-regular-margin--60___srQSO{margin:var(--base-size-60)}.Primer_Brand__Box-module__Box-regular-margin--64___feT35{margin:var(--base-size-64)}.Primer_Brand__Box-module__Box-regular-margin--80___RT7fB{margin:var(--base-size-80)}.Primer_Brand__Box-module__Box-regular-margin--88___Q182S{margin:var(--base-size-88)}.Primer_Brand__Box-module__Box-regular-margin--96___Rvbjm{margin:var(--base-size-96)}.Primer_Brand__Box-module__Box-regular-margin--112___A6xDo{margin:var(--base-size-112)}.Primer_Brand__Box-module__Box-regular-margin--128___kHwQC{margin:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Box-module__Box-wide-margin--condensed___Uj_ap{margin:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-wide-margin--normal___o0WKl{margin:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-wide-margin--spacious___Fmgze{margin:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-wide-margin--none___RuZOH{margin:0}.Primer_Brand__Box-module__Box-wide-margin--4___dGG0a{margin:var(--base-size-4)}.Primer_Brand__Box-module__Box-wide-margin--8___VEXWc{margin:var(--base-size-8)}.Primer_Brand__Box-module__Box-wide-margin--12___sqf5U{margin:var(--base-size-12)}.Primer_Brand__Box-module__Box-wide-margin--16___DTrBi{margin:var(--base-size-16)}.Primer_Brand__Box-module__Box-wide-margin--20___dlbWa{margin:var(--base-size-20)}.Primer_Brand__Box-module__Box-wide-margin--24___L_Aj9{margin:var(--base-size-24)}.Primer_Brand__Box-module__Box-wide-margin--28___Vjv_a{margin:var(--base-size-28)}.Primer_Brand__Box-module__Box-wide-margin--32___GECyy{margin:var(--base-size-32)}.Primer_Brand__Box-module__Box-wide-margin--36___PWhqP{margin:var(--base-size-36)}.Primer_Brand__Box-module__Box-wide-margin--40___vemke{margin:var(--base-size-40)}.Primer_Brand__Box-module__Box-wide-margin--44___Ennon{margin:var(--base-size-44)}.Primer_Brand__Box-module__Box-wide-margin--48___MkKEg{margin:var(--base-size-48)}.Primer_Brand__Box-module__Box-wide-margin--60___WPJsx{margin:var(--base-size-60)}.Primer_Brand__Box-module__Box-wide-margin--64___vYLMh{margin:var(--base-size-64)}.Primer_Brand__Box-module__Box-wide-margin--80___I3XVP{margin:var(--base-size-80)}.Primer_Brand__Box-module__Box-wide-margin--88___Tlgzv{margin:var(--base-size-88)}.Primer_Brand__Box-module__Box-wide-margin--112___HsLag{margin:var(--base-size-112)}.Primer_Brand__Box-module__Box-wide-margin--128___v9LVz{margin:var(--base-size-128)}}.Primer_Brand__Box-module__Box-marginBlockStart--condensed___bTE8Q{margin-block-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-marginBlockStart--normal___wUotH{margin-block-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-marginBlockStart--spacious___EOasI{margin-block-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-marginBlockStart--none___iS0_r{margin-block-start:0}.Primer_Brand__Box-module__Box-marginBlockStart--4___ZxS80{margin-block-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-marginBlockStart--8___RPhvf{margin-block-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-marginBlockStart--12___Dw4MT{margin-block-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-marginBlockStart--16___plaHc{margin-block-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-marginBlockStart--20___gqeBE{margin-block-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-marginBlockStart--24___puxKK{margin-block-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-marginBlockStart--28___X08BZ{margin-block-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-marginBlockStart--32___pWodO{margin-block-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-marginBlockStart--36___v5wHR{margin-block-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-marginBlockStart--40___hq_Nv{margin-block-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-marginBlockStart--44___uLLSf{margin-block-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-marginBlockStart--48___S_MhS{margin-block-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-marginBlockStart--60___0Lb4o{margin-block-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-marginBlockStart--64___oLHvC{margin-block-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-marginBlockStart--80___Q0HsD{margin-block-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-marginBlockStart--88___T0gdB{margin-block-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-marginBlockStart--96___MqNC0{margin-block-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-marginBlockStart--112___j68wy{margin-block-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-marginBlockStart--128___mzbEa{margin-block-start:var(--base-size-128)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--condensed___QUr7S{margin-block-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--normal___jTtqc{margin-block-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--spacious___O2UPE{margin-block-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--none___vMaok{margin-block-start:0}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--4___t9ZC4{margin-block-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--8___ZsShH{margin-block-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--12___eaiGT{margin-block-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--16___ViXmT{margin-block-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--20___Y_3F2{margin-block-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--24___fQcVJ{margin-block-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--28___Pi7Wt{margin-block-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--32___fWuQe{margin-block-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--36___IK1Mg{margin-block-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--40___GbLEW{margin-block-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--44___J8fNf{margin-block-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--48___foZDz{margin-block-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--60___xlE0n{margin-block-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--64___AU4LW{margin-block-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--80___PMcaT{margin-block-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--88___RQRKe{margin-block-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--96___mYSKK{margin-block-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--112___tW2zB{margin-block-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-narrow-marginBlockStart--128___p0QMw{margin-block-start:var(--base-size-128)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-marginBlockStart--condensed___rp3ys{margin-block-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--normal___SPLfG{margin-block-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--spacious___fq56Y{margin-block-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--none___KYSzT{margin-block-start:0}.Primer_Brand__Box-module__Box-regular-marginBlockStart--4___Uv8gl{margin-block-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--8___jnZgW{margin-block-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--12___fCXkQ{margin-block-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--16___Z9p0d{margin-block-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--20___E559T{margin-block-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--24___CjRGa{margin-block-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--28___VwKD6{margin-block-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--32___eskz2{margin-block-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--36___s1z4f{margin-block-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--40___QXz1n{margin-block-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--44___OSyKv{margin-block-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--48___qNEcn{margin-block-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--60___nhnZh{margin-block-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--64___Y0G5A{margin-block-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--80___BlU1a{margin-block-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--88___nSxLP{margin-block-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--96___ZD_SH{margin-block-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--112___GVoQX{margin-block-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-regular-marginBlockStart--128___TFhvb{margin-block-start:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Box-module__Box-wide-marginBlockStart--condensed___mqYho{margin-block-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--normal___c81Vf{margin-block-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--spacious___gD8F4{margin-block-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--none___o5UYw{margin-block-start:0}.Primer_Brand__Box-module__Box-wide-marginBlockStart--4___k48Xj{margin-block-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--8___EmewZ{margin-block-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--12___Xxtk6{margin-block-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--16___NYL3P{margin-block-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--20___W9gU2{margin-block-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--24___lMuAD{margin-block-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--28___FT3Mf{margin-block-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--32___dlVS5{margin-block-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--36___ZCOj2{margin-block-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--40___rEDpG{margin-block-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--44___DGFwo{margin-block-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--48___WRSPh{margin-block-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--60___OWBYp{margin-block-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--64___ZueKk{margin-block-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--80___TA3IX{margin-block-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--88___eU6Uu{margin-block-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--96___trWhE{margin-block-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--112___M351c{margin-block-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-wide-marginBlockStart--128___I90P4{margin-block-start:var(--base-size-128)}}.Primer_Brand__Box-module__Box-marginInlineEnd--condensed___EVJUU{margin-inline-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-marginInlineEnd--normal___AdtDi{margin-inline-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-marginInlineEnd--spacious___rqfRo{margin-inline-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-marginInlineEnd--none___cJZUG{margin-inline-end:0}.Primer_Brand__Box-module__Box-marginInlineEnd--4___CmFW9{margin-inline-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-marginInlineEnd--8___9dSA9{margin-inline-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-marginInlineEnd--12___uJExr{margin-inline-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-marginInlineEnd--16___dw6kz{margin-inline-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-marginInlineEnd--20___qfURL{margin-inline-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-marginInlineEnd--24___Q353Q{margin-inline-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-marginInlineEnd--28___fQ3mR{margin-inline-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-marginInlineEnd--32___bruVR{margin-inline-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-marginInlineEnd--36___knq3Z{margin-inline-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-marginInlineEnd--40___iZcVw{margin-inline-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-marginInlineEnd--44___GKLwd{margin-inline-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-marginInlineEnd--48___i5HE8{margin-inline-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-marginInlineEnd--60___KIgH3{margin-inline-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-marginInlineEnd--64___C5Tp6{margin-inline-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-marginInlineEnd--80___j058F{margin-inline-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-marginInlineEnd--88___dzYTi{margin-inline-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-marginInlineEnd--96___YGHeA{margin-inline-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-marginInlineEnd--112___It02k{margin-inline-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-marginInlineEnd--128___S5_Lm{margin-inline-end:var(--base-size-128)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--condensed___QlOtm{margin-inline-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--normal____4LoS{margin-inline-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--spacious___ESjqc{margin-inline-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--none___LYYdL{margin-inline-end:0}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--4___j15Se{margin-inline-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--8___ivk9J{margin-inline-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--12___InPz1{margin-inline-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--16___UZzSI{margin-inline-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--20___AOZlY{margin-inline-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--24___uMFom{margin-inline-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--28___P312F{margin-inline-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--32___NfeGi{margin-inline-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--36___iU_kf{margin-inline-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--40___lme45{margin-inline-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--44___lUlZs{margin-inline-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--48___sUFp9{margin-inline-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--60___NOyzc{margin-inline-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--64___BtND9{margin-inline-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--80____4Pas{margin-inline-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--88___uL4kN{margin-inline-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-narrow-marginInlineEnd--96___gtx55{margin-inline-end:var(--base-size-96)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-marginInlineEnd--condensed___BCcsA{margin-inline-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--normal___silfR{margin-inline-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--spacious___sjnml{margin-inline-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--none___W0mRJ{margin-inline-end:0}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--4___dn_Re{margin-inline-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--8___VFtdE{margin-inline-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--12___k07gg{margin-inline-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--16___OOs0G{margin-inline-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--20___fsTtM{margin-inline-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--24___uOaQI{margin-inline-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--28___FbHfF{margin-inline-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--32___Ukveq{margin-inline-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--36___M92aJ{margin-inline-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--40____e3SN{margin-inline-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--44___UEAQj{margin-inline-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--48___ei98i{margin-inline-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--60___tipua{margin-inline-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--64___PIZxy{margin-inline-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--80___lnDcp{margin-inline-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--88___BPqAI{margin-inline-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-regular-marginInlineEnd--96___aRTvT{margin-inline-end:var(--base-size-96)}}@media screen and (width>=80rem){.Primer_Brand__Box-module__Box-wide-marginInlineEnd--condensed___QoI21{margin-inline-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--normal___HNliJ{margin-inline-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--spacious___X8NXv{margin-inline-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--none___JwlqX{margin-inline-end:0}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--4___sWBPo{margin-inline-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--8___kacX3{margin-inline-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--12___uQT7v{margin-inline-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--16___n01ap{margin-inline-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--20___X4OVV{margin-inline-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--24___AJ1ri{margin-inline-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--28___E5VbM{margin-inline-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--32___ypePn{margin-inline-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--36___gmvEm{margin-inline-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--40___r90G7{margin-inline-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--44___Q4G5c{margin-inline-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--48___z9Lmw{margin-inline-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--60___TTkKW{margin-inline-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--64___F57r_{margin-inline-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--80___E0tJe{margin-inline-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--88___v8a26{margin-inline-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-wide-marginInlineEnd--96___pUCiy{margin-inline-end:var(--base-size-96)}}.Primer_Brand__Box-module__Box-marginBlockEnd--condensed___yZSjt{margin-block-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-marginBlockEnd--normal___BkMQg{margin-block-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-marginBlockEnd--spacious___Jjk8D{margin-block-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-marginBlockEnd--none___q_Aov{margin-block-end:0}.Primer_Brand__Box-module__Box-marginBlockEnd--4___uZDEK{margin-block-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-marginBlockEnd--8___dx_JW{margin-block-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-marginBlockEnd--12___kgVMq{margin-block-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-marginBlockEnd--16___N2MVF{margin-block-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-marginBlockEnd--20___aX_J0{margin-block-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-marginBlockEnd--24___RTiyC{margin-block-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-marginBlockEnd--28___jhXpG{margin-block-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-marginBlockEnd--32___W5xYE{margin-block-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-marginBlockEnd--36___cj9Vj{margin-block-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-marginBlockEnd--40___ewAlH{margin-block-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-marginBlockEnd--44___ZxEv_{margin-block-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-marginBlockEnd--48___zt2OJ{margin-block-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-marginBlockEnd--60___c2uN1{margin-block-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-marginBlockEnd--64___a6txk{margin-block-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-marginBlockEnd--80___EZyqj{margin-block-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-marginBlockEnd--88___nMO9c{margin-block-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-marginBlockEnd--96___Lbz6K{margin-block-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-marginBlockEnd--112___oSXen{margin-block-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-marginBlockEnd--128___zrQ7e{margin-block-end:var(--base-size-128)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--condensed___Tltof{margin-block-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--normal___ShWay{margin-block-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--spacious___LV3s_{margin-block-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--none___CBZnh{margin-block-end:0}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--4___CtSfn{margin-block-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--8___Y45AZ{margin-block-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--12___c87Ua{margin-block-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--16___XP5Uw{margin-block-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--20___p3Udz{margin-block-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--24___oh65t{margin-block-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--28___trRzs{margin-block-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--32___qYFHR{margin-block-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--36___mV2L1{margin-block-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--40___taWN_{margin-block-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--44___q5psW{margin-block-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--48___u5_N1{margin-block-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--60___znsW7{margin-block-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--64___iRYFP{margin-block-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--80___h7LUD{margin-block-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--88___mBsMQ{margin-block-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-narrow-marginBlockEnd--96___TcQuV{margin-block-end:var(--base-size-96)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-marginBlockEnd--condensed___nz4bt{margin-block-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--normal___PDHRc{margin-block-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--spacious___l348T{margin-block-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--none___KZ8GC{margin-block-end:0}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--4___xY73v{margin-block-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--8___BUGRd{margin-block-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--12___FKbqC{margin-block-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--16___EkpkB{margin-block-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--20___j3pUk{margin-block-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--24___gnnxL{margin-block-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--28___tHNzb{margin-block-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--32___XIqmt{margin-block-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--36___blLjI{margin-block-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--40___V9Sxn{margin-block-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--44___xMsFn{margin-block-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--48___pdAjC{margin-block-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--60___km_JN{margin-block-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--64___uLUtn{margin-block-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--80___OlgXb{margin-block-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--88___vClp9{margin-block-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--96____imff{margin-block-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--112___NDi61{margin-block-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-regular-marginBlockEnd--128___GUa4G{margin-block-end:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Box-module__Box-wide-marginBlockEnd--condensed___UBH5e{margin-block-end:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--normal___Bi1K6{margin-block-end:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--spacious___fC5ai{margin-block-end:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--none___k2UfA{margin-block-end:0}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--4___qjlqV{margin-block-end:var(--base-size-4)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--8___jhRo2{margin-block-end:var(--base-size-8)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--12___UmBRd{margin-block-end:var(--base-size-12)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--16___GfSQm{margin-block-end:var(--base-size-16)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--20___D4t78{margin-block-end:var(--base-size-20)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--24___Vokvc{margin-block-end:var(--base-size-24)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--28___l4an3{margin-block-end:var(--base-size-28)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--32___iAcDG{margin-block-end:var(--base-size-32)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--36___uWsmR{margin-block-end:var(--base-size-36)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--40___DlDrK{margin-block-end:var(--base-size-40)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--44___c9aSx{margin-block-end:var(--base-size-44)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--48___X5ONp{margin-block-end:var(--base-size-48)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--60___ZNOYi{margin-block-end:var(--base-size-60)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--64___FOyXs{margin-block-end:var(--base-size-64)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--80___Jqalb{margin-block-end:var(--base-size-80)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--88___G6Art{margin-block-end:var(--base-size-88)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--96___gjf5z{margin-block-end:var(--base-size-96)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--112___ddfRk{margin-block-end:var(--base-size-112)}.Primer_Brand__Box-module__Box-wide-marginBlockEnd--128___ESEm8{margin-block-end:var(--base-size-128)}}.Primer_Brand__Box-module__Box-marginInlineStart--condensed___IBp_X{margin-inline-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-marginInlineStart--normal___BHhHI{margin-inline-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-marginInlineStart--spacious___ZtXj1{margin-inline-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-marginInlineStart--none___fdOWF{margin-inline-start:0}.Primer_Brand__Box-module__Box-marginInlineStart--4___Wn1Ko{margin-inline-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-marginInlineStart--8___pDo7p{margin-inline-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-marginInlineStart--12___TQxPD{margin-inline-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-marginInlineStart--16___J7y4b{margin-inline-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-marginInlineStart--20___ISuSe{margin-inline-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-marginInlineStart--24___IrW9d{margin-inline-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-marginInlineStart--28___xff1V{margin-inline-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-marginInlineStart--32___HQOmB{margin-inline-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-marginInlineStart--36___WdZwx{margin-inline-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-marginInlineStart--40___R3wYL{margin-inline-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-marginInlineStart--44___wwo_O{margin-inline-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-marginInlineStart--48___zdJZg{margin-inline-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-marginInlineStart--60___gPgQr{margin-inline-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-marginInlineStart--64___NHk5d{margin-inline-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-marginInlineStart--80___D1Kto{margin-inline-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-marginInlineStart--88___SqBcU{margin-inline-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-marginInlineStart--96___Cy8gp{margin-inline-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-marginInlineStart--112___UVHJh{margin-inline-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-marginInlineStart--128___rYSy2{margin-inline-start:var(--base-size-128)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--condensed___LrhcU{margin-inline-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--normal___yjn7b{margin-inline-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--spacious___D_nVs{margin-inline-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--none___pHChO{margin-inline-start:0}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--4___zqjtT{margin-inline-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--8___JQCG0{margin-inline-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--12___Uh4UZ{margin-inline-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--16___XZ8ZR{margin-inline-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--20___YbDKP{margin-inline-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--24___FNxOe{margin-inline-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--28___rMktN{margin-inline-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--32___tbEiO{margin-inline-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--36___uVdgf{margin-inline-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--40___LJia9{margin-inline-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--44___KmENz{margin-inline-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--48___zoftL{margin-inline-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--60___SWHzH{margin-inline-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--64___iwJE7{margin-inline-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--80___cekgc{margin-inline-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--88___bFGTa{margin-inline-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--96___J9dFk{margin-inline-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--112___ij9Sp{margin-inline-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-narrow-marginInlineStart--128___YmYWV{margin-inline-start:var(--base-size-128)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-marginInlineStart--condensed___b3jtW{margin-inline-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--normal___Afnyr{margin-inline-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--spacious___T94RJ{margin-inline-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--none___dMyhc{margin-inline-start:0}.Primer_Brand__Box-module__Box-regular-marginInlineStart--4____RoBu{margin-inline-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--8___HIT7W{margin-inline-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--12___GKnNE{margin-inline-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--16___zvb7s{margin-inline-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--20___TyM9P{margin-inline-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--24___FR9ti{margin-inline-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--28___cImoh{margin-inline-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--32___uzbKA{margin-inline-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--36___KDLC7{margin-inline-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--40___WtED9{margin-inline-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--44___T1yz0{margin-inline-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--48___RDHdq{margin-inline-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--60___MVbk9{margin-inline-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--64___sswJ8{margin-inline-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--80___V9k8f{margin-inline-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--88___Xo4dd{margin-inline-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--96___MRqfB{margin-inline-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--112___g0s1Q{margin-inline-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-regular-marginInlineStart--128___txGNr{margin-inline-start:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Box-module__Box-wide-marginInlineStart--condensed___d78eT{margin-inline-start:var(--brand-box-spacing-condensed)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--normal___KvxjM{margin-inline-start:var(--brand-box-spacing-normal)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--spacious___ttmF3{margin-inline-start:var(--brand-box-spacing-spacious)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--none___Ygvgs{margin-inline-start:0}.Primer_Brand__Box-module__Box-wide-marginInlineStart--4___k170X{margin-inline-start:var(--base-size-4)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--8___dWDhU{margin-inline-start:var(--base-size-8)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--12___j2X_6{margin-inline-start:var(--base-size-12)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--16___tlIaR{margin-inline-start:var(--base-size-16)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--20___tcnmb{margin-inline-start:var(--base-size-20)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--24___faDE1{margin-inline-start:var(--base-size-24)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--28___H0kuG{margin-inline-start:var(--base-size-28)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--32___cEhsd{margin-inline-start:var(--base-size-32)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--36___rotpN{margin-inline-start:var(--base-size-36)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--40___a4Yp_{margin-inline-start:var(--base-size-40)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--44___mAiW2{margin-inline-start:var(--base-size-44)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--48___pJQ14{margin-inline-start:var(--base-size-48)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--60___LZehP{margin-inline-start:var(--base-size-60)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--64___yBVt2{margin-inline-start:var(--base-size-64)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--80___UNM1_{margin-inline-start:var(--base-size-80)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--88___xYk7j{margin-inline-start:var(--base-size-88)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--96___ZVqGY{margin-inline-start:var(--base-size-96)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--112___jFEAD{margin-inline-start:var(--base-size-112)}.Primer_Brand__Box-module__Box-wide-marginInlineStart--128___Ma3u7{margin-inline-start:var(--base-size-128)}}.Primer_Brand__Box-module__Box-backgroundColor--default___yHgTN{background-color:var(--brand-color-canvas-default)}.Primer_Brand__Box-module__Box-backgroundColor--inset___VVJ5E{background-color:var(--brand-color-canvas-inset)}.Primer_Brand__Box-module__Box-backgroundColor--subtle___G0wT9,.Primer_Brand__Box-module__Box-backgroundColor--overlay___R1w8K{background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__Box-module__Box-borderRadius--small___wqrhY{border-radius:var(--brand-borderRadius-small)}.Primer_Brand__Box-module__Box-borderRadius--medium___JB1YF{border-radius:var(--brand-borderRadius-medium)}.Primer_Brand__Box-module__Box-borderRadius--large___CCcts{border-radius:var(--brand-borderRadius-large)}.Primer_Brand__Box-module__Box-borderRadius--xlarge___Efss7{border-radius:var(--brand-borderRadius-xlarge)}.Primer_Brand__Box-module__Box-borderRadius--full___NXuE7{border-radius:var(--brand-borderRadius-full)}.Primer_Brand__Box-module__Box-borderStyle--solid___ejOCw{border-style:solid;border-width:0}.Primer_Brand__Box-module__Box-borderStyle--none___GDHF9{border-style:none}.Primer_Brand__Box-module__Box-borderWidth--thin___Np1R8{border-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-borderWidth--thick___dp1_H{border-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-borderWidth--thicker___HPZHA{border-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-borderBlockStartWidth--thin___y3sZf{border-block-start-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-borderBlockStartWidth--thick___kV7nz{border-block-start-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-borderBlockStartWidth--thicker___lU32t{border-block-start-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-borderInlineEndWidth--thin___irPIY{border-inline-end-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-borderInlineEndWidth--thick___OolZ3{border-inline-end-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-borderInlineEndWidth--thicker___bxZek{border-inline-end-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-borderBlockEndWidth--thin___aOdjf{border-block-end-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-borderBlockEndWidth--thick___ROxs5{border-block-end-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-borderBlockEndWidth--thicker___sED4_{border-block-end-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-borderInlineStartWidth--thin___A4ZPo{border-inline-start-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-borderInlineStartWidth--thick___OelxP{border-inline-start-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-borderInlineStartWidth--thicker___yWUW3{border-inline-start-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-borderWidth--none___Hy1LJ{border-width:0}.Primer_Brand__Box-module__Box-borderBlockStartWidth--none___U1tDw{border-block-start-width:0}.Primer_Brand__Box-module__Box-borderInlineEndWidth--none___K0Ey4{border-inline-end-width:0}.Primer_Brand__Box-module__Box-borderBlockEndWidth--none___U4vUs{border-block-end-width:0}.Primer_Brand__Box-module__Box-borderInlineStartWidth--none___R1fyF{border-inline-start-width:0}.Primer_Brand__Box-module__Box-narrow-borderWidth--none___wcZvW{border-width:0}.Primer_Brand__Box-module__Box-narrow-borderWidth--thin___uvzKl{border-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-narrow-borderWidth--thick___eCXhG{border-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-narrow-borderWidth--thicker___I_MYT{border-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-narrow-borderBlockStartWidth--none___DzZns{border-block-start-width:0}.Primer_Brand__Box-module__Box-narrow-borderBlockStartWidth--thin___YCetR{border-block-start-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-narrow-borderBlockStartWidth--thick___Xae6a{border-block-start-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-narrow-borderBlockStartWidth--thicker___q7RoY{border-block-start-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-narrow-borderInlineEndWidth--none___X45sx{border-inline-end-width:0}.Primer_Brand__Box-module__Box-narrow-borderInlineEndWidth--thin___jTAEO{border-inline-end-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-narrow-borderInlineEndWidth--thick___N4bpK{border-inline-end-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-narrow-borderInlineEndWidth--thicker___XP8q6{border-inline-end-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-narrow-borderBlockEndWidth--none___hKgwN{border-block-end-width:0}.Primer_Brand__Box-module__Box-narrow-borderBlockEndWidth--thin___uC5YX{border-block-end-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-narrow-borderBlockEndWidth--thick___vfk5w{border-block-end-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-narrow-borderBlockEndWidth--thicker___EjraB{border-block-end-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-narrow-borderInlineStartWidth--none___zbWQ4{border-inline-start-width:0}.Primer_Brand__Box-module__Box-narrow-borderInlineStartWidth--thin___wwv_V{border-inline-start-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-narrow-borderInlineStartWidth--thick___PSJnX{border-inline-start-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-narrow-borderInlineStartWidth--thicker___Oji76{border-inline-start-width:var(--brand-borderWidth-thicker)}@media screen and (width>=48rem){.Primer_Brand__Box-module__Box-regular-borderWidth--none___v_4r3{border-width:0}.Primer_Brand__Box-module__Box-regular-borderWidth--thin___WJJ4_{border-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-regular-borderWidth--thick___tAQPj{border-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-regular-borderWidth--thicker____Mei9{border-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-regular-borderBlockStartWidth--none___WSh9e{border-block-start-width:0}.Primer_Brand__Box-module__Box-regular-borderBlockStartWidth--thin___HDekH{border-block-start-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-regular-borderBlockStartWidth--thick___dKvYM{border-block-start-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-regular-borderBlockStartWidth--thicker___RzVQH{border-block-start-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-regular-borderInlineEndWidth--none___tpeE3{border-inline-end-width:0}.Primer_Brand__Box-module__Box-regular-borderInlineEndWidth--thin___IDHa2{border-inline-end-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-regular-borderInlineEndWidth--thick___ZP2wC{border-inline-end-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-regular-borderInlineEndWidth--thicker___TWPKx{border-inline-end-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-regular-borderBlockEndWidth--none____Cl_j{border-block-end-width:0}.Primer_Brand__Box-module__Box-regular-borderBlockEndWidth--thin___CDAYH{border-block-end-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-regular-borderBlockEndWidth--thick___YAX3O{border-block-end-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-regular-borderBlockEndWidth--thicker___GqngV{border-block-end-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-regular-borderInlineStartWidth--none___rx6Yf{border-inline-start-width:0}.Primer_Brand__Box-module__Box-regular-borderInlineStartWidth--thin___xkvhI{border-inline-start-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-regular-borderInlineStartWidth--thick___lbQHo{border-inline-start-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-regular-borderInlineStartWidth--thicker___HR4Nz{border-inline-start-width:var(--brand-borderWidth-thicker)}}@media screen and (width>=64rem){.Primer_Brand__Box-module__Box-wide-borderWidth--none___M7jW_{border-width:0}.Primer_Brand__Box-module__Box-wide-borderWidth--thin___xhh3v{border-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-wide-borderWidth--thick___XGwFE{border-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-wide-borderWidth--thicker___hVG5a{border-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-wide-borderBlockStartWidth--none___BZm7v{border-block-start-width:0}.Primer_Brand__Box-module__Box-wide-borderBlockStartWidth--thin___dDKTT{border-block-start-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-wide-borderBlockStartWidth--thick___q0gtM{border-block-start-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-wide-borderBlockStartWidth--thicker___gBysF{border-block-start-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-wide-borderInlineEndWidth--none___VvuSn{border-inline-end-width:0}.Primer_Brand__Box-module__Box-wide-borderInlineEndWidth--thin___RyHjJ{border-inline-end-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-wide-borderInlineEndWidth--thick___ATGqg{border-inline-end-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-wide-borderInlineEndWidth--thicker___RBeFn{border-inline-end-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-wide-borderBlockEndWidth--none___ucisL{border-block-end-width:0}.Primer_Brand__Box-module__Box-wide-borderBlockEndWidth--thin___yEtFX{border-block-end-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-wide-borderBlockEndWidth--thick___RG7PT{border-block-end-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-wide-borderBlockEndWidth--thicker___XpkDn{border-block-end-width:var(--brand-borderWidth-thicker)}.Primer_Brand__Box-module__Box-wide-borderInlineStartWidth--none___VywCc{border-inline-start-width:0}.Primer_Brand__Box-module__Box-wide-borderInlineStartWidth--thin___q9saE{border-inline-start-width:var(--brand-borderWidth-thin)}.Primer_Brand__Box-module__Box-wide-borderInlineStartWidth--thick___gTJ8P{border-inline-start-width:var(--brand-borderWidth-thick)}.Primer_Brand__Box-module__Box-wide-borderInlineStartWidth--thicker___Y1S9l{border-inline-start-width:var(--brand-borderWidth-thicker)}}.Primer_Brand__Box-module__Box-borderColor--default___XVJKE{border-color:var(--brand-color-border-default)}.Primer_Brand__Box-module__Box-borderColor--muted___S3wPy{border-color:var(--brand-color-border-muted)}.Primer_Brand__Box-module__Box-borderColor--subtle___SnZYA{border-color:var(--brand-color-border-subtle)}.Primer_Brand__Text-module__Text___pecHN{font-family:var(--brand-body-fontFamily)}[data-color-mode=dark] .Primer_Brand__Text-module__Text--antialiased___fYDxq{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:auto}.Primer_Brand__Text-module__Text--default___DChoE{color:var(--brand-color-text-default)}.Primer_Brand__Text-module__Text--muted___lTaVa{color:var(--brand-color-text-muted)}.Primer_Brand__Text-module__Text-font--mona-sans___GpzSG{font-family:var(--brand-body-fontFamily)}.Primer_Brand__Text-module__Text-font--hubot-sans___l0tzF{font-family:var(--brand-body-fontFamilyAlt)}.Primer_Brand__Text-module__Text-font--monospace___Mifnv{font-family:var(--brand-fontStack-monospace)}.Primer_Brand__Text-module__Text--1000___j3rsl{font-weight:var(--brand-text-weight-1000);font-size:var(--brand-text-size-1000);line-height:var(--brand-text-lineHeight-1000);letter-spacing:var(--brand-text-letterSpacing-1000)}.Primer_Brand__Text-module__Text--900___Fo_yP{font-weight:var(--brand-text-weight-900);font-size:var(--brand-text-size-900);line-height:var(--brand-text-lineHeight-900);letter-spacing:var(--brand-text-letterSpacing-900)}.Primer_Brand__Text-module__Text--800___OdB5a{font-weight:var(--brand-text-weight-800);font-size:var(--brand-text-size-800);line-height:var(--brand-text-lineHeight-800);letter-spacing:var(--brand-text-letterSpacing-800)}.Primer_Brand__Text-module__Text--700___cOggy{font-weight:var(--brand-text-weight-700);font-size:var(--brand-text-size-700);line-height:var(--brand-text-lineHeight-700);letter-spacing:var(--brand-text-letterSpacing-700)}.Primer_Brand__Text-module__Text--600___ThppA{font-weight:var(--brand-text-weight-600);font-size:var(--brand-text-size-600);line-height:var(--brand-text-lineHeight-600)}.Primer_Brand__Text-module__Text--500___orDRu{font-weight:var(--brand-text-weight-500);font-size:var(--brand-text-size-500);line-height:var(--brand-text-lineHeight-500)}.Primer_Brand__Text-module__Text--400___y7m4l{font-weight:var(--brand-text-weight-400);font-size:var(--brand-text-size-400);line-height:var(--brand-text-lineHeight-400);letter-spacing:var(--brand-text-letterSpacing-400)}.Primer_Brand__Text-module__Text--350___L4bn4{font-weight:var(--brand-text-weight-350);font-size:var(--brand-text-size-350);line-height:var(--brand-text-lineHeight-350);letter-spacing:var(--brand-text-letterSpacing-350)}.Primer_Brand__Text-module__Text--300___TBQTB{font-weight:var(--brand-text-weight-300);font-size:var(--brand-text-size-300);line-height:var(--brand-text-lineHeight-300);letter-spacing:var(--brand-text-letterSpacing-300)}.Primer_Brand__Text-module__Text--200___XAIGT{font-weight:var(--brand-text-weight-200);font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200);letter-spacing:var(--brand-text-letterSpacing-200)}.Primer_Brand__Text-module__Text--100___csEom{font-weight:var(--brand-text-weight-100);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);letter-spacing:var(--brand-text-letterSpacing-100)}.Primer_Brand__Text-module__Text--weight-heavy___ege7O,.Primer_Brand__Text-module__Text-narrow--weight-heavy___EZzqD{font-weight:var(--base-text-weight-heavy)}.Primer_Brand__Text-module__Text--weight-extrabold____UVFN,.Primer_Brand__Text-module__Text-narrow--weight-extrabold___ts3be{font-weight:var(--base-text-weight-extrabold)}.Primer_Brand__Text-module__Text--weight-bold___jgFdL,.Primer_Brand__Text-module__Text-narrow--weight-bold___Flbbf{font-weight:var(--base-text-weight-bold)}.Primer_Brand__Text-module__Text--weight-semibold___Ns19j,.Primer_Brand__Text-module__Text-narrow--weight-semibold___jtFFh{font-weight:var(--base-text-weight-semibold)}.Primer_Brand__Text-module__Text--weight-medium___E0iQL,.Primer_Brand__Text-module__Text-narrow--weight-medium___tQs9y{font-weight:var(--base-text-weight-medium)}.Primer_Brand__Text-module__Text--weight-normal___siVLX,.Primer_Brand__Text-module__Text-narrow--weight-normal___gb0q4{font-weight:var(--base-text-weight-normal)}.Primer_Brand__Text-module__Text--weight-light___SpQAz,.Primer_Brand__Text-module__Text-narrow--weight-light___cIyjf{font-weight:var(--base-text-weight-light)}.Primer_Brand__Text-module__Text--weight-extralight___JRMel,.Primer_Brand__Text-module__Text-narrow--weight-extralight___aHSut{font-weight:var(--base-text-weight-extralight)}@media screen and (width>=48rem){.Primer_Brand__Text-module__Text-regular--weight-heavy___YumNc{font-weight:var(--base-text-weight-heavy)}.Primer_Brand__Text-module__Text-regular--weight-extrabold___uvNQM{font-weight:var(--base-text-weight-extrabold)}.Primer_Brand__Text-module__Text-regular--weight-bold___E3xyf{font-weight:var(--base-text-weight-bold)}.Primer_Brand__Text-module__Text-regular--weight-semibold___Wwz9g{font-weight:var(--base-text-weight-semibold)}.Primer_Brand__Text-module__Text-regular--weight-medium___TnD35{font-weight:var(--base-text-weight-medium)}.Primer_Brand__Text-module__Text-regular--weight-normal___FEkFF{font-weight:var(--base-text-weight-normal)}.Primer_Brand__Text-module__Text-regular--weight-light___MalyV{font-weight:var(--base-text-weight-light)}.Primer_Brand__Text-module__Text-regular--weight-extralight___p7mr2{font-weight:var(--base-text-weight-extralight)}}@media screen and (width>=80rem){.Primer_Brand__Text-module__Text-wide--weight-heavy___AXiAN{font-weight:var(--base-text-weight-heavy)}.Primer_Brand__Text-module__Text-wide--weight-extrabold___rggXv{font-weight:var(--base-text-weight-extrabold)}.Primer_Brand__Text-module__Text-wide--weight-bold___CWJA2{font-weight:var(--base-text-weight-bold)}.Primer_Brand__Text-module__Text-wide--weight-semibold___LEBmW{font-weight:var(--base-text-weight-semibold)}.Primer_Brand__Text-module__Text-wide--weight-medium___QQ0IW{font-weight:var(--base-text-weight-medium)}.Primer_Brand__Text-module__Text-wide--weight-normal___KpqrG{font-weight:var(--base-text-weight-normal)}.Primer_Brand__Text-module__Text-wide--weight-light___iYFr9{font-weight:var(--base-text-weight-light)}.Primer_Brand__Text-module__Text-wide--weight-extralight___HH1z4{font-weight:var(--base-text-weight-extralight)}}.Primer_Brand__Text-module__Text-align--start___wkiCN{text-align:start}.Primer_Brand__Text-module__Text-align--end___E4m7M{text-align:end}.Primer_Brand__Text-module__Text-align--center___NbZtZ{text-align:center}.Primer_Brand__EyebrowText-module__EyebrowText___YZHDa{text-transform:uppercase;letter-spacing:var(--brand-text-letterSpacing-100)}.Primer_Brand__EyebrowText-module__EyebrowText--variant-accent___p07g3{color:var(--brand-color-accent-primary)}:root{--brand-TextCursorAnimation-cursor-animationDuration:.833s}:root,[data-color-mode=light]{--brand-TextCursorAnimation-cursor-color:var(--base-color-scale-purple-5);--brand-TextCursorAnimation-cursor-deleteColor:var(--base-color-scale-blue-4);--brand-TextCursorAnimation-cursor-finalColor:var(--base-color-scale-green-6)}[data-color-mode=dark]{--brand-TextCursorAnimation-cursor-color:var(--base-color-scale-purple-3);--brand-TextCursorAnimation-cursor-deleteColor:var(--base-color-scale-blue-3);--brand-TextCursorAnimation-cursor-finalColor:var(--base-color-scale-green-2)}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation___oT5SI{align-items:center;display:inline-flex}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__inner___MKMEx{align-items:center;display:inline-flex;position:relative}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__text___gB3n2{font-weight:var(--brand-text-weight-500);white-space:pre}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__sizingContainer___BLhzn{clip-path:inset(50%);display:inline-grid}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__sizingText___ipUBO{grid-area:1/1}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__content___V_c3N{align-items:center;gap:var(--base-size-6);display:inline-flex}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__content--animated___HgWNj{position:absolute;inset-block-start:0;inset-inline-start:0}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__cursor___fNada{width:calc(var(--base-size-8) + var(--base-size-2) / 2);height:calc(var(--base-size-12) + var(--base-size-2));flex:0 0 calc(var(--base-size-8) + var(--base-size-2) / 2);position:relative;top:-.5px}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__cursor--initial___y1m0J{background-color:var(--brand-TextCursorAnimation-cursor-color)}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__cursor--animated___NKuyb{animation:Primer_Brand__TextCursorAnimation-module__TextCursorAnimation-cursor-blink___B89IH var(--brand-TextCursorAnimation-cursor-animationDuration) steps(1, end) .25s 3 forwards}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__cursor--correction___H0shI{background-color:var(--brand-TextCursorAnimation-cursor-deleteColor)}.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__cursor--final___HqWmn,.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__cursor--complete___eaBZl{background-color:var(--brand-TextCursorAnimation-cursor-finalColor)}@keyframes Primer_Brand__TextCursorAnimation-module__TextCursorAnimation-cursor-blink___B89IH{0%,79%{opacity:1}80%,99%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.Primer_Brand__TextCursorAnimation-module__TextCursorAnimation__cursor___fNada{animation:none}}.Primer_Brand__Hero-module__Hero___EM3jf{flex-direction:column;display:flex}.Primer_Brand__Hero-module__Hero--variant-default___TGFpg{padding:var(--brand-Hero-narrow-padding)}.Primer_Brand__Hero-module__Hero--align-start___m8GEr{text-align:left;align-items:flex-start}.Primer_Brand__Hero-module__Hero--align-center___HUXm3{text-align:center;place-items:center}.Primer_Brand__Hero-module__Hero-grid___ty4Y7{--brand-Grid-spacing-margin:0}.Primer_Brand__Hero-module__Hero-grid--contained___AU1X0{width:100%;max-width:1280px;padding:var(--base-size-32);background-color:var(--brand-Hero-bgColor-gridlineGridInner);margin-inline:auto}@container (width>=1280px){.Primer_Brand__Hero-module__Hero-grid--contained___AU1X0{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__Hero-module__Hero-grid--block-end___vzO3L,.Primer_Brand__Hero-module__Hero-grid--inline-end___Hh_fz{--brand-Grid-spacing-row:var(--base-size-40)}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero-grid--contained___AU1X0{padding:var(--base-size-64)}.Primer_Brand__Hero-module__Hero-grid--block-end___vzO3L{--brand-Grid-spacing-row:var(--base-size-80)}}.Primer_Brand__Hero-module__Hero--align-center___HUXm3 .Primer_Brand__Hero-module__Hero-actions___oH1NT{justify-content:center}.Primer_Brand__Hero-module__Hero--align-center___HUXm3 .Primer_Brand__Hero-module__Hero-content___kP85C{flex-direction:column;align-items:center;display:flex}.Primer_Brand__Hero-module__Hero-image___ctmnL{border-radius:var(--brand-borderRadius-medium);width:100%}.Primer_Brand__Hero-module__Hero-image___ctmnL>img{border-radius:inherit}.Primer_Brand__Hero-module__Hero-mediaContainer___DFAW_{flex:1;width:100%;height:100%;display:flex}.Primer_Brand__Hero-module__Hero-imageContainer--bg-subtle___pdiQ2{background-color:var(--brand-color-canvas-subtle);padding:var(--base-size-32) var(--base-size-32) 0}.Primer_Brand__Hero-module__Hero-imageContainer--inline-padding-all___Uu74V{padding:var(--base-size-32);background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__Hero-module__Hero-imageWrapper___hXPku{justify-content:center;width:100%;display:flex}.Primer_Brand__Hero-module__Hero-imageWrapper--bg-subtle___YSEjN{border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);background-color:var(--brand-color-canvas-subtle);padding:var(--base-size-32) var(--base-size-32) 0}.Primer_Brand__Hero-module__Hero-imageContainer--inline-bordered____bhxf{align-items:stretch;display:flex}.Primer_Brand__Hero-module__Hero-imageContainer--inline-bordered____bhxf:not(.Primer_Brand__Hero-module__Hero-imageContainer--inline-padding-none___xKjhe){background-color:var(--brand-color-canvas-subtle)}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero-imageContainer--inline-bordered____bhxf{min-height:calc(600px - var(--base-size-24))}.Primer_Brand__Hero-module__Hero-imageWrapper--bg-subtle___YSEjN{padding:var(--base-size-64) var(--base-size-64) 0}.Primer_Brand__Hero-module__Hero-imageContainer--inline-padding-all___Uu74V{padding:var(--base-size-64)}}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa{width:100%;container-type:inline-size}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-media___tN0uT{max-width:1176px;margin-inline:auto;display:block;overflow:hidden}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-media--pos-block-end___XPyHx:not(.Primer_Brand__Hero-module__Hero-media--padding-all___XQm3q):not(.Primer_Brand__Hero-module__Hero-media--padding-none___mvsXo){border-radius:var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0}.Primer_Brand__Hero-module__Hero-media--pos-block-end___XPyHx.Primer_Brand__Hero-module__Hero-media--padding-all___XQm3q{border-radius:var(--brand-borderRadius-medium)}.Primer_Brand__Hero-module__Hero-media-item--block-end___gAlCl{border-radius:var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-imageWrapper___hXPku{border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);width:100%}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-imageWrapper___hXPku:not(.Primer_Brand__Hero-module__Hero-imageWrapper--padding-none___e4ebj){background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-imageWrapper-inner___grxfI{width:100%;max-width:1280px;padding:var(--base-size-32) var(--base-size-32) 0;margin-inline:auto}@container (width>=1280px){.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-imageWrapper-inner--with-gridline___shdFJ{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-imageWrapper-inner--padding-all___Iu5X5{padding:var(--base-size-32)}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-imageWrapper-inner___grxfI{padding:var(--base-size-64) var(--base-size-64) 0}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-imageWrapper-inner--padding-all___Iu5X5{padding:var(--base-size-64)}}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-imageWrapper-inner--padding-none___aFKaV{padding:0}.Primer_Brand__Hero-module__Hero-grid--bordered-inline___WO6tw{width:100%;max-width:1280px;margin-inline:auto}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero-grid--bordered-inline___WO6tw{min-height:440px}}@container (width>=1280px){.Primer_Brand__Hero-module__Hero-grid--bordered-inline___WO6tw{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa.Primer_Brand__Hero-module__Hero--image-pos-inline___xR7vm{border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__Hero-module__Hero-contentColumn--bordered-inline___dpmwM{padding:var(--base-size-32);flex-direction:column;justify-content:center;display:flex}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero-contentColumn--bordered-inline___dpmwM{padding:var(--base-size-64)}}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-media--pos-inline___fithu:not(.Primer_Brand__Hero-module__Hero-media--padding-all___XQm3q),.Primer_Brand__Hero-module__Hero-media-item--inline___QS58d{border-radius:0}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-media--pos-inline___fithu.Primer_Brand__Hero-module__Hero-media--padding-all___XQm3q{align-self:center;max-width:100%;height:auto}.Primer_Brand__Hero-module__Hero-video___Nibos{width:100%}.Primer_Brand__Hero-module__Hero-media-item___ZpZ02{border-radius:var(--brand-borderRadius-large);width:100%}.Primer_Brand__Hero-module__Hero-label___exV9w{text-transform:uppercase;letter-spacing:1px;align-items:center;margin-block-end:calc(var(--base-size-16) - var(--base-size-2));display:flex}.Primer_Brand__Hero-module__Hero-heading___QuVBH{max-width:924px;margin:0}.Primer_Brand__Hero-module__Hero-heading___QuVBH b{color:var(--brand-color-accent-primary);font-style:normal;font-weight:inherit}.Primer_Brand__Hero-module__Hero-heading--fullWidth___Q3N1y{max-width:none;max-width:initial}.Primer_Brand__Hero-module__Hero-text-column--inline-gridline___ADqxq{height:100%}.Primer_Brand__Hero-module__Hero-description___vG4iA{margin:var(--base-size-24) 0 0;max-width:600px}.Primer_Brand__Hero-module__Hero--variant-inline-gridline___C1LBx .Primer_Brand__Hero-module__Hero-description___vG4iA{margin-block-start:auto;padding-block-start:var(--base-size-24)}.Primer_Brand__Hero-module__Hero-actions___oH1NT{align-items:center;gap:var(--base-size-8) var(--base-size-16);flex-wrap:wrap;margin-block-start:var(--base-size-28);display:flex}.Primer_Brand__Hero-module__Hero___EM3jf .Primer_Brand__Hero-module__Hero-actions___oH1NT>*{flex-grow:0}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-actions___oH1NT{align-items:stretch;gap:var(--base-size-8) var(--base-size-12)}.Primer_Brand__Hero-module__Hero-trailing___UeIyX{margin-block-start:var(--base-size-32)}.Primer_Brand__Hero-module__Hero-trailing___UeIyX img,.Primer_Brand__Hero-module__Hero-trailing___UeIyX picture{display:block}.Primer_Brand__Hero-module__Hero-eyebrow___NLX6a{margin-block-end:var(--base-size-32)}@media screen and (width>=34rem){.Primer_Brand__Hero-module__Hero--variant-default___TGFpg{padding:var(--brand-Hero-regular-padding)}}.Primer_Brand__Hero-module__Hero-video-poster-button___fXNeO{cursor:pointer;background:0 0;border:none;width:100%;height:100%;padding:0;font-size:0;line-height:0;display:block;position:relative}.Primer_Brand__Hero-module__Hero-video-poster-image___OF5WQ{width:100%;height:auto;display:block}.Primer_Brand__Hero-module__Hero-video-poster-icon___qBPv_{width:var(--base-size-96);height:var(--base-size-96);z-index:1;color:var(--base-color-scale-white-0);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.Primer_Brand__Hero-module__Hero-video-poster-header___RwX23{padding:var(--base-size-16) var(--base-size-24);align-items:center;gap:var(--base-size-16);height:var(--base-size-80);background:linear-gradient(#000000b3 60%,#0000);display:flex;position:absolute;inset:0 0 auto}.Primer_Brand__Hero-module__Hero-video-header-poster-icon___WOvuy,.Primer_Brand__Hero-module__Hero-video-poster-text___XZwq_{color:var(--base-color-scale-white-0)}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0{width:100%;container-type:inline-size}.Primer_Brand__Hero-module__Hero-grid--expressive___VviA1{--brand-Grid-spacing-row:0;gap:0;width:100%;max-width:1280px;margin-inline:auto}@container (width>=1280px){.Primer_Brand__Hero-module__Hero-grid--expressive___VviA1{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__Hero-module__Hero-expressive-header-column___ycDFD{padding:var(--base-size-36);padding-inline:var(--base-size-20);border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);align-items:center;padding-block-end:var(--base-size-28);display:flex}.Primer_Brand__Hero-module__Hero-expressive-body-column___k1AUC{padding:var(--base-size-32);padding-inline:var(--base-size-20);padding-block-start:var(--base-size-24)}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-description___vG4iA{margin-block-start:0}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-actions___oH1NT{margin-block-start:var(--base-size-28)}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-trailing___UeIyX{margin-block-start:var(--base-size-24)}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero-expressive-header-column___ycDFD{padding:var(--base-size-64);border-block-end:none;border-inline-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-inline-end:var(--base-size-64)}.Primer_Brand__Hero-module__Hero-expressive-body-column___k1AUC{padding:var(--base-size-64);flex-direction:column;justify-content:flex-end;padding-inline-start:var(--base-size-64);display:flex}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-actions___oH1NT{margin-block-start:var(--base-size-24)}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-trailing___UeIyX{margin-block-start:var(--base-size-20)}}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-imageWrapper___hXPku{border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);width:100%}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-imageWrapper___hXPku:not(.Primer_Brand__Hero-module__Hero-imageWrapper--padding-none___e4ebj){background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-imageWrapper-inner___grxfI{width:100%;max-width:1280px;padding:var(--base-size-32) var(--base-size-32) 0;margin-inline:auto}@container (width>=1280px){.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-imageWrapper-inner--with-gridline___shdFJ{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-imageWrapper-inner--padding-all___Iu5X5{padding:var(--base-size-32)}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-imageWrapper-inner___grxfI{padding:var(--base-size-64) var(--base-size-64) 0}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-imageWrapper-inner--padding-all___Iu5X5{padding:var(--base-size-64)}}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-imageWrapper-inner--padding-none___aFKaV{padding:0}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-media___tN0uT{max-width:1176px;margin-inline:auto;display:block;overflow:hidden}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-media--pos-block-end___XPyHx:not(.Primer_Brand__Hero-module__Hero-media--padding-all___XQm3q):not(.Primer_Brand__Hero-module__Hero-media--padding-none___mvsXo){border-radius:var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0}.Primer_Brand__Hero-module__Hero--variant-gridline___V46Aa .Primer_Brand__Hero-module__Hero-media--padding-none___mvsXo,.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___VAhu0 .Primer_Brand__Hero-module__Hero-media--padding-none___mvsXo{border-radius:0;max-width:100%}.Primer_Brand__Heading-module__Heading___IVpmp{--condensed-stretch:75%;color:var(--brand-color-text-default)}.Primer_Brand__Heading-module__Heading--textWrap-balance___AOKvC{text-wrap:balance}.Primer_Brand__Heading-module__Heading--textWrap-wrap___iM9k3{text-wrap:wrap}.Primer_Brand__Heading-module__Heading-font--hubot-sans___w3_5f{--condensed-stretch:90%}[data-color-mode=dark] .Primer_Brand__Heading-module__Heading___IVpmp{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.Primer_Brand__Heading-module__Heading-font--mona-sans___SCnTx{font-family:var(--brand-heading-fontFamily)}.Primer_Brand__Heading-module__Heading-font--hubot-sans___w3_5f{font-family:var(--brand-heading-fontFamilyAlt)}.Primer_Brand__Heading-module__Heading-font--monospace___dFpiK{font-family:var(--brand-fontStack-monospace)}.Primer_Brand__Heading-module__Heading--display___xFecE{font-weight:var(--brand-heading-weight-1000);font-size:var(--brand-text-size-1000);line-height:var(--brand-text-lineHeight-1000);letter-spacing:var(--brand-text-letterSpacing-1000)}.Primer_Brand__Heading-module__Heading--subhead-large____C6GZ{font-weight:var(--brand-text-subhead-weight-large);font-size:var(--brand-text-subhead-size-large);line-height:var(--brand-text-subhead-lineHeight-large)}.Primer_Brand__Heading-module__Heading--subhead-medium___Pik5E{font-weight:var(--brand-text-subhead-weight-medium);font-size:var(--brand-text-subhead-size-medium);line-height:var(--brand-text-subhead-lineHeight-medium)}.Primer_Brand__Heading-module__Heading--1___Ufc7G{font-weight:var(--brand-heading-weight-900);font-size:var(--brand-text-size-900);line-height:var(--brand-text-lineHeight-900);letter-spacing:var(--brand-text-letterSpacing-900)}.Primer_Brand__Heading-module__Heading--2___TFg09{font-weight:var(--brand-heading-weight-800);font-size:var(--brand-text-size-800);line-height:var(--brand-text-lineHeight-800);letter-spacing:var(--brand-text-letterSpacing-800)}.Primer_Brand__Heading-module__Heading--3___wsITu{font-weight:var(--brand-heading-weight-700);font-size:var(--brand-text-size-700);line-height:var(--brand-heading-lineHeight-700);letter-spacing:var(--brand-heading-letterSpacing-700)}.Primer_Brand__Heading-module__Heading--4___C9jDG{font-weight:var(--brand-heading-weight-600);font-size:var(--brand-text-size-600);line-height:var(--brand-text-lineHeight-600);letter-spacing:var(--brand-heading-letterSpacing-600)}.Primer_Brand__Heading-module__Heading--5___HgypG{font-weight:var(--brand-heading-weight-500);font-size:var(--brand-text-size-500);line-height:var(--brand-text-lineHeight-500);letter-spacing:var(--brand-heading-letterSpacing-500)}.Primer_Brand__Heading-module__Heading--6___FEQ_V{font-weight:var(--brand-heading-weight-400);font-size:var(--brand-text-size-400);line-height:var(--brand-text-lineHeight-400);letter-spacing:var(--brand-heading-letterSpacing-400)}.Primer_Brand__Heading-module__Heading--weight-heavy___ssSay,.Primer_Brand__Heading-module__Heading-narrow--weight-heavy___s43iL{font-weight:var(--base-text-weight-heavy)}.Primer_Brand__Heading-module__Heading--weight-extrabold___SJAUw,.Primer_Brand__Heading-module__Heading-narrow--weight-extrabold___vmOAQ{font-weight:var(--base-text-weight-extrabold)}.Primer_Brand__Heading-module__Heading--weight-bold___Zqsyk,.Primer_Brand__Heading-module__Heading-narrow--weight-bold___IXjRC{font-weight:var(--base-text-weight-bold)}.Primer_Brand__Heading-module__Heading--weight-semibold___NMvbh,.Primer_Brand__Heading-module__Heading-narrow--weight-semibold___bAIHy{font-weight:var(--base-text-weight-semibold)}.Primer_Brand__Heading-module__Heading--weight-medium___II172,.Primer_Brand__Heading-module__Heading-narrow--weight-medium___q5O6L{font-weight:var(--base-text-weight-medium)}.Primer_Brand__Heading-module__Heading--weight-normal___ZLGhx,.Primer_Brand__Heading-module__Heading-narrow--weight-normal___Q0Jkf{font-weight:var(--base-text-weight-normal)}.Primer_Brand__Heading-module__Heading--weight-light___aF2Rw,.Primer_Brand__Heading-module__Heading-narrow--weight-light___mOWUt{font-weight:var(--base-text-weight-light)}.Primer_Brand__Heading-module__Heading--weight-extralight___KRgjg,.Primer_Brand__Heading-module__Heading-narrow--weight-extralight___qHJfi{font-weight:var(--base-text-weight-extralight)}@media screen and (width>=48rem){.Primer_Brand__Heading-module__Heading-regular--weight-heavy___SwJ1c{font-weight:var(--base-text-weight-heavy)}.Primer_Brand__Heading-module__Heading-regular--weight-extrabold___H5Gyr{font-weight:var(--base-text-weight-extrabold)}.Primer_Brand__Heading-module__Heading-regular--weight-bold___QMMCW{font-weight:var(--base-text-weight-bold)}.Primer_Brand__Heading-module__Heading-regular--weight-semibold___h3bHv{font-weight:var(--base-text-weight-semibold)}.Primer_Brand__Heading-module__Heading-regular--weight-medium___wC9qR{font-weight:var(--base-text-weight-medium)}.Primer_Brand__Heading-module__Heading-regular--weight-normal___joqMx{font-weight:var(--base-text-weight-normal)}.Primer_Brand__Heading-module__Heading-regular--weight-light___CCVVF{font-weight:var(--base-text-weight-light)}.Primer_Brand__Heading-module__Heading-regular--weight-extralight___LE9Tu{font-weight:var(--base-text-weight-extralight)}}@media screen and (width>=80rem){.Primer_Brand__Heading-module__Heading-wide--weight-heavy___IiVTg{font-weight:var(--base-text-weight-heavy)}.Primer_Brand__Heading-module__Heading-wide--weight-extrabold___CIRWW{font-weight:var(--base-text-weight-extrabold)}.Primer_Brand__Heading-module__Heading-wide--weight-bold___wMxlL{font-weight:var(--base-text-weight-bold)}.Primer_Brand__Heading-module__Heading-wide--weight-semibold___IqaIc{font-weight:var(--base-text-weight-semibold)}.Primer_Brand__Heading-module__Heading-wide--weight-medium___Uq302{font-weight:var(--base-text-weight-medium)}.Primer_Brand__Heading-module__Heading-wide--weight-normal___zWzeR{font-weight:var(--base-text-weight-normal)}.Primer_Brand__Heading-module__Heading-wide--weight-light___Lh64A{font-weight:var(--base-text-weight-light)}}.Primer_Brand__Heading-module__Heading--stretch-condensed____i8A2,.Primer_Brand__Heading-module__Heading-narrow--stretch-condensed___koHLR{font-stretch:var(--condensed-stretch)}.Primer_Brand__Heading-module__Heading--stretch-normal___apWVy,.Primer_Brand__Heading-module__Heading-narrow--stretch-normal___AP9Ba{font-stretch:100%}.Primer_Brand__Heading-module__Heading--stretch-expanded___gzwLQ,.Primer_Brand__Heading-module__Heading-narrow--stretch-expanded___RHi1z{font-stretch:125%}@media screen and (width>=48rem){.Primer_Brand__Heading-module__Heading-regular--stretch-condensed___CHFa4{font-stretch:var(--condensed-stretch)}.Primer_Brand__Heading-module__Heading-regular--stretch-normal___IX9Vl{font-stretch:100%}.Primer_Brand__Heading-module__Heading-regular--stretch-expanded___ozx5y{font-stretch:125%}}@media screen and (width>=80rem){.Primer_Brand__Heading-module__Heading-narrow--weight-expanded___jvotv .Primer_Brand__Heading-module__Heading-wide--stretch-condensed___d3GoN{font-stretch:var(--condensed-stretch)}.Primer_Brand__Heading-module__Heading-wide--stretch-normal___te0lW{font-stretch:100%}.Primer_Brand__Heading-module__Heading-wide--stretch-expanded___TlWrW{font-stretch:125%}}.Primer_Brand__Heading-module__Heading--letter-spacing-condensed___b6mZa,.Primer_Brand__Heading-module__Heading-narrow--letter-spacing-condensed___U6uGD{letter-spacing:var(--brand-text-letterSpacing-900)}.Primer_Brand__Heading-module__Heading--letter-spacing-normal___Qhzoc,.Primer_Brand__Heading-module__Heading-narrow--letter-spacing-normal___gzn9r{letter-spacing:var(--brand-heading-letterSpacing-700)}.Primer_Brand__Heading-module__Heading--letter-spacing-none___vuohz,.Primer_Brand__Heading-module__Heading-narrow--letter-spacing-none___RR_W3{letter-spacing:0}@media screen and (width>=48rem){.Primer_Brand__Heading-module__Heading-regular--letter-spacing-condensed___gEGJy{letter-spacing:var(--brand-text-letterSpacing-900)}.Primer_Brand__Heading-module__Heading-regular--letter-spacing-normal___GWmk5{letter-spacing:var(--brand-heading-letterSpacing-700)}.Primer_Brand__Heading-module__Heading-regular--letter-spacing-none____NH9r{letter-spacing:0}}@media screen and (width>=80rem){.Primer_Brand__Heading-module__Heading-narrow--weight-wide___ikyG2 .Primer_Brand__Heading-module__Heading-wide--letter-spacing-condensed___RhUHL{letter-spacing:var(--brand-text-letterSpacing-900)}.Primer_Brand__Heading-module__Heading-wide--letter-spacing-normal___qPBdW{letter-spacing:var(--brand-heading-letterSpacing-700)}.Primer_Brand__Heading-module__Heading-wide--letter-spacing-none___w4Oh2{letter-spacing:0}}.Primer_Brand__ExpandableArrow-module__ExpandableArrow___rkfek{--ExpandableArrow-duration:.2s;--ExpandableArrow-easing:ease;transition:transform .2s;transition:transform var(--ExpandableArrow-duration) var(--ExpandableArrow-easing);transform:translate(0)}.Primer_Brand__ExpandableArrow-module__ExpandableArrow--expanded___gajDr{transform:translate(4px)}.Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___g4mdy{stroke-dasharray:10;stroke-dashoffset:10px;transition:stroke-dashoffset var(--ExpandableArrow-duration) var(--ExpandableArrow-easing)}.Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem--expanded___KwI_9{stroke-dashoffset:20px}.Primer_Brand__ExpandableArrow-module__ExpandableArrow--reversed___LPFUS{transform:rotate(180deg)}.Primer_Brand__ExpandableArrow-module__ExpandableArrow--reversed___LPFUS.Primer_Brand__ExpandableArrow-module__ExpandableArrow--expanded___gajDr{transform:rotate(180deg)translate(4px)}:root{--brand-Button-icon-size-large:var(--base-size-20);--brand-Button-icon-size-medium:var(--base-size-16);--brand-Button-icon-size-small:var(--base-size-16);--brand-Button-control-size-large:var(--brand-control-large-size);--brand-Button-control-size-medium:var(--brand-control-medium-size);--brand-Button-control-size-small:var(--brand-control-small-size)}:root,[data-color-mode=light]{--brand-button-primary-bgColor-rest:var(--base-color-scale-green-6);--brand-button-primary-bgColor-hover:color-mix(in srgb, var(--base-color-scale-green-6), #000 16%);--brand-button-primary-bgColor-active:linear-gradient(0deg, #0000003d 0%, #0000003d 100%), var(--base-color-scale-green-6);--brand-button-primary-bgColor-disabled:var(--base-color-scale-gray-4);--brand-button-primary-borderColor-rest:transparent;--brand-button-primary-borderColor-hover:transparent;--brand-button-primary-borderColor-active:var(--base-color-scale-green-7);--brand-button-primary-borderColor-disabled:transparent;--brand-button-primary-fgColor-rest:var(--base-color-scale-white-0);--brand-button-primary-fgColor-disabled:var(--base-color-scale-gray-2);--brand-button-primary-shadow-active:none;--brand-button-secondary-bgColor-rest:#0000000f;--brand-button-secondary-bgColor-hover:#0000001e;--brand-button-secondary-bgColor-active:#00000036;--brand-button-secondary-borderColor-rest:var(--base-color-scale-gray-2);--brand-button-secondary-borderColor-hover:var(--base-color-scale-gray-2);--brand-button-secondary-borderColor-active:var(--base-color-scale-gray-2);--brand-button-secondary-fgColor-rest:var(--brand-color-text-default);--brand-button-secondary-fgColor-disabled:var(--base-color-scale-gray-3);--brand-button-subtle-bgColor-rest:#00000003;--brand-button-subtle-bgColor-hover:#0000001e;--brand-button-subtle-bgColor-active:#00000036;--brand-button-subtle-borderColor-rest:var(--base-color-scale-gray-2);--brand-button-subtle-borderColor-hover:var(--base-color-scale-gray-2);--brand-button-subtle-borderColor-active:var(--base-color-scale-gray-2);--brand-button-subtle-fgColor-rest:var(--brand-color-text-default);--brand-button-subtle-fgColor-disabled:var(--base-color-scale-gray-3)}[data-color-mode=dark]{--brand-button-primary-bgColor-rest:var(--base-color-scale-green-5);--brand-button-primary-bgColor-hover:color-mix(in srgb, var(--base-color-scale-green-5), #000 16%);--brand-button-primary-bgColor-active:linear-gradient(0deg, #0000003d 0%, #0000003d 100%), var(--base-color-scale-green-5);--brand-button-primary-bgColor-disabled:var(--base-color-scale-gray-4);--brand-button-primary-borderColor-rest:transparent;--brand-button-primary-borderColor-hover:transparent;--brand-button-primary-borderColor-active:var(--base-color-scale-green-6);--brand-button-primary-borderColor-disabled:transparent;--brand-button-primary-fgColor-rest:var(--base-color-scale-white-0);--brand-button-primary-fgColor-disabled:var(--base-color-scale-gray-2);--brand-button-primary-shadow-active:none;--brand-button-secondary-bgColor-rest:#ffffff1f;--brand-button-secondary-bgColor-hover:#ffffff29;--brand-button-secondary-bgColor-active:#ffffff42;--brand-button-secondary-borderColor-rest:#ffffff0f;--brand-button-secondary-borderColor-hover:#ffffff1f;--brand-button-secondary-borderColor-active:#ffffff1f;--brand-button-secondary-fgColor-rest:var(--brand-color-text-default);--brand-button-secondary-fgColor-disabled:var(--base-color-scale-gray-4);--brand-button-subtle-bgColor-rest:#00000003;--brand-button-subtle-bgColor-hover:#ffffff29;--brand-button-subtle-bgColor-active:#ffffff3d;--brand-button-subtle-borderColor-rest:var(--base-color-scale-gray-6);--brand-button-subtle-borderColor-hover:#ffffff1f;--brand-button-subtle-borderColor-active:#ffffff1f;--brand-button-subtle-fgColor-rest:var(--brand-color-text-default);--brand-button-subtle-fgColor-disabled:var(--base-color-scale-gray-4)}.Primer_Brand__Button-module__Button___lDruK{appearance:none;-webkit-user-select:none;user-select:none;vertical-align:middle;border-radius:var(--base-size-6);cursor:pointer;border:solid var(--brand-borderWidth-thin) transparent;box-sizing:border-box;justify-content:center;align-items:center;gap:var(--brand-control-medium-gap);background:0 0;-webkit-text-decoration:none;text-decoration:none;transition:background-color .2s,border-color .2s;display:inline-flex}.Primer_Brand__Button-module__Button___lDruK:where(button){font:inherit}.Primer_Brand__Button-module__Button___lDruK:hover{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__Button-module__Button___lDruK:focus-visible{outline:4px solid var(--brand-color-focus);outline-offset:2px;transition:none}.Primer_Brand__Button-module__Button--disabled___Ba17E,.Primer_Brand__Button-module__Button--disabled___Ba17E:hover,.Primer_Brand__Button-module__Button--disabled___Ba17E:focus{cursor:not-allowed}.Primer_Brand__Button-module__Button--size-small___iNTn1 .Primer_Brand__Button-module__Button__text___Z3ocU{display:flex}.Primer_Brand__Button-module__Button__text___Z3ocU{position:relative}.Primer_Brand__Button-module__Button--label___lUBc0{font-family:var(--brand-body-fontFamily);font-style:normal;font-weight:var(--base-text-weight-medium);text-align:center}.Primer_Brand__Button-module__Button__icon-visual___zR2Hi{height:var(--brand-Button-icon-size-medium);fill:currentColor;align-self:center;width:auto;display:flex}.Primer_Brand__Button-module__Button__trailing-visual___zg8jd,.Primer_Brand__Button-module__Button__leading-visual___FIPvg{display:flex}.Primer_Brand__Button-module__Button-arrow___SkJXQ{margin-inline-start:calc(var(--base-size-8) * -1);margin-inline-end:calc(var(--base-size-4) * -1)}.Primer_Brand__Button-module__Button--primary___xIC7G{color:var(--brand-button-primary-fgColor-rest);background-color:var(--brand-button-primary-bgColor-rest)}.Primer_Brand__Button-module__Button--size-small___iNTn1.Primer_Brand__Button-module__Button--primary___xIC7G{border-width:var(--brand-borderWidth-thin)}.Primer_Brand__Button-module__Button--primary___xIC7G:where(:not(.Primer_Brand__Button-module__Button___lDruK[disabled]):not(.Primer_Brand__Button-module__Button___lDruK[aria-disabled=true]):not([aria-expanded=true])):hover{background-color:var(--brand-button-primary-bgColor-hover)}.Primer_Brand__Button-module__Button--primary___xIC7G:where(:not(.Primer_Brand__Button-module__Button___lDruK[disabled]):not(.Primer_Brand__Button-module__Button___lDruK[aria-disabled=true])):active,.Primer_Brand__Button-module__Button--primary___xIC7G[aria-expanded=true]{background:var(--brand-button-primary-bgColor-active);border-color:var(--brand-button-primary-borderColor-active)}.Primer_Brand__Button-module__Button--label-primary___Leisi{color:var(--brand-button-primary-fgColor-rest)}.Primer_Brand__Button-module__Button--primary___xIC7G:disabled,.Primer_Brand__Button-module__Button--primary___xIC7G[aria-disabled=true],.Primer_Brand__Button-module__Button--primary___xIC7G.Primer_Brand__Button-module__Button--disabled___Ba17E{background-color:var(--brand-button-primary-bgColor-disabled)}.Primer_Brand__Button-module__Button--primary___xIC7G:where(:disabled,[aria-disabled=true],.Primer_Brand__Button-module__Button--disabled___Ba17E) :where(.Primer_Brand__Button-module__Button-arrow--disabled____UgPq,.Primer_Brand__Button-module__Button__icon-visual--disabled___j7aVy),.Primer_Brand__Button-module__Button--label-primary___Leisi.Primer_Brand__Button-module__Button-label--disabled___ZBpbj{color:var(--brand-button-primary-fgColor-disabled)}.Primer_Brand__Button-module__Button--secondary___akMC2{background-color:var(--brand-button-secondary-bgColor-rest);border-color:var(--brand-button-secondary-borderColor-rest);color:var(--brand-button-secondary-fgColor-rest);-webkit-backdrop-filter:blur(var(--base-size-20));backdrop-filter:blur(var(--base-size-20))}.Primer_Brand__Button-module__Button--secondary___akMC2:where(:not(.Primer_Brand__Button-module__Button___lDruK[disabled]):not(.Primer_Brand__Button-module__Button___lDruK[aria-disabled=true]):not([aria-expanded=true])):hover{background-color:var(--brand-button-secondary-bgColor-hover);border-color:var(--brand-button-secondary-borderColor-hover)}.Primer_Brand__Button-module__Button--secondary___akMC2:where(:not(.Primer_Brand__Button-module__Button___lDruK[disabled]):not(.Primer_Brand__Button-module__Button___lDruK[aria-disabled=true])):active,.Primer_Brand__Button-module__Button--secondary___akMC2[aria-expanded=true]{background-color:var(--brand-button-secondary-bgColor-active);border-color:var(--brand-button-secondary-borderColor-active)}.Primer_Brand__Button-module__Button--secondary___akMC2:disabled{border-color:var(--brand-button-secondary-fgColor-disabled)}.Primer_Brand__Button-module__Button--secondary___akMC2:where(:disabled,[aria-disabled=true],.Primer_Brand__Button-module__Button--disabled___Ba17E) :where(.Primer_Brand__Button-module__Button-arrow--disabled____UgPq,.Primer_Brand__Button-module__Button__icon-visual--disabled___j7aVy),.Primer_Brand__Button-module__Button--label-secondary___DRJoJ.Primer_Brand__Button-module__Button-label--disabled___ZBpbj{color:var(--brand-button-secondary-fgColor-disabled)}.Primer_Brand__Button-module__Button--subtle___UMmi9{background-color:var(--brand-button-subtle-bgColor-rest);border-width:var(--brand-borderWidth-thin);border-color:var(--brand-button-subtle-borderColor-rest);color:var(--brand-color-text-default);-webkit-backdrop-filter:blur(var(--base-size-20));backdrop-filter:blur(var(--base-size-20))}.Primer_Brand__Button-module__Button--subtle___UMmi9:where(:not(.Primer_Brand__Button-module__Button___lDruK[disabled]):not(.Primer_Brand__Button-module__Button___lDruK[aria-disabled=true]):not([aria-expanded=true])):hover{background-color:var(--brand-button-subtle-bgColor-hover);border-color:var(--brand-button-subtle-borderColor-hover)}.Primer_Brand__Button-module__Button--subtle___UMmi9:where(:not(.Primer_Brand__Button-module__Button___lDruK[disabled]):not(.Primer_Brand__Button-module__Button___lDruK[aria-disabled=true])):active,.Primer_Brand__Button-module__Button--subtle___UMmi9[aria-expanded=true]{background-color:var(--brand-button-subtle-bgColor-active);border-color:var(--brand-button-subtle-borderColor-active)}.Primer_Brand__Button-module__Button--label-subtle___RRaqm{color:var(--brand-button-subtle-fgColor-rest)}.Primer_Brand__Button-module__Button--subtle___UMmi9:where(:disabled,[aria-disabled=true],.Primer_Brand__Button-module__Button--disabled___Ba17E) :where(.Primer_Brand__Button-module__Button-arrow--disabled____UgPq,.Primer_Brand__Button-module__Button__icon-visual--disabled___j7aVy),.Primer_Brand__Button-module__Button--label-subtle___RRaqm.Primer_Brand__Button-module__Button-label--disabled___ZBpbj{color:var(--brand-button-subtle-fgColor-disabled)}.Primer_Brand__Button-module__Button--size-small___iNTn1{min-height:var(--brand-Button-control-size-small);padding-inline:var(--brand-control-small-paddingInline-normal)}.Primer_Brand__Button-module__Button--size-medium___EyCyw{min-height:var(--brand-Button-control-size-medium);padding:var(--brand-control-medium-paddingBlock-condensed) var(--base-size-20)}.Primer_Brand__Button-module__Button--size-large___REN1l{min-height:var(--brand-Button-control-size-large);padding:var(--brand-control-large-paddingBlock-condensed) var(--brand-control-large-paddingInline-spacious)}.Primer_Brand__Button-module__Button--size-small___iNTn1 :where(.Primer_Brand__Button-module__Button__icon-visual___zR2Hi){height:var(--brand-Button-icon-size-small)}.Primer_Brand__Button-module__Button--size-medium___EyCyw :where(.Primer_Brand__Button-module__Button__icon-visual___zR2Hi){height:var(--brand-Button-icon-size-medium)}.Primer_Brand__Button-module__Button--size-large___REN1l :where(.Primer_Brand__Button-module__Button__icon-visual___zR2Hi,.Primer_Brand__Button-module__Button-arrow___SkJXQ){height:var(--brand-Button-icon-size-large);width:var(--brand-Button-icon-size-large)}.Primer_Brand__Button-module__Button--label-medium___DW2TM{font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200);letter-spacing:.01rem}.Primer_Brand__Button-module__Button--label-large____iBy6{font-size:var(--brand-text-subhead-size-large);line-height:var(--brand-text-subhead-lineHeight-large)}.Primer_Brand__Button-module__Button--block___F5RXs{width:100%}@media (forced-colors:active){.Primer_Brand__Button-module__Button--disabled___Ba17E{outline-color:graytext}.Primer_Brand__Button-module__Button--label___lUBc0.Primer_Brand__Button-module__Button-label--disabled___ZBpbj{color:graytext}}@media (prefers-reduced-motion:reduce){.Primer_Brand__Button-module__Button___lDruK,.Primer_Brand__Button-module__Button___lDruK:before,.Primer_Brand__Button-module__Button___lDruK:after,.Primer_Brand__Button-module__Button___lDruK *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__Tooltip-module__Tooltip___u1Usz{display:none}@media (forced-colors:active){.Primer_Brand__Tooltip-module__Tooltip___u1Usz{outline:var(--brand-borderWidth-thin) solid transparent}}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[popover]{--offset:var(--base-size-8,--base-size-8);--b:1em;--h:.5em;--p:50%;--r:var(--brand-borderRadius-medium);--c:var(--brand-color-neutral-emphasisPlus);clip:auto;white-space:normal;width:max-content;font:normal normal var(--brand-text-size-100) / var(--brand-text-lineHeight-100) var(--brand-fontStack-sansSerif);-webkit-font-smoothing:subpixel-antialiased;color:var(--brand-Tooltip-color-default);text-align:center;word-wrap:break-word;background:var(--c);border-radius:var(--r);opacity:0;border:0;max-width:250px;margin:auto;padding:.5em .75em;position:absolute;inset:auto;overflow:visible}:is(.Primer_Brand__Tooltip-module__Tooltip___u1Usz[popover]:popover-open,.Primer_Brand__Tooltip-module__Tooltip___u1Usz[popover].Primer_Brand__Tooltip-module__\:popover-open___DQych){animation-name:Primer_Brand__Tooltip-module__tooltip-appear___OeSNz;animation-duration:.2s;animation-duration:var(--brand-animation-duration-faster,.2s);animation-timing-function:ease-in;animation-delay:0s;animation-fill-mode:forwards;display:block}.Primer_Brand__Tooltip-module__Tooltip___u1Usz:after{height:var(--offset);content:"";display:block;position:absolute;left:0;right:0}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=n],.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=ne],.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=nw]{-o-border-image:conic-gradient(var(--c) 0, var(--c) 0) 0 / var(--r) calc(100% - var(--p) - var(--b) / 2) 0 calc(var(--p) - var(--b) / 2) / 0 0 var(--h) 0;border-image:conic-gradient(var(--c) 0, var(--c) 0) fill 0 / var(--r) calc(100% - var(--p) - var(--b) / 2) 0 calc(var(--p) - var(--b) / 2) / 0 0 var(--h) 0;clip-path:polygon(0 100%, 0 0, 100% 0, 100% 100%, min(100%, var(--p) + var(--b) / 2) 100%, var(--p) calc(100% + var(--h)), max(0%, var(--p) - var(--b) / 2) 100%)}@supports (background:conic-gradient(red 0deg, red 0deg 1deg, red 2deg)){.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=n],.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=ne],.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=nw]{-o-border-image:conic-gradient(var(--c) 0 0) 0 / var(--r) calc(100% - var(--p) - var(--b) / 2) 0 calc(var(--p) - var(--b) / 2) / 0 0 var(--h) 0;border-image:conic-gradient(var(--c) 0 0) fill 0 / var(--r) calc(100% - var(--p) - var(--b) / 2) 0 calc(var(--p) - var(--b) / 2) / 0 0 var(--h) 0}}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=s],.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=se],.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=sw]{-o-border-image:conic-gradient(var(--c) 0, var(--c) 0) 0/ 0 calc(100% - var(--p) - var(--b) / 2) var(--r) calc(var(--p) - var(--b) / 2) / var(--h) 0 0 0;border-image:conic-gradient(var(--c) 0, var(--c) 0) fill 0/ 0 calc(100% - var(--p) - var(--b) / 2) var(--r) calc(var(--p) - var(--b) / 2) / var(--h) 0 0 0;clip-path:polygon(0 0, 0 100%, 100% 100%, 100% 0, min(100%, var(--p) + var(--b) / 2) 0, var(--p) calc(-1 * var(--h)), max(0%, var(--p) - var(--b) / 2) 0)}@supports (background:conic-gradient(red 0deg, red 0deg 1deg, red 2deg)){.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=s],.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=se],.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=sw]{-o-border-image:conic-gradient(var(--c) 0 0) 0/ 0 calc(100% - var(--p) - var(--b) / 2) var(--r) calc(var(--p) - var(--b) / 2) / var(--h) 0 0 0;border-image:conic-gradient(var(--c) 0 0) fill 0/ 0 calc(100% - var(--p) - var(--b) / 2) var(--r) calc(var(--p) - var(--b) / 2) / var(--h) 0 0 0}}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=w]{-o-border-image:conic-gradient(var(--c) 0, var(--c) 0) 0 / calc(var(--p) - var(--b) / 2) 0 calc(100% - var(--p) - var(--b) / 2) var(--r) / 0 var(--h) 0 0;border-image:conic-gradient(var(--c) 0, var(--c) 0) fill 0 / calc(var(--p) - var(--b) / 2) 0 calc(100% - var(--p) - var(--b) / 2) var(--r) / 0 var(--h) 0 0;clip-path:polygon(100% 100%, 0 100%, 0 0, 100% 0, 100% max(0%, var(--p) - var(--b) / 2), calc(100% + var(--h)) var(--p), 100% min(100%, var(--p) + var(--b) / 2))}@supports (background:conic-gradient(red 0deg, red 0deg 1deg, red 2deg)){.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=w]{-o-border-image:conic-gradient(var(--c) 0 0) 0 / calc(var(--p) - var(--b) / 2) 0 calc(100% - var(--p) - var(--b) / 2) var(--r) / 0 var(--h) 0 0;border-image:conic-gradient(var(--c) 0 0) fill 0 / calc(var(--p) - var(--b) / 2) 0 calc(100% - var(--p) - var(--b) / 2) var(--r) / 0 var(--h) 0 0}}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=e]{-o-border-image:conic-gradient(var(--c) 0, var(--c) 0) 0 / calc(var(--p) - var(--b) / 2) var(--r) calc(100% - var(--p) - var(--b) / 2) 0/ 0 0 0 var(--h);border-image:conic-gradient(var(--c) 0, var(--c) 0) fill 0 / calc(var(--p) - var(--b) / 2) var(--r) calc(100% - var(--p) - var(--b) / 2) 0/ 0 0 0 var(--h);clip-path:polygon(0 100%, 100% 100%, 100% 0, 0 0, 0 max(0%, var(--p) - var(--b) / 2), calc(-1 * var(--h)) var(--p), 0 min(100%, var(--p) + var(--b) / 2))}@supports (background:conic-gradient(red 0deg, red 0deg 1deg, red 2deg)){.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=e]{-o-border-image:conic-gradient(var(--c) 0 0) 0 / calc(var(--p) - var(--b) / 2) var(--r) calc(100% - var(--p) - var(--b) / 2) 0/ 0 0 0 var(--h);border-image:conic-gradient(var(--c) 0 0) fill 0 / calc(var(--p) - var(--b) / 2) var(--r) calc(100% - var(--p) - var(--b) / 2) 0/ 0 0 0 var(--h)}}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=ne],.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=se]{--p:25%}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=nw],.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=sw]{--p:75%}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=n]:after,.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=ne]:after,.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=nw]:after{top:100%}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=s]:after,.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=se]:after,.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=sw]:after{bottom:100%}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=w]:after{height:100%;width:var(--offset);content:"";display:block;position:absolute;bottom:0;left:100%}.Primer_Brand__Tooltip-module__Tooltip___u1Usz[data-direction=e]:after{height:100%;width:var(--offset);content:"";margin-left:calc(var(--offset) * -1px);display:block;position:absolute;bottom:0;right:100%}@keyframes Primer_Brand__Tooltip-module__tooltip-appear___OeSNz{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.Primer_Brand__Tooltip-module__Tooltip___u1Usz,.Primer_Brand__Tooltip-module__Tooltip___u1Usz:before,.Primer_Brand__Tooltip-module__Tooltip___u1Usz:after,.Primer_Brand__Tooltip-module__Tooltip___u1Usz *{animation-duration:0s!important}}:root,[data-color-mode=light]{--brand-Tooltip-color-default:var(--brand-color-text-onEmphasis)}[data-color-mode=dark]{--brand-Tooltip-color-default:var(--brand-color-text-default)}:root{--brand-IconButton-loadingIndicator-animationDuration-reducedMotion:1.6s;--brand-IconButton-loadingIndicator-animationDuration-default:.8s;--brand-IconButton-icon-size-large:var(--brand-Button-icon-size-large);--brand-IconButton-icon-size-medium:var(--brand-Button-icon-size-large);--brand-IconButton-icon-size-small:var(--brand-Button-icon-size-small);--brand-IconButton-control-size-large:var(--brand-Button-control-size-large);--brand-IconButton-control-size-medium:var(--brand-Button-control-size-medium);--brand-IconButton-control-size-small:var(--brand-Button-control-size-small)}:root,[data-color-mode=light],[data-color-mode=dark]{--brand-IconButton-danger-fgColor-rest:var(--brand-color-danger-fg);--brand-IconButton-danger-fgColor-hover:var(--base-color-scale-white-0);--brand-IconButton-danger-fgColor-active:var(--base-color-scale-white-0);--brand-IconButton-danger-bgColor-rest:var(--brand-button-secondary-bgColor-rest);--brand-IconButton-danger-bgColor-hover:var(--brand-color-danger-emphasis);--brand-IconButton-danger-bgColor-active:var(--brand-color-danger-emphasis);--brand-IconButton-danger-borderColor-rest:var(--brand-button-secondary-borderColor-rest);--brand-IconButton-danger-borderColor-hover:var(--brand-color-danger-emphasis);--brand-IconButton-danger-borderColor-active:var(--brand-color-danger-emphasis);--brand-IconButton-inactive-fgColor:var(--brand-color-text-muted);--brand-IconButton-inactive-bgColor:var(--brand-color-canvas-subtle);--brand-IconButton-inactive-borderColor:var(--brand-color-canvas-subtle);--brand-IconButton-invisible-bgColor-rest:transparent;--brand-IconButton-invisible-borderColor-rest:transparent}.Primer_Brand__IconButton-module__IconButton___Rw5mP{flex:none;gap:0;padding:0}.Primer_Brand__IconButton-module__IconButton___Rw5mP.Primer_Brand__IconButton-module__IconButton___Rw5mP{min-width:var(--brand-IconButton-control-size-medium);width:var(--brand-IconButton-control-size-medium);height:var(--brand-IconButton-control-size-medium)}.Primer_Brand__IconButton-module__IconButton--small___vIOsv.Primer_Brand__IconButton-module__IconButton--small___vIOsv{min-width:var(--brand-IconButton-control-size-small);width:var(--brand-IconButton-control-size-small);height:var(--brand-IconButton-control-size-small)}.Primer_Brand__IconButton-module__IconButton--large___XSwOm.Primer_Brand__IconButton-module__IconButton--large___XSwOm{min-width:var(--brand-IconButton-control-size-large);width:var(--brand-IconButton-control-size-large);height:var(--brand-IconButton-control-size-large)}.Primer_Brand__IconButton-module__IconButton--rounded___D7bgG.Primer_Brand__IconButton-module__IconButton--rounded___D7bgG{border-radius:var(--brand-borderRadius-full)}.Primer_Brand__IconButton-module__IconButton--variant-danger___nppfN.Primer_Brand__IconButton-module__IconButton--variant-danger___nppfN:not([disabled]):not([aria-disabled=true]){color:var(--brand-IconButton-danger-fgColor-rest);background-color:var(--brand-IconButton-danger-bgColor-rest);border-color:var(--brand-IconButton-danger-borderColor-rest)}.Primer_Brand__IconButton-module__IconButton--variant-danger___nppfN.Primer_Brand__IconButton-module__IconButton--variant-danger___nppfN:not([disabled]):not([aria-disabled=true]):not([aria-expanded=true]):hover{color:var(--brand-IconButton-danger-fgColor-hover);background-color:var(--brand-IconButton-danger-bgColor-hover);border-color:var(--brand-IconButton-danger-borderColor-hover)}.Primer_Brand__IconButton-module__IconButton--variant-danger___nppfN.Primer_Brand__IconButton-module__IconButton--variant-danger___nppfN:not([disabled]):not([aria-disabled=true]):active,.Primer_Brand__IconButton-module__IconButton--variant-danger___nppfN.Primer_Brand__IconButton-module__IconButton--variant-danger___nppfN:not([disabled]):not([aria-disabled=true])[aria-expanded=true]{color:var(--brand-IconButton-danger-fgColor-active);background-color:var(--brand-IconButton-danger-bgColor-active);border-color:var(--brand-IconButton-danger-borderColor-active)}.Primer_Brand__IconButton-module__IconButton--variant-invisible___N5QCb.Primer_Brand__IconButton-module__IconButton--variant-invisible___N5QCb:where(:not(:hover):not(:active):not([aria-expanded=true])){background-color:var(--brand-IconButton-invisible-bgColor-rest);border-color:var(--brand-IconButton-invisible-borderColor-rest);-webkit-backdrop-filter:none;backdrop-filter:none}.Primer_Brand__IconButton-module__IconButton--inactive___rqx6f.Primer_Brand__IconButton-module__IconButton--inactive___rqx6f,.Primer_Brand__IconButton-module__IconButton--inactive___rqx6f.Primer_Brand__IconButton-module__IconButton--inactive___rqx6f:hover,.Primer_Brand__IconButton-module__IconButton--inactive___rqx6f.Primer_Brand__IconButton-module__IconButton--inactive___rqx6f:active{color:var(--brand-IconButton-inactive-fgColor);cursor:auto;background-color:var(--brand-IconButton-inactive-bgColor);border-color:var(--brand-IconButton-inactive-borderColor);-webkit-backdrop-filter:none;backdrop-filter:none}.Primer_Brand__IconButton-module__IconButton--inactive___rqx6f .Primer_Brand__IconButton-module__IconButton__icon___krMSy{color:inherit}.Primer_Brand__IconButton-module__IconButton--small___vIOsv .Primer_Brand__IconButton-module__IconButton__icon___krMSy{width:var(--brand-IconButton-icon-size-small);height:var(--brand-IconButton-icon-size-small)}.Primer_Brand__IconButton-module__IconButton--medium___o7XG8 .Primer_Brand__IconButton-module__IconButton__icon___krMSy{width:var(--brand-IconButton-icon-size-medium);height:var(--brand-IconButton-icon-size-medium)}.Primer_Brand__IconButton-module__IconButton--large___XSwOm .Primer_Brand__IconButton-module__IconButton__icon___krMSy{width:var(--brand-IconButton-icon-size-large);height:var(--brand-IconButton-icon-size-large)}.Primer_Brand__IconButton-module__IconButton__loadingIndicator___x8pth.Primer_Brand__IconButton-module__IconButton__loadingIndicator___x8pth{box-sizing:border-box;width:var(--brand-IconButton-icon-size-medium);height:var(--brand-IconButton-icon-size-medium);border:var(--brand-borderWidth-thin) solid currentcolor;animation:Primer_Brand__IconButton-module__IconButton-spin___Xg2de var(--brand-IconButton-loadingIndicator-animationDuration-default) linear infinite;border-inline-end-color:#0000;border-radius:50%;display:block}.Primer_Brand__IconButton-module__IconButton--small___vIOsv .Primer_Brand__IconButton-module__IconButton__loadingIndicator___x8pth{width:var(--brand-IconButton-icon-size-small);height:var(--brand-IconButton-icon-size-small)}.Primer_Brand__IconButton-module__IconButton--large___XSwOm .Primer_Brand__IconButton-module__IconButton__loadingIndicator___x8pth{width:var(--brand-IconButton-icon-size-large);height:var(--brand-IconButton-icon-size-large)}.Primer_Brand__IconButton-module__IconButton__loadingAnnouncement___EDict{width:var(--base-size-1);height:var(--base-size-1);margin:calc(var(--base-size-1) * -1);clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;padding:0;position:absolute;overflow:hidden}@keyframes Primer_Brand__IconButton-module__IconButton-spin___Xg2de{to{transform:rotate(360deg)}}@media (forced-colors:active){.Primer_Brand__IconButton-module__IconButton--inactive___rqx6f{color:graytext;border-color:graytext}.Primer_Brand__IconButton-module__IconButton__loadingIndicator___x8pth{border-color:buttontext;border-inline-end-color:#0000}}@media (prefers-reduced-motion:reduce){.Primer_Brand__IconButton-module__IconButton__loadingIndicator___x8pth{animation-duration:var(--brand-IconButton-loadingIndicator-animationDuration-reducedMotion)}}:root,[data-color-mode=light]{--brand-ActionMenu-color-splitButton-divider-default:var(--brand-color-border-muted);--brand-ActionMenu-color-splitButton-divider-primary:var(--base-color-scale-green-7);--brand-ActionMenu-color-item-hover:var(--base-color-scale-gray-1);--brand-ActionMenu-color-scrollbar-thumb-bg:var(--base-color-scale-gray-0)}[data-color-mode=dark]{--brand-ActionMenu-color-splitButton-divider-default:var(--brand-color-border-muted);--brand-ActionMenu-color-splitButton-divider-primary:var(--brand-color-border-muted);--brand-ActionMenu-color-item-hover:var(--base-color-scale-gray-6);--brand-ActionMenu-color-scrollbar-thumb-bg:var(--base-color-scale-gray-3)}.Primer_Brand__ActionMenu-module__ActionMenu___xAoB5{--focus-outline-width:3px;position:relative}.Primer_Brand__ActionMenu-module__ActionMenu--disabled___Ic5nl{cursor:not-allowed}.Primer_Brand__ActionMenu-module__ActionMenu__button___gqNoG{height:auto}.Primer_Brand__ActionMenu-module__ActionMenu__button--default___mloG_{--brand-borderRadius-medium:var(--brand-borderRadius-full)}.Primer_Brand__ActionMenu-module__ActionMenu__button--small___VpvNg{padding:calc(var(--base-size-4) / 2) var(--base-size-12)}.Primer_Brand__ActionMenu-module__ActionMenu__button--medium___xG3FK{padding:calc(var(--base-size-8) + 2px) var(--base-size-28)}.Primer_Brand__ActionMenu-module__ActionMenu__button___gqNoG>span:first-of-type{max-width:200px;overflow:hidden}.Primer_Brand__ActionMenu-module__ActionMenu__button--split-button___zE_P6{border-radius:var(--brand-borderRadius-medium);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);background-color:var(--brand-color-canvas-default);padding:0;display:inline-flex}.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button___kDo2J.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button-primary___pruFH,.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button___kDo2J.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button-primary___pruFH:hover{z-index:1;border-top-right-radius:0;border-bottom-right-radius:0;position:relative}.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button___kDo2J.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button-primary___pruFH:before,.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button___kDo2J.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button-primary___pruFH:hover:before{content:"";top:calc(var(--base-size-2) / -2);right:calc(var(--base-size-2) * -1);width:var(--brand-borderWidth-thin);height:calc(100% + var(--base-size-2));background-color:var(--brand-ActionMenu-color-splitButton-divider-default);position:absolute}.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--primary___GexBE.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button___kDo2J.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button-primary___pruFH:before{background-color:var(--brand-ActionMenu-color-splitButton-divider-primary)}.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--subtle___O9TkT.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button___kDo2J.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button-primary___pruFH:before{top:calc(var(--base-size-2) * -1);height:calc(100% + var(--base-size-4))}.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--subtle___O9TkT.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button___kDo2J.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button-primary___pruFH:active:before{width:0}.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--medium___cpKu6.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button___kDo2J,.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button___kDo2J.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button-menu___rbice{padding:var(--brand-control-medium-paddingBlock-condensed) var(--brand-control-medium-paddingInline-normal)}.Primer_Brand__ActionMenu-module__ActionMenu__inner-button-dropdown-icon___Pd6ae{vertical-align:middle!important}.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button___kDo2J.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--split-button-menu___rbice{z-index:0;border-top-left-radius:0;border-bottom-left-radius:0;position:relative}.Primer_Brand__ActionMenu-module__ActionMenu__innerButton--disabled___ZjXdS{cursor:not-allowed;pointer-events:none}.Primer_Brand__ActionMenu-module__ActionMenu__menu____B9HP{z-index:100;padding:var(--base-size-12);visibility:hidden;background-color:var(--brand-color-canvas-default);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);border-radius:var(--brand-borderRadius-large);min-width:min-content;max-height:460px;position:absolute;overflow-y:auto;box-shadow:0 100px 80px #00000003,0 41px 33px #00000005,0 22px 17px #00000005,0 12px 10px #00000008,0 6px 5px #0000000a,0 2px 2px #00000012}.Primer_Brand__ActionMenu-module__ActionMenu__menu--small___EiV1K{padding:var(--base-size-8)}.Primer_Brand__ActionMenu-module__ActionMenu__menu--medium___X8Sgj{padding:var(--base-size-12)}.Primer_Brand__ActionMenu-module__ActionMenu__menu--visible___dIcw5{visibility:visible}.Primer_Brand__ActionMenu-module__ActionMenu__menu--pos-outside-bottom___dEYrx{animation:.189s var(--brand-animation-easing-glide) 0s 1 normal none running Primer_Brand__ActionMenu-module__overlay-appear-outside-bottom___P9_uK}.Primer_Brand__ActionMenu-module__ActionMenu__menu--pos-outside-top___WhOjX{animation:.189s var(--brand-animation-easing-glide) 0s 1 normal none running Primer_Brand__ActionMenu-module__overlay-appear-outside-top___hI7o9}@keyframes Primer_Brand__ActionMenu-module__overlay-appear-outside-bottom___P9_uK{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes Primer_Brand__ActionMenu-module__overlay-appear-outside-top___hI7o9{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.Primer_Brand__ActionMenu-module__ActionMenu__menu--medium___X8Sgj.Primer_Brand__ActionMenu-module__ActionMenu__menu--pos-outside-bottom___dEYrx{margin-block-start:var(--base-size-8)}.Primer_Brand__ActionMenu-module__ActionMenu__menu--medium___X8Sgj.Primer_Brand__ActionMenu-module__ActionMenu__menu--pos-outside-top___WhOjX{margin-block-start:calc(var(--base-size-8) * -1)}.Primer_Brand__ActionMenu-module__ActionMenu__menu--small___EiV1K.Primer_Brand__ActionMenu-module__ActionMenu__menu--pos-outside-bottom___dEYrx{margin-block-start:var(--base-size-4)}.Primer_Brand__ActionMenu-module__ActionMenu__menu--small___EiV1K.Primer_Brand__ActionMenu-module__ActionMenu__menu--pos-outside-top___WhOjX{margin-block-start:calc(var(--base-size-4) * -1)}.Primer_Brand__ActionMenu-module__ActionMenu__menu____B9HP::-webkit-scrollbar{width:var(--base-size-12)}.Primer_Brand__ActionMenu-module__ActionMenu__menu____B9HP::-webkit-scrollbar-track{border-left:1px solid var(--brand-color-border-muted);border-top-right-radius:var(--brand-borderRadius-large);border-bottom-right-radius:var(--brand-borderRadius-large)}.Primer_Brand__ActionMenu-module__ActionMenu__menu____B9HP::-webkit-scrollbar-thumb{border-radius:var(--brand-borderRadius-medium);border:1px solid var(--brand-color-border-default);background-color:var(--brand-ActionMenu-color-scrollbar-thumb-bg)}.Primer_Brand__ActionMenu-module__ActionMenu__item___GxmDr{border-radius:var(--brand-borderRadius-medium);flex:1 0 auto;grid-template-columns:min-content 1fr;grid-template-areas:"leadingVisual text";align-items:center;list-style:none;display:grid}.Primer_Brand__ActionMenu-module__ActionMenu__item-anchor___P15pl{grid-template-columns:subgrid;grid-template-rows:subgrid;grid-gap:var(--base-size-8);align-items:center;gap:var(--base-size-8);color:var(--brand-color-text-default);grid-area:1/1/-1/-1;-webkit-text-decoration:none;text-decoration:none;display:grid}.Primer_Brand__ActionMenu-module__ActionMenu__item-anchor--disabled___SrwBA{pointer-events:none;cursor:not-allowed}.Primer_Brand__ActionMenu-module__ActionMenu__item-anchor___P15pl:focus-visible{box-shadow:none;outline:none}.Primer_Brand__ActionMenu-module__ActionMenu__item___GxmDr:has(.Primer_Brand__ActionMenu-module__ActionMenu__item-anchor___P15pl:focus-visible){box-shadow:0 0 0 var(--focus-outline-width) var(--brand-color-focus);outline:none;transition:none}.Primer_Brand__ActionMenu-module__ActionMenu__item--medium___YjquB{padding:var(--brand-control-medium-paddingBlock-condensed) var(--brand-control-medium-paddingInline-normal);min-height:var(--brand-control-medium-size)}.Primer_Brand__ActionMenu-module__ActionMenu__item--medium___YjquB:has(.Primer_Brand__ActionMenu-module__ActionMenu__item-anchor___P15pl){padding:0}.Primer_Brand__ActionMenu-module__ActionMenu__item--medium___YjquB .Primer_Brand__ActionMenu-module__ActionMenu__item-anchor___P15pl{padding:var(--brand-control-medium-paddingBlock-condensed) var(--brand-control-medium-paddingInline-normal)}.Primer_Brand__ActionMenu-module__ActionMenu__item--small___Y17Or{padding:var(--base-size-8) var(--brand-control-small-paddingInline-condensed)}.Primer_Brand__ActionMenu-module__ActionMenu__item___GxmDr[aria-disabled=true]{cursor:not-allowed}.Primer_Brand__ActionMenu-module__ActionMenu__item___GxmDr:hover:not(.Primer_Brand__ActionMenu-module__ActionMenu__item___GxmDr[aria-disabled=true]){cursor:pointer;background-color:var(--brand-ActionMenu-color-item-hover)}.Primer_Brand__ActionMenu-module__ActionMenu__item--selection-type-single___ZdivU{padding-right:var(--base-size-48)}.Primer_Brand__ActionMenu-module__ActionMenu__item___GxmDr:focus-visible{box-shadow:0 0 0 var(--focus-outline-width) var(--brand-color-focus);outline:none;transition:none}.Primer_Brand__ActionMenu-module__ActionMenu__item-leadingVisual___UWjE1{min-width:var(--base-size-16);margin-right:var(--brand-control-medium-gap);color:var(--brand-color-text-default);pointer-events:none;grid-area:leadingVisual;display:flex}.Primer_Brand__ActionMenu-module__ActionMenu__item-text___K_1vl{grid-area:text;width:max-content;display:grid}.Primer_Brand__ActionMenu-module__ActionMenu__item-text___K_1vl>span{line-height:var(--brand-control-medium-lineBoxHeight)}.Primer_Brand__ActionMenu-module__ActionMenu__item-icon___JyMwz{fill:var(--brand-color-text-default)}.Primer_Brand__ActionMenu-module__ActionMenu__item-content--disabled___WrxPY{color:var(--base-color-scale-gray-3)}.Primer_Brand__ActionMenu-module__ActionMenu__item-icon--disabled___Ebefz{fill:var(--base-color-scale-gray-3)}@media (forced-colors:active){.Primer_Brand__ActionMenu-module__ActionMenu__item___GxmDr:focus-visible{outline:var(--brand-borderWidth-thick) solid Highlight;outline-offset:var(--base-size-2)}}@media (prefers-reduced-motion:reduce){.Primer_Brand__ActionMenu-module__ActionMenu___xAoB5,.Primer_Brand__ActionMenu-module__ActionMenu___xAoB5:before,.Primer_Brand__ActionMenu-module__ActionMenu___xAoB5:after,.Primer_Brand__ActionMenu-module__ActionMenu___xAoB5 *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__ButtonGroup-module__ButtonGroup___QQSsj{gap:var(--base-size-8) var(--base-size-16);flex-flow:wrap;display:inline-flex}.Primer_Brand__ButtonGroup-module__ButtonGroup___QQSsj>*{flex-grow:1}.Primer_Brand__ButtonGroup-module__ButtonGroup--variant-joined___Fxe7t{flex-wrap:nowrap;gap:0}.Primer_Brand__ButtonGroup-module__ButtonGroup--variant-joined___Fxe7t .Primer_Brand__ButtonGroup-module__ButtonGroup__item___cqbJu{flex-grow:0;display:flex;position:relative}.Primer_Brand__ButtonGroup-module__ButtonGroup--variant-joined___Fxe7t .Primer_Brand__ButtonGroup-module__ButtonGroup__item___cqbJu:not(:first-child){margin-inline-start:calc(var(--brand-borderWidth-thin) * -1)}.Primer_Brand__ButtonGroup-module__ButtonGroup--variant-joined___Fxe7t .Primer_Brand__ButtonGroup-module__ButtonGroup__item___cqbJu:focus-within{z-index:1}.Primer_Brand__ButtonGroup-module__ButtonGroup__joinedButton___W6KlX.Primer_Brand__ButtonGroup-module__ButtonGroup__joinedButton___W6KlX{border-radius:0}.Primer_Brand__ButtonGroup-module__ButtonGroup__item___cqbJu:first-child .Primer_Brand__ButtonGroup-module__ButtonGroup__joinedButton___W6KlX{border-start-start-radius:var(--brand-borderRadius-medium);border-end-start-radius:var(--brand-borderRadius-medium)}.Primer_Brand__ButtonGroup-module__ButtonGroup__item___cqbJu:last-child .Primer_Brand__ButtonGroup-module__ButtonGroup__joinedButton___W6KlX{border-start-end-radius:var(--brand-borderRadius-medium);border-end-end-radius:var(--brand-borderRadius-medium)}.Primer_Brand__Image-module__Image__container___acBJi{display:inline-block}.Primer_Brand__Image-module__Image___FgVuK{-o-object-fit:cover;object-fit:cover;display:inline-block}.Primer_Brand__Image-module__Image--aspect-ratio-custom___gXFxx{aspect-ratio:var(--brand-image-aspectRatio)}.Primer_Brand__Image-module__Image--aspect-ratio-1-1___gDnTF{aspect-ratio:1}.Primer_Brand__Image-module__Image--aspect-ratio-16-9___bscHI{aspect-ratio:16/9}.Primer_Brand__Image-module__Image--aspect-ratio-16-10___dkGM6{aspect-ratio:16/10}.Primer_Brand__Image-module__Image--aspect-ratio-4-3___Tt_MI{aspect-ratio:4/3}.Primer_Brand__Image-module__Image--borderRadius-small___p94p1{border-radius:var(--brand-borderRadius-small);display:block}.Primer_Brand__Image-module__Image--borderRadius-medium___VsUEt{border-radius:var(--brand-borderRadius-medium);display:block}.Primer_Brand__Image-module__Image--borderRadius-large___ivnDN{border-radius:var(--brand-borderRadius-large);display:block}.Primer_Brand__Image-module__Image--borderRadius-xlarge___X8Rkm{border-radius:var(--brand-borderRadius-xlarge);display:block}.Primer_Brand__Image-module__Image--borderRadius-full___AlwaQ{border-radius:var(--brand-borderRadius-full);display:block}:root{--brand-Hero-regular-padding:var(--base-size-128) 0;--brand-Hero-narrow-padding:var(--base-size-96) 0}.Primer_Brand__Link-module__Link___lvKjM{--visual-width:var(--external-icon-size,var(--arrow-size,0px));--gap:0px;-moz-column-gap:0px;-moz-column-gap:var(--gap);column-gap:0;column-gap:var(--gap);cursor:pointer;justify-content:center;align-items:center;-webkit-text-decoration:none;text-decoration:none;display:inline-flex;position:relative}.Primer_Brand__Link-module__Link--arrow-start___AT1uu,.Primer_Brand__Link-module__Link--arrow-end___l0EPS{--gap:var(--base-size-4);--arrow-size:var(--base-size-16);position:relative;top:.05em}.Primer_Brand__Link-module__Link--arrow-start___AT1uu.Primer_Brand__Link-module__Link--large___cXMt5,.Primer_Brand__Link-module__Link--arrow-end___l0EPS.Primer_Brand__Link-module__Link--large___cXMt5{--arrow-size:var(--base-size-20)}.Primer_Brand__Link-module__Link--is-external___AthYf{--gap:var(--base-size-4);--external-icon-size:var(--base-size-16)}.Primer_Brand__Link-module__Link--is-external___AthYf.Primer_Brand__Link-module__Link--large___cXMt5{--external-icon-size:var(--base-size-20)}.Primer_Brand__Link-module__Link___lvKjM:hover{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__Link-module__Link___lvKjM:after{width:calc(100% - var(--gap) - var(--visual-width));pointer-events:none;content:"";border:var(--brand-borderWidth-thin) solid currentColor;transform-origin:0 0;position:absolute;bottom:-.15em;left:0;transform:scaleX(0)}@media screen and (prefers-reduced-motion:no-preference){.Primer_Brand__Link-module__Link___lvKjM:after{transition:transform var(--brand-animation-duration-fast) ease}}.Primer_Brand__Link-module__Link___lvKjM:active:after,.Primer_Brand__Link-module__Link___lvKjM:hover:after{transform:scaleX(1)}.Primer_Brand__Link-module__Link___lvKjM:focus:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__Link-module__Link--default___UKAcZ,.Primer_Brand__Link-module__Link--default___UKAcZ span{color:var(--brand-Link-color-default)}.Primer_Brand__Link-module__Link--accent___FWEDd,.Primer_Brand__Link-module__Link--accent___FWEDd span{color:var(--brand-Link-color-accent)}.Primer_Brand__Link-module__Link--label___j8etE{font-weight:var(--base-text-weight-medium);color:inherit!important}.Primer_Brand__Link-module__Link--large___cXMt5 .Primer_Brand__Link-module__Link--label___j8etE{font-size:var(--base-size-20)}.Primer_Brand__Link-module__Link--large___cXMt5 .Primer_Brand__Link-module__Link-arrow___HBMJ9{width:var(--arrow-size);height:var(--arrow-size)}.Primer_Brand__Link-module__Link--arrow-start___AT1uu:after{transform-origin:right 0;left:auto;right:0}@media (prefers-reduced-motion:reduce){.Primer_Brand__Link-module__Link___lvKjM,.Primer_Brand__Link-module__Link___lvKjM:before,.Primer_Brand__Link-module__Link___lvKjM:after,.Primer_Brand__Link-module__Link___lvKjM *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root,[data-color-mode=light],[data-color-mode=dark]{--brand-Link-color-default:var(--brand-color-text-default);--brand-Link-color-accent:var(--brand-color-text-link-rest)}:root{--brand-RiverBreakout-variant-gridline-spacing-contentGap:var(--base-size-16);--brand-RiverBreakout-variant-gridline-spacing-outerInline:var(--base-size-20);--brand-RiverBreakout-variant-gridline-spacing-outerBlockEnd:var(--base-size-40);--brand-RiverBreakout-variant-gridline-spacing-outerBlock:var(--base-size-36);--brand-RiverBreakout-spacing-inner:var(--base-size-40);--brand-RiverAccordion-variant-gridline-spacing-contentGap:var(--base-size-32);--brand-RiverAccordion-variant-gridline-spacing-outerInline:var(--base-size-20);--brand-RiverAccordion-variant-gridline-spacing-outerBlock:var(--base-size-40);--brand-River-variant-gridline-spacing-outerInline:var(--base-size-20);--brand-River-variant-gridline-spacing-outerBlock:var(--base-size-40);--brand-River-variant-gridline-visual-padding:var(--base-size-32);--brand-River-spacing-outerBlock:var(--base-size-36);--brand-River-spacing-innerY:var(--base-size-24);--brand-River-spacing-inner:var(--base-size-40)}@media (width>=768px){:root{--brand-RiverBreakout-variant-gridline-spacing-contentGap:var(--base-size-20);--brand-RiverBreakout-variant-gridline-spacing-outerInline:var(--base-size-36);--brand-RiverBreakout-variant-gridline-spacing-outerBlockEnd:var(--base-size-48);--brand-RiverBreakout-variant-gridline-spacing-outerBlock:var(--base-size-40);--brand-RiverBreakout-spacing-inner:var(--base-size-48);--brand-RiverAccordion-variant-gridline-spacing-outerInline:var(--base-size-36);--brand-RiverAccordion-variant-gridline-spacing-outerBlock:var(--base-size-36);--brand-River-spacing-innerY:var(--base-size-24)}}@media (width>=1012px){:root{--brand-River-variant-gridline-visual-padding:var(--base-size-64)}}@media (width>=1280px){:root{--brand-RiverBreakout-variant-gridline-spacing-contentGap:var(--base-size-24);--brand-RiverBreakout-variant-gridline-spacing-outerInline:var(--base-size-64);--brand-RiverBreakout-variant-gridline-spacing-outerBlockEnd:var(--base-size-80);--brand-RiverBreakout-variant-gridline-spacing-outerBlock:var(--base-size-64);--brand-RiverBreakout-spacing-inner:var(--base-size-64);--brand-RiverAccordion-variant-gridline-spacing-contentGap:var(--base-size-64);--brand-RiverAccordion-variant-gridline-spacing-outerInline:var(--base-size-64);--brand-RiverAccordion-variant-gridline-spacing-outerBlock:var(--base-size-64);--brand-River-variant-gridline-spacing-outerInline:var(--base-size-64);--brand-River-variant-gridline-spacing-outerBlock:var(--base-size-64);--brand-River-spacing-outerBlock:var(--base-size-48);--brand-River-spacing-innerY:var(--base-size-32);--brand-River-spacing-inner:var(--base-size-24)}}.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE{grid-gap:0;grid-template:"visual""accordion"/1fr;gap:0;display:grid;position:relative}@media screen and (width>=63.25rem){.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE{--gap-width:var(--brand-Grid-spacing-column-gap);--column-and-gap-width:calc((100% + var(--gap-width)) / 12);--4-grid-columns:calc(4 * var(--column-and-gap-width));--7-grid-columns-minus-last-gap:calc((7 * var(--column-and-gap-width)) - var(--gap-width));gap:var(--column-and-gap-width);grid-template-rows:auto}.Primer_Brand__RiverAccordion-module__RiverAccordion__align-start___RuTNC{grid-template-columns:var(--4-grid-columns) var(--7-grid-columns-minus-last-gap);grid-template-areas:"accordion visual"}.Primer_Brand__RiverAccordion-module__RiverAccordion__align-end___cYDE6{grid-template-columns:var(--7-grid-columns-minus-last-gap) var(--4-grid-columns);grid-template-areas:"visual accordion"}}.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet{padding-inline:var(--brand-RiverAccordion-variant-gridline-spacing-outerInline);padding-block:var(--brand-RiverAccordion-variant-gridline-spacing-outerBlock);position:relative}@media screen and (width>=63.25rem){.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet{--gap-width:var(--brand-RiverAccordion-variant-gridline-spacing-contentGap);--half-column:calc(50% - var(--gap-width) / 2);gap:var(--gap-width);align-items:center}.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet.Primer_Brand__RiverAccordion-module__RiverAccordion__align-start___RuTNC{grid-template-columns:var(--half-column) var(--half-column);grid-template-areas:"accordion visual"}.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet.Primer_Brand__RiverAccordion-module__RiverAccordion__align-end___cYDE6{grid-template-columns:var(--half-column) var(--half-column);grid-template-areas:"visual accordion"}}@media (width>=80rem){.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__RiverAccordion-module__RiverAccordion--active-item-has-background___xYbsA .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP{margin-inline:calc(-1 * var(--brand-RiverAccordion-variant-gridline-spacing-outerInline));margin-block-start:calc(-1 * var(--brand-RiverAccordion-variant-gridline-spacing-outerBlock))}@media screen and (width>=48rem) and (width<=63.24rem){.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE{max-width:618px;margin-inline:auto}.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__RiverAccordion-module__RiverAccordion--active-item-has-background___xYbsA .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf{border-radius:0}.Primer_Brand__RiverAccordion-module__RiverAccordion__accordionContainer___fGxlS{grid-area:accordion}.Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP{grid-area:visual}.Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf{border-radius:var(--base-size-6);grid-template-columns:subgrid;grid-template-rows:subgrid;width:100%;display:grid;overflow:hidden}.Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw{opacity:0;width:100%;height:100%;transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), scale var(--brand-animation-duration-default) var(--brand-animation-easing-default);grid-area:1/1;align-items:center;display:flex;scale:1.05}.Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw>*{border-radius:var(--base-size-6);-o-object-fit:contain;object-fit:contain;width:100%;height:auto;display:block;overflow:hidden}.Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw img,.Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw picture,.Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw video{border-radius:var(--base-size-6);-o-object-fit:contain;object-fit:contain;width:100%;height:auto;display:block}.Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw>* img,.Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw>* video{border-radius:var(--base-size-6);-o-object-fit:cover;object-fit:cover;width:100%;height:auto;display:block}.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual--has-background___kuInp{padding:var(--base-size-32);background:var(--brand-RiverAccordion-visual-background,var(--brand-color-canvas-subtle));justify-content:center;align-items:center;display:flex}.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual--has-background___kuInp>*{border-radius:var(--base-size-6);justify-content:center;align-items:center;max-width:100%;height:auto;display:flex}.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual--has-background___kuInp img,.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual--has-background___kuInp picture,.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual--has-background___kuInp video{border-radius:var(--base-size-6);max-width:100%;height:auto}@media screen and (width>=63.25rem){.Primer_Brand__RiverAccordion-module__RiverAccordion--active-item-has-background___xYbsA{grid-template-columns:1fr 1fr;align-items:stretch;gap:0;padding:0}.Primer_Brand__RiverAccordion-module__RiverAccordion--active-item-has-background___xYbsA .Primer_Brand__RiverAccordion-module__RiverAccordion__accordionContainer___fGxlS{padding:var(--brand-RiverAccordion-variant-gridline-spacing-outerBlock) var(--brand-RiverAccordion-variant-gridline-spacing-outerInline);flex-direction:column;justify-content:center;display:flex}.Primer_Brand__RiverAccordion-module__RiverAccordion__align-start___RuTNC.Primer_Brand__RiverAccordion-module__RiverAccordion--active-item-has-background___xYbsA .Primer_Brand__RiverAccordion-module__RiverAccordion__accordionContainer___fGxlS{padding-inline-end:var(--brand-RiverAccordion-variant-gridline-spacing-contentGap)}.Primer_Brand__RiverAccordion-module__RiverAccordion__align-end___cYDE6.Primer_Brand__RiverAccordion-module__RiverAccordion--active-item-has-background___xYbsA .Primer_Brand__RiverAccordion-module__RiverAccordion__accordionContainer___fGxlS{padding-inline-start:var(--brand-RiverAccordion-variant-gridline-spacing-contentGap)}.Primer_Brand__RiverAccordion-module__RiverAccordion--active-item-has-background___xYbsA .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP{margin:0}.Primer_Brand__RiverAccordion-module__RiverAccordion--active-item-has-background___xYbsA .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf{height:100%}.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual--has-background___kuInp{padding:var(--base-size-64);justify-content:center;align-items:center}.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual--has-background___kuInp>*,.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual--has-background___kuInp img,.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual--has-background___kuInp picture,.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsWrapper___H5Ixf>.Primer_Brand__RiverAccordion-module__RiverAccordion__visual--has-background___kuInp video{border-radius:var(--base-size-6)}}:is(.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq:first-child) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:first-child,.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq:nth-child(2)) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:nth-child(2),.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq:nth-child(3)) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:nth-child(3),.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq:nth-child(4)) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:nth-child(4),.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq:nth-child(5)) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:nth-child(5),.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq:nth-child(6)) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:nth-child(6),.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq:nth-child(7)) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:nth-child(7),.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq:nth-child(8)) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:nth-child(8),.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq:nth-child(9)) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:nth-child(9),.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq:nth-child(10)) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:nth-child(10),.Primer_Brand__RiverAccordion-module__RiverAccordion___aCPIE:not(:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq)) .Primer_Brand__RiverAccordion-module__RiverAccordion__visualsContainer___evCWP .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw:first-child){opacity:1;z-index:1;scale:1}.Primer_Brand__RiverAccordion-module__RiverAccordion__accordionContainer___fGxlS .Primer_Brand__RiverAccordion-module__RiverAccordion__visual___GxbPw{clip:rect(0, 0, 0, 0);word-wrap:normal;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.Primer_Brand__RiverAccordion-module__RiverAccordion__item___SQRnH{border-bottom:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-block-start:var(--base-size-32);position:relative}@media screen and (width<=63.24rem){.Primer_Brand__RiverAccordion-module__RiverAccordion--variant-gridline___Xsbet .Primer_Brand__RiverAccordion-module__RiverAccordion__item___SQRnH:last-child{border-bottom:none}}.Primer_Brand__RiverAccordion-module__RiverAccordion__item___SQRnH:not(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq) .Primer_Brand__RiverAccordion-module__RiverAccordion__heading___STSM7{color:var(--brand-color-text-muted)}.Primer_Brand__RiverAccordion-module__RiverAccordion__trigger___x_yLq{color:inherit;cursor:pointer;font:inherit;text-align:left;width:100%;padding:0;padding:var(--base-size-4);margin:0;margin:calc(var(--base-size-4) * -1);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.Primer_Brand__RiverAccordion-module__RiverAccordion__trigger--has-leading-visual___lyq8k{gap:var(--base-size-20);justify-content:flex-start}.Primer_Brand__RiverAccordion-module__RiverAccordion__leadingVisual___OseYz{height:var(--base-size-20);width:var(--base-size-20);flex-shrink:0;justify-content:center;align-items:center;display:flex}.Primer_Brand__RiverAccordion-module__RiverAccordion__leadingVisual___OseYz>*{width:100%;height:100%}.Primer_Brand__RiverAccordion-module__RiverAccordion__headingText___tOQEC{flex:1;min-width:0}.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq .Primer_Brand__RiverAccordion-module__RiverAccordion__trigger___x_yLq{cursor:auto;cursor:initial}.Primer_Brand__RiverAccordion-module__RiverAccordion__item___SQRnH:not(.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq) .Primer_Brand__RiverAccordion-module__RiverAccordion__trigger___x_yLq:after{content:"";width:100%;height:100%;display:block;position:absolute}.Primer_Brand__RiverAccordion-module__RiverAccordion__panel___GkOCl{transition:grid-template-rows var(--brand-animation-duration-default) var(--brand-animation-easing-default), margin-block-start var(--brand-animation-duration-default) var(--brand-animation-easing-default), padding-block-end var(--brand-animation-duration-default) var(--brand-animation-easing-default);grid-template-rows:0fr;margin-block-start:var(--base-size-32);display:grid;overflow-y:clip}.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq .Primer_Brand__RiverAccordion-module__RiverAccordion__panel___GkOCl{grid-template-rows:1fr;margin-block-start:var(--base-size-12);padding-block-end:var(--base-size-32)}.Primer_Brand__RiverAccordion-module__RiverAccordion__content___ECkev{align-items:flex-start;gap:var(--base-size-20);flex-direction:column;min-height:0;display:flex}.Primer_Brand__RiverAccordion-module__RiverAccordion__item___SQRnH:has(.Primer_Brand__RiverAccordion-module__RiverAccordion__leadingVisual___OseYz) .Primer_Brand__RiverAccordion-module__RiverAccordion__content___ECkev{padding-inline-start:calc(var(--base-size-20) + var(--base-size-20))}.Primer_Brand__RiverAccordion-module__RiverAccordion__icon___gl6pH{color:var(--brand-color-text-muted);flex-shrink:0;align-items:center;display:flex}.Primer_Brand__RiverAccordion-module__RiverAccordion__item--open___nnixq .Primer_Brand__RiverAccordion-module__RiverAccordion__icon___gl6pH{color:var(--brand-color-text-default)}.Primer_Brand__shared-module__gridline___Vmwmu{position:relative}.Primer_Brand__shared-module__gridline___Vmwmu:before,.Primer_Brand__shared-module__gridline___Vmwmu:after{content:"";border-top:var(--brand-borderWidth-thin) solid;-o-border-image:linear-gradient(var(--brand-color-border-muted), var(--brand-color-border-muted)) 1;border-image:linear-gradient(var(--brand-color-border-muted), var(--brand-color-border-muted)) 1;z-index:1;pointer-events:none;border-image-outset:0 100vw;height:0;position:absolute;left:0;right:0}.Primer_Brand__shared-module__gridline___Vmwmu:before{top:0}.Primer_Brand__shared-module__gridline___Vmwmu:after{bottom:0}:root,[data-color-mode=light]{--brand-Label-color-default:var(--brand-color-text-default);--brand-Label-color-blue:var(--base-color-scale-blue-5);--brand-Label-color-blue-purple-start:var(--base-color-scale-blue-5);--brand-Label-color-blue-purple-end:var(--base-color-scale-purple-5);--brand-Label-color-coral:var(--base-color-scale-coral-5);--brand-Label-color-green:var(--base-color-scale-green-6);--brand-Label-color-green-blue-start:var(--base-color-scale-green-6);--brand-Label-color-green-blue-end:var(--base-color-scale-blue-5);--brand-Label-color-green-blue-purple-1:#000aff;--brand-Label-color-green-blue-purple-2:#096bde;--brand-Label-color-green-blue-purple-3:var(--base-color-scale-green-6);--brand-Label-color-green-blue-purple-4:#8250df;--brand-Label-color-gray:var(--base-color-scale-gray-5);--brand-Label-color-indigo:var(--base-color-scale-indigo-5);--brand-Label-color-lemon:var(--base-color-scale-lemon-5);--brand-Label-color-lime:var(--base-color-scale-lime-5);--brand-Label-color-orange:var(--base-color-scale-orange-5);--brand-Label-color-pink:var(--base-color-scale-pink-5);--brand-Label-color-pink-blue-start:var(--base-color-scale-pink-5);--brand-Label-color-pink-blue-end:var(--base-color-scale-blue-5);--brand-Label-color-purple:var(--base-color-scale-purple-5);--brand-Label-color-purple-red-start:var(--base-color-scale-purple-5);--brand-Label-color-purple-red-end:var(--base-color-scale-red-5);--brand-Label-color-red:var(--base-color-scale-red-5);--brand-Label-color-red-orange-start:var(--base-color-scale-red-5);--brand-Label-color-red-orange-end:var(--base-color-scale-orange-5);--brand-Label-color-teal:var(--base-color-scale-teal-5);--brand-Label-color-yellow:var(--base-color-scale-yellow-5)}[data-color-mode=dark]{--brand-Label-color-default:var(--brand-color-text-default);--brand-Label-color-blue:var(--base-color-scale-blue-2);--brand-Label-color-blue-purple-start:var(--base-color-scale-blue-2);--brand-Label-color-blue-purple-end:var(--base-color-scale-purple-2);--brand-Label-color-coral:var(--base-color-scale-coral-2);--brand-Label-color-green:var(--base-color-scale-green-2);--brand-Label-color-green-blue-start:var(--base-color-scale-green-2);--brand-Label-color-green-blue-end:var(--base-color-scale-blue-2);--brand-Label-color-green-blue-purple-3:#00ff46;--brand-Label-color-gray:var(--base-color-scale-gray-2);--brand-Label-color-indigo:var(--base-color-scale-indigo-2);--brand-Label-color-lemon:var(--base-color-scale-lemon-2);--brand-Label-color-lime:var(--base-color-scale-lime-2);--brand-Label-color-orange:var(--base-color-scale-orange-2);--brand-Label-color-pink:var(--base-color-scale-pink-2);--brand-Label-color-pink-blue-start:var(--base-color-scale-pink-2);--brand-Label-color-pink-blue-end:var(--base-color-scale-blue-2);--brand-Label-color-purple:var(--base-color-scale-purple-2);--brand-Label-color-purple-red-start:var(--base-color-scale-purple-2);--brand-Label-color-purple-red-end:var(--base-color-scale-red-2);--brand-Label-color-red:var(--base-color-scale-red-2);--brand-Label-color-red-orange-start:var(--base-color-scale-red-2);--brand-Label-color-red-orange-end:var(--base-color-scale-orange-2);--brand-Label-color-teal:var(--base-color-scale-teal-2);--brand-Label-color-yellow:var(--base-color-scale-yellow-2)}.Primer_Brand__Label-module__Label___TW0HL{--brand-Label-gradient-radial:radial-gradient(circle at top left, var(--brand-Label-color-start), var(--brand-Label-color-end));--brand-Label-gradient-conical:conic-gradient(from 90deg at center, var(--brand-Label-color-stop-1) 0deg, var(--brand-Label-color-stop-2) 160deg, var(--brand-Label-color-stop-3) 175deg, var(--brand-Label-color-stop-4) 200deg, var(--brand-Label-color-stop-4) 350deg, var(--brand-Label-color-stop-1) 360deg);--brand-Label-background:var(--brand-Label-gradient-conical,var(--brand-Label-gradient-radial,var(--brand-Label-color,currentColor)));vertical-align:middle;border-radius:var(--brand-borderRadius-xlarge);color:var(--brand-Label-color-start,var(--brand-Label-color,currentColor));text-align:center;background:0 0;justify-content:center;align-items:center;height:min-content;display:inline-flex;position:relative}[data-color-mode=dark] .Primer_Brand__Label-module__Label___TW0HL{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:auto}.Primer_Brand__Label-module__Label___TW0HL:before{content:"";padding:var(--brand-borderWidth-thin);border-radius:inherit;background:var(--brand-Label-background);-webkit-mask:linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default)) content-box, linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default));-webkit-mask:linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default)) content-box, linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default));mask:linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default)) content-box, linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default));-webkit-mask-composite:xor;position:absolute;inset:0;-webkit-mask-composite:xor;mask-composite:exclude}.Primer_Brand__Label-module__Label--size-small___TvoL_{min-height:var(--base-size-20);padding-inline:var(--base-size-8);padding-block:var(--base-size-2)}.Primer_Brand__Label-module__Label--size-small___TvoL_ .Primer_Brand__Label-module__Label__label___bD_B4{font-size:var(--base-size-12)!important}.Primer_Brand__Label-module__Label--size-medium___g4Jkm{min-height:var(--base-size-28);padding-inline:var(--base-size-16);padding-block:var(--base-size-4)}.Primer_Brand__Label-module__Label--size-large___BrKTp{min-height:var(--base-size-32);padding-inline:var(--base-size-16);padding-block:var(--base-size-4)}.Primer_Brand__Label-module__Label--color-default___YCx2l{--brand-Label-color:var(--brand-Label-color-default)}.Primer_Brand__Label-module__Label--color-blue___lZSxf{--brand-Label-color:var(--brand-Label-color-blue)}.Primer_Brand__Label-module__Label--color-blue-purple___ER3VP{--brand-Label-color-start:var(--brand-Label-color-blue-purple-start);--brand-Label-color-end:var(--brand-Label-color-blue-purple-end)}.Primer_Brand__Label-module__Label--color-coral___V0Yif{--brand-Label-color:var(--brand-Label-color-coral)}.Primer_Brand__Label-module__Label--color-green___SoiE4{--brand-Label-color:var(--brand-Label-color-green)}.Primer_Brand__Label-module__Label--color-green-blue___R2mSi{--brand-Label-color-start:var(--brand-Label-color-green-blue-start);--brand-Label-color-end:var(--brand-Label-color-green-blue-end)}.Primer_Brand__Label-module__Label--color-gray___MCa_k{--brand-Label-color:var(--brand-Label-color-gray)}.Primer_Brand__Label-module__Label--color-indigo___VEHOi{--brand-Label-color:var(--brand-Label-color-indigo)}.Primer_Brand__Label-module__Label--color-lemon___xvb0x{--brand-Label-color:var(--brand-Label-color-lemon)}.Primer_Brand__Label-module__Label--color-lime___rORM1{--brand-Label-color:var(--brand-Label-color-lime)}.Primer_Brand__Label-module__Label--color-orange___PMqMi{--brand-Label-color:var(--brand-Label-color-orange)}.Primer_Brand__Label-module__Label--color-pink___kHEv5{--brand-Label-color:var(--brand-Label-color-pink)}.Primer_Brand__Label-module__Label--color-pink-blue___y5skb{--brand-Label-color-start:var(--brand-Label-color-pink-blue-start);--brand-Label-color-end:var(--brand-Label-color-pink-blue-end)}.Primer_Brand__Label-module__Label--color-green-blue-purple___UKGU_{--brand-Label-color-stop-1:var(--brand-Label-color-green-blue-purple-1);--brand-Label-color-stop-2:var(--brand-Label-color-green-blue-purple-2);--brand-Label-color-stop-3:var(--brand-Label-color-green-blue-purple-3);--brand-Label-color-stop-4:var(--brand-Label-color-green-blue-purple-4)}.Primer_Brand__Label-module__Label--color-purple___ZHLtp{--brand-Label-color:var(--brand-Label-color-purple)}.Primer_Brand__Label-module__Label--color-purple-red___MsWGq{--brand-Label-color-start:var(--brand-Label-color-purple-red-start);--brand-Label-color-end:var(--brand-Label-color-purple-red-end)}.Primer_Brand__Label-module__Label--color-red___GYMDt{--brand-Label-color:var(--brand-Label-color-red)}.Primer_Brand__Label-module__Label--color-red-orange___FVyXX{--brand-Label-color-start:var(--brand-Label-color-red-orange-start);--brand-Label-color-end:var(--brand-Label-color-red-orange-end)}.Primer_Brand__Label-module__Label--color-teal___VOUIS{--brand-Label-color:var(--brand-Label-color-teal)}.Primer_Brand__Label-module__Label--color-yellow___S2Zu2{--brand-Label-color:var(--brand-Label-color-yellow)}.Primer_Brand__Label-module__Label__text____nAxj:not(.Primer_Brand__Label-module__Label--gradient___smCNu .Primer_Brand__Label-module__Label__text____nAxj){background:var(--brand-Label-background);-webkit-text-fill-color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-background-clip:text;background-clip:text}.Primer_Brand__Label-module__Label__text____nAxj{line-height:var(--base-size-16)}.Primer_Brand__Label-module__Label__icon-visual___lD1Qa{height:var(--base-size-16);align-self:center;width:auto;display:flex}.Primer_Brand__Label-module__Label__leading-visual___a1rnF{margin-right:var(--base-size-8);display:flex}.Primer_Brand__Label-module__Label__label___bD_B4{font-weight:var(--base-text-weight-medium);line-height:inherit}@media (forced-colors:active){.Primer_Brand__Label-module__Label___TW0HL{outline:var(--brand-borderWidth-thin) solid transparent}}:root{--brand-River-visual-shadow:0px 100px 80px #00000004, 0px 41.7776px 33.4221px #00000006, 0px 22.3363px 17.869px #00000007, 0px 12.5216px 10.0172px #00000009, 0px 6.6501px 5.32008px #0000000b, 0px 2.76726px 2.21381px #00000012;--brand-River-label-margin:var(--base-size-16);--brand-River-heading-margin:var(--base-size-16)}:root,[data-color-mode=light]{--brand-InlineCode-color-fg-default:var(--brand-color-text-muted);--brand-InlineCode-color-fg-heading:var(--brand-color-text-default);--brand-InlineCode-bgColor:var(--base-color-scale-gray-1)}[data-color-mode=dark]{--brand-InlineCode-color-fg-default:var(--brand-color-text-muted);--brand-InlineCode-color-fg-heading:var(--brand-color-text-default);--brand-InlineCode-bgColor:var(--base-color-scale-gray-7)}.Primer_Brand__river-shared-module__River___eSXvR{grid-gap:var(--brand-River-spacing-inner);gap:var(--brand-River-spacing-inner);padding-inline:var(--brand-River-spacing-outerInline);padding-block:var(--brand-River-spacing-outerBlock);grid-auto-rows:min-content;display:grid;container-type:inline-size}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1{padding-inline:var(--brand-River-variant-gridline-spacing-outerInline);padding-block:var(--brand-River-variant-gridline-spacing-outerBlock);gap:var(--base-size-32);position:relative}@media screen and (width>=48rem){.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1{gap:var(--base-size-28)}}@media screen and (width>=80rem){.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__river-shared-module__River--align-center___VxJ3H{text-align:center}.Primer_Brand__river-shared-module__River__content___p4EdY{order:2}.Primer_Brand__river-shared-module__River__visual___kjFE2 img,.Primer_Brand__river-shared-module__River__visual___kjFE2 picture{display:block}.Primer_Brand__river-shared-module__River__visual--fill-media___psmFL img,.Primer_Brand__river-shared-module__River__visual--fill-media___psmFL picture,.Primer_Brand__river-shared-module__River__visual--fill-media___psmFL video{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx{border-radius:var(--brand-borderRadius-large);overflow:hidden}.Primer_Brand__river-shared-module__River__visual--has-shadow___PyzIW{box-shadow:var(--brand-River-visual-shadow)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S{background-color:var(--brand-color-canvas-subtle);padding:var(--brand-River-variant-gridline-visual-padding);margin-inline:calc(-1 * var(--brand-River-variant-gridline-spacing-outerInline));border-radius:0;justify-content:center;align-items:center;display:flex}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S img,.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S picture,.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S video{border-radius:var(--brand-borderRadius-large);width:auto;max-width:100%;height:auto}@media screen and (width<=47.99rem){.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S{justify-content:flex-end;align-items:flex-end;padding-block-end:0;padding-inline-end:0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S img,.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S picture,.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S video{border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:0}}@media screen and (width>=48rem) and (width<=63.24rem){.Primer_Brand__river-shared-module__River___eSXvR{width:100%;max-width:618px;margin-inline:auto}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S{align-items:flex-end;padding-block-end:0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S img,.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S picture,.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S video{border-end-end-radius:0;border-end-start-radius:0}}.Primer_Brand__river-shared-module__River__heading___tl6zS{margin-bottom:var(--brand-River-heading-margin)}.Primer_Brand__river-shared-module__River__call-to-action___yeIFh{margin-top:var(--base-size-24)}.Primer_Brand__river-shared-module__River__text___TQQhU strong,.Primer_Brand__river-shared-module__River__text___TQQhU b{font-weight:var(--base-text-weight-normal);color:var(--brand-color-text-default)}.Primer_Brand__river-shared-module__River__heading___tl6zS code,.Primer_Brand__river-shared-module__River__text___TQQhU code{font-family:var(--brand-fontStack-monospace);font-size:calc(1em - 1px);font-weight:var(--base-text-weight-regular);color:var(--brand-InlineCode-color-fg-default);background-color:var(--brand-InlineCode-bgColor);padding-block:0;padding-inline:var(--base-size-4);border-radius:var(--base-size-2);white-space:normal;word-wrap:anywhere;-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:1.6}.Primer_Brand__river-shared-module__River__leadingComponent___RBKiv img,.Primer_Brand__river-shared-module__River__leadingComponent___RBKiv picture,.Primer_Brand__river-shared-module__River__trailingComponent___bjdxv img,.Primer_Brand__river-shared-module__River__trailingComponent___bjdxv picture{display:block}.Primer_Brand__river-shared-module__River__trailingComponent___bjdxv{margin-block-start:var(--brand-River-spacing-inner)}.Primer_Brand__river-shared-module__River__trailingComponent--divider___q9hCY{border-top:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-block-start:var(--brand-River-spacing-inner)}.Primer_Brand__river-shared-module__River__label___ztaaN{margin-block-end:var(--brand-River-label-margin)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-start___wo12V .Primer_Brand__river-shared-module__River__visual___kjFE2{order:1}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-start___wo12V .Primer_Brand__river-shared-module__River__content___p4EdY{order:2}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-end___aNjz4 .Primer_Brand__river-shared-module__River__content___p4EdY{order:1}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-end___aNjz4 .Primer_Brand__river-shared-module__River__visual___kjFE2{order:2}@media screen and (width<=63.24rem){.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-start___wo12V .Primer_Brand__river-shared-module__River__visual--has-background___QG17S{margin-block-start:calc(-1 * var(--brand-River-variant-gridline-spacing-outerBlock))}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-end___aNjz4 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S{margin-block-end:calc(-1 * var(--brand-River-variant-gridline-spacing-outerBlock))}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-center___VxJ3H .Primer_Brand__river-shared-module__River__visual--has-background___QG17S{margin-block-start:calc(-1 * var(--brand-River-variant-gridline-spacing-outerBlock))}}@media screen and (width>=63.25rem){.Primer_Brand__river-shared-module__River___eSXvR{grid-template-rows:initial}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual--has-background___QG17S{margin:0}.Primer_Brand__river-shared-module__River__content___p4EdY{order:initial}.Primer_Brand__river-shared-module__River--50-50___y5_l2{grid-template-columns:[content]1fr[visual]1fr}.Primer_Brand__river-shared-module__River--60-40___NljA1{grid-template-columns:[content]4fr[visual]6fr}.Primer_Brand__river-shared-module__River--align-start___wo12V{grid-template-areas:"content visual"}.Primer_Brand__river-shared-module__River--align-end___aNjz4{grid-template-areas:"visual content"}.Primer_Brand__river-shared-module__River--align-end___aNjz4.Primer_Brand__river-shared-module__River--60-40___NljA1{grid-template-columns:[visual]6fr[content]4fr}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-start___wo12V.Primer_Brand__river-shared-module__River--50-50___y5_l2:not(:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S)) .Primer_Brand__river-shared-module__River__visual___kjFE2{margin-inline-start:calc(var(--base-size-80) + var(--base-size-8))}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-end___aNjz4.Primer_Brand__river-shared-module__River--50-50___y5_l2:not(:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S)) .Primer_Brand__river-shared-module__River__visual___kjFE2{margin-inline-end:calc(var(--base-size-80) + var(--base-size-8))}.Primer_Brand__river-shared-module__River__content___p4EdY{grid-area:content;align-content:center;display:grid}.Primer_Brand__river-shared-module__River--50-50___y5_l2:not(.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1) .Primer_Brand__river-shared-module__River__body-text___aJne5,.Primer_Brand__river-shared-module__River--50-50___y5_l2:not(.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1) .Primer_Brand__river-shared-module__River__heading___tl6zS{max-width:400px}.Primer_Brand__river-shared-module__River--align-start___wo12V:not(.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline-end:var(--base-size-128)}.Primer_Brand__river-shared-module__River--align-end___aNjz4:not(.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline-start:var(--base-size-128)}.Primer_Brand__river-shared-module__River__content--align-block-end___xI62E{align-content:end}.Primer_Brand__river-shared-module__River__visual___kjFE2{grid-area:visual}.Primer_Brand__river-shared-module__River--align-center___VxJ3H{grid-auto-rows:min-content;grid-template-columns:initial}.Primer_Brand__river-shared-module__River--align-center___VxJ3H .Primer_Brand__river-shared-module__River__content___p4EdY,.Primer_Brand__river-shared-module__River--align-center___VxJ3H .Primer_Brand__river-shared-module__River__visual___kjFE2{grid-area:unset;justify-self:center}.Primer_Brand__river-shared-module__River--align-center___VxJ3H .Primer_Brand__river-shared-module__River__body-text___aJne5{justify-self:center;max-width:600px}.Primer_Brand__river-shared-module__River--align-center___VxJ3H .Primer_Brand__river-shared-module__River__visual___kjFE2{margin-bottom:var(--brand-River-spacing-inner)}.Primer_Brand__river-shared-module__River--align-center___VxJ3H .Primer_Brand__river-shared-module__River__content___p4EdY{margin-top:var(--brand-River-spacing-inner)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1:not(.Primer_Brand__river-shared-module__River--align-center___VxJ3H):has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S){gap:0;padding:0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--50-50___y5_l2:not(.Primer_Brand__river-shared-module__River--align-center___VxJ3H):has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S){grid-template-columns:1fr 1fr}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--60-40___NljA1:not(.Primer_Brand__river-shared-module__River--align-center___VxJ3H):has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S){grid-template-columns:560fr 676fr}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-end___aNjz4.Primer_Brand__river-shared-module__River--60-40___NljA1:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S){grid-template-columns:676fr 560fr}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-start___wo12V:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline-start:var(--base-size-64);padding-inline-end:var(--brand-River-spacing-inner);padding-block:var(--brand-River-variant-gridline-spacing-outerBlock)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--50-50___y5_l2.Primer_Brand__river-shared-module__River--align-start___wo12V:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline-end:calc(var(--base-size-80) + var(--base-size-32))}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--60-40___NljA1.Primer_Brand__river-shared-module__River--align-start___wo12V:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline-end:var(--base-size-128)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-end___aNjz4:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline-start:var(--brand-River-spacing-inner);padding-inline-end:var(--base-size-64);padding-block:var(--brand-River-variant-gridline-spacing-outerBlock)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--50-50___y5_l2.Primer_Brand__river-shared-module__River--align-end___aNjz4:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline-start:calc(var(--base-size-80) + var(--base-size-32))}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--60-40___NljA1.Primer_Brand__river-shared-module__River--align-end___aNjz4:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline-start:var(--base-size-128)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-start___wo12V:not(:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S)) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline-end:var(--brand-River-spacing-inner)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-end___aNjz4:not(:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S)) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline-start:var(--brand-River-spacing-inner)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--50-50___y5_l2:not(.Primer_Brand__river-shared-module__River--align-center___VxJ3H) .Primer_Brand__river-shared-module__River__visual--has-background___QG17S{margin-inline:0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-center___VxJ3H:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S){padding:0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-center___VxJ3H .Primer_Brand__river-shared-module__River__visual--has-background___QG17S{width:100%;margin:0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-center___VxJ3H .Primer_Brand__river-shared-module__River__visual___kjFE2{margin-bottom:0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-center___VxJ3H{gap:0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-center___VxJ3H .Primer_Brand__river-shared-module__River__content___p4EdY{margin-top:0;margin-bottom:var(--base-size-64)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1.Primer_Brand__river-shared-module__River--align-center___VxJ3H:has(.Primer_Brand__river-shared-module__River__visual--has-background___QG17S) .Primer_Brand__river-shared-module__River__content___p4EdY{padding-inline:var(--brand-River-variant-gridline-spacing-outerInline);padding-block-start:var(--brand-River-variant-gridline-spacing-outerBlock)}}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-center___p6KT1{padding:var(--brand-River-variant-gridline-visual-padding);border-radius:0;justify-content:center;align-items:center;display:flex}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end___ErF_R{padding:var(--brand-River-variant-gridline-visual-padding);border-radius:0;justify-content:center;align-items:flex-end;padding-block-end:0;display:flex}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-start___QmQP6{padding:var(--brand-River-variant-gridline-visual-padding);border-radius:0;justify-content:flex-start;align-items:flex-end;padding-block-end:0;padding-inline-start:0;display:flex}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-end___kmFTW{padding:var(--brand-River-variant-gridline-visual-padding);border-radius:0;justify-content:flex-end;align-items:flex-end;padding-block-end:0;padding-inline-end:0;display:flex}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--padding-all___M94vb{padding:var(--brand-River-variant-gridline-visual-padding)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK{border-radius:0;padding:0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-center___p6KT1 img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-center___p6KT1 picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-center___p6KT1 video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-center___p6KT1 [data-video-player-container],.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end___ErF_R img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end___ErF_R picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end___ErF_R video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end___ErF_R [data-video-player-container],.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-start___QmQP6 img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-start___QmQP6 picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-start___QmQP6 video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-start___QmQP6 [data-video-player-container],.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-end___kmFTW img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-end___kmFTW picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-end___kmFTW video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-end___kmFTW [data-video-player-container]{border-radius:0;width:auto;max-width:100%;height:auto}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--padding-all___M94vb img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--padding-all___M94vb picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--padding-all___M94vb video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--padding-all___M94vb [data-video-player-container]{border-radius:0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-center___p6KT1 img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-center___p6KT1 picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-center___p6KT1 video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-center___p6KT1 [data-video-player-container]{border-radius:var(--brand-borderRadius-large)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end___ErF_R img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end___ErF_R picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end___ErF_R video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end___ErF_R [data-video-player-container]{border-radius:var(--brand-borderRadius-large) var(--brand-borderRadius-large) 0 0}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-start___QmQP6 img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-start___QmQP6 picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-start___QmQP6 video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-start___QmQP6 [data-video-player-container]{border-radius:0;border-start-end-radius:var(--brand-borderRadius-large)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-end___kmFTW img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-end___kmFTW picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-end___kmFTW video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--position-block-end-inline-end___kmFTW [data-video-player-container]{border-radius:0;border-start-start-radius:var(--brand-borderRadius-large)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--padding-all___M94vb img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--padding-all___M94vb picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--padding-all___M94vb video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--padding-all___M94vb [data-video-player-container]{border-radius:var(--brand-borderRadius-large)}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--fill-media___psmFL.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--fill-media___psmFL.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--fill-media___psmFL.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--fill-media___psmFL.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK [data-video-player-container]{-o-object-fit:cover;object-fit:cover;width:100%;max-width:none;height:100%}.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK [data-video-player-container],.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK img:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK picture:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK video:not(.Primer_Brand__river-shared-module__does-not-exist____jjTp),.Primer_Brand__river-shared-module__River--variant-gridline___mq5R1 .Primer_Brand__river-shared-module__River__visual___kjFE2.Primer_Brand__river-shared-module__River__visual--rounded___x1iTx.Primer_Brand__river-shared-module__River__visual--padding-none___th1qK [data-video-player-container]{border-radius:0}.Primer_Brand__river-shared-module__RiverBreakout___VNW5e{gap:var(--brand-RiverBreakout-spacing-inner);flex-direction:column;padding-block-start:var(--brand-River-spacing-outerBlock);padding-block-end:var(--brand-River-spacing-outerBlock);display:flex}.Primer_Brand__river-shared-module__RiverBreakout___VNW5e .Primer_Brand__river-shared-module__River__text___TQQhU{max-width:37.5rem;color:var(--brand-color-text-default);font-size:var(--brand-text-size-500);font-weight:var(--brand-heading-weight-500);letter-spacing:var(--brand-heading-letterSpacing-500);line-height:var(--brand-text-lineHeight-500)}.Primer_Brand__river-shared-module__RiverBreakout--muted___k_sJO .Primer_Brand__river-shared-module__River__text___TQQhU{color:var(--brand-color-text-muted)}.Primer_Brand__river-shared-module__RiverBreakout___VNW5e .Primer_Brand__river-shared-module__River__text___TQQhU em,.Primer_Brand__river-shared-module__RiverBreakout___VNW5e .Primer_Brand__river-shared-module__River__text___TQQhU b{color:var(--brand-color-text-default);font-style:normal;font-weight:inherit}.Primer_Brand__river-shared-module__RiverBreakout__hiddenHeading___axLfo{clip:rect(1px, 1px, 1px, 1px);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.Primer_Brand__river-shared-module__RiverBreakout___VNW5e .Primer_Brand__river-shared-module__River__call-to-action___yeIFh{padding-block-start:var(--base-size-12)}@media screen and (width>=48rem){.Primer_Brand__river-shared-module__RiverBreakout___VNW5e .Primer_Brand__river-shared-module__River__content___p4EdY{grid-gap:var(--brand-River-spacing-inner);gap:var(--brand-River-spacing-inner);grid-row-gap:var(--brand-River-spacing-innerY);row-gap:var(--brand-River-spacing-innerY);grid-template-columns:5fr 3fr;grid-template-areas:"text trailingComponent""cta trailingComponent";grid-auto-rows:auto 1fr;display:grid}.Primer_Brand__river-shared-module__RiverBreakout___VNW5e .Primer_Brand__river-shared-module__River__text___TQQhU{grid-area:text}.Primer_Brand__river-shared-module__RiverBreakout___VNW5e .Primer_Brand__river-shared-module__River__call-to-action___yeIFh{grid-area:cta;margin-block:0}.Primer_Brand__river-shared-module__RiverBreakout___VNW5e .Primer_Brand__river-shared-module__River__trailingComponent___bjdxv{grid-area:trailingComponent;justify-self:flex-end;margin-block-start:0}}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX{padding-inline:var(--brand-RiverBreakout-variant-gridline-spacing-outerInline);gap:0;padding-block-start:var(--brand-RiverBreakout-variant-gridline-spacing-outerBlock);padding-block-end:0;position:relative}@media screen and (width<=63.24rem){.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX{width:100%;max-width:38.625rem;margin-inline:auto}}@media screen and (width>=618px){.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}@media screen and (width>=63.25rem){.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX{border-inline:none}}@media screen and (width>=1300px){.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__visual___kjFE2{overflow:hidden}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__visual--rounded___x1iTx{border-radius:var(--brand-borderRadius-large)}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__content___p4EdY{gap:var(--brand-RiverBreakout-variant-gridline-spacing-contentGap);padding-block-start:var(--brand-RiverBreakout-variant-gridline-spacing-outerBlock);padding-block-end:var(--brand-RiverBreakout-variant-gridline-spacing-outerBlockEnd)}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__call-to-action___yeIFh{padding-block-start:var(--base-size-12)}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__trailingComponent--divider___q9hCY{border-top:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);margin-inline:calc(-1 * var(--brand-RiverBreakout-variant-gridline-spacing-outerInline));padding-block-start:var(--brand-RiverBreakout-variant-gridline-spacing-outerBlock);padding-block-end:var(--brand-RiverBreakout-variant-gridline-spacing-outerBlockEnd);padding-inline:var(--brand-RiverBreakout-variant-gridline-spacing-outerInline)}@media screen and (width>=48rem) and (width<=63.24rem){.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__content___p4EdY{flex-direction:column;display:flex}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__trailingComponent___bjdxv{margin-block-start:0}}@media screen and (width>=63.25rem){.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX:has(.Primer_Brand__river-shared-module__River__trailingComponent--divider___q9hCY){padding-block-end:0}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__content___p4EdY{grid-template-columns:1fr 31rem;grid-template-areas:"text trailingComponent""cta trailingComponent";grid-template-columns:1fr var(--brand-RiverBreakout-gridline-trailing-width,31rem);grid-gap:var(--brand-RiverBreakout-variant-gridline-spacing-contentGap);gap:var(--brand-RiverBreakout-variant-gridline-spacing-contentGap);flex:1;grid-template-rows:auto 1fr;padding-block:0;display:grid}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__text___TQQhU{grid-area:text;padding-block-start:var(--brand-RiverBreakout-variant-gridline-spacing-outerBlock)}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__call-to-action___yeIFh{grid-area:cta;margin-block:0;padding-block-end:var(--brand-RiverBreakout-variant-gridline-spacing-outerBlockEnd)}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__trailingComponent___bjdxv{grid-area:trailingComponent;margin-block-start:0}.Primer_Brand__river-shared-module__RiverBreakout--variant-gridline___jHgqX .Primer_Brand__river-shared-module__River__trailingComponent--divider___q9hCY{border-top:none;border-left:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-inline:0;padding-block:0;padding-inline-start:var(--brand-RiverBreakout-variant-gridline-spacing-outerInline);align-self:stretch;margin-block:0;margin-inline:0;padding-block-start:var(--brand-RiverBreakout-variant-gridline-spacing-outerBlock);padding-block-end:var(--brand-RiverBreakout-variant-gridline-spacing-outerBlockEnd)}}:root,[data-color-mode=light]{--brand-Accordion-toggle-color-start:var(--brand-color-accent-primary);--brand-Accordion-toggle-color-end:var(--brand-color-accent-primary);--brand-Accordion-toggle-color-default:var(--brand-color-text-default);--brand-Accordion-toggle-color-blue:var(--base-color-scale-blue-5);--brand-Accordion-toggle-color-blue-purple-start:var(--base-color-scale-blue-5);--brand-Accordion-toggle-color-blue-purple-end:var(--base-color-scale-purple-5);--brand-Accordion-toggle-color-coral:var(--base-color-scale-coral-5);--brand-Accordion-toggle-color-green:var(--base-color-scale-green-6);--brand-Accordion-toggle-color-green-blue-start:var(--base-color-scale-green-6);--brand-Accordion-toggle-color-green-blue-end:var(--base-color-scale-blue-5);--brand-Accordion-toggle-color-gray:var(--base-color-scale-gray-5);--brand-Accordion-toggle-color-indigo:var(--base-color-scale-indigo-5);--brand-Accordion-toggle-color-lemon:var(--base-color-scale-lemon-5);--brand-Accordion-toggle-color-lime:var(--base-color-scale-lime-5);--brand-Accordion-toggle-color-orange:var(--base-color-scale-orange-5);--brand-Accordion-toggle-color-pink:var(--base-color-scale-pink-5);--brand-Accordion-toggle-color-pink-blue-start:var(--base-color-scale-pink-5);--brand-Accordion-toggle-color-pink-blue-end:var(--base-color-scale-blue-5);--brand-Accordion-toggle-color-purple:var(--base-color-scale-purple-5);--brand-Accordion-toggle-color-purple-red-start:var(--base-color-scale-purple-5);--brand-Accordion-toggle-color-purple-red-end:var(--base-color-scale-red-5);--brand-Accordion-toggle-color-red:var(--base-color-scale-red-5);--brand-Accordion-toggle-color-red-orange-start:var(--base-color-scale-red-5);--brand-Accordion-toggle-color-red-orange-end:var(--base-color-scale-orange-5);--brand-Accordion-toggle-color-teal:var(--base-color-scale-teal-5);--brand-Accordion-toggle-color-yellow:var(--base-color-scale-yellow-5);--brand-Accordion-border-color-default:var(--brand-color-border-muted);--brand-Accordion-indicator-idle:var(--base-color-scale-gray-3);--brand-Accordion-indicator-hover:var(--base-color-scale-gray-5);--brand-Accordion-indicator-active:var(--brand-color-accent-primary)}[data-color-mode=dark]{--brand-Accordion-toggle-color-start:var(--brand-color-accent-primary);--brand-Accordion-toggle-color-end:var(--brand-color-accent-primary);--brand-Accordion-toggle-color-default:var(--brand-color-text-default);--brand-Accordion-toggle-color-blue:var(--base-color-scale-blue-2);--brand-Accordion-toggle-color-blue-purple-start:var(--base-color-scale-blue-2);--brand-Accordion-toggle-color-blue-purple-end:var(--base-color-scale-purple-2);--brand-Accordion-toggle-color-coral:var(--base-color-scale-coral-2);--brand-Accordion-toggle-color-green:var(--base-color-scale-green-2);--brand-Accordion-toggle-color-green-blue-start:var(--base-color-scale-green-2);--brand-Accordion-toggle-color-green-blue-end:var(--base-color-scale-blue-2);--brand-Accordion-toggle-color-gray:var(--base-color-scale-gray-2);--brand-Accordion-toggle-color-indigo:var(--base-color-scale-indigo-2);--brand-Accordion-toggle-color-lemon:var(--base-color-scale-lemon-2);--brand-Accordion-toggle-color-lime:var(--base-color-scale-lime-2);--brand-Accordion-toggle-color-orange:var(--base-color-scale-orange-2);--brand-Accordion-toggle-color-pink:var(--base-color-scale-pink-2);--brand-Accordion-toggle-color-pink-blue-start:var(--base-color-scale-pink-2);--brand-Accordion-toggle-color-pink-blue-end:var(--base-color-scale-blue-2);--brand-Accordion-toggle-color-purple:var(--base-color-scale-purple-2);--brand-Accordion-toggle-color-purple-red-start:var(--base-color-scale-purple-2);--brand-Accordion-toggle-color-purple-red-end:var(--base-color-scale-red-2);--brand-Accordion-toggle-color-red:var(--base-color-scale-red-2);--brand-Accordion-toggle-color-red-orange-start:var(--base-color-scale-red-2);--brand-Accordion-toggle-color-red-orange-end:var(--base-color-scale-orange-2);--brand-Accordion-toggle-color-teal:var(--base-color-scale-teal-2);--brand-Accordion-toggle-color-yellow:var(--base-color-scale-yellow-2);--brand-Accordion-border-color-default:var(--brand-color-border-muted);--brand-Accordion-indicator-idle:var(--base-color-scale-gray-7);--brand-Accordion-indicator-hover:var(--base-color-scale-gray-5);--brand-Accordion-indicator-active:var(--brand-color-accent-primary)}.Primer_Brand__Accordion-module__Accordion___M_LPt{--brand-Accordion-content-height:0px;box-sizing:border-box;position:relative}.Primer_Brand__Accordion-module__Accordion--disableAnimation___kmWJk:after,.Primer_Brand__Accordion-module__Accordion--disableAnimation___kmWJk .Primer_Brand__Accordion-module__Accordion__summary-toggleIcon___IdMKy,.Primer_Brand__Accordion-module__Accordion--disableAnimation___kmWJk>.Primer_Brand__Accordion-module__Accordion__content___wMZGe,.Primer_Brand__Accordion-module__Accordion--disableAnimation___kmWJk>.Primer_Brand__Accordion-module__Accordion__content___wMZGe>.Primer_Brand__Accordion-module__Accordion__content-inner___AZfFA{transition:none}.Primer_Brand__Accordion-module__Accordion--default___wLsHR{border-bottom:var(--brand-borderWidth-thin) solid var(--brand-Accordion-border-color-default)}.Primer_Brand__Accordion-module__Accordion--emphasis___j9wgA:not(.Primer_Brand__Accordion-module__Accordion___M_LPt .Primer_Brand__Accordion-module__Accordion___M_LPt)>.Primer_Brand__Accordion-module__Accordion__summary___NUIYc{background-color:var(--brand-color-canvas-subtle);border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-block:var(--base-size-20);padding-inline:var(--base-size-20);justify-content:flex-start;align-items:center;gap:0}.Primer_Brand__Accordion-module__Accordion__summary--emphasis___FqzWk:before{content:"";width:calc(var(--base-size-8) - 1px);height:var(--base-size-12);background-color:var(--brand-Accordion-indicator-idle);flex-shrink:0;margin-inline-end:var(--base-size-12);display:block}.Primer_Brand__Accordion-module__Accordion__summary--emphasis___FqzWk:hover:before{background-color:var(--brand-Accordion-indicator-hover)}details[open]>.Primer_Brand__Accordion-module__Accordion__summary--emphasis___FqzWk:before{background-color:var(--brand-Accordion-indicator-active)}.Primer_Brand__Accordion-module__Accordion__summary--emphasis___FqzWk h3,.Primer_Brand__Accordion-module__Accordion__summary--emphasis___FqzWk h4,.Primer_Brand__Accordion-module__Accordion__summary--emphasis___FqzWk h5,.Primer_Brand__Accordion-module__Accordion__summary--emphasis___FqzWk h6{font-family:var(--brand-fontStack-monospace);font-size:var(--brand-text-size-100);font-weight:var(--brand-text-weight-500);line-height:var(--brand-text-lineHeight-100);letter-spacing:.15px;text-transform:uppercase}.Primer_Brand__Accordion-module__Accordion--emphasis___j9wgA:not(.Primer_Brand__Accordion-module__Accordion___M_LPt .Primer_Brand__Accordion-module__Accordion___M_LPt)+.Primer_Brand__Accordion-module__Accordion--emphasis___j9wgA:not(.Primer_Brand__Accordion-module__Accordion___M_LPt .Primer_Brand__Accordion-module__Accordion___M_LPt)>.Primer_Brand__Accordion-module__Accordion__summary___NUIYc{border-block-start:none}.Primer_Brand__Accordion-module__Accordion--emphasis___j9wgA:not(.Primer_Brand__Accordion-module__Accordion___M_LPt .Primer_Brand__Accordion-module__Accordion___M_LPt)>.Primer_Brand__Accordion-module__Accordion__content___wMZGe{border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__Accordion-module__Accordion--emphasis___j9wgA:not(.Primer_Brand__Accordion-module__Accordion___M_LPt .Primer_Brand__Accordion-module__Accordion___M_LPt)>.Primer_Brand__Accordion-module__Accordion__content___wMZGe>.Primer_Brand__Accordion-module__Accordion__content-inner___AZfFA{padding-block-start:var(--base-size-12);padding-inline:var(--base-size-20)}.Primer_Brand__Accordion-module__Accordion--emphasis___j9wgA:not(.Primer_Brand__Accordion-module__Accordion___M_LPt .Primer_Brand__Accordion-module__Accordion___M_LPt)>.Primer_Brand__Accordion-module__Accordion__content___wMZGe>.Primer_Brand__Accordion-module__Accordion__content-inner___AZfFA:after{block-size:var(--base-size-12)}.Primer_Brand__Accordion-module__Accordion--emphasis___j9wgA .Primer_Brand__Accordion-module__Accordion--default___wLsHR:last-child{border-bottom:none}.Primer_Brand__Accordion-module__Accordion--emphasis___j9wgA .Primer_Brand__Accordion-module__Accordion--default___wLsHR:last-child:after{display:none}.Primer_Brand__Accordion-module__Accordion--default___wLsHR:after{content:"";background-color:var(--brand-Accordion-border-color-default);height:var(--brand-borderWidth-thin);transition:background-color var(--brand-animation-duration-fast) var(--brand-animation-easing-glide), transform var(--brand-animation-duration-fast) var(--brand-animation-easing-glide);transform-origin:50% 100%;width:100%;position:absolute;bottom:0;left:0;transform:scaleY(0)}.Primer_Brand__Accordion-module__Accordion--default___wLsHR:hover:after,details[open].Primer_Brand__Accordion-module__Accordion--default___wLsHR:after{background-color:var(--brand-color-accent-primary);transform:scaleY(1)}.Primer_Brand__Accordion-module__Accordion__summary___NUIYc{cursor:pointer;padding:var(--base-size-24) 0;justify-content:space-between;align-items:center;display:flex;position:relative}.Primer_Brand__Accordion-module__Accordion__summary___NUIYc::-webkit-details-marker{display:none}.Primer_Brand__Accordion-module__Accordion__summary___NUIYc:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus)}details[open].Primer_Brand__Accordion-module__Accordion___M_LPt:has(>summary:focus-visible){outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}details[open].Primer_Brand__Accordion-module__Accordion___M_LPt>.Primer_Brand__Accordion-module__Accordion__summary___NUIYc:focus-visible{outline:none}.Primer_Brand__Accordion-module__Accordion__summary-toggle___Hw7fW{cursor:pointer;height:var(--base-size-24);width:var(--base-size-24);color:var(--brand-color-text-emphasized);justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.Primer_Brand__Accordion-module__Accordion__summary___NUIYc:not(.Primer_Brand__Accordion-module__Accordion__summary--reversed-toggles___cpkAW) .Primer_Brand__Accordion-module__Accordion__summary-toggle___Hw7fW{right:0}.Primer_Brand__Accordion-module__Accordion__summary--emphasis___FqzWk .Primer_Brand__Accordion-module__Accordion__summary-toggle___Hw7fW{color:var(--brand-color-text-default);order:1;margin-inline-start:auto;position:static;transform:none}.Primer_Brand__Accordion-module__Accordion__summary--reversed-toggles___cpkAW .Primer_Brand__Accordion-module__Accordion__summary-toggle___Hw7fW{left:0}.Primer_Brand__Accordion-module__Accordion__summary--default___C4Jx_ .Primer_Brand__Accordion-module__Accordion__summary-toggle___Hw7fW{color:var(--brand-Accordion-toggle-color-start,var(--brand-color-text-emphasized))}.Primer_Brand__Accordion-module__Accordion__summary-toggleIcon___IdMKy{transform-origin:50%;transition:transform var(--brand-animation-duration-fast) var(--brand-animation-easing-glide)}details[open]>.Primer_Brand__Accordion-module__Accordion__summary___NUIYc .Primer_Brand__Accordion-module__Accordion__summary-toggleIcon___IdMKy{transform:rotate(-180deg)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-default___J06Ol{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-default)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-blue___BpPxQ{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-blue)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-blue-purple___R4Ta3{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-blue-purple-start)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-coral___T3Lvh{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-coral)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-green___GThPe{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-green)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-green-blue___PHnZc{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-green-blue-start)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-gray___gGQN8{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-gray)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-indigo___f5_9S{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-indigo)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-lemon___c5Gz6{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-lemon)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-lime___Tj0cg{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-lime)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-orange____Dby3{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-orange)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-pink___BXVJc{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-pink)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-pink-blue___NVPxr{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-pink-blue-start)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-purple___whcwP{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-purple)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-purple-red___l3gUG{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-purple-red-start)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-red___txXJX{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-red)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-red-orange___ZODhv{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-red-orange-start)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-teal___h2drb{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-teal)}.Primer_Brand__Accordion-module__Accordion__summary--toggleColor-yellow___WGTG3{--brand-Accordion-toggle-color-start:var(--brand-Accordion-toggle-color-yellow)}.Primer_Brand__Accordion-module__Accordion__summary--default___C4Jx_:not(.Primer_Brand__Accordion-module__Accordion__summary--reversed-toggles___cpkAW){padding-inline-end:var(--base-size-48)}.Primer_Brand__Accordion-module__Accordion__summary--reversed-toggles___cpkAW{padding-inline-start:var(--base-size-48)}.Primer_Brand__Accordion-module__Accordion__content___wMZGe,.Primer_Brand__Accordion-module__Accordion__content___wMZGe p,.Primer_Brand__Accordion-module__Accordion__content___wMZGe span:not(.Primer_Brand__Accordion-module__Accordion__summary-toggle___Hw7fW),.Primer_Brand__Accordion-module__Accordion__content___wMZGe ul,.Primer_Brand__Accordion-module__Accordion__content___wMZGe ol{color:var(--brand-color-text-muted);font-family:var(--brand-fontStack-sansSerif);font-weight:var(--brand-text-weight-200);font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200)}.Primer_Brand__Accordion-module__Accordion__content___wMZGe{max-height:0;transition:max-height var(--brand-animation-duration-fast) var(--brand-animation-easing-glide);position:relative;overflow:hidden}.Primer_Brand__Accordion-module__Accordion__content-inner___AZfFA{opacity:0;transition:opacity var(--brand-animation-duration-fast) var(--brand-animation-easing-glide)}.Primer_Brand__Accordion-module__Accordion--default___wLsHR>.Primer_Brand__Accordion-module__Accordion__content___wMZGe{top:calc(var(--base-size-2) - var(--base-size-24))}.Primer_Brand__Accordion-module__Accordion__summary--default___C4Jx_+.Primer_Brand__Accordion-module__Accordion__content___wMZGe>.Primer_Brand__Accordion-module__Accordion__content-inner___AZfFA:before{content:"";block-size:var(--base-size-12);display:block}.Primer_Brand__Accordion-module__Accordion__content-inner___AZfFA:after{content:"";display:block}[data-color-mode=dark] .Primer_Brand__Accordion-module__Accordion__content___wMZGe{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:auto}.Primer_Brand__Accordion-module__Accordion__content___wMZGe p:not(:first-child){margin-block-start:var(--base-size-16)}.Primer_Brand__Accordion-module__Accordion__content___wMZGe a{color:var(--brand-InlineLink-color-rest);-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration-color:var(--brand-InlineLink-color-rest);text-decoration-color:var(--brand-InlineLink-color-rest);text-decoration-thickness:var(--brand-borderWidth-thin);text-underline-position:under;transition:var(--brand-InlineLink-transition-timing) text-decoration;position:relative}.Primer_Brand__Accordion-module__Accordion__content___wMZGe a:hover{text-decoration-thickness:var(--brand-borderWidth-thick)}.Primer_Brand__Accordion-module__Accordion__content___wMZGe a,.Primer_Brand__Accordion-module__Accordion__content___wMZGe a>span{font-weight:inherit;color:var(--brand-InlineLink-color-rest)}.Primer_Brand__Accordion-module__Accordion__content___wMZGe a:active,.Primer_Brand__Accordion-module__Accordion__content___wMZGe a:active>span{color:var(--brand-InlineLink-color-pressed)}details[open]>.Primer_Brand__Accordion-module__Accordion__content___wMZGe{max-height:var(--brand-Accordion-content-height);z-index:0;position:relative}details[open].Primer_Brand__Accordion-module__Accordion--disableAnimation___kmWJk>.Primer_Brand__Accordion-module__Accordion__content___wMZGe{max-height:none}details[open]>.Primer_Brand__Accordion-module__Accordion__content___wMZGe>.Primer_Brand__Accordion-module__Accordion__content-inner___AZfFA{opacity:1}details.Primer_Brand__Accordion-module__Accordion--closing___fnh8x>.Primer_Brand__Accordion-module__Accordion__content___wMZGe{max-height:0}details.Primer_Brand__Accordion-module__Accordion--closing___fnh8x>.Primer_Brand__Accordion-module__Accordion__content___wMZGe>.Primer_Brand__Accordion-module__Accordion__content-inner___AZfFA{opacity:0}.Primer_Brand__Accordion-module__Accordion__summary--default___C4Jx_+.Primer_Brand__Accordion-module__Accordion__content___wMZGe,details[open]>.Primer_Brand__Accordion-module__Accordion__summary--default___C4Jx_+.Primer_Brand__Accordion-module__Accordion__content___wMZGe,details.Primer_Brand__Accordion-module__Accordion--closing___fnh8x>.Primer_Brand__Accordion-module__Accordion__summary--default___C4Jx_+.Primer_Brand__Accordion-module__Accordion__content___wMZGe{margin-block-start:0}details.Primer_Brand__Accordion-module__Accordion--closing___fnh8x>.Primer_Brand__Accordion-module__Accordion__summary___NUIYc .Primer_Brand__Accordion-module__Accordion__summary-toggleIcon___IdMKy{transform:rotate(0)}details[open]>.Primer_Brand__Accordion-module__Accordion__summary--reversed-toggles___cpkAW+.Primer_Brand__Accordion-module__Accordion__content___wMZGe{padding-inline-start:var(--base-size-48)}@media screen and (width>=48rem){.Primer_Brand__Accordion-module__Accordion__summary___NUIYc{gap:var(--base-size-40)}}@media (prefers-reduced-motion:reduce){.Primer_Brand__Accordion-module__Accordion___M_LPt,.Primer_Brand__Accordion-module__Accordion___M_LPt:before,.Primer_Brand__Accordion-module__Accordion___M_LPt:after,.Primer_Brand__Accordion-module__Accordion___M_LPt *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__Icon-module__Icon___bf2xY{box-sizing:content-box;padding:0}.Primer_Brand__Icon-module__Icon___bf2xY>svg{display:block}.Primer_Brand__Icon-module__Icon--size-20___bxF8U{width:var(--base-size-20);height:var(--base-size-20)}.Primer_Brand__Icon-module__Icon--size-24___yTJML{width:var(--base-size-24);height:var(--base-size-24)}.Primer_Brand__Icon-module__Icon--size-28___tnGmL{width:var(--base-size-28);height:var(--base-size-28)}.Primer_Brand__Icon-module__Icon--size-32___Rhkw8{width:var(--base-size-32);height:var(--base-size-32)}.Primer_Brand__Icon-module__Icon--size-36___F4Mcj{width:var(--base-size-36);height:var(--base-size-36)}.Primer_Brand__Icon-module__Icon--size-40___cXhgu{width:var(--base-size-40);height:var(--base-size-40)}.Primer_Brand__Icon-module__Icon--size-44___vwox2{width:var(--base-size-44);height:var(--base-size-44)}.Primer_Brand__Icon-module__Icon--background___d6RdL{padding:var(--base-size-12);border-radius:var(--base-size-12)}.Primer_Brand__Icon-module__Icon--color-default___z2cYk{color:var(--brand-Icon-color-default)}.Primer_Brand__Icon-module__Icon--background-color-default___h6tiH{background-color:var(--brand-Icon-background-default)}.Primer_Brand__Icon-module__Icon--color-blue___Wne9C{color:var(--brand-Icon-color-blue)}.Primer_Brand__Icon-module__Icon--background-color-blue___zsNDL{background-color:var(--brand-Icon-background-blue)}.Primer_Brand__Icon-module__Icon--color-coral___vdwGj{color:var(--brand-Icon-color-coral)}.Primer_Brand__Icon-module__Icon--background-color-coral___FKaij{background-color:var(--brand-Icon-background-coral)}.Primer_Brand__Icon-module__Icon--color-green___OxAZK{color:var(--brand-Icon-color-green)}.Primer_Brand__Icon-module__Icon--background-color-green___UUQt1{background-color:var(--brand-Icon-background-green)}.Primer_Brand__Icon-module__Icon--color-gray___tVTnd{color:var(--brand-Icon-color-gray)}.Primer_Brand__Icon-module__Icon--background-color-gray___dpdtX{background-color:var(--brand-Icon-background-gray)}.Primer_Brand__Icon-module__Icon--color-indigo___OrE5M{color:var(--brand-Icon-color-indigo)}.Primer_Brand__Icon-module__Icon--background-color-indigo___TIqOT{background-color:var(--brand-Icon-background-indigo)}.Primer_Brand__Icon-module__Icon--color-lemon___Ftx9H{color:var(--brand-Icon-color-lemon)}.Primer_Brand__Icon-module__Icon--background-color-lemon___BhpS6{background-color:var(--brand-Icon-background-lemon)}.Primer_Brand__Icon-module__Icon--color-lime___mQVWo{color:var(--brand-Icon-color-lime)}.Primer_Brand__Icon-module__Icon--background-color-lime___K4TMA{background-color:var(--brand-Icon-background-lime)}.Primer_Brand__Icon-module__Icon--color-orange___CIjjp{color:var(--brand-Icon-color-orange)}.Primer_Brand__Icon-module__Icon--background-color-orange___z52U7{background-color:var(--brand-Icon-background-orange)}.Primer_Brand__Icon-module__Icon--color-pink___cS_v5{color:var(--brand-Icon-color-pink)}.Primer_Brand__Icon-module__Icon--background-color-pink___cy5Kg{background-color:var(--brand-Icon-background-pink)}.Primer_Brand__Icon-module__Icon--color-purple___d05Sh{color:var(--brand-Icon-color-purple)}.Primer_Brand__Icon-module__Icon--background-color-purple___JmhnQ{background-color:var(--brand-Icon-background-purple)}.Primer_Brand__Icon-module__Icon--color-red___K_2c0{color:var(--brand-Icon-color-red)}.Primer_Brand__Icon-module__Icon--background-color-red___qoirP{background-color:var(--brand-Icon-background-red)}.Primer_Brand__Icon-module__Icon--color-teal___fix20{color:var(--brand-Icon-color-teal)}.Primer_Brand__Icon-module__Icon--background-color-teal___a7cyd{background-color:var(--brand-Icon-background-teal)}.Primer_Brand__Icon-module__Icon--color-yellow___Z1juk{color:var(--brand-Icon-color-yellow)}.Primer_Brand__Icon-module__Icon--background-color-yellow___Yhfck{background-color:var(--brand-Icon-background-yellow)}:root{--brand-Icon-color-yellow:var(--base-color-scale-yellow-5);--brand-Icon-color-teal:var(--base-color-scale-teal-5);--brand-Icon-color-red:var(--base-color-scale-red-5);--brand-Icon-color-purple:var(--base-color-scale-purple-5);--brand-Icon-color-pink:var(--base-color-scale-pink-5);--brand-Icon-color-orange:var(--base-color-scale-orange-5);--brand-Icon-color-lime:var(--base-color-scale-lime-5);--brand-Icon-color-lemon:var(--base-color-scale-lemon-5);--brand-Icon-color-indigo:var(--base-color-scale-indigo-5);--brand-Icon-color-gray:var(--base-color-scale-gray-6);--brand-Icon-color-green:var(--base-color-scale-green-6);--brand-Icon-color-coral:var(--base-color-scale-coral-5);--brand-Icon-color-blue:var(--base-color-scale-blue-5);--brand-Icon-color-default:var(--brand-Icon-color-green);--brand-Icon-background-yellow:var(--base-color-scale-yellow-0);--brand-Icon-background-teal:var(--base-color-scale-teal-0);--brand-Icon-background-red:var(--base-color-scale-red-0);--brand-Icon-background-purple:var(--base-color-scale-purple-0);--brand-Icon-background-pink:var(--base-color-scale-pink-0);--brand-Icon-background-orange:var(--base-color-scale-orange-0);--brand-Icon-background-lime:var(--base-color-scale-lime-0);--brand-Icon-background-lemon:var(--base-color-scale-lemon-0);--brand-Icon-background-indigo:var(--base-color-scale-indigo-0);--brand-Icon-background-gray:var(--base-color-scale-gray-0);--brand-Icon-background-green:var(--base-color-scale-green-0);--brand-Icon-background-coral:var(--base-color-scale-coral-0);--brand-Icon-background-blue:var(--base-color-scale-blue-0);--brand-Icon-background-default:var(--brand-Icon-background-green)}:root,[data-color-mode=light]{--brand-Icon-background-default:var(--brand-Icon-background-green);--brand-Icon-background-blue:var(--base-color-scale-blue-0);--brand-Icon-background-coral:var(--base-color-scale-coral-0);--brand-Icon-background-green:var(--base-color-scale-green-0);--brand-Icon-background-gray:var(--base-color-scale-gray-0);--brand-Icon-background-indigo:var(--base-color-scale-indigo-0);--brand-Icon-background-lemon:var(--base-color-scale-lemon-0);--brand-Icon-background-lime:var(--base-color-scale-lime-0);--brand-Icon-background-orange:var(--base-color-scale-orange-0);--brand-Icon-background-pink:var(--base-color-scale-pink-0);--brand-Icon-background-purple:var(--base-color-scale-purple-0);--brand-Icon-background-red:var(--base-color-scale-red-0);--brand-Icon-background-teal:var(--base-color-scale-teal-0);--brand-Icon-background-yellow:var(--base-color-scale-yellow-0);--brand-Icon-color-default:var(--brand-Icon-color-green);--brand-Icon-color-blue:var(--base-color-scale-blue-5);--brand-Icon-color-coral:var(--base-color-scale-coral-5);--brand-Icon-color-green:var(--base-color-scale-green-6);--brand-Icon-color-gray:var(--base-color-scale-gray-6);--brand-Icon-color-indigo:var(--base-color-scale-indigo-5);--brand-Icon-color-lemon:var(--base-color-scale-lemon-5);--brand-Icon-color-lime:var(--base-color-scale-lime-5);--brand-Icon-color-orange:var(--base-color-scale-orange-5);--brand-Icon-color-pink:var(--base-color-scale-pink-5);--brand-Icon-color-purple:var(--base-color-scale-purple-5);--brand-Icon-color-red:var(--base-color-scale-red-5);--brand-Icon-color-teal:var(--base-color-scale-teal-5);--brand-Icon-color-yellow:var(--base-color-scale-yellow-5)}[data-color-mode=dark]{--brand-Icon-background-default:var(--brand-Icon-background-green);--brand-Icon-background-blue:var(--base-color-scale-blue-8);--brand-Icon-background-coral:var(--base-color-scale-coral-8);--brand-Icon-background-green:var(--base-color-scale-green-8);--brand-Icon-background-gray:var(--base-color-scale-gray-6);--brand-Icon-background-indigo:var(--base-color-scale-indigo-8);--brand-Icon-background-lemon:var(--base-color-scale-lemon-8);--brand-Icon-background-lime:var(--base-color-scale-lime-8);--brand-Icon-background-orange:var(--base-color-scale-orange-8);--brand-Icon-background-pink:var(--base-color-scale-pink-8);--brand-Icon-background-purple:var(--base-color-scale-purple-8);--brand-Icon-background-red:var(--base-color-scale-red-8);--brand-Icon-background-teal:var(--base-color-scale-teal-8);--brand-Icon-background-yellow:var(--base-color-scale-yellow-8);--brand-Icon-color-default:var(--brand-Icon-color-green);--brand-Icon-color-blue:var(--base-color-scale-blue-2);--brand-Icon-color-coral:var(--base-color-scale-coral-2);--brand-Icon-color-green:var(--base-color-scale-green-2);--brand-Icon-color-gray:var(--base-color-scale-gray-2);--brand-Icon-color-indigo:var(--base-color-scale-indigo-2);--brand-Icon-color-lemon:var(--base-color-scale-lemon-2);--brand-Icon-color-lime:var(--base-color-scale-lime-2);--brand-Icon-color-orange:var(--base-color-scale-orange-2);--brand-Icon-color-pink:var(--base-color-scale-pink-2);--brand-Icon-color-purple:var(--base-color-scale-purple-2);--brand-Icon-color-red:var(--base-color-scale-red-2);--brand-Icon-color-teal:var(--base-color-scale-teal-2);--brand-Icon-color-yellow:var(--base-color-scale-yellow-2)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs___X8Dk9{--river-breakout-tabs-columns:1}@media screen and (width<=63.24rem){.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs___X8Dk9{width:100%;max-width:38.625rem;margin-inline:auto}}@media screen and (width>=80rem){.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs___X8Dk9{--brand-RiverBreakout-variant-gridline-spacing-outerInline:var(--base-size-60);--brand-RiverBreakout-variant-gridline-spacing-outerBlock:var(--base-size-60)}}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordion___sGtKW{flex-direction:column;display:flex}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__wideTabList___xlU3i{flex-direction:column;padding-block-end:var(--base-size-80);display:flex}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisuals___hDA4K{border-radius:var(--brand-borderRadius-small);order:1;width:100%;margin-block-end:var(--base-size-36);position:relative;overflow:hidden}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionSharedVisuals___yL4Ev{width:100%;margin-block-end:var(--base-size-16);position:relative}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisualPanel___Jkko_{z-index:1;min-width:0;position:relative}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__backgroundVisual___rywqw{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionSharedVisual___K1OyU{z-index:1;position:relative}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--has-background-visual___dx2xk .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisualPanel___Jkko_,.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--has-background-visual___dx2xk .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionSharedVisual___K1OyU{padding:var(--base-size-32)}@media screen and (width>=63.25rem){.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--has-background-visual___dx2xk .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisualPanel___Jkko_,.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--has-background-visual___dx2xk .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionSharedVisual___K1OyU{padding:var(--base-size-64)}}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--image-position-block-end___qTggg .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisualPanel___Jkko_,.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--image-position-block-end___qTggg .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionSharedVisual___K1OyU{padding-block-end:0}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--has-background-visual___dx2xk .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisual___ZpMy9:has(>[data-video-player-container]){border-radius:0}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--has-background-visual___dx2xk .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__visual--rounded___herZ2>[data-video-player-container]{border-radius:var(--brand-borderRadius-medium);overflow:hidden}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--has-background-visual___dx2xk.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--image-position-block-end___qTggg .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__visual--rounded___herZ2>[data-video-player-container]{border-radius:var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--background-visual-full-bleed___EsvXd .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisuals___hDA4K{border-radius:0;overflow:visible}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs--background-visual-full-bleed___EsvXd .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__backgroundVisual___rywqw{inset-block-start:calc(-1 * var(--brand-RiverBreakout-variant-gridline-spacing-outerBlock));inset-inline:calc(-1 * var(--brand-RiverBreakout-variant-gridline-spacing-outerInline))}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisual___ZpMy9 img,.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisual___ZpMy9 picture,.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisual___ZpMy9 video,.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionSharedVisual___K1OyU img,.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionSharedVisual___K1OyU picture,.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionSharedVisual___K1OyU video{max-width:100%;display:block}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs___X8Dk9 [class*=River__visual--rounded]{border-radius:var(--brand-borderRadius-small)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__sharedVisualPanel___Jkko_[hidden]{display:none}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__tablist___f5FNH{grid-template-columns:repeat(var(--river-breakout-tabs-columns), minmax(0, 1fr));grid-gap:var(--base-size-40);gap:var(--base-size-40);order:2;display:grid}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__wideTabListActions___iCX6R{grid-template-columns:repeat(var(--river-breakout-tabs-columns), minmax(0, 1fr));grid-gap:var(--base-size-40);gap:var(--base-size-40);order:3;display:grid}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__item___SymTq{flex-direction:column;align-items:flex-start;min-width:0;display:flex;position:relative}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__item___SymTq:before{content:"";height:var(--brand-borderWidth-thin);transform-origin:50% 0;background-color:var(--brand-color-border-muted);transition:transform var(--brand-animation-duration-fast) ease, background-color var(--brand-animation-duration-fast) ease;position:absolute;inset-block-start:0;inset-inline:0;transform:scaleY(1)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__item--selected___dLXod:before{transform:translateY(calc(-1 * var(--brand-borderWidth-thin))) scaleY(2);background-color:var(--brand-color-accent-primary)}@media screen and (width>=63.25rem) and (hover:hover) and (pointer:fine){.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__item___SymTq:hover:before{transform:translateY(calc(-1 * var(--brand-borderWidth-thin))) scaleY(2);background-color:var(--brand-color-accent-primary)}}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__heading___HScg4{color:var(--brand-color-text-muted);transition:color var(--brand-animation-duration-fast) ease-in-out;margin:0}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__item--selected___dLXod .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__heading___HScg4{color:var(--brand-color-text-default)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__icon___Xr8op{justify-content:center;align-items:center;display:inline-flex}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__tab___tHZFA{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;outline:none;flex-direction:column;align-items:flex-start;padding-block-start:var(--base-size-28);padding-inline:0;display:flex}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__tab___tHZFA:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-4)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__tabHeading___cEwLt{margin:0}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__tab___tHZFA>*+.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__tabHeading___cEwLt{margin-block-start:var(--base-size-20)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__wideTabListContent___D9V9I{align-items:flex-start;gap:var(--base-size-12);flex-direction:column;margin-block-start:var(--base-size-12);display:flex}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__wideTabListAction___SaBmu{color:var(--brand-Link-color-accent);font-weight:var(--base-text-weight-medium);-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__wideTabListActionItem___q6pS2{margin-block-start:var(--base-size-12)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__content___LpEoz{align-items:flex-start;gap:var(--base-size-12);flex-direction:column;display:flex}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__link___zcQY5{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordion___sGtKW{padding-block-end:var(--base-size-40)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionContent___wykRr{align-items:flex-start;gap:var(--base-size-12);flex-direction:column;display:flex}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionContent___wykRr .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__link___zcQY5,.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionContent___wykRr .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__link___zcQY5>span{color:var(--brand-Link-color-accent);font-weight:var(--base-text-weight-medium)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionContent___wykRr .Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__link___zcQY5{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionItem___SyD2o{border-top:none}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionItem___SyD2o:after{display:none}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionItem___SyD2o:before{content:"";height:var(--brand-borderWidth-thin);transform-origin:50% 0;background-color:var(--brand-color-border-muted);transition:transform var(--brand-animation-duration-fast) ease, background-color var(--brand-animation-duration-fast) ease;position:absolute;inset-block-start:0;inset-inline:0;transform:scaleY(1)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionItem___SyD2o.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__item--selected___dLXod:before{transform:translateY(calc(-1 * var(--brand-borderWidth-thin))) scaleY(2);background-color:var(--brand-color-accent-primary)}@media (hover:hover) and (pointer:fine){.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionItem___SyD2o:hover:before{transform:translateY(calc(-1 * var(--brand-borderWidth-thin))) scaleY(2);background-color:var(--brand-color-accent-primary)}}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionHeading___RiuA9{color:var(--brand-color-text-default)}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionHeadingInner___vvOjI{align-items:flex-start;gap:var(--base-size-12);flex-direction:column;display:inline-flex}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionIcon___pslaZ{flex-shrink:0}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionLabel___gIy1N{align-items:center;display:inline-flex}.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs__accordionPanel___EqiKL{gap:var(--base-size-24);flex-direction:column;display:flex}@media screen and (width>=618px){.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs___X8Dk9{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}@media screen and (width>=63.25rem){.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs___X8Dk9{border-inline:none}}@media screen and (width>=1300px){.Primer_Brand__RiverBreakoutTabs-module__RiverBreakoutTabs___X8Dk9{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--ease:cubic-bezier(.22, .56, .23, .89);-webkit-font-smoothing:antialiased;--stackDistance:calc(var(--base-size-24) * -1);--visualMaxWidth:1032px;--visualMaxWidthUL:1032;--visualMaxHeight:min(690px, 60vh);--visualMaxHeightUL:690;--storyScrollPadding:min(32px, 5vw);position:relative}@media (height<=720px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--visualMaxHeight:55vh}}@media (height<=600px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--visualMaxHeight:50vh}}@media (height<=500px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--visualMaxHeight:40vh}}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__inner___V0daX{position:relative}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-cover___rCa_Y{width:100%;position:absolute;left:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__image___WmawN{z-index:10;border-radius:var(--brand-borderRadius-large);width:auto;margin-left:auto;margin-right:auto;display:block;position:relative}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll--enabled___EpqB5 .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__internal-river___eUmDR{grid-template-columns:1fr;gap:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll--enabled___EpqB5 .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__internal-river___eUmDR img,.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll--enabled___EpqB5 .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__internal-river___eUmDR video{display:none}@media (width<=542px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--topOffset:calc((100vh - min(664px, 60vh)) / 5)}}@media (width<=768px) and (height>=670px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--extraBottomSpacing:calc(-1 * (100vh - 100vw) / 5)}}@media (width>=542px) and (width<=1028px) and (height>=670px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--extraBottomSpacing:calc(-1 * (100vh - 100vw) / 3)}}@media (width>=542px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--scrollTextHeight:42vh}}@media (height<=520px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--scrollTextHeight:70vh}}@media (width>=1028px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--stackDistance:-30px}}@media (height<=800px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--stackDistance:-20px}}@media (height<=500px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--stackDistance:-15px}}@media screen and (width<=768px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{--topOffset:calc((100vh - min(664px, 60vh)) / 3);--availableWidth:calc(100vw - var(--storyScrollPadding) * 2);--relativeVisualHeight:calc(var(--visualMaxHeightUL) / var(--visualMaxWidthUL) * var(--availableWidth));--visualHeight:min(var(--visualMaxHeight), var(--relativeVisualHeight));--visualWidth:calc(var(--visualHeight) * var(--visualMaxWidthUL) / var(--visualMaxHeightUL));--scrollTextHeight:58vh;--textToVisualPadding:max(5vh, 40px);--topScrollOffset:calc(var(--visualHeight));--bottomScrollOffset:calc(100vh - var(--topOffset) - var(--visualHeight) - var(--textToVisualPadding));--extraBottomSpacing:70px}@supports (height:100dvh){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-container-inner___oFalR{height:100dvh}}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-container___ZJlnt{width:100%;height:100%;position:absolute;top:0;left:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__tracker___SR7oo{min-height:var(--scrollTextHeight);transition:opacity .3s var(--ease);position:relative}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__tracker___SR7oo:has(+.Primer_Brand__RiverStoryScroll-module__in-viewport___AxNUA){opacity:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__tracker___SR7oo.Primer_Brand__RiverStoryScroll-module__in-viewport___AxNUA+.Primer_Brand__RiverStoryScroll-module__outside-viewport___ivCAg{opacity:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{max-width:calc(1032px + var(--storyScrollPadding) * 2);padding-right:var(--storyScrollPadding);padding-left:var(--storyScrollPadding);margin-top:min(30vw,22vh);margin-left:auto;margin-right:auto}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__content-container--below____OTaq{padding-top:var(--topScrollOffset);padding-bottom:var(--bottomScrollOffset)}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__image___WmawN{width:100%;height:auto;max-width:var(--visualWidth);border-radius:var(--brand-borderRadius-large)}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-container-inner___oFalR{pointer-events:none;padding-top:var(--topOffset);margin-top:calc(-1 * var(--topOffset));z-index:1;flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual--below___gJyav{background-image:linear-gradient(180deg, var(--brand-RiverStoryScroll-content-inactive-bgColor) calc(var(--topOffset) + var(--visualHeight) + 3px), transparent calc(var(--topOffset) + var(--visualHeight) + var(--textToVisualPadding)), transparent 93%, var(--brand-RiverStoryScroll-content-inactive-bgColor) 99%)}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual--below___gJyav .Primer_Brand__RiverStoryScroll-module__story-scroll-text___isxdl{margin-top:var(--base-size-40)}.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B{opacity:0;display:none}.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B:nth-child(2){opacity:1;display:block}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-scroll-responder___DKr1C{transition:.5s var(--ease) transform, .5s var(--ease) filter, .5s var(--ease) opacity;pointer-events:auto}.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B:has(~.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv){margin-left:auto;margin-right:auto;display:block;position:absolute;left:0;right:0}.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv+.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B{transform:translateY(calc(var(--stackDistance) * -1)) scale(1.015);margin-left:auto;margin-right:auto;display:block;position:absolute;left:0;right:0}.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B:has(+.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv){transform:translateY(var(--stackDistance)) scale(.95);filter:brightness(70%);opacity:1}.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B:has(+.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B+.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv){transform:translateY(calc(var(--stackDistance) * 2)) scale(.9);filter:brightness(50%);opacity:1}.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B:has(+.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B+.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B+.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv){transform:translateY(calc(var(--stackDistance) * 3)) scale(.85);filter:brightness(30%);opacity:1}.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B:has(+.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B+.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B+.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B+.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv){transform:translateY(calc(var(--stackDistance) * 4)) scale(.8);filter:brightness(10%);opacity:1}.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv{display:block;position:relative}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__content-stack___jBEVs{padding-top:var(--textToVisualPadding);top:calc(var(--topOffset) + var(--visualHeight));position:sticky}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__tracker___SR7oo:last-child .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__content-stack___jBEVs{height:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination___KPrEv{gap:var(--base-size-4);left:calc(var(--base-size-20) * -1 - 2px);height:var(--visualHeight);margin:auto;flex-direction:column;justify-content:center;margin-block-start:calc(var(--base-size-20) * -1);display:flex;position:absolute;right:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination-dot___G_E1k{border-radius:var(--brand-borderRadius-large);opacity:.55;background:var(--brand-RiverStoryScroll-pagination-fgColor);width:6px;height:6px;transition:opacity var(--brand-animation-duration-default) var(--ease), height var(--brand-animation-duration-default) var(--ease)}.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv:nth-child(2)~.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination___KPrEv .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination-dot___G_E1k:first-child,.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv:nth-child(3)~.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination___KPrEv .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination-dot___G_E1k:nth-child(2),.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv:nth-child(4)~.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination___KPrEv .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination-dot___G_E1k:nth-child(3),.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv:nth-child(5)~.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination___KPrEv .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination-dot___G_E1k:nth-child(4),.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv:nth-child(6)~.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination___KPrEv .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__pagination-dot___G_E1k:nth-child(5){opacity:1;height:var(--base-size-24)}}@media screen and (width>=768px){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__inner___V0daX{grid-gap:var(--base-size-24);gap:var(--base-size-24);grid-template-columns:1fr 1fr;display:grid}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-container___ZJlnt{order:2;align-items:center;width:100%;height:80vh;display:flex;position:sticky;top:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-container-inner___oFalR,.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__image___WmawN{width:100%}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-scroll-responder___DKr1C{width:100%;transition:opacity .3s var(--ease);padding-top:10vh;position:sticky;top:0;right:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-container-inner___oFalR.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual--below___gJyav{position:sticky;top:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-scroll-responder___DKr1C.Primer_Brand__RiverStoryScroll-module__tracker-outside-viewport___K2b2B{z-index:-1;opacity:0;position:absolute;top:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__visual-scroll-responder___DKr1C.Primer_Brand__RiverStoryScroll-module__tracker-in-viewport___MYQAv{z-index:1;opacity:1}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__content-container____Rsbs.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__content-container--below____OTaq{padding-top:10vh}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__content-container____Rsbs.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__content-container--below____OTaq .Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__tracker___SR7oo{padding:20vh 0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__tracker___SR7oo.Primer_Brand__RiverStoryScroll-module__outside-viewport___ivCAg{position:relative}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__tracker___SR7oo{filter:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__tracker___SR7oo.Primer_Brand__RiverStoryScroll-module__outside-viewport___ivCAg{filter:blur(1px);transition:filter var(--brand-animation-duration-extended) var(--brand-animation-easing-default)}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__tracker___SR7oo:after{content:"";transition:opacity var(--brand-animation-duration-extended) var(--brand-animation-easing-default), visibility var(--brand-animation-duration-extended) var(--brand-animation-easing-default);opacity:0;visibility:hidden;background-color:var(--brand-RiverStoryScroll-content-inactive-bgColor);position:absolute;inset:0}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__tracker___SR7oo.Primer_Brand__RiverStoryScroll-module__outside-viewport___ivCAg:after{opacity:.7;visibility:visible}}@media screen and (width>=768px) and (height>=900px) and (prefers-reduced-motion:no-preference){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z{margin-top:-20vh}.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__content-container____Rsbs.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll__content-container--below____OTaq{padding-top:16vh}}@media (prefers-reduced-motion:reduce){.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z,.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z:before,.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z:after,.Primer_Brand__RiverStoryScroll-module__RiverStoryScroll___GKo1Z *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root,[data-color-mode=light]{--brand-RiverStoryScroll-pagination-fgColor:var(--base-color-scale-gray-6);--brand-RiverStoryScroll-content-inactive-bgColor:var(--brand-color-canvas-default)}[data-color-mode=dark]{--brand-RiverStoryScroll-pagination-fgColor:var(--base-color-scale-white-0);--brand-RiverStoryScroll-content-inactive-bgColor:var(--brand-color-canvas-default)}.Primer_Brand__Pagination-module__Pagination___qDHkk{margin-top:var(--base-size-20);margin-bottom:var(--base-size-16);text-align:center}.Primer_Brand__Pagination-module__Pagination__inner___tB9Za{justify-content:center;align-items:center;gap:var(--base-size-8);flex-wrap:wrap;display:inline-flex}.Primer_Brand__Pagination-module__Pagination__pageItem___Ehtp4{--brand-button-subtle-borderColor-rest:transparent;--brand-button-subtle-borderColor-hover:transparent;--brand-button-subtle-borderColor-active:transparent;transition:none}.Primer_Brand__Pagination-module__Pagination__controlContent___QuYzj{gap:var(--base-size-4);align-items:center;display:inline-flex;position:relative}.Primer_Brand__Pagination-module__Pagination__controlArrowWrapper___UbqtD{flex-shrink:0;display:none}.Primer_Brand__Pagination-module__Pagination__controlArrowWrapper--previous___yVz6V{transform:translateX(var(--base-size-2))}.Primer_Brand__Pagination-module__Pagination__controlArrowWrapper--next___jHfRO{transform:translateX(calc(var(--base-size-2) * -1))}.Primer_Brand__Pagination-module__Pagination__controlArrow___gKpCw{width:var(--base-size-16);height:var(--base-size-16)}@media screen and (width<=47.99rem){.Primer_Brand__Pagination-module__Pagination__controlItem___jcLa5{padding-inline:var(--base-size-8);--brand-button-subtle-borderColor-rest:transparent;--brand-button-subtle-borderColor-hover:transparent;--brand-button-subtle-borderColor-active:transparent}.Primer_Brand__Pagination-module__Pagination__controlText___jthrj{width:var(--base-size-2);height:var(--base-size-2);clip:rect(0, 0, 0, 0);word-wrap:normal;border:0;padding:0;position:absolute;overflow:hidden}.Primer_Brand__Pagination-module__Pagination__controlArrowWrapper___UbqtD{display:flex}.Primer_Brand__Pagination-module__Pagination__controlItem___jcLa5>span{align-items:center;display:flex}.Primer_Brand__Pagination-module__Pagination__controlItem___jcLa5>span>span{align-items:center;line-height:0;display:flex}}:root,[data-color-mode=light]{--brand-MediaPlaylist-bgColor:linear-gradient(180deg, #f2f5f380 0%, #f2f5f300 100%), var(--brand-color-canvas-default)}[data-color-mode=dark]{--brand-MediaPlaylist-bgColor:linear-gradient(180deg, var(--base-color-scale-gray-8) 0%, var(--base-color-scale-black-0) 100%), var(--brand-color-canvas-default)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist___X3BZt{padding-block-start:var(--base-size-36);padding-inline:var(--base-size-20)}@media screen and (width<=63.24rem){.Primer_Brand__MediaPlaylist-module__MediaPlaylist___X3BZt{width:100%;max-width:38.625rem;margin-inline:auto;padding:0}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___xAUrL h1+p,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___xAUrL h2+p,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___xAUrL h3+p{margin-block-start:var(--base-size-12)}}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__layout___YZKVk{background:var(--brand-MediaPlaylist-bgColor);flex-direction:column;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__playlist___nIpOa{border-block-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);order:2;min-width:0}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__heading___nM7Ip{min-height:var(--base-size-48);align-items:center;gap:var(--base-size-8);padding:var(--base-size-12) var(--base-size-16);border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);color:var(--brand-color-text-muted);font-family:var(--brand-fontStack-monospace);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);text-transform:uppercase;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__headingLabel___BRQPm{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit;margin:0}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__headingCounter___ao736{align-items:center;gap:var(--base-size-8);color:var(--brand-color-text-default);display:inline-flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__headingCounter___ao736:before{content:"•";color:var(--brand-color-text-muted)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__mediaPanels___hwtyP{width:100%;padding:var(--base-size-16);order:1}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__mediaPanel___sTQVI{min-width:0}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__mediaPanel___sTQVI[hidden]{display:none}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panel___VH451{gap:var(--base-size-20);flex-direction:column;width:100%;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___xAUrL{max-width:var(--brand-Prose-lineLength)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___rS1uR{background-color:var(--base-color-scale-black-0);overflow:hidden}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___rS1uR img,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___rS1uR picture,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___rS1uR video,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___rS1uR iframe{width:100%;max-width:100%;display:block}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__tablist___IODGO{flex-direction:column;order:2;display:flex;overflow-x:hidden}.Primer_Brand__MediaPlaylist-module__MediaPlaylist--overflowItems___tKiJV .Primer_Brand__MediaPlaylist-module__MediaPlaylist__tablist___IODGO{max-block-size:calc((3 * var(--base-size-64)) + (6 * var(--base-size-12)));overscroll-behavior:contain;scroll-padding-block:var(--base-size-24);overflow-y:auto}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__pagination___WG5zu{padding:var(--base-size-12) var(--base-size-16) var(--base-size-16);border-block-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);order:3;justify-content:center;margin:0;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__item___BXYUO{min-width:0;min-block-size:calc(var(--base-size-64) + (2 * var(--base-size-12)));flex-direction:column;flex:none;align-items:flex-start;display:flex;position:relative;overflow-x:hidden}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__item___BXYUO:before{content:"";height:var(--brand-borderWidth-thin);transform-origin:50% 100%;background-color:var(--brand-color-border-muted);transition:transform var(--brand-animation-duration-fast) ease, background-color var(--brand-animation-duration-fast) ease;position:absolute;inset-block-end:0;inset-inline:0;transform:scaleY(1)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__item--selected___vmJ8h{background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__item--selected___vmJ8h:before{background-color:var(--brand-color-accent-primary);transform:scaleY(2)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeading___mWbE8{color:var(--brand-color-text-muted);margin:0;display:block}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__item--selected___vmJ8h .Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeading___mWbE8{color:var(--brand-color-text-default)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeadingContent___Nl9LU{flex:auto;min-width:0}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeadingDetails___Y6For{gap:var(--base-size-4);flex-direction:column;min-width:0;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeadingTitle___PcEmO{color:inherit;word-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__tab___hcSSV{box-sizing:border-box;width:100%;min-block-size:calc(var(--base-size-64) + (2 * var(--base-size-12)));color:inherit;font:inherit;text-align:left;cursor:pointer;padding:var(--base-size-12) var(--base-size-16);background:0 0;border:0;outline:none;flex-direction:column;align-items:flex-start;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__tabContent___sa1zl{align-items:flex-start;gap:var(--base-size-12);width:100%;min-width:0;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__thumbnail___ApiLF{width:var(--base-size-112);block-size:calc(var(--base-size-64) - var(--brand-borderWidth-thin));aspect-ratio:16/9;border-radius:var(--brand-borderRadius-small);background-color:var(--brand-color-canvas-subtle);flex-shrink:0;display:block;overflow:hidden}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__thumbnail___ApiLF>*{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__tab___hcSSV:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-4)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__content___BaIhp{align-items:flex-start;gap:var(--base-size-12);flex-direction:column;display:flex}@media screen and (width<=63.24rem){.Primer_Brand__MediaPlaylist-module__MediaPlaylist__mediaPanels___hwtyP{padding-block-end:var(--base-size-24)}}@media screen and (width>=38.625rem){.Primer_Brand__MediaPlaylist-module__MediaPlaylist___X3BZt{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}@media screen and (width>=63.25rem){.Primer_Brand__MediaPlaylist-module__MediaPlaylist___X3BZt{box-sizing:border-box;width:100%;border-inline:none;max-inline-size:80rem;margin-inline:auto;padding:0}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__layout___YZKVk{--brand-MediaPlaylist-desktopGutter:3.75rem;--brand-MediaPlaylist-sidebarWidth:27rem;box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(0,27rem);grid-template-areas:"media tabs";grid-template-columns:minmax(0, 1fr) minmax(0, var(--brand-MediaPlaylist-sidebarWidth));grid-column-gap:3.75rem;grid-column-gap:var(--brand-MediaPlaylist-desktopGutter);-moz-column-gap:3.75rem;-moz-column-gap:var(--brand-MediaPlaylist-desktopGutter);column-gap:3.75rem;column-gap:var(--brand-MediaPlaylist-desktopGutter);width:100%;padding-inline-start:3.75rem;padding-inline-start:var(--brand-MediaPlaylist-desktopGutter);display:grid}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__playlist___nIpOa{border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);flex-direction:column;grid-area:tabs;align-self:stretch;padding-block-start:calc(var(--base-size-48) + var(--base-size-12));display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist--overflowItems___tKiJV .Primer_Brand__MediaPlaylist-module__MediaPlaylist__tablist___IODGO{max-block-size:calc((3 * var(--base-size-64)) + (6 * var(--base-size-20)))}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__mediaPanels___hwtyP{padding-block:var(--base-size-80);grid-area:media;justify-content:flex-start;align-items:flex-start;padding-inline:0;display:flex}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__mediaPanel___sTQVI{width:100%}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panel___VH451{gap:var(--base-size-40)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___xAUrL,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___rS1uR{width:100%}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__media___rS1uR iframe{aspect-ratio:16/9;border-radius:var(--base-size-6)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__itemHeadingDetails___Y6For{font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___xAUrL h1+p,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___xAUrL h2+p,.Primer_Brand__MediaPlaylist-module__MediaPlaylist__panelContent___xAUrL h3+p{margin-block-start:var(--base-size-12)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__heading___nM7Ip{min-height:auto;padding-block-start:var(--base-size-24);padding-block-end:var(--base-size-12);padding-inline-start:var(--base-size-32);padding-inline-end:var(--brand-MediaPlaylist-desktopGutter)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__item___BXYUO{min-block-size:calc(var(--base-size-64) + (2 * var(--base-size-20)))}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__tab___hcSSV{min-block-size:calc(var(--base-size-64) + (2 * var(--base-size-20)));padding-block:var(--base-size-20);padding-inline-start:var(--base-size-32);padding-inline-end:var(--brand-MediaPlaylist-desktopGutter)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__tabContent___sa1zl{align-items:center}}@media screen and (width>=80rem){.Primer_Brand__MediaPlaylist-module__MediaPlaylist___X3BZt{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__MediaPlaylist-module__MediaPlaylist__playlist___nIpOa{border-inline-end:0}}:root,[data-color-mode=light]{--brand-control-color-border-default:var(--base-color-scale-gray-4);--brand-control-color-border-disabled:var(--base-color-scale-gray-2);--brand-control-color-canvas-disabled:var(--base-color-scale-gray-1);--brand-control-color-fg-default:var(--brand-color-text-default);--brand-control-color-fg-disabled:var(--base-color-scale-gray-4);--brand-control-color-focus:var(--base-color-scale-blue-6);--brand-control-checkbox-bg-default:var(--base-color-scale-white-0);--brand-control-checkbox-bg-hover:var(--brand-color-canvas-subtle);--brand-control-checkbox-bg-checked:var(--base-color-scale-green-6);--brand-control-checkbox-bg-checked-hover:color-mix(in srgb, var(--brand-color-text-emphasized), #000 26%);--brand-control-checkbox-bg-indeterminate:var(--base-color-scale-green-6);--brand-control-checkbox-bg-indeterminate-hover:color-mix(in srgb, var(--brand-color-text-emphasized), #000 26%);--brand-control-checkbox-bg-checked-disabled:color-mix(in srgb, var(--base-color-scale-green-6), #fff 65%);--brand-control-checkbox-fg-checked:var(--base-color-scale-white-0);--brand-control-checkbox-fg-checked-disabled:var(--base-color-scale-white-0);--brand-control-checkbox-border-default:var(--base-color-scale-gray-4);--brand-control-checkbox-border-hover:var(--base-color-scale-gray-4);--brand-control-checkbox-border-checked:var(--base-color-scale-green-6);--brand-control-checkbox-border-checked-hover:var(--brand-color-text-emphasized);--brand-control-checkbox-border-indeterminate:var(--base-color-scale-green-6);--brand-control-checkbox-border-indeterminate-hover:var(--brand-color-text-emphasized);--brand-control-checkbox-border-checked-disabled:color-mix(in srgb, var(--base-color-scale-green-6), #fff 65%);--brand-control-checkbox-border-unchecked-disabled:var(--base-color-scale-gray-1);--brand-control-radio-bg-default:var(--base-color-scale-white-0);--brand-control-radio-bg-hover:var(--brand-color-canvas-subtle);--brand-control-radio-bg-checked:var(--base-color-scale-white-0);--brand-control-radio-bg-checked-hover:var(--brand-color-canvas-subtle);--brand-control-radio-bg-disabled:var(--brand-color-canvas-default);--brand-control-radio-border-default:var(--brand-control-color-border-default);--brand-control-radio-border-hover:var(--base-color-scale-gray-4);--brand-control-radio-border-checked:var(--brand-control-color-border-default);--brand-control-radio-border-checked-hover:var(--brand-control-color-border-default);--brand-control-radio-border-disabled:var(--base-color-scale-gray-4);--brand-control-radio-dot-default:var(--base-color-scale-black-0);--brand-control-radio-dot-checked:var(--base-color-scale-green-6);--brand-control-radio-dot-checked-hover:color-mix(in srgb, var(--brand-color-text-emphasized), #000 26%)}[data-color-mode=dark]{--brand-control-color-border-default:var(--base-color-scale-gray-4);--brand-control-color-border-disabled:var(--base-color-scale-gray-5);--brand-control-color-canvas-disabled:var(--base-color-scale-gray-8);--brand-control-color-fg-default:var(--brand-color-text-default);--brand-control-color-fg-disabled:var(--base-color-scale-gray-5);--brand-control-color-focus:var(--base-color-scale-blue-2);--brand-control-checkbox-bg-default:var(--base-color-scale-gray-7);--brand-control-checkbox-bg-hover:var(--brand-color-canvas-subtle);--brand-control-checkbox-bg-checked:var(--base-color-scale-green-5);--brand-control-checkbox-bg-checked-hover:#309a4d;--brand-control-checkbox-bg-indeterminate:var(--base-color-scale-green-5);--brand-control-checkbox-bg-indeterminate-hover:#309a4d;--brand-control-checkbox-bg-checked-disabled:color-mix(in srgb, var(--base-color-scale-green-6), #000 35%);--brand-control-checkbox-fg-checked:var(--base-color-scale-white-0);--brand-control-checkbox-fg-checked-disabled:color-mix(in srgb, var(--base-color-scale-green-5), #000 20%);--brand-control-checkbox-border-default:var(--base-color-scale-gray-4);--brand-control-checkbox-border-hover:var(--base-color-scale-gray-5);--brand-control-checkbox-border-checked:#077726;--brand-control-checkbox-border-checked-hover:#0000001f;--brand-control-checkbox-border-indeterminate:#077726;--brand-control-checkbox-border-indeterminate-hover:#0000001f;--brand-control-checkbox-border-checked-disabled:color-mix(in srgb, var(--base-color-scale-green-6), #000 35%);--brand-control-checkbox-border-unchecked-disabled:var(--base-color-scale-gray-5);--brand-control-radio-bg-default:var(--base-color-scale-black-0);--brand-control-radio-bg-hover:var(--brand-color-canvas-subtle);--brand-control-radio-bg-checked:var(--base-color-scale-black-0);--brand-control-radio-bg-checked-hover:var(--brand-color-canvas-subtle);--brand-control-radio-bg-disabled:var(--brand-color-canvas-default);--brand-control-radio-border-default:var(--base-color-scale-gray-4);--brand-control-radio-border-hover:var(--base-color-scale-gray-5);--brand-control-radio-border-checked:var(--base-color-scale-gray-4);--brand-control-radio-border-checked-hover:var(--base-color-scale-gray-4);--brand-control-radio-border-disabled:var(--base-color-scale-gray-5);--brand-control-radio-dot-default:var(--base-color-scale-white-0);--brand-control-radio-dot-checked:var(--base-color-scale-green-5);--brand-control-radio-dot-checked-hover:#309a4d}.Primer_Brand__Checkbox-module__Checkbox-wrapper___qo8KL{grid-row:1;position:relative}.Primer_Brand__Checkbox-module__Checkbox___T8FJa{background-color:var(--brand-control-checkbox-bg-default);border:solid 1px var(--brand-control-color-border-default);border:solid var(--brand-borderWidth-thin,1px) var(--brand-control-color-border-default);cursor:pointer;border-radius:3px;outline:1px solid #0000;justify-content:center;align-items:center;width:20px;height:20px;margin:3px 0;transition:all .35s ease-out;display:inline-flex;box-shadow:0 0 0 3px #0000}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s{clip:rect(1px, 1px, 1px, 1px);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.Primer_Brand__Checkbox-module__Checkbox-checkmark___atiwt{height:var(--base-size-12);width:var(--base-size-12)}.Primer_Brand__Checkbox-module__Checkbox-checkmark-path___qgsjb{stroke:var(--brand-control-checkbox-fg-checked);stroke-dashoffset:111.46px;stroke-dasharray:111.46;transition:all .35s var(--brand-control-animation-easing)}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s:checked+.Primer_Brand__Checkbox-module__Checkbox___T8FJa,.Primer_Brand__Checkbox-module__Checkbox--indeterminate___U5S6k{background:var(--brand-control-checkbox-bg-checked);border-color:var(--brand-control-checkbox-border-checked)}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s:not(:checked):not([disabled])+.Primer_Brand__Checkbox-module__Checkbox___T8FJa:not(.Primer_Brand__Checkbox-module__Checkbox--indeterminate___U5S6k):hover{background:var(--brand-control-checkbox-bg-hover);border-color:var(--brand-control-checkbox-border-hover)}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s:checked:not([disabled])+.Primer_Brand__Checkbox-module__Checkbox___T8FJa:hover{background:var(--brand-control-checkbox-bg-checked-hover);border-color:var(--brand-control-checkbox-border-checked-hover)}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s:not([disabled])+.Primer_Brand__Checkbox-module__Checkbox--indeterminate___U5S6k:hover{background:var(--brand-control-checkbox-bg-indeterminate-hover);border-color:var(--brand-control-checkbox-border-indeterminate-hover)}.Primer_Brand__Checkbox-module__Checkbox--indeterminate___U5S6k .Primer_Brand__Checkbox-module__Checkbox-checkmark___atiwt{fill:var(--brand-control-checkbox-fg-checked)}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s:checked+.Primer_Brand__Checkbox-module__Checkbox___T8FJa .Primer_Brand__Checkbox-module__Checkbox-checkmark-path___qgsjb,.Primer_Brand__Checkbox-module__Checkbox--indeterminate___U5S6k .Primer_Brand__Checkbox-module__Checkbox-checkmark-path___qgsjb{stroke:var(--brand-control-checkbox-fg-checked);stroke-dashoffset:0}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s:focus+.Primer_Brand__Checkbox-module__Checkbox___T8FJa{box-shadow:0 0 0 3px var(--brand-control-color-focus)}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s:checked:focus+.Primer_Brand__Checkbox-module__Checkbox___T8FJa,.Primer_Brand__Checkbox-module__Checkbox-input___sux6s:focus+.Primer_Brand__Checkbox-module__Checkbox--indeterminate___U5S6k{border-color:var(--brand-control-checkbox-border-checked)}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s[disabled]+.Primer_Brand__Checkbox-module__Checkbox___T8FJa{-webkit-text-fill-color:var(--brand-control-color-fg-disabled);color:var(--brand-control-color-fg-disabled);cursor:not-allowed;border-color:var(--brand-control-checkbox-border-unchecked-disabled);opacity:1;background-color:#0000}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s[disabled]:checked+.Primer_Brand__Checkbox-module__Checkbox___T8FJa{background-color:var(--brand-control-checkbox-bg-checked-disabled);border-color:var(--brand-control-checkbox-border-checked-disabled)}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s[disabled]:checked+.Primer_Brand__Checkbox-module__Checkbox___T8FJa .Primer_Brand__Checkbox-module__Checkbox-checkmark-path___qgsjb{stroke:var(--brand-control-checkbox-fg-checked-disabled)}@media (forced-colors:active){.Primer_Brand__Checkbox-module__Checkbox-input___sux6s:focus+.Primer_Brand__Checkbox-module__Checkbox___T8FJa{outline:var(--brand-borderWidth-thin) solid Highlight;outline-offset:var(--base-size-2)}.Primer_Brand__Checkbox-module__Checkbox-input___sux6s:checked+.Primer_Brand__Checkbox-module__Checkbox___T8FJa .Primer_Brand__Checkbox-module__Checkbox-checkmark-path___qgsjb{stroke:highlight}.Primer_Brand__Checkbox-module__Checkbox___T8FJa{transition:none}}@media (prefers-reduced-motion:reduce){.Primer_Brand__Checkbox-module__Checkbox___T8FJa,.Primer_Brand__Checkbox-module__Checkbox___T8FJa:before,.Primer_Brand__Checkbox-module__Checkbox___T8FJa:after,.Primer_Brand__Checkbox-module__Checkbox___T8FJa *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__Select-module__Select___Jqn1f{appearance:none;color:var(--brand-control-color-fg-default);cursor:pointer;background-color:var(--brand-color-canvas-default);border-radius:var(--brand-borderRadius-medium);line-height:var(--brand-text-lineHeight-200);transition:var(--brand-control-animation-duration) var(--brand-control-animation-easing);border:none;grid-area:1/1/auto/-1;width:100%;transition-property:color,background-color,box-shadow,border-color}@media screen and (forced-colors:active){.Primer_Brand__Select-module__Select___Jqn1f:disabled{background-color:-moz-combobox}}.Primer_Brand__Select-module__Select___Jqn1f::placeholder{color:var(--brand-color-text-muted);opacity:1}.Primer_Brand__Select-module__Select___Jqn1f:focus-visible{border-color:var(--brand-control-color-focus);box-shadow:0 0 0 2px var(--brand-control-color-focus);outline:none}@media (forced-colors:active){.Primer_Brand__Select-module__Select___Jqn1f:focus-visible{outline:var(--brand-borderWidth-thick) solid Highlight;outline-offset:var(--base-size-2)}}.Primer_Brand__Select-module__Select___Jqn1f[disabled]{-webkit-text-fill-color:var(--brand-control-color-fg-disabled);color:var(--brand-control-color-fg-disabled);cursor:not-allowed;background-color:var(--brand-control-color-canvas-disabled);border-color:var(--brand-control-color-border-disabled);opacity:1}.Primer_Brand__Select-module__Select-wrapper--disabled___Ka43y.Primer_Brand__Select-module__Select-wrapper___iV0Tg:after{background-color:var(--brand-control-color-fg-disabled)}.Primer_Brand__Select-module__Select-wrapper--medium___xjmMc{height:var(--brand-control-medium-size)}.Primer_Brand__Select-module__Select-wrapper--medium___xjmMc:after{margin-inline-end:calc(var(--brand-control-medium-paddingInline-condensed) / 2)}.Primer_Brand__Select-module__Select--medium___kckBr{font-weight:var(--brand-text-weight-100);font-size:var(--brand-text-size-100);padding-inline:var(--brand-control-medium-paddingInline-condensed);padding-block:0;padding-inline-end:calc(var(--brand-control-medium-paddingInline-condensed) + var(--base-size-16))}.Primer_Brand__Select-module__Select-wrapper--large___Q4_2q{height:var(--brand-control-large-size)}.Primer_Brand__Select-module__Select-wrapper--large___Q4_2q:after{margin-inline-end:var(--base-size-8)}.Primer_Brand__Select-module__Select--large___A7u6F{font-weight:var(--brand-text-weight-200);font-size:var(--brand-text-size-200);padding-inline:var(--brand-control-large-paddingInline-condensed);padding-block:0;padding-inline-end:calc(var(--brand-control-large-paddingInline-condensed) + var(--base-size-16))}.Primer_Brand__Select-module__Select-wrapper___iV0Tg{border:solid 1px var(--brand-control-color-border-default);border:solid var(--brand-borderWidth-thin,1px) var(--brand-control-color-border-default);border-radius:6px;border-radius:var(--brand-borderRadius-medium,6px);font-family:var(--brand-body-fontFamily);grid-template-columns:minmax(0, auto) var(--base-size-16);display:inline-grid;position:relative}.Primer_Brand__Select-module__Select-wrapper___iV0Tg:after{content:"";width:var(--base-size-16);height:var(--base-size-16);pointer-events:none;background-color:var(--brand-control-color-fg-default);grid-area:1/2;place-self:center flex-end;position:absolute;right:0;-webkit-mask:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0iIzU4NjA2OSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNC40MjcgOS40MjdsMy4zOTYgMy4zOTZhLjI1MS4yNTEgMCAwMC4zNTQgMGwzLjM5Ni0zLjM5NkEuMjUuMjUgMCAwMDExLjM5NiA5SDQuNjA0YS4yNS4yNSAwIDAwLS4xNzcuNDI3ek00LjQyMyA2LjQ3TDcuODIgMy4wNzJhLjI1LjI1IDAgMDEuMzU0IDBMMTEuNTcgNi40N2EuMjUuMjUgMCAwMS0uMTc3LjQyN0g0LjZhLjI1LjI1IDAgMDEtLjE3Ny0uNDI3eiIgLz48L3N2Zz4=) 0 0/contain no-repeat;mask:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0iIzU4NjA2OSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNC40MjcgOS40MjdsMy4zOTYgMy4zOTZhLjI1MS4yNTEgMCAwMC4zNTQgMGwzLjM5Ni0zLjM5NkEuMjUuMjUgMCAwMDExLjM5NiA5SDQuNjA0YS4yNS4yNSAwIDAwLS4xNzcuNDI3ek00LjQyMyA2LjQ3TDcuODIgMy4wNzJhLjI1LjI1IDAgMDEuMzU0IDBMMTEuNTcgNi40N2EuMjUuMjUgMCAwMS0uMTc3LjQyN0g0LjZhLjI1LjI1IDAgMDEtLjE3Ny0uNDI3eiIgLz48L3N2Zz4=) 0 0/contain no-repeat}.Primer_Brand__Select-module__Select-wrapper--disabled___Ka43y{border-color:var(--brand-control-color-border-disabled)}.Primer_Brand__Select-module__Select-wrapper--fullWidth___oOOo4{width:100%}.Primer_Brand__Select-module__Select--success___pkmVg{border-color:var(--brand-color-success-fg)}.Primer_Brand__Select-module__Select--error___A9JuG{border-color:var(--brand-color-danger-fg)}@media (prefers-reduced-motion:reduce){.Primer_Brand__Select-module__Select___Jqn1f,.Primer_Brand__Select-module__Select___Jqn1f:before,.Primer_Brand__Select-module__Select___Jqn1f:after,.Primer_Brand__Select-module__Select___Jqn1f *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__TextInput-module__TextInput___EtKj3{color:var(--brand-control-color-fg-default);background-color:var(--brand-color-canvas-default);border-radius:var(--brand-borderRadius-medium);line-height:var(--brand-text-lineHeight-100);transition:var(--brand-control-animation-duration) var(--brand-control-animation-easing);border:none;transition-property:color,background-color,box-shadow;display:flex}.Primer_Brand__TextInput-module__TextInput___EtKj3::placeholder{color:var(--brand-color-text-muted);opacity:1}.Primer_Brand__TextInput-module__TextInput___EtKj3[disabled]{-webkit-text-fill-color:var(--brand-control-color-fg-disabled);color:var(--brand-control-color-fg-disabled);cursor:not-allowed;background-color:var(--brand-control-color-canvas-disabled);opacity:1}.Primer_Brand__TextInput-module__TextInput___EtKj3:focus{outline:none}.Primer_Brand__TextInput-module__TextInput-wrapper--small___IyT4V{height:var(--brand-control-small-size)}.Primer_Brand__TextInput-module__TextInput--small___jNp_Y{font-weight:var(--brand-text-weight-100);font-size:var(--brand-text-size-100);padding:var(--brand-control-small-paddingBlock) var(--brand-control-small-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-wrapper--medium___K9iTj{height:var(--brand-control-medium-size)}.Primer_Brand__TextInput-module__TextInput--medium___kJrew{font-weight:var(--brand-text-weight-100);font-size:var(--brand-text-size-100);padding:var(--brand-control-medium-paddingBlock-normal) var(--brand-control-medium-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput--large___zpUvY{font-weight:var(--brand-text-weight-200);font-size:var(--brand-text-size-200);padding:var(--brand-control-large-paddingBlock-normal) var(--brand-control-large-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-wrapper--large___lga4f{height:var(--brand-control-large-size)}.Primer_Brand__TextInput-module__TextInput--fullWidth___rbllM{width:100%}.Primer_Brand__TextInput-module__TextInput-wrapper--disabled___HWTx_{border-color:var(--brand-control-color-border-disabled)}.Primer_Brand__TextInput-module__TextInput-wrapper___HgxNu{font-family:var(--brand-body-fontFamily);border:solid 1px var(--brand-control-color-border-default);border:solid var(--brand-borderWidth-thin,1px) var(--brand-control-color-border-default);border-radius:var(--brand-borderRadius-medium);transition:var(--brand-control-animation-duration) var(--brand-control-animation-easing);transition-property:border;display:inline-flex;position:relative}.Primer_Brand__TextInput-module__TextInput-wrapper--invisible___cKDcl{border-color:#0000}.Primer_Brand__TextInput-module__TextInput-wrapper--fullWidth___eclO4{width:100%;display:flex}.Primer_Brand__TextInput-module__TextInput-wrapper___HgxNu:not(.Primer_Brand__TextInput-module__TextInput-wrapper--fullWidth___eclO4){width:min-content}.Primer_Brand__TextInput-module__TextInput-wrapper--monospace___y1fd6{font-family:var(--brand-fontStack-monospace)}.Primer_Brand__TextInput-module__TextInput-wrapper___HgxNu:focus-within{border-color:var(--brand-control-color-focus);box-shadow:0 0 0 1px var(--brand-control-color-focus);outline:none}@media (forced-colors:active){.Primer_Brand__TextInput-module__TextInput-wrapper___HgxNu:focus-within{outline:var(--brand-borderWidth-thick) solid Highlight;outline-offset:var(--base-size-2)}}.Primer_Brand__TextInput-module__TextInput-wrapper--success___g5ODK,.Primer_Brand__TextInput-module__TextInput-wrapper--success___g5ODK.Primer_Brand__TextInput-module__TextInput-wrapper--disabled___HWTx_{border-color:var(--brand-color-success-fg)}.Primer_Brand__TextInput-module__TextInput-wrapper--error___V7qtN,.Primer_Brand__TextInput-module__TextInput-wrapper--error___V7qtN.Primer_Brand__TextInput-module__TextInput-wrapper--disabled___HWTx_{border-color:var(--brand-color-danger-fg)}.Primer_Brand__TextInput-module__TextInput--has-leading-visual--small___Chfzr{padding-inline-start:calc(var(--brand-control-small-paddingInline-condensed) + var(--base-size-16) + var(--brand-control-small-gap))}.Primer_Brand__TextInput-module__TextInput--has-leading-visual--medium___i7gLS{padding-inline-start:calc(var(--brand-control-medium-paddingInline-condensed) + var(--base-size-16) + var(--brand-control-medium-gap))}.Primer_Brand__TextInput-module__TextInput--has-leading-visual--large___nCVT9{padding-inline-start:calc(var(--brand-control-large-paddingInline-condensed) + var(--base-size-20) + var(--brand-control-large-gap))}.Primer_Brand__TextInput-module__TextInput--has-trailing-visual--small___gl_37{padding-inline-end:calc(var(--brand-control-small-paddingInline-condensed) + var(--base-size-16) + var(--brand-control-small-gap))}.Primer_Brand__TextInput-module__TextInput--has-trailing-visual--medium___pP4lM{padding-inline-end:calc(var(--brand-control-medium-paddingInline-condensed) + var(--base-size-16) + var(--brand-control-medium-gap))}.Primer_Brand__TextInput-module__TextInput--has-trailing-visual--large___n1U0P{padding-inline-end:calc(var(--brand-control-medium-paddingInline-condensed) + var(--base-size-20) + var(--brand-control-medium-gap))}.Primer_Brand__TextInput-module__TextInput-leading-visual___tk7Yz,.Primer_Brand__TextInput-module__TextInput-trailing-visual___k0E6L{width:var(--base-size-16);height:100%;color:var(--brand-color-text-default);pointer-events:none;align-items:center;display:flex;position:absolute;top:0}.Primer_Brand__TextInput-module__TextInput-leading-visual--medium___BW5d2{left:var(--brand-control-medium-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-trailing-visual--medium___WMlar{right:var(--brand-control-medium-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-leading-visual--small___im1Vd{left:var(--brand-control-small-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-trailing-visual--small___cYDMo{right:var(--brand-control-small-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-leading-visual--large___LoDri{left:var(--brand-control-large-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-trailing-visual--large___pdxBc{right:var(--brand-control-large-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-leading-visual-icon--medium___y_4Pu,.Primer_Brand__TextInput-module__TextInput-leading-visual-icon--small___IvacS{width:var(--base-size-16);height:var(--base-size-16)}.Primer_Brand__TextInput-module__TextInput-leading-visual-icon--large___VPOF7{width:var(--base-size-20);height:var(--base-size-20)}.Primer_Brand__TextInput-module__TextInput-leading-text___H5Cfr,.Primer_Brand__TextInput-module__TextInput-trailing-text___ikt8X{color:var(--brand-color-text-muted);pointer-events:none;white-space:nowrap;align-items:center;display:flex}.Primer_Brand__TextInput-module__TextInput-leading-text--disabled___APVY0,.Primer_Brand__TextInput-module__TextInput-trailing-text--disabled___oM2Ls{color:var(--brand-control-color-fg-disabled);background-color:var(--brand-control-color-canvas-disabled)}.Primer_Brand__TextInput-module__TextInput-leading-text___H5Cfr{border-top-left-radius:6px;border-top-left-radius:var(--brand-borderRadius-medium,6px);border-bottom-left-radius:6px;border-bottom-left-radius:var(--brand-borderRadius-medium,6px);border-right:0}.Primer_Brand__TextInput-module__TextInput-trailing-text___ikt8X{border-top-right-radius:6px;border-top-right-radius:var(--brand-borderRadius-medium,6px);border-bottom-right-radius:6px;border-bottom-right-radius:var(--brand-borderRadius-medium,6px);border-left:0}.Primer_Brand__TextInput-module__TextInput-leading-text-inner___wsz6j,.Primer_Brand__TextInput-module__TextInput-trailing-text-inner___hHCPx{color:var(--brand-color-text-muted);display:inline-flex}.Primer_Brand__TextInput-module__TextInput-leading-text-inner--medium___B7Rra,.Primer_Brand__TextInput-module__TextInput-trailing-text-inner--medium___P9cYA{padding-inline:var(--brand-control-medium-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-leading-text-inner--small___scMhg,.Primer_Brand__TextInput-module__TextInput-trailing-text-inner--small___B4sQm{padding-inline:var(--brand-control-small-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-leading-text-inner--large___HfLcI,.Primer_Brand__TextInput-module__TextInput-trailing-text-inner--large___LTt33{padding-inline:var(--brand-control-large-paddingInline-condensed)}.Primer_Brand__TextInput-module__TextInput-leading-text-inner___wsz6j{border-right:1px solid var(--brand-color-border-default)}.Primer_Brand__TextInput-module__TextInput-trailing-text-inner___hHCPx{border-left:1px solid var(--brand-color-border-default)}.Primer_Brand__TextInput-module__TextInput--has-leading-text___u7qke{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.Primer_Brand__TextInput-module__TextInput--has-trailing-text___Rsoog{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.Primer_Brand__TextInput-module__TextInput-leading-text--success___LLFx7,.Primer_Brand__TextInput-module__TextInput-trailing-text--success___EfLVd{border-color:var(--brand-color-success-fg)}.Primer_Brand__TextInput-module__TextInput-leading-text--error___TM77D,.Primer_Brand__TextInput-module__TextInput-trailing-text--error___R96jr{border-color:var(--brand-color-danger-fg)}@media (prefers-reduced-motion:reduce){.Primer_Brand__TextInput-module__TextInput___EtKj3,.Primer_Brand__TextInput-module__Checkbox___TOylA:before,.Primer_Brand__TextInput-module__Checkbox___TOylA:after,.Primer_Brand__TextInput-module__Checkbox___TOylA *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__Textarea-module__Textarea___xmKD5{color:var(--brand-control-color-fg-default);background-color:var(--brand-color-canvas-default);border-radius:var(--brand-borderRadius-medium);line-height:var(--brand-text-lineHeight-100);transition:var(--brand-control-animation-duration) var(--brand-control-animation-easing);border:none;transition-property:color,background-color,box-shadow;display:flex}.Primer_Brand__Textarea-module__Textarea___xmKD5::placeholder{color:var(--brand-color-text-muted);opacity:1}.Primer_Brand__Textarea-module__Textarea___xmKD5[disabled]{-webkit-text-fill-color:var(--brand-control-color-fg-disabled);color:var(--brand-control-color-fg-disabled);cursor:not-allowed;background-color:var(--brand-control-color-canvas-disabled);opacity:1;resize:none}.Primer_Brand__Textarea-module__Textarea___xmKD5:focus{outline:none}.Primer_Brand__Textarea-module__Textarea-resize--vertical___uAPaM{resize:vertical}.Primer_Brand__Textarea-module__Textarea-resize--horizontal___gT0d4{resize:horizontal}.Primer_Brand__Textarea-module__Textarea-resize--none___VNofG{resize:none}.Primer_Brand__Textarea-module__Textarea-resize--both___bDJp5{resize:both}.Primer_Brand__Textarea-module__Textarea--medium___pMZGb{font-weight:var(--brand-text-weight-100);font-size:var(--brand-text-size-100);padding:var(--brand-control-medium-paddingBlock-normal) var(--brand-control-medium-paddingInline-condensed)}.Primer_Brand__Textarea-module__Textarea--large___wCPXA{font-weight:var(--brand-text-weight-200);font-size:var(--brand-text-size-200);padding:var(--brand-control-large-paddingBlock-normal) var(--brand-control-large-paddingInline-condensed)}.Primer_Brand__Textarea-module__Textarea--fullWidth___lPWcQ{width:100%}.Primer_Brand__Textarea-module__Textarea-wrapper--disabled___fg8We{border-color:var(--brand-control-color-border-disabled)}.Primer_Brand__Textarea-module__Textarea-wrapper___A4lsG{font-family:var(--brand-body-fontFamily);border:solid 1px var(--brand-control-color-border-default);border:solid var(--brand-borderWidth-thin,1px) var(--brand-control-color-border-default);border-radius:var(--brand-borderRadius-medium);transition:var(--brand-control-animation-duration) var(--brand-control-animation-easing);transition-property:border;display:inline-flex;position:relative}.Primer_Brand__Textarea-module__Textarea-wrapper--invisible___fF78K{border-color:#0000}.Primer_Brand__Textarea-module__Textarea-wrapper--fullWidth___EtLL9{display:flex}.Primer_Brand__Textarea-module__Textarea-wrapper___A4lsG:not(.Primer_Brand__Textarea-module__Textarea-wrapper--fullWidth___EtLL9){width:min-content}.Primer_Brand__Textarea-module__Textarea-wrapper--monospace___lA41d{font-family:var(--brand-fontStack-monospace)}.Primer_Brand__Textarea-module__Textarea-wrapper___A4lsG:focus-within{border-color:var(--brand-control-color-focus);box-shadow:0 0 0 1px var(--brand-control-color-focus);outline:none}@media (forced-colors:active){.Primer_Brand__Textarea-module__Textarea-wrapper___A4lsG:focus-within{outline:var(--brand-borderWidth-thick) solid Highlight;outline-offset:var(--base-size-2)}}.Primer_Brand__Textarea-module__Textarea-wrapper--success___RaDVX,.Primer_Brand__Textarea-module__Textarea-wrapper--success___RaDVX.Primer_Brand__Textarea-module__Textarea-wrapper--disabled___fg8We{border-color:var(--brand-color-success-fg)}.Primer_Brand__Textarea-module__Textarea-wrapper--error___zcHSQ,.Primer_Brand__Textarea-module__Textarea-wrapper--error___zcHSQ.Primer_Brand__Textarea-module__Textarea-wrapper--disabled___fg8We{border-color:var(--brand-color-danger-fg)}@media (prefers-reduced-motion:reduce){.Primer_Brand__Textarea-module__Textarea___xmKD5,.Primer_Brand__Textarea-module__Textarea___xmKD5:before,.Primer_Brand__Textarea-module__Textarea___xmKD5:after,.Primer_Brand__Textarea-module__Textarea___xmKD5 *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__Radio-module__Radio-wrapper___Gt9uM{-webkit-user-select:none;user-select:none;cursor:pointer;grid-row:1;position:relative}.Primer_Brand__Radio-module__Radio___JycTo{background-color:var(--brand-control-radio-bg-default);border:solid 1px var(--brand-control-radio-border-default);border:solid var(--brand-borderWidth-thin,1px) var(--brand-control-radio-border-default);cursor:pointer;margin:3px 0;border-radius:50%;outline:none;justify-content:center;align-items:center;width:20px;height:20px;margin:3px 3px 0 5px;display:inline-flex;position:relative;box-shadow:0 0 0 3px #0000}.Primer_Brand__Radio-module__Radio___JycTo:before{content:"";pointer-events:none;border:var(--brand-borderWidth-thin) solid transparent;border-radius:50%;width:24px;height:24px;position:absolute;inset:-4px -2px -2px -4px}.Primer_Brand__Radio-module__Radio-input___n3jX4{clip:rect(1px, 1px, 1px, 1px);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.Primer_Brand__Radio-module__Radio-dot___rmEAJ{border-color:var(--brand-control-radio-dot-checked);background:var(--brand-control-radio-dot-checked);opacity:0;width:12px;height:12px;transition:transform .35s var(--brand-animation-easing-glide), opacity .35s var(--brand-animation-easing-glide);border-radius:50%;display:block;position:absolute;transform:scale(.7)}@media (prefers-reduced-motion){.Primer_Brand__Radio-module__Radio-dot___rmEAJ{transition:none}}.Primer_Brand__Radio-module__Radio-input___n3jX4:checked+.Primer_Brand__Radio-module__Radio___JycTo{background-color:var(--brand-control-radio-bg-checked);border-color:var(--brand-control-radio-border-checked)}.Primer_Brand__Radio-module__Radio-input___n3jX4:not(:checked):not([disabled])+.Primer_Brand__Radio-module__Radio___JycTo:hover{background-color:var(--brand-control-radio-bg-hover);border-color:var(--brand-control-radio-border-hover)}.Primer_Brand__Radio-module__Radio-input___n3jX4:checked:not([disabled])+.Primer_Brand__Radio-module__Radio___JycTo:hover{background-color:var(--brand-control-radio-bg-checked-hover);border-color:var(--brand-control-radio-border-checked-hover)}.Primer_Brand__Radio-module__Radio-input___n3jX4:checked:not([disabled])+.Primer_Brand__Radio-module__Radio___JycTo:hover .Primer_Brand__Radio-module__Radio-dot___rmEAJ{background:var(--brand-control-radio-dot-checked-hover);border-color:var(--brand-control-radio-dot-checked-hover)}.Primer_Brand__Radio-module__Radio-input___n3jX4:checked+.Primer_Brand__Radio-module__Radio___JycTo .Primer_Brand__Radio-module__Radio-dot___rmEAJ{opacity:1;transform:scale(1)}.Primer_Brand__Radio-module__Radio-input___n3jX4:focus+.Primer_Brand__Radio-module__Radio___JycTo{box-shadow:0 0 0 4px var(--brand-control-color-focus)}.Primer_Brand__Radio-module__Radio-input___n3jX4:checked:focus+.Primer_Brand__Radio-module__Radio___JycTo{border-color:var(--brand-control-radio-border-checked)}.Primer_Brand__Radio-module__Radio-input___n3jX4[disabled]+.Primer_Brand__Radio-module__Radio___JycTo,.Primer_Brand__Radio-module__Radio-input___n3jX4[disabled]:checked+.Primer_Brand__Radio-module__Radio___JycTo{-webkit-text-fill-color:var(--brand-control-color-fg-disabled);color:var(--brand-control-color-fg-disabled);cursor:not-allowed;background-color:var(--brand-control-radio-bg-disabled);border-color:var(--brand-control-radio-border-disabled);opacity:1}.Primer_Brand__Radio-module__Radio-input___n3jX4[disabled]:checked+.Primer_Brand__Radio-module__Radio___JycTo .Primer_Brand__Radio-module__Radio-dot___rmEAJ{background:var(--brand-control-color-fg-disabled);border-color:var(--brand-control-color-fg-disabled)}@media (forced-colors:active){.Primer_Brand__Radio-module__Radio-input___n3jX4:focus+.Primer_Brand__Radio-module__Radio___JycTo{outline:var(--brand-borderWidth-thin) solid Highlight;outline-offset:var(--base-size-4)}.Primer_Brand__Radio-module__Radio-input___n3jX4:checked+.Primer_Brand__Radio-module__Radio___JycTo .Primer_Brand__Radio-module__Radio-dot___rmEAJ{background-color:highlight}}@media (prefers-reduced-motion:reduce){.Primer_Brand__Radio-module__Radio___JycTo,.Primer_Brand__Radio-module__Radio___JycTo:before,.Primer_Brand__Radio-module__Radio___JycTo:after,.Primer_Brand__Radio-module__Radio___JycTo *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__FormControl-module__FormControl___ZJtXy{font-family:var(--brand-body-fontFamily);gap:var(--base-size-8);flex-direction:column;display:inline-flex}.Primer_Brand__FormControl-module__FormControl--fullWidth___QyLCS{width:100%}.Primer_Brand__FormControl-module__FormControl--checkbox___R2ng7{grid-template-columns:auto 1fr;display:grid}.Primer_Brand__FormControl-module__FormControl--border___CRSaq{border:1px solid var(--brand-control-color-border-default);border-radius:var(--brand-borderRadius-medium);padding:var(--base-size-12)}.Primer_Brand__FormControl-module__FormControl-label___meeuB{color:var(--brand-color-text-default);font-weight:var(--base-text-weight-medium);font-family:var(--brand-body-fontFamily)}.Primer_Brand__FormControl-module__FormControl-label--visually-hidden___cFizI{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.Primer_Brand__FormControl-module__FormControl-label--medium___inrKd{letter-spacing:var(--brand-text-letterSpacing-100);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100)}.Primer_Brand__FormControl-module__FormControl-label--large___okLn6{letter-spacing:var(--brand-text-letterSpacing-300);font-size:var(--brand-text-size-300);line-height:var(--brand-text-lineHeight-300)}.Primer_Brand__FormControl-module__FormControl-label--checkbox___x2U9X{cursor:pointer;font-size:var(--brand-text-size-100);font-weight:var(--base-text-weight-medium);line-height:var(--base-size-24);width:100%;position:relative;top:1px}.Primer_Brand__FormControl-module__FormControl-control--radio___aSHRG{margin:2px 0 0}.Primer_Brand__FormControl-module__FormControl-hint___dbP0O{grid-column:1/3;display:block}.Primer_Brand__FormControl-module__FormControl-validation___vG5tm{gap:var(--base-size-4);align-items:center;display:flex}.Primer_Brand__FormControl-module__FormControl-validation--success___fGV4L{color:var(--brand-color-success-fg)}.Primer_Brand__FormControl-module__FormControl-validation--error___DJVR5{color:var(--brand-color-danger-fg)}.Primer_Brand__FormControl-module__FormControl-validation-success-icon___UgUzb,.Primer_Brand__FormControl-module__FormControl-validation-error-icon___o3GQW{display:flex}.Primer_Brand__FormControl-module__FormControl-validation--animate-in___C_pxB{animation:.17s cubic-bezier(.44,.74,.36,1) Primer_Brand__FormControl-module__FormControlValidationFadeIn___hRw_R}@keyframes Primer_Brand__FormControl-module__FormControlValidationFadeIn___hRw_R{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.Primer_Brand__FormControl-module__FormControl-validation-checkbox___Cigqb{grid-column:1/3}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK{z-index:90;background:var(--brand-color-canvas-default);height:var(--SubdomainNavBar-height);font-weight:550;position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK:after{content:"";z-index:3;height:var(--brand-borderWidth-thin);background-color:var(--brand-SubdomainNavBar-border-nav-default);pointer-events:none;position:absolute;inset-block-start:100%;inset-inline:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-outer-container___aE8uv{--SubdomainNavBar-height:var(--base-size-64);z-index:90}@media screen and (width<=47.99rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-outer-container___aE8uv{--SubdomainNavBar-height:calc(var(--base-size-64) - var(--base-size-8))}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-outer-container___aE8uv:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-outer-container--fixed___ZhyZf){position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-outer-container--fixed___ZhyZf{position:fixed;top:0;left:0;right:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___kdy5Y{padding:4px 28px;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container--centered___FXUTh{max-width:1280px;margin:0 auto}@media screen and (width>=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___kdy5Y{padding:4px 32px}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container--search-open___nhMNU{animation:.15s Primer_Brand__SubdomainNavBar-module__fade-out___fhdxi}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5{align-items:center;gap:var(--base-size-8);max-width:340px;color:var(--brand-color-text-default);padding:0;padding:var(--base-size-16) 0;margin:0;list-style-type:none;display:inline-flex}@media screen and (width>=63.25rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5{gap:var(--base-size-16)}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark___pMn2_,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___Zm_g2{color:var(--brand-color-text-default);align-items:center;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark___pMn2_{position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-back-arrow___OOrj8{color:var(--brand-color-text-muted);opacity:0;transform:translate(var(--base-size-4), -50%);transition:opacity var(--brand-animation-duration-fast), transform var(--brand-animation-duration-fast) ease;display:flex;position:absolute;inset-block-start:50%;inset-inline-start:calc(-1 * var(--base-size-24) + var(--base-size-4))}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark___pMn2_:hover .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-back-arrow___OOrj8{opacity:1;transform:translateY(-50%)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark___pMn2_ svg{width:32px;height:32px}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___Zm_g2{line-height:var(--base-size-32);white-space:nowrap;padding-inline-end:var(--base-size-16);-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___Zm_g2:hover{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-featured___i_EMH .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-prefix___MCu96{color:var(--brand-color-text-default)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-label___C3mii{color:inherit}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--has-title___JWpl2 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5>li:first-child{align-self:stretch;align-items:center;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--has-title___JWpl2 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5>li:first-child:after{content:"";box-sizing:border-box;width:var(--brand-borderWidth-thin);height:var(--SubdomainNavBar-height);margin-inline:var(--base-size-16);background-color:var(--brand-color-border-muted);flex:none;align-self:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___qa6xA,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component___zpwkV{align-items:center;min-width:0;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___qa6xA{margin-inline-end:var(--base-size-16)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component___zpwkV{margin-inline-start:var(--base-size-16)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav___rZwCn{flex:1 1 0;align-items:center;min-width:0;margin:0;padding:0;list-style-type:none;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list___iQd2r{list-style-type:none}@media screen and (width<=767px){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list___iQd2r,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list--invisible___HnkQO{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list--visible___ZeoFv{margin:0;padding:0;display:block}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___qa6xA,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component___zpwkV{box-sizing:border-box;width:100%;padding-block:var(--base-size-16);padding-inline:var(--base-size-16);flex:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___qa6xA{margin-inline-end:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component___zpwkV{margin-inline-start:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO{top:var(--SubdomainNavBar-height);z-index:2;background-color:var(--brand-color-canvas-default);width:100%;max-height:calc(100vh - var(--SubdomainNavBar-height) - 0px);max-height:calc(100vh - var(--SubdomainNavBar-height) - var(--SubdomainNavBar-menu-offset-block-start,0px));border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);animation:.5s Primer_Brand__SubdomainNavBar-module__fade-in-down___kwg9g;animation-timing-function:var(--brand-animation-easing-default);flex-direction:column;justify-content:flex-start;display:flex;position:absolute;left:0;right:0;overflow-y:auto}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper--close___NzelD{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper-footer___VLcHd{flex-direction:column;flex:none;width:100%;display:flex}}@media screen and (width>=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-overflow___OXKBt{min-width:0;margin:0 var(--base-size-24) 0 0;flex:1 1 0;align-items:center;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list___iQd2r{min-width:0;block-size:var(--base-size-48);max-block-size:var(--base-size-48);flex-wrap:nowrap;flex:auto;align-items:center;margin:0;padding:0;display:flex;overflow:hidden}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9{white-space:nowrap;flex:none}@media screen and (width<=767px){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9{animation-name:Primer_Brand__SubdomainNavBar-module__fade-in-down-staggered___zQfEQ;animation-duration:.5s;animation-delay:calc(var(--animation-order) * 80ms);animation-fill-mode:both;animation-timing-function:var(--brand-animation-easing-default)}}@media screen and (width>=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item--overflowed___vVhQg{visibility:hidden;pointer-events:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item--overflow___FXC7u{visibility:hidden;pointer-events:none;flex:none;align-items:center;display:flex;position:absolute;inset-inline-end:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-overflow--has-overflow___zoCZu .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item--overflow___FXC7u{visibility:visible;pointer-events:auto;position:relative}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc{align-items:center;gap:var(--base-size-8);color:var(--brand-color-text-default);font-family:var(--brand-heading-fontFamily);font-weight:var(--base-text-weight-normal);flex-direction:row;-webkit-text-decoration:none;text-decoration:none;display:flex;position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:hover{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-text___a540y{position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9{align-items:center;gap:var(--base-size-8);display:inline-flex}@media screen and (width<=767px){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link--title___ApFQt{font-weight:var(--base-text-weight-medium)}}@media screen and (width>=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc{width:100%;min-height:var(--base-size-40);padding:var(--base-size-8) var(--base-size-12);color:var(--brand-color-text-muted);background-color:var(--brand-color-canvas-default);border-radius:var(--brand-borderRadius-medium);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-200);transition:background-color var(--brand-animation-easing-default) .25s}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:hover,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus-visible{color:var(--brand-color-text-default);background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus-visible{box-shadow:inset 0 0 0 var(--brand-borderWidth-thick) var(--brand-color-focus);outline:none}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2{display:none}@media screen and (width>=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2{cursor:pointer;appearance:none;align-items:center;gap:var(--base-size-4);background-color:#0000;border:none;display:inline-flex}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu___RXj_t{z-index:100;background-color:var(--brand-color-canvas-default);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);animation:Primer_Brand__SubdomainNavBar-module__fade-in-down-overflow____WJvz var(--brand-animation-duration-faster);animation-timing-function:var(--brand-animation-easing-default);min-width:calc(var(--base-size-128) + var(--base-size-32));transform:translateY(calc(0px - var(--base-size-4)));border-start-start-radius:0;border-start-end-radius:0;border-end-end-radius:var(--brand-borderRadius-medium);border-end-start-radius:var(--brand-borderRadius-medium);position:absolute;right:auto;overflow:hidden}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-list___EbzqG{grid-gap:var(--brand-borderWidth-thin);gap:var(--brand-borderWidth-thin);padding:var(--base-size-8);width:100%;margin:0;list-style-type:none;display:grid}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-secondary-nav___WHTTz{flex:0 auto;align-items:center;min-width:0;margin-left:auto;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___WyUIj{box-sizing:border-box;align-items:center;min-width:0;display:flex}@media screen and (width>=63.25rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___WyUIj{--SubdomainNavBar-search-input-width:calc(var(--base-size-128) * 2 + var(--base-size-24));flex:0 9999 var(--SubdomainNavBar-search-input-width);width:var(--SubdomainNavBar-search-input-width);max-width:100%;min-width:calc(var(--base-size-128) + var(--base-size-32))}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button___hMy4J{cursor:pointer;appearance:none;border:var(--brand-borderWidth-thick) solid transparent;color:var(--brand-color-text-default);width:calc(48px - var(--brand-borderWidth-thick));height:calc(48px - var(--brand-borderWidth-thick));transition:border .25s var(--brand-animation-easing-default), box-shadow .25s ease;border-radius:var(--brand-borderRadius-medium);background-color:#0000;justify-content:center;align-items:center;gap:0;display:flex;position:relative;box-shadow:0 0 0 2px #0000}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button___hMy4J svg{width:24px;height:24px}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button____QKi7{cursor:pointer;appearance:none;justify-content:space-between;align-items:center;gap:var(--base-size-16);width:100%;block-size:var(--base-size-32);min-block-size:var(--base-size-32);padding:var(--base-size-4) var(--base-size-4) var(--base-size-4) calc(var(--base-size-8) + var(--base-size-2));color:var(--brand-color-text-muted);background-color:var(--brand-color-canvas-subtle);border-radius:var(--brand-borderRadius-medium);font-family:var(--brand-body-fontFamily);transition:background-color var(--brand-animation-duration-fast) var(--brand-animation-easing-default), box-shadow var(--brand-animation-duration-fast) var(--brand-animation-easing-default);border:0;display:flex;overflow:hidden}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button____QKi7:hover{box-shadow:inset 0 0 0 var(--brand-borderWidth-thin) var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button____QKi7:focus-visible{outline:var(--base-size-4) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button____QKi7:active{box-shadow:inset 0 0 0 var(--brand-borderWidth-thin) var(--brand-color-border-default)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder___lFmsx{align-items:center;gap:var(--base-size-8);min-width:0;color:var(--brand-color-text-muted);font-size:var(--brand-text-size-100);font-weight:var(--base-text-weight-normal);white-space:nowrap;text-overflow:ellipsis;line-height:1.2;display:inline-flex;overflow:hidden}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder___lFmsx svg{flex:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder___lFmsx span{text-overflow:ellipsis;overflow:hidden}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-shortcut___M8tMd{min-width:var(--base-size-24);padding-inline:var(--base-size-8);color:var(--brand-color-text-default);background-color:var(--brand-color-canvas-default);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);border-radius:calc(var(--brand-borderRadius-medium) / 2);font-family:var(--brand-fontStack-monospace);font-size:var(--brand-text-size-100);font-weight:var(--base-text-weight-normal);flex:none;justify-content:center;align-self:stretch;align-items:center;line-height:1.6;display:inline-flex}@media screen and (width<=47.99rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___WyUIj{flex:0 0 var(--base-size-48);width:var(--base-size-48);justify-content:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button____QKi7{width:var(--base-size-32);padding:var(--base-size-8);background-color:#0000;justify-content:center;gap:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder___lFmsx{gap:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder___lFmsx span,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-shortcut___M8tMd{display:none}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button___hMy4J{align-self:center;align-items:center;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-icon___dXvjL{gap:calc(var(--base-size-4) - var(--brand-borderWidth-thin));flex-direction:column;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-label___iD85T{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF{background-color:var(--brand-color-text-default);width:22px;height:2px;margin:var(--base-size-4) auto;border-radius:var(--brand-borderRadius-large);display:block}@media (prefers-reduced-motion:no-preference){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF{transition-timing-function:var(--brand-animation-easing-default);transition-property:opacity,transform;transition-duration:.5s}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF:first-of-type{transform-origin:100% 100%}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF:nth-of-type(3){transform-origin:100% 0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF:first-of-type{transform:rotate(-45deg)translateY(-3px)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF:nth-of-type(2){opacity:0;transform:scale(0)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF:nth-of-type(3){transform:rotate(45deg)translateY(3px)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___CTbHW.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT{z-index:3;background-color:var(--brand-color-canvas-muted);position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___CTbHW.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT:focus-visible{box-shadow:none;outline:none;transition:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___CTbHW.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT:focus-visible:before{content:"";z-index:2;pointer-events:none;border:var(--brand-borderWidth-thick) solid var(--brand-color-focus);position:absolute;inset:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___CTbHW.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT:after{content:"";z-index:1;height:calc(var(--brand-borderWidth-thin) * 2);background-color:var(--brand-color-canvas-muted);position:absolute;inset-block-end:calc(var(--brand-borderWidth-thin) * -2);inset-inline:0}@media screen and (width>=63.25rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button___hMy4J:hover{border:var(--brand-borderWidth-thick) solid var(--brand-SubdomainNavBar-border-button-hover);background-color:#0000}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button___hMy4J:active{box-shadow:0 0 0 1px var(--brand-SubdomainNavBar-border-button-hover);background-color:#0000}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___CTbHW{display:none}}@media screen and (width>=48rem) and (width<=63.24rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav___rZwCn{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-secondary-nav___WHTTz{flex:none;align-self:stretch;position:relative}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___WyUIj{--SubdomainNavBar-tablet-search-width:calc(var(--base-size-128) * 2 + var(--base-size-2));flex:0 0 var(--SubdomainNavBar-tablet-search-width);width:var(--SubdomainNavBar-tablet-search-width);padding-inline:var(--base-size-8);border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button____QKi7{width:100%}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___CTbHW{justify-content:center;align-self:stretch;align-items:center;gap:var(--base-size-8);width:max-content;min-width:calc(var(--base-size-64) + var(--base-size-32));height:100%;padding-inline:var(--base-size-16);color:var(--brand-color-text-default);border:0;border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);border-inline-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);font-family:var(--brand-body-fontFamily);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);border-radius:0;flex-direction:row;flex:none;overflow:visible}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-label___iD85T{white-space:nowrap;align-items:center;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-icon___dXvjL{width:var(--base-size-16);height:var(--base-size-16);flex:none;justify-content:center;align-items:stretch;overflow:visible}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-icon___dXvjL .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF{width:var(--base-size-16);height:var(--base-size-2);transform-origin:50%;margin:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF:first-of-type{transform:translateY(calc(var(--base-size-6) - var(--brand-borderWidth-thin))) rotate(45deg)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF:nth-of-type(3){transform:translateY(calc(var(--brand-borderWidth-thin) - var(--base-size-6))) rotate(-45deg)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO{inset-inline:0;top:var(--SubdomainNavBar-height);z-index:2;box-sizing:border-box;width:100%;max-height:calc(100vh - var(--SubdomainNavBar-height) - 0px);max-height:calc(100vh - var(--SubdomainNavBar-height) - var(--SubdomainNavBar-menu-offset-block-start,0px));background-color:var(--brand-color-canvas-default);border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);animation:Primer_Brand__SubdomainNavBar-module__fade-in-down___kwg9g var(--brand-animation-duration-default);animation-timing-function:var(--brand-animation-easing-default);flex-direction:column;justify-content:flex-start;display:flex;position:absolute;overflow-y:auto}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO{width:max(100%, calc(var(--base-size-128) * 3));min-width:0;inset-inline:auto 0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper--close___NzelD{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list--visible___ZeoFv{grid-gap:var(--brand-borderWidth-thin);gap:var(--brand-borderWidth-thin);padding:var(--base-size-8) var(--base-size-16);margin:0;display:grid}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper-footer___VLcHd{flex-direction:column;flex:none;width:100%;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc{box-sizing:border-box;width:100%;min-height:var(--base-size-40);padding:var(--base-size-8) var(--base-size-12);color:var(--brand-color-text-muted);background-color:var(--brand-color-canvas-default);border-radius:var(--brand-borderRadius-medium);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-200)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx){width:100%;height:auto}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc{padding:var(--base-size-8) var(--base-size-12)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9{background-color:#0000;border-radius:0;width:100%;padding:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:hover>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus-visible>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:active>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc[aria-current]:not([aria-current=false])>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9{background-color:#0000;outline:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:hover,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus-visible,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:active,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc[aria-current]:not([aria-current=false]){color:var(--brand-color-text-default);background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus-visible{box-shadow:inset 0 0 0 var(--brand-borderWidth-thick) var(--brand-color-focus);outline:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link--title___ApFQt{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-200)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___qa6xA,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component___zpwkV{box-sizing:border-box;width:100%;height:auto;padding:var(--base-size-16);flex:none;margin-inline:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area___MbQys{width:100%;height:auto;padding:0;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area-inner___dbpYv{box-sizing:border-box;width:100%;margin-block:var(--base-size-24);padding-inline:var(--base-size-16);flex-direction:column}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper-footer--has-leading-item___WS7Rf,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___qa6xA+.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list--visible___ZeoFv,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper-footer___VLcHd .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component___zpwkV+.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area___MbQys{border-block-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area___MbQys{gap:var(--base-size-16);align-items:center;min-width:0;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area-inner___dbpYv{gap:var(--base-size-8);min-width:0;display:flex}@media screen and (width<=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area___MbQys{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area--visible___fLvbf{z-index:99;width:100%;height:auto;animation-name:Primer_Brand__SubdomainNavBar-module__fade-in-down-staggered___zQfEQ;animation-duration:.5s;animation-delay:.8s;animation-fill-mode:both;animation-timing-function:var(--brand-animation-easing-default);display:flex;left:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container--search-open___nhMNU .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area--visible___fLvbf{display:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area-inner___dbpYv{box-sizing:border-box;width:100%;margin-block:var(--base-size-24);padding-inline:var(--base-size-24);flex-direction:column;min-width:0}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-cta-button___g_9BM{white-space:nowrap}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO{top:var(--SubdomainNavBar-height);height:auto;max-height:calc(100vh - var(--SubdomainNavBar-height) - 0px);max-height:calc(100vh - var(--SubdomainNavBar-height) - var(--SubdomainNavBar-menu-offset-block-start,0px))}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-backdrop___sLFAC{inset-block-start:calc(var(--SubdomainNavBar-height) + 0px);z-index:1;background-color:var(--brand-SubdomainNavBar-searchDialog-backdropColor);animation:Primer_Brand__SubdomainNavBar-module__fade-in___u4FB2 var(--brand-animation-duration-fast) var(--brand-animation-easing-glide);position:fixed;inset-block-start:calc(var(--SubdomainNavBar-height) + var(--SubdomainNavBar-menu-offset-block-start,0px));inset-block-end:0;inset-inline:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container--search-open___nhMNU{animation:none}@media screen and (width<=47.99rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK{--SubdomainNavBar-mobile-control-size:var(--base-size-48)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___kdy5Y{height:100%;padding:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5{gap:0;max-width:none;height:100%;padding:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5>li{height:100%;padding-inline:0 var(--base-size-16);align-items:center;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5>li:first-child{width:auto;padding-inline:var(--base-size-16) var(--base-size-8);justify-content:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark___pMn2_{justify-content:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark___pMn2_ svg{width:var(--base-size-24);height:var(--base-size-24)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___Zm_g2{padding-inline-end:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___Zm_g2>*{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-secondary-nav___WHTTz{height:100%}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___WyUIj{flex:0 0 var(--SubdomainNavBar-mobile-control-size);width:var(--SubdomainNavBar-mobile-control-size);border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);justify-content:center;height:100%;padding-inline:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button____QKi7,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___CTbHW{box-sizing:border-box;flex:0 0 var(--SubdomainNavBar-mobile-control-size);width:var(--SubdomainNavBar-mobile-control-size);height:100%;padding-inline:var(--base-size-16);border-radius:0;flex-direction:column;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___CTbHW{gap:calc(var(--base-size-4) - var(--brand-borderWidth-thin));border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF{width:var(--base-size-16);height:var(--base-size-2);transform-origin:50%;margin:0 auto}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF:first-of-type{transform:translateY(calc(var(--base-size-6) - var(--brand-borderWidth-thin))) rotate(45deg)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button--close___I0UtT .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF:nth-of-type(3){transform:translateY(calc(var(--brand-borderWidth-thin) - var(--base-size-6))) rotate(-45deg)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc{padding:var(--base-size-16);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link--title___ApFQt{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area-inner___dbpYv{padding-inline:var(--base-size-16)}}@media screen and (width>=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___kdy5Y{max-width:none;height:100%;padding:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5{gap:0;max-width:none;height:100%;padding:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5>li{height:100%;padding-inline:0 var(--base-size-16);border-inline-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);align-items:center;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5>li:first-child{width:auto;padding-inline:var(--base-size-16) var(--base-size-8);border-inline-end:0;justify-content:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--has-title___JWpl2 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5>li:first-child{padding-inline-end:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--has-title___JWpl2 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5>li:first-child:after{margin-inline-end:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--has-title___JWpl2 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-item___CclaY{padding-inline:var(--base-size-24)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark___pMn2_{justify-content:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark___pMn2_ svg{width:var(--base-size-24);height:var(--base-size-24)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___Zm_g2{padding-inline-end:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___Zm_g2>*{font-size:var(--base-size-16);line-height:var(--base-size-16)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav___rZwCn,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-overflow___OXKBt,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list___iQd2r,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-secondary-nav___WHTTz,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area___MbQys,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___qa6xA,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component___zpwkV{height:100%}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___qa6xA,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-trailing-component___zpwkV{padding-inline:var(--base-size-16);margin-inline:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___qa6xA{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list___iQd2r{block-size:100%;max-block-size:100%;align-items:stretch;margin:0;padding-inline-start:var(--base-size-16)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-overflow___OXKBt{margin:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9{align-items:center;height:100%;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc{height:100%;padding:0 var(--base-size-16);color:var(--brand-color-text-muted);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-200);align-items:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2{padding-inline:var(--base-size-4)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9{gap:var(--base-size-4);padding:var(--base-size-4) var(--base-size-12);border-radius:var(--brand-borderRadius-full);background-color:#0000}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:hover>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:active>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc[aria-current]:not([aria-current=false])>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2:hover>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2:active>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2[aria-expanded=true]>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9{background-color:var(--brand-SubdomainNavBar-color-link-bgColor)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus-visible,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2:focus-visible{outline:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc:focus-visible>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2:focus-visible>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}@media (prefers-reduced-motion:no-preference){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list-item___sz8e9:not(.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-overflow-menu-item___sI1rx)>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link___XmtPc>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-link-content___JKou9{transition:background-color var(--brand-animation-duration-fast) var(--brand-animation-easing-default)}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___WyUIj{height:100%;padding-inline:var(--base-size-16)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger--has-trailing-item___sHQYt{border-inline-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area___MbQys{padding-inline:var(--base-size-16);align-items:center}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-button-area--has-leading-item___HsvBF{border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}@media screen and (width>=63.25rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___WyUIj{--SubdomainNavBar-search-input-width:max(calc(var(--base-size-128) + var(--base-size-32)), min(28.5vw, calc(var(--base-size-128) * 3 + var(--base-size-36))));align-self:stretch}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--has-primary-nav___QwOCp{border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);height:calc(var(--SubdomainNavBar-height) + var(--base-size-48))}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp:after{inset-block-start:var(--SubdomainNavBar-height)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___kdy5Y{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:var(--SubdomainNavBar-height);display:grid}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--has-primary-nav___QwOCp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___kdy5Y{grid-template-rows:var(--SubdomainNavBar-height) var(--base-size-48)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-navigation___QI1qZ{grid-area:1/1;min-width:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav___rZwCn{border-block-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);grid-area:2/1/auto/-1;min-width:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-primary-nav-list___iQd2r{padding-inline-start:calc(var(--base-size-64) + var(--brand-borderWidth-thin))}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___kdy5Y>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-leading-component___qa6xA{border-inline-start:0;grid-area:1/2;justify-self:start}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___kdy5Y>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-secondary-nav___WHTTz{grid-area:1/3}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___WyUIj{border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button____QKi7{width:var(--base-size-32);padding:var(--base-size-8);background-color:#0000;justify-content:center;gap:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder___lFmsx{gap:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder-text___W96nO,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-shortcut___M8tMd{display:none}@media screen and (width>=48rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___WyUIj{flex:0 0 var(--base-size-48);width:var(--base-size-48);min-width:var(--base-size-48);padding-inline:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar--variant-default___jNIQp .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button____QKi7{width:100%;block-size:100%;padding-inline:var(--base-size-16);border-radius:0}}@media screen and (width>=1024px){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-cta-button--secondary___P0FJH{display:inline-flex}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-form___zoZB5{width:100%;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-area___DttZX{align-items:center;gap:var(--base-size-8);width:100%;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-close-button___aVOiQ{cursor:pointer;appearance:none;min-block-size:var(--base-size-32);padding:var(--base-size-8) var(--base-size-12);color:var(--brand-color-text-default);background-color:var(--brand-color-canvas-subtle);border-radius:var(--brand-borderRadius-medium);font-family:var(--brand-body-fontFamily);font-size:var(--brand-text-size-100);font-weight:var(--base-text-weight-medium);line-height:var(--base-size-14);letter-spacing:var(--brand-text-letterSpacing-100);border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-close-button___aVOiQ:hover{background-color:var(--brand-color-canvas-inset)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-close-button___aVOiQ:focus-visible{outline:var(--base-size-4) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog-control-area___KlFbq{height:var(--base-size-40);background:0 0;align-items:center;max-width:none;margin:0;padding:0;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-text-input___kDY_0{border-color:#0000}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-area___y0BAA{width:100%}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-container___kow2P{padding:var(--base-size-24);background-color:var(--base-color-scale-white-0);border-radius:var(--brand-borderRadius-large);width:80%;max-width:570px;height:70vh;max-height:514px;margin:0 auto;animation:.5s Primer_Brand__SubdomainNavBar-module__fade-in-down___kwg9g;box-shadow:0 8px 24px #01040926}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results___haCH9{padding:0 var(--base-size-24) 0 0;height:90%;margin:0;list-style:none;overflow-y:scroll}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-heading___FTzyR{font-weight:var(--brand-heading-weight-600);font-size:var(--base-size-20);line-height:var(--base-size-24);margin-bottom:var(--base-size-20);padding:0 var(--base-size-8);color:var(--base-color-scale-black-0);display:block}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group___HQ5ec,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group-list___vCi4S{margin:0;padding:0;list-style:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group___HQ5ec+.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group___HQ5ec{margin-block-start:var(--base-size-24)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group-heading___wULje{margin:0 0 var(--base-size-20);padding:0 var(--base-size-8);color:var(--brand-color-text-muted);font-weight:var(--brand-heading-weight-600);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);display:block}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item___YZV9z{padding:var(--base-size-16) var(--base-size-8);border-bottom:1px solid #b7bfc7;border-bottom:solid var(--brand-borderWidth-thin,1px) var(--brand-SubdomainNavBar-search-results-border-default,#b7bfc7)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___bEvSd a[aria-selected=true]{outline:var(--brand-color-focus) auto var(--brand-borderWidth-thick)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___bEvSd{letter-spacing:var(--brand-heading-letterSpacing-400);font-size:var(--brand-text-size-400)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___bEvSd a{color:var(--base-color-scale-black-0);margin:0 0 var(--base-size-12);font-size:var(--base-size-16);font-weight:var(--brand-heading-weight-400);font-family:var(--brand-heading-fontFamily);line-height:var(--brand-text-lineHeight-400);-webkit-text-decoration:none;text-decoration:none;display:block}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___bEvSd a svg{flex:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___bEvSd a:hover{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-desc___Rb5Tm{color:var(--base-color-scale-black-0)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5{inset-block-start:calc(var(--base-size-64) + var(--base-size-8));inset-block-end:auto;inset-inline:calc(var(--base-size-64) + var(--base-size-8));z-index:99;width:min(calc(100vw - ((var(--base-size-64) + var(--base-size-8)) * 2)), calc((var(--base-size-128) * 6) + var(--base-size-36)));max-height:calc(100vh - ((var(--base-size-64) + var(--base-size-8)) * 2));height:auto;padding:var(--base-size-16);color:var(--brand-color-text-default);background-color:var(--brand-color-canvas-default);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-default);border-radius:var(--brand-borderRadius-large);box-shadow:0 0 calc(var(--base-size-32) + var(--base-size-2)) var(--brand-SubdomainNavBar-searchDialog-shadowColor);margin-inline:auto;position:fixed;overflow:hidden}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog--has-results___fcWO5{padding-block-end:var(--base-size-32)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5::backdrop{background-color:var(--brand-SubdomainNavBar-searchDialog-backdropColor);-webkit-backdrop-filter:blur(var(--base-size-24));backdrop-filter:blur(var(--base-size-24))}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-area___DttZX{gap:var(--base-size-16)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-form___zoZB5{min-width:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-form___zoZB5 section>span:focus-within{box-shadow:none;border-color:#0000}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-text-input___kDY_0{color:var(--brand-color-text-default);font-size:calc(var(--base-size-16) + var(--base-size-2));font-weight:var(--base-text-weight-medium);line-height:var(--brand-text-lineHeight-300);letter-spacing:var(--brand-text-letterSpacing-100)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-close-button___aVOiQ{background-color:var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-area--visible___lo6ji{border-block-start:var(--brand-borderWidth-thin) dashed var(--brand-color-border-muted);margin-block-start:var(--base-size-24);padding-block-start:var(--base-size-24)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-container___kow2P{width:100%;max-width:none;height:auto;max-height:calc(100vh - (((var(--base-size-64) + var(--base-size-8)) * 2) + var(--base-size-128)));box-shadow:none;background-color:#0000;border-radius:0;margin:0;padding:0;animation:none;overflow-y:auto}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results___haCH9{height:auto;margin:0;padding:0;overflow:visible}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results-heading___FTzyR,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group-heading___wULje{color:var(--brand-color-text-muted);font-size:var(--brand-text-size-100);font-weight:var(--brand-heading-weight-600);line-height:var(--brand-text-lineHeight-100);margin-block-end:var(--base-size-20);padding:0}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group___HQ5ec+.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group___HQ5ec{margin-block-start:var(--base-size-24)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item___YZV9z{padding:var(--base-size-16) var(--base-size-4);border-block-end:0;border-block-start:var(--brand-borderWidth-thin) dashed var(--brand-color-border-muted)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-group-list___vCi4S>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item___YZV9z:first-child,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-results___haCH9>.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item___YZV9z:first-child{border-block-start:0;padding-block-start:var(--base-size-12)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___bEvSd{font-size:var(--brand-text-size-300);letter-spacing:var(--brand-text-letterSpacing-100)}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___bEvSd a{align-items:center;gap:calc(var(--base-size-8) + var(--base-size-2));width:100%;color:var(--brand-color-text-default);font-size:var(--brand-text-size-300);font-weight:var(--brand-heading-weight-600);line-height:var(--brand-text-lineHeight-300);letter-spacing:var(--brand-text-letterSpacing-100);margin:0;display:flex}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-container___bEvSd a span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-desc___Rb5Tm,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5 .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-result-item-meta___HjhRd{display:none}@media screen and (width<=47.99rem){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5{inset-block-start:var(--base-size-16);inset-block-end:auto;inset-inline:var(--base-size-16);width:calc(100vw - (var(--base-size-16) * 2));max-height:calc(100vh - (var(--base-size-16) * 2));height:auto}}.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-skip-to-content___WMHSh{z-index:100;position:absolute;inset-block-start:calc(var(--SubdomainNavBar-height) / 2);inset-inline-start:var(--base-size-16);transform:translateY(-50%)}@keyframes Primer_Brand__SubdomainNavBar-module__fade-in-down___kwg9g{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes Primer_Brand__SubdomainNavBar-module__fade-in___u4FB2{0%{opacity:0}to{opacity:1}}@keyframes Primer_Brand__SubdomainNavBar-module__fade-in-down-overflow____WJvz{0%{opacity:0;transform:translateY(calc(0px - var(--base-size-24)))}to{opacity:1;transform:translateY(calc(0px - var(--base-size-4)))}}@keyframes Primer_Brand__SubdomainNavBar-module__fade-out___fhdxi{0%{opacity:1}to{opacity:0}}@keyframes Primer_Brand__SubdomainNavBar-module__fade-in-down-staggered___zQfEQ{0%{opacity:0;transform:scale(.6)translateY(-8px)}to{opacity:1}}@media (prefers-reduced-motion:reduce){.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK:before,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK:after,.Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root,[data-color-mode=light]{--brand-SubdomainNavBar-canvas-default:#ffffff80;--brand-SubdomainNavBar-canvas-search:var(--base-color-scale-white-0);--brand-SubdomainNavBar-canvas-overflow-default:var(--base-color-scale-white-0);--brand-SubdomainNavBar-canvas-overflow-hover:var(--base-color-scale-gray-0);--brand-SubdomainNavBar-fg-overflow-default:var(--brand-color-text-default);--brand-SubdomainNavBar-color-link-bgColor:var(--base-color-scale-gray-1);--brand-SubdomainNavBar-searchDialog-shadowColor:#0000001a;--brand-SubdomainNavBar-searchDialog-backdropColor:#0003;--brand-SubdomainNavBar-border-nav-default:var(--base-color-scale-green-6);--brand-SubdomainNavBar-border-nav-pressed:var(--base-color-scale-black-0);--brand-SubdomainNavBar-border-button-hover:var(--base-color-scale-black-0)}[data-color-mode=dark]{--brand-SubdomainNavBar-canvas-default:#0d111780;--brand-SubdomainNavBar-canvas-search:var(--base-color-scale-black-0);--brand-SubdomainNavBar-canvas-overflow-default:var(--base-color-scale-white-0);--brand-SubdomainNavBar-canvas-overflow-hover:var(--base-color-scale-gray-0);--brand-SubdomainNavBar-fg-overflow-default:var(--brand-color-text-onEmphasis);--brand-SubdomainNavBar-color-link-bgColor:var(--base-color-scale-gray-6);--brand-SubdomainNavBar-searchDialog-shadowColor:#0000001a;--brand-SubdomainNavBar-searchDialog-backdropColor:#0003;--brand-SubdomainNavBar-border-nav-default:var(--base-color-scale-green-3);--brand-SubdomainNavBar-border-nav-pressed:var(--base-color-scale-white-0);--brand-SubdomainNavBar-border-button-hover:var(--base-color-scale-white-0)}:root,[data-color-mode=light],[data-color-mode=dark]{--brand-InlineLink-color-rest:var(--brand-color-text-link-rest);--brand-InlineLink-color-pressed:var(--brand-color-text-link-pressed)}:root{--brand-InlineLink-transition-timing:var(--brand-animation-duration-fast)}.Primer_Brand__InlineLink-module__InlineLink___U_Ama{-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration-color:var(--brand-InlineLink-color-rest);text-decoration-color:var(--brand-InlineLink-color-rest);text-decoration-thickness:var(--brand-borderWidth-thin);text-underline-position:under;transition:var(--brand-InlineLink-transition-timing) text-decoration;position:relative}.Primer_Brand__InlineLink-module__InlineLink___U_Ama:hover{text-decoration-thickness:var(--brand-borderWidth-thick)}.Primer_Brand__InlineLink-module__InlineLink___U_Ama,.Primer_Brand__InlineLink-module__InlineLink___U_Ama>span{font-size:inherit;font-weight:inherit;line-height:inherit;color:var(--brand-InlineLink-color-rest)}.Primer_Brand__InlineLink-module__InlineLink___U_Ama:active,.Primer_Brand__InlineLink-module__InlineLink___U_Ama:active>span{color:var(--brand-InlineLink-color-pressed)}[data-color-mode=dark] .Primer_Brand__InlineLink-module__InlineLink___U_Ama{-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto}@media (prefers-reduced-motion:reduce){.Primer_Brand__InlineLink-module__InlineLink___U_Ama,.Primer_Brand__InlineLink-module__InlineLink___U_Ama:before,.Primer_Brand__InlineLink-module__InlineLink___U_Ama:after,.Primer_Brand__InlineLink-module__InlineLink___U_Ama *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__InlineCode-module__InlineCode___NJ7el{font-family:var(--brand-fontStack-monospace);font-size:calc(1em - 1px);font-weight:var(--base-text-weight-regular);color:var(--brand-InlineCode-color-fg-default);background-color:var(--brand-InlineCode-bgColor);padding-block:0;padding-inline:var(--base-size-4);border-radius:var(--base-size-2);-webkit-box-decoration-break:clone;box-decoration-break:clone;white-space:normal;word-wrap:anywhere;line-height:1.6}.Primer_Brand__InlineCode-module__InlineCode___NJ7el.Primer_Brand__InlineCode-module__InlineCode--nowrap___mcEPL{white-space:nowrap;word-wrap:normal}:where(h1,h2,h3,h4,h5,h6) .Primer_Brand__InlineCode-module__InlineCode___NJ7el{border-radius:var(--base-size-4)}:where(h1,h2,h3,h4,h5,h6) .Primer_Brand__InlineCode-module__InlineCode__text___N7vdd{color:var(--brand-InlineCode-color-fg-heading)}.Primer_Brand__InlineCode-module__InlineCode__text___N7vdd{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:auto;position:relative;inset-block-start:-.03em}:root,[data-color-mode=light]{--brand-Token-bgColor-default:var(--base-color-scale-gray-0);--brand-Token-bgColor-accent:var(--base-color-scale-green-6);--brand-Token-bgColor-hover-default:var(--base-color-scale-gray-1);--brand-Token-bgColor-hover-accent:var(--base-color-scale-green-7);--brand-Token-bgColor-hover-outline:#0000000f;--brand-Token-bgColor-hover-invisible:#0000000f;--brand-Token-bgColor-invisible:var(--base-color-scale-gray-1);--brand-Token-bgColor-outline:transparent;--brand-Token-border-outline:var(--brand-color-border-muted);--brand-Token-fgColor-default:var(--brand-color-text-default);--brand-Token-fgColor-accent:var(--base-color-scale-white-0);--brand-Token-fgColor-outline:var(--brand-color-text-default);--brand-Token-fgColor-invisible:var(--brand-color-text-default)}[data-color-mode=dark]{--brand-Token-bgColor-default:var(--base-color-scale-gray-7);--brand-Token-bgColor-accent:var(--base-color-scale-green-2);--brand-Token-bgColor-hover-default:var(--base-color-scale-gray-6);--brand-Token-bgColor-hover-accent:var(--base-color-scale-green-1);--brand-Token-bgColor-hover-outline:var(--brand-color-canvas-subtle);--brand-Token-bgColor-hover-invisible:var(--brand-color-canvas-subtle);--brand-Token-bgColor-invisible:transparent;--brand-Token-bgColor-outline:transparent;--brand-Token-border-outline:var(--brand-color-border-default);--brand-Token-fgColor-default:var(--brand-color-text-default);--brand-Token-fgColor-accent:var(--brand-color-text-onEmphasis);--brand-Token-fgColor-outline:var(--brand-color-text-default);--brand-Token-fgColor-invisible:var(--brand-color-text-default)}.Primer_Brand__Token-module__Token___r7qQC{border:var(--brand-borderWidth-thin) solid transparent;border-radius:var(--brand-borderRadius-small);align-items:center;gap:var(--base-size-8);min-width:0;max-width:100%;padding-inline:var(--base-size-8);padding-block:var(--base-size-6);vertical-align:middle;padding-block-end:var(--base-size-6);display:inline-flex}.Primer_Brand__Token-module__Token--hasLeadingVisual___cPRLz{padding-inline:calc((var(--base-size-4) + var(--base-size-8)) / 2);padding-block:calc((var(--base-size-4) + var(--base-size-8)) / 2)}.Primer_Brand__Token-module__Token--interactive___aQ1rk{cursor:pointer;-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__Token-module__Token--interactive___aQ1rk:focus-visible{outline:var(--base-size-4) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}[data-color-mode=dark] .Primer_Brand__Token-module__Token___r7qQC{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:auto}.Primer_Brand__Token-module__Token--variant-default___NBxMW{background-color:var(--brand-Token-bgColor-default);color:var(--brand-Token-fgColor-default)}.Primer_Brand__Token-module__Token--interactive___aQ1rk.Primer_Brand__Token-module__Token--variant-default___NBxMW:hover{background-color:var(--brand-Token-bgColor-hover-default)}.Primer_Brand__Token-module__Token--variant-accent___Ji_P4{background-color:var(--brand-Token-bgColor-accent);color:var(--brand-Token-fgColor-accent)}.Primer_Brand__Token-module__Token--interactive___aQ1rk.Primer_Brand__Token-module__Token--variant-accent___Ji_P4:hover{background-color:var(--brand-Token-bgColor-hover-accent)}.Primer_Brand__Token-module__Token--variant-outline___X52wp{background-color:var(--brand-Token-bgColor-outline);border-color:var(--brand-Token-border-outline);color:var(--brand-Token-fgColor-outline)}.Primer_Brand__Token-module__Token--interactive___aQ1rk.Primer_Brand__Token-module__Token--variant-outline___X52wp:hover{background-color:var(--brand-Token-bgColor-hover-outline)}.Primer_Brand__Token-module__Token--variant-invisible___bJrcK{color:var(--brand-Token-fgColor-invisible);background-color:#0000}.Primer_Brand__Token-module__Token--interactive___aQ1rk.Primer_Brand__Token-module__Token--variant-invisible___bJrcK:hover{background-color:var(--brand-Token-bgColor-hover-invisible)}.Primer_Brand__Token-module__Token__label___wC8Q5{text-overflow:ellipsis;min-width:0;font-weight:var(--base-text-weight-normal);line-height:var(--brand-text-lineHeight-100);white-space:nowrap;letter-spacing:var(--brand-text-letterSpacing-100);flex:auto;display:block;overflow:hidden}.Primer_Brand__Token-module__Token___r7qQC>.Primer_Brand__Token-module__Token__label___wC8Q5{color:inherit}.Primer_Brand__Token-module__Token__leading-visual___SDos3{width:calc((var(--base-size-16) + var(--base-size-20)) / 2);height:calc((var(--base-size-16) + var(--base-size-20)) / 2);flex-shrink:0;justify-content:center;align-items:center;display:flex}.Primer_Brand__Token-module__Token__visual___U0j1l{display:block}.Primer_Brand__Token-module__Token__leading-visual___SDos3>.Primer_Brand__Token-module__Token__visual___U0j1l{width:calc((var(--base-size-16) + var(--base-size-20)) / 2);height:calc((var(--base-size-16) + var(--base-size-20)) / 2);max-width:calc((var(--base-size-16) + var(--base-size-20)) / 2);max-height:calc((var(--base-size-16) + var(--base-size-20)) / 2);border-radius:2px}.Primer_Brand__Token-module__Token__leading-visual___SDos3>.Primer_Brand__Token-module__Token__visual___U0j1l svg,.Primer_Brand__Token-module__Token__leading-visual___SDos3>.Primer_Brand__Token-module__Token__visual___U0j1l img{width:100%;height:100%}@media (forced-colors:active){.Primer_Brand__Token-module__Token___r7qQC{outline:var(--brand-borderWidth-thin) solid transparent}.Primer_Brand__Token-module__Token--interactive___aQ1rk:focus-visible{outline-color:highlight}}:root{--brand-FAQ-maxWidth-list:51rem}:root,[data-color-mode=light]{--brand-FAQ-color-heading:var(--brand-color-text-default);--brand-FAQ-color-tabLabel-selected:var(--brand-color-text-default);--brand-FAQGroup-buttonIndicator-idle:var(--base-color-scale-gray-3);--brand-FAQGroup-buttonIndicator-hover:var(--base-color-scale-gray-5);--brand-FAQGroup-buttonIndicator-active:var(--brand-color-accent-primary)}[data-color-mode=dark]{--brand-FAQ-color-heading:var(--brand-color-text-default);--brand-FAQ-color-tabLabel-selected:var(--brand-color-text-default);--brand-FAQGroup-buttonIndicator-idle:var(--base-color-scale-gray-7);--brand-FAQGroup-buttonIndicator-hover:var(--base-color-scale-gray-5);--brand-FAQGroup-buttonIndicator-active:var(--brand-color-accent-primary)}:root{--brand-FAQ-heading-marginBottom:var(--base-size-40)}@media (width>=544px){:root{--brand-FAQ-heading-marginBottom:var(--base-size-40)}}@media (width>=768px){:root{--brand-FAQ-heading-marginBottom:var(--base-size-64)}}@media (width>=1012px){:root{--brand-FAQ-heading-marginBottom:var(--base-size-96)}}.Primer_Brand__FAQ-module__FAQ___R3vLU{max-width:var(--brand-FAQ-maxWidth-list);margin:0 auto}.Primer_Brand__FAQ-module__FAQ--variant-gridline___mM5vd{border-block-end:var(--brand-color-border-muted) var(--brand-borderWidth-thin) solid;max-width:100%;padding-block-end:var(--base-size-40)}.Primer_Brand__FAQ-module__FAQ__content-wrapper--gridline___XqrgD{padding-inline:var(--base-size-20);max-width:var(--brand-FAQ-maxWidth-list);margin:0 auto}.Primer_Brand__FAQ-module__FAQ__heading-wrapper--gridline___TWgo1{padding-inline:var(--base-size-20);border-block-end:var(--brand-color-border-muted) var(--brand-borderWidth-thin) solid;margin-block-end:var(--base-size-40)}.Primer_Brand__FAQ-module__FAQ__heading___bH0aG{color:var(--brand-FAQ-color-heading);margin-bottom:var(--brand-FAQ-heading-marginBottom)}.Primer_Brand__FAQ-module__FAQ__subheading___I4puv{margin-bottom:var(--base-size-16);color:var(--brand-color-text-muted);text-transform:uppercase;font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100)}.Primer_Brand__FAQ-module__FAQ__heading--start___eHaT3{text-align:left}.Primer_Brand__FAQ-module__FAQ__heading--center___xMpbW{text-align:center;max-width:18ch;margin-left:auto;margin-right:auto}.Primer_Brand__FAQ-module__FAQ__heading--large___pBEPT{font-weight:var(--brand-text-weight-normal);font-size:var(--brand-text-size-800);line-height:var(--brand-text-lineHeight-800);letter-spacing:var(--brand-text-letterSpacing-800)}.Primer_Brand__FAQ-module__FAQ___R3vLU details+.Primer_Brand__FAQ-module__FAQ__subheading___I4puv{margin-top:var(--base-size-48)}.Primer_Brand__FAQ-module__FAQ___R3vLU.Primer_Brand__FAQ-module__details__summary___zIBcp{font-weight:var(--brand-text-weight-normal);font-size:var(--brand-text-size-800);line-height:var(--brand-text-lineHeight-800);letter-spacing:var(--brand-text-letterSpacing-800);color:var(--brand-FAQ-color-heading);cursor:pointer;background:0 0;border:none;outline:none;margin:0;padding:0}@media screen and (width>=48rem){.Primer_Brand__FAQ-module__FAQ__content-wrapper--gridline___XqrgD,.Primer_Brand__FAQ-module__FAQ__heading-wrapper--gridline___TWgo1{padding-inline:var(--base-size-36)}}@media screen and (width>=63.25rem){.Primer_Brand__FAQ-module__FAQ__content-wrapper--gridline___XqrgD,.Primer_Brand__FAQ-module__FAQ__heading-wrapper--gridline___TWgo1{padding-inline:0}.Primer_Brand__FAQ-module__FAQ__heading-wrapper--gridline___TWgo1{margin-block-end:var(--base-size-48)}.Primer_Brand__FAQ-module__FAQ--variant-gridline___mM5vd{padding-block-end:var(--base-size-64)}}.Primer_Brand__FAQGroup-module__FAQGroup___D0VvR{justify-content:space-between;gap:var(--brand-stack-gap-spacious);display:none}.Primer_Brand__FAQGroup-module__FAQGroup__accordion___dkveP{margin-block-start:var(--base-size-48)}.Primer_Brand__FAQGroup-module__FAQGroup__panel-subHeading___F0U3h{text-transform:uppercase;font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);margin-block-start:calc(var(--base-size-8) + 1px)}.Primer_Brand__FAQGroup-module__FAQGroup__tablist___WdY5Z .Primer_Brand__FAQGroup-module__FAQ__heading___w52lv{display:none}.Primer_Brand__FAQGroup-module__FAQGroup__tablist-button___EgyrC{appearance:none;padding-block:var(--base-size-8);cursor:pointer;align-items:center;gap:var(--base-size-12);width:100%;font-family:var(--brand-fontStack-monospace);font-size:var(--brand-text-size-100);font-weight:var(--brand-text-weight-500);line-height:var(--brand-text-lineHeight-100);letter-spacing:.15px;text-transform:uppercase;text-align:start;color:var(--brand-color-text-muted);text-overflow:ellipsis;white-space:nowrap;transition:gap var(--brand-animation-duration-fast) var(--brand-animation-easing-default);background-color:#0000;border:none;padding-inline:0;display:flex;overflow:hidden}.Primer_Brand__FAQGroup-module__FAQGroup__tablist-button___EgyrC:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:2px}.Primer_Brand__FAQGroup-module__FAQGroup__tablist-button___EgyrC:before{content:"";width:calc(var(--base-size-8) + var(--base-size-2));height:var(--base-size-12);background-color:var(--brand-FAQGroup-buttonIndicator-idle);transform-origin:0;transition:transform var(--brand-animation-duration-fast) var(--brand-animation-easing-default), background-color var(--brand-animation-duration-fast) var(--brand-animation-easing-default);flex-shrink:0;display:block;transform:scaleX(.7)}.Primer_Brand__FAQGroup-module__FAQGroup__tablist-button___EgyrC:hover:before{background-color:var(--brand-FAQGroup-buttonIndicator-hover)}.Primer_Brand__FAQGroup-module__FAQGroup__tablist-button___EgyrC[aria-selected=true]{color:var(--brand-FAQ-color-tabLabel-selected);gap:calc(var(--base-size-12) + 3px)}.Primer_Brand__FAQGroup-module__FAQGroup__tablist-button___EgyrC[aria-selected=true]:before{background-color:var(--brand-FAQGroup-buttonIndicator-active);transform:scaleX(1)}.Primer_Brand__FAQGroup-module__FAQGroup__nested-accordion-item___JGGeC summary h4{font-weight:var(--brand-text-weight-200);font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200)}.Primer_Brand__FAQGroup-module__FAQGroup__tablist--gridline___OCZgL{padding-inline-start:var(--base-size-48);padding-block:var(--base-size-80)}.Primer_Brand__FAQGroup-module__FAQGroup__content--gridline___C9omN{border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-inline:var(--base-size-64);padding-block-start:var(--base-size-80);padding-block-end:var(--base-size-96)}@media (forced-colors:active){.Primer_Brand__FAQGroup-module__FAQGroup__tablist-button___EgyrC[aria-selected=true]{border-color:highlight;border-width:var(--brand-borderWidth-thicker);color:highlighttext}}.Primer_Brand__FAQGroup-module__FAQGroup__heading___zTImD{padding-inline:var(--base-size-20)}@media screen and (width>=618px){.Primer_Brand__FAQGroup-module__FAQGroup__gridline-wrapper___OBSr9{border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__FAQGroup-module__FAQGroup__accordion___dkveP{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);max-width:618px;margin-block-start:0;margin-inline:auto}.Primer_Brand__FAQGroup-module__FAQGroup__heading___zTImD{max-width:618px;margin:0 auto}.Primer_Brand__FAQGroup-module__FAQGroup__heading-wrapper___lkgjS{padding-block-end:var(--base-size-40)}.Primer_Brand__FAQGroup-module__FAQGroup__heading-wrapper--gridline___Q_oGI{border-block-end:var(--brand-color-border-muted) var(--brand-borderWidth-thin) solid}.Primer_Brand__FAQGroup-module__FAQGroup__accordion--gridline___zDvVd:first-child summary{border-block-start:none!important}.Primer_Brand__FAQGroup-module__FAQGroup__accordion--gridline___zDvVd:last-child summary{border-block-end:none!important}}@media screen and (width>=63.25rem){.Primer_Brand__FAQGroup-module__FAQGroup___D0VvR{display:grid}.Primer_Brand__FAQGroup-module__FAQGroup__accordion___dkveP{display:none}.Primer_Brand__FAQGroup-module__FAQGroup__heading___zTImD{max-width:100%;padding-inline:0}.Primer_Brand__FAQGroup-module__FAQGroup__heading-wrapper--gridline___Q_oGI .Primer_Brand__FAQGroup-module__FAQGroup__heading___zTImD{padding-inline-start:var(--base-size-44)}.Primer_Brand__FAQGroup-module__FAQGroup__heading-wrapper___lkgjS{padding-block-end:var(--base-size-64)}}@media screen and (width>=80rem){.Primer_Brand__FAQGroup-module__FAQGroup__tablist--gridline___OCZgL{border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__FAQGroup-module__FAQGroup__content--gridline___C9omN{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__ControlGroup-module__ControlGroup__container___gYDZP{gap:var(--base-size-8);font-family:var(--brand-body-fontFamily);font-size:var(--brand-text-size-100);border:none;flex-direction:column;margin:0;padding:0;display:flex}.Primer_Brand__ControlGroup-module__ControlGroup__label___scr79{margin:0;margin-block-end:var(--base-size-8);padding:0}.Primer_Brand__ControlGroup-module__ControlGroup__validation___sJqFH{gap:var(--base-size-4);font-weight:var(--base-text-weight-medium);align-items:center;display:flex}.Primer_Brand__ControlGroup-module__ControlGroup__validation--success___eyNH9{color:var(--brand-color-text-emphasized)}.Primer_Brand__ControlGroup-module__ControlGroup__validation--error____n_l3{color:var(--brand-color-danger-fg)}.Primer_Brand__ControlGroup-module__ControlGroup__validation-icon--success___OO92u,.Primer_Brand__ControlGroup-module__ControlGroup__validation-icon--error___rZPNd{display:flex}.Primer_Brand__ControlGroup-module__ControlGroup__validation--animate-in___nHrFv{animation:.17s Primer_Brand__ControlGroup-module__ControlGroupValidationFadeIn___xgh8U var(--brand-animation-easing-glide)}.Primer_Brand__ControlGroup-module__ControlGroup__container___gYDZP label{font-weight:var(--base-text-weight-medium)}@keyframes Primer_Brand__ControlGroup-module__ControlGroupValidationFadeIn___xgh8U{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.Primer_Brand__Avatar-module__Avatar___QrJMw{width:var(--base-size-40);height:var(--base-size-40);display:inline-block;overflow:hidden}.Primer_Brand__Avatar-module__Avatar--shape-circle___VvaB7{border-radius:var(--brand-borderRadius-full)}.Primer_Brand__Avatar-module__Avatar--shape-square___hKak4{border-radius:var(--brand-borderRadius-medium)}.Primer_Brand__Avatar-module__Avatar__image___AajXN{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.Primer_Brand__Avatar-module__Avatar--size-32___vJxfW{width:var(--base-size-32);height:var(--base-size-32)}.Primer_Brand__Avatar-module__Avatar--size-40___RSkow{width:var(--base-size-40);height:var(--base-size-40)}.Primer_Brand__Avatar-module__Avatar--size-48___TvwXR{width:var(--base-size-48);height:var(--base-size-48)}.Primer_Brand__Avatar-module__Avatar--size-64___rovws{width:var(--base-size-64);height:var(--base-size-64)}.Primer_Brand__Avatar-module__Avatar--size-80___YDbIK{width:var(--base-size-80);height:var(--base-size-80)}.Primer_Brand__Avatar-module__Avatar-narrow--size-32___wmqNx{width:var(--base-size-32);height:var(--base-size-32)}.Primer_Brand__Avatar-module__Avatar-narrow--size-40___JnS3w{width:var(--base-size-40);height:var(--base-size-40)}.Primer_Brand__Avatar-module__Avatar-narrow--size-48___X8e2V{width:var(--base-size-48);height:var(--base-size-48)}@media screen and (width>=48rem){.Primer_Brand__Avatar-module__Avatar-regular--size-32___f5goH{width:var(--base-size-32);height:var(--base-size-32)}.Primer_Brand__Avatar-module__Avatar-regular--size-40___Qaf20{width:var(--base-size-40);height:var(--base-size-40)}.Primer_Brand__Avatar-module__Avatar-regular--size-48___db8dV{width:var(--base-size-48);height:var(--base-size-48)}.Primer_Brand__Avatar-module__Avatar-regular--size-64___rBoTS{width:var(--base-size-64);height:var(--base-size-64)}.Primer_Brand__Avatar-module__Avatar-regular--size-80___AKjNL{width:var(--base-size-80);height:var(--base-size-80)}}@media screen and (width>=80rem){.Primer_Brand__Avatar-module__Avatar-wide--size-32___Kn8pg{width:var(--base-size-32);height:var(--base-size-32)}.Primer_Brand__Avatar-module__Avatar-wide--size-40___DBSrS{width:var(--base-size-40);height:var(--base-size-40)}.Primer_Brand__Avatar-module__Avatar-wide--size-48___ai2Hf{width:var(--base-size-48);height:var(--base-size-48)}.Primer_Brand__Avatar-module__Avatar-wide--size-64___FLSak{width:var(--base-size-64);height:var(--base-size-64)}.Primer_Brand__Avatar-module__Avatar-wide--size-80___h09bA{width:var(--base-size-80);height:var(--base-size-80)}}:root{--brand-Testimonial-quote-letterSpacing-large:var(--brand-text-letterSpacing-900);--brand-Testimonial-quote-letterSpacing-default:var(--brand-text-letterSpacing-400);--brand-Testimonial-quote-fontWeight-large:var(--brand-heading-weight-600);--brand-Testimonial-quote-fontWeight-default:var(--brand-heading-weight-1000);--brand-Testimonial-quote-fontSize-large:var(--brand-text-size-500);--brand-Testimonial-quote-fontSize-default:var(--brand-text-size-400)}:root,[data-color-mode=light]{--brand-Testimonial-quoteMarkBackground-default:var(--base-color-scale-gray-0);--brand-Testimonial-quoteMarkBackground-blue:var(--base-color-scale-blue-0);--brand-Testimonial-quoteMarkBackground-coral:var(--base-color-scale-coral-0);--brand-Testimonial-quoteMarkBackground-green:var(--base-color-scale-green-0);--brand-Testimonial-quoteMarkBackground-gray:var(--base-color-scale-gray-0);--brand-Testimonial-quoteMarkBackground-indigo:var(--base-color-scale-indigo-0);--brand-Testimonial-quoteMarkBackground-lemon:var(--base-color-scale-lemon-0);--brand-Testimonial-quoteMarkBackground-lime:var(--base-color-scale-lime-0);--brand-Testimonial-quoteMarkBackground-orange:var(--base-color-scale-orange-0);--brand-Testimonial-quoteMarkBackground-pink:var(--base-color-scale-pink-0);--brand-Testimonial-quoteMarkBackground-purple:var(--base-color-scale-purple-0);--brand-Testimonial-quoteMarkBackground-red:var(--base-color-scale-red-0);--brand-Testimonial-quoteMarkBackground-teal:var(--base-color-scale-teal-0);--brand-Testimonial-quoteMarkBackground-yellow:var(--base-color-scale-yellow-0);--brand-Testimonial-quoteMarkBackground-blue-purple:var(--base-color-scale-blue-0);--brand-Testimonial-quoteMarkBackground-green-blue:var(--base-color-scale-green-0);--brand-Testimonial-quoteMarkBackground-pink-blue:var(--base-color-scale-pink-0);--brand-Testimonial-quoteMarkBackground-purple-red:var(--base-color-scale-purple-0);--brand-Testimonial-quoteMarkBackground-red-orange:var(--base-color-scale-red-0);--brand-Testimonial-borderMask-default:linear-gradient(180deg, #0009, #0000004d);--brand-Testimonial-borderMask-subtle:linear-gradient(180deg, #0009, #0000004d);--brand-Testimonial-quoteMarkColor-default:var(--brand-color-text-default);--brand-Testimonial-quoteMarkColor-blue:var(--base-color-scale-blue-5);--brand-Testimonial-quoteMarkColor-blue-purple-start:var(--base-color-scale-blue-5);--brand-Testimonial-quoteMarkColor-blue-purple-end:var(--base-color-scale-purple-5);--brand-Testimonial-quoteMarkColor-coral:var(--base-color-scale-coral-5);--brand-Testimonial-quoteMarkColor-green:var(--base-color-scale-green-6);--brand-Testimonial-quoteMarkColor-green-blue-start:var(--base-color-scale-green-6);--brand-Testimonial-quoteMarkColor-green-blue-end:var(--base-color-scale-blue-5);--brand-Testimonial-quoteMarkColor-gray:var(--base-color-scale-gray-5);--brand-Testimonial-quoteMarkColor-indigo:var(--base-color-scale-indigo-5);--brand-Testimonial-quoteMarkColor-lemon:var(--base-color-scale-lemon-5);--brand-Testimonial-quoteMarkColor-lime:var(--base-color-scale-lime-5);--brand-Testimonial-quoteMarkColor-orange:var(--base-color-scale-orange-5);--brand-Testimonial-quoteMarkColor-pink:var(--base-color-scale-pink-5);--brand-Testimonial-quoteMarkColor-pink-blue-start:var(--base-color-scale-pink-5);--brand-Testimonial-quoteMarkColor-pink-blue-end:var(--base-color-scale-blue-5);--brand-Testimonial-quoteMarkColor-purple:var(--base-color-scale-purple-5);--brand-Testimonial-quoteMarkColor-purple-red-start:var(--base-color-scale-purple-5);--brand-Testimonial-quoteMarkColor-purple-red-end:var(--base-color-scale-red-5);--brand-Testimonial-quoteMarkColor-red:var(--base-color-scale-red-5);--brand-Testimonial-quoteMarkColor-red-orange-start:var(--base-color-scale-red-5);--brand-Testimonial-quoteMarkColor-red-orange-end:var(--base-color-scale-orange-5);--brand-Testimonial-quoteMarkColor-teal:var(--base-color-scale-teal-5);--brand-Testimonial-quoteMarkColor-yellow:var(--base-color-scale-yellow-5);--brand-Testimonial-quote-color-default:var(--brand-color-text-default);--brand-Testimonial-quote-color-emphasis:var(--base-color-scale-green-7)}[data-color-mode=dark]{--brand-Testimonial-quoteMarkBackground-default:var(--base-color-scale-gray-6);--brand-Testimonial-quoteMarkBackground-blue:var(--base-color-scale-blue-8);--brand-Testimonial-quoteMarkBackground-coral:var(--base-color-scale-coral-8);--brand-Testimonial-quoteMarkBackground-green:var(--base-color-scale-green-8);--brand-Testimonial-quoteMarkBackground-gray:var(--base-color-scale-gray-6);--brand-Testimonial-quoteMarkBackground-indigo:var(--base-color-scale-indigo-8);--brand-Testimonial-quoteMarkBackground-lemon:var(--base-color-scale-lemon-8);--brand-Testimonial-quoteMarkBackground-lime:var(--base-color-scale-lime-8);--brand-Testimonial-quoteMarkBackground-orange:var(--base-color-scale-orange-8);--brand-Testimonial-quoteMarkBackground-pink:var(--base-color-scale-pink-8);--brand-Testimonial-quoteMarkBackground-purple:var(--base-color-scale-purple-8);--brand-Testimonial-quoteMarkBackground-red:var(--base-color-scale-red-8);--brand-Testimonial-quoteMarkBackground-teal:var(--base-color-scale-teal-8);--brand-Testimonial-quoteMarkBackground-yellow:var(--base-color-scale-yellow-8);--brand-Testimonial-quoteMarkBackground-blue-purple:var(--base-color-scale-blue-8);--brand-Testimonial-quoteMarkBackground-green-blue:var(--base-color-scale-green-8);--brand-Testimonial-quoteMarkBackground-pink-blue:var(--base-color-scale-pink-8);--brand-Testimonial-quoteMarkBackground-purple-red:var(--base-color-scale-purple-8);--brand-Testimonial-quoteMarkBackground-red-orange:var(--base-color-scale-red-8);--brand-Testimonial-borderMask-default:linear-gradient(180deg, #0009, #0000001a);--brand-Testimonial-borderMask-subtle:linear-gradient(180deg, #0009, #0000001a);--brand-Testimonial-quoteMarkColor-default:var(--brand-color-text-default);--brand-Testimonial-quoteMarkColor-blue:var(--base-color-scale-blue-2);--brand-Testimonial-quoteMarkColor-blue-purple-start:var(--base-color-scale-blue-2);--brand-Testimonial-quoteMarkColor-blue-purple-end:var(--base-color-scale-purple-2);--brand-Testimonial-quoteMarkColor-coral:var(--base-color-scale-coral-2);--brand-Testimonial-quoteMarkColor-green:var(--base-color-scale-green-2);--brand-Testimonial-quoteMarkColor-green-blue-start:var(--base-color-scale-green-2);--brand-Testimonial-quoteMarkColor-green-blue-end:var(--base-color-scale-blue-2);--brand-Testimonial-quoteMarkColor-gray:var(--base-color-scale-gray-2);--brand-Testimonial-quoteMarkColor-indigo:var(--base-color-scale-indigo-2);--brand-Testimonial-quoteMarkColor-lemon:var(--base-color-scale-lemon-2);--brand-Testimonial-quoteMarkColor-lime:var(--base-color-scale-lime-2);--brand-Testimonial-quoteMarkColor-orange:var(--base-color-scale-orange-2);--brand-Testimonial-quoteMarkColor-pink:var(--base-color-scale-pink-2);--brand-Testimonial-quoteMarkColor-pink-blue-start:var(--base-color-scale-pink-2);--brand-Testimonial-quoteMarkColor-pink-blue-end:var(--base-color-scale-blue-2);--brand-Testimonial-quoteMarkColor-purple:var(--base-color-scale-purple-2);--brand-Testimonial-quoteMarkColor-purple-red-start:var(--base-color-scale-purple-2);--brand-Testimonial-quoteMarkColor-purple-red-end:var(--base-color-scale-red-2);--brand-Testimonial-quoteMarkColor-red:var(--base-color-scale-red-2);--brand-Testimonial-quoteMarkColor-red-orange-start:var(--base-color-scale-red-2);--brand-Testimonial-quoteMarkColor-red-orange-end:var(--base-color-scale-orange-2);--brand-Testimonial-quoteMarkColor-teal:var(--base-color-scale-teal-2);--brand-Testimonial-quoteMarkColor-yellow:var(--base-color-scale-yellow-2);--brand-Testimonial-quote-color-default:var(--brand-color-text-default);--brand-Testimonial-quote-color-emphasis:var(--brand-color-text-emphasized)}.Primer_Brand__Testimonial-module__Testimonial___UUywT{color:var(--brand-color-text-default);font-family:var(--brand-fontStack-sansSerif)}.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___NHtOc,.Primer_Brand__Testimonial-module__Testimonial--variant-default___leAB4{border-radius:var(--brand-borderRadius-xlarge);padding:var(--base-size-48) var(--base-size-32);position:relative}@media screen and (width>=48rem){.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___NHtOc,.Primer_Brand__Testimonial-module__Testimonial--variant-default___leAB4{padding:var(--base-size-48)}}@media screen and (width>=63.25rem){.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___NHtOc.Primer_Brand__Testimonial-module__Testimonial--size-large___pF70c,.Primer_Brand__Testimonial-module__Testimonial--variant-default___leAB4.Primer_Brand__Testimonial-module__Testimonial--size-large___pF70c{padding:var(--base-size-96) var(--base-size-128)}}.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___NHtOc{background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__Testimonial-module__Testimonial--variant-default___leAB4{background-color:var(--brand-color-canvas-default)}.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___NHtOc:before,.Primer_Brand__Testimonial-module__Testimonial--variant-default___leAB4:before{pointer-events:none;content:"";border-radius:inherit;position:absolute;inset:0}.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___NHtOc.Primer_Brand__Testimonial-module__Testimonial--border___B_Qre:before{-webkit-mask-image:var(--brand-Testimonial-borderMask-subtle);-webkit-mask-image:var(--brand-Testimonial-borderMask-subtle);mask-image:var(--brand-Testimonial-borderMask-subtle);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-default)}.Primer_Brand__Testimonial-module__Testimonial--variant-default___leAB4.Primer_Brand__Testimonial-module__Testimonial--border___B_Qre:before{-webkit-mask-image:var(--brand-Testimonial-borderMask-default);-webkit-mask-image:var(--brand-Testimonial-borderMask-default);mask-image:var(--brand-Testimonial-borderMask-default);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-default)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark___cC2M1{--brand-Testimonial-quoteMarkColor-gradient:radial-gradient(circle at top left, var(--brand-Testimonial-quoteMarkColor-start), var(--brand-Testimonial-quoteMarkColor-end));--brand-Testimonial-quoteMarkColor-background:var(--brand-Testimonial-quoteMarkColor-gradient,var(--brand-Testimonial-quoteMarkColor,currentColor));color:var(--brand-Testimonial-quoteMarkColor-start,var(--brand-Testimonial-quoteMarkColor,currentColor));font-size:var(--base-size-48);line-height:var(--base-size-48);font-weight:var(--base-text-weight-extrabold);position:relative}.Primer_Brand__Testimonial-module__Testimonial__quoteMark___cC2M1:before{content:"";background:var(--brand-Testimonial-quoteMarkColor-background);-webkit-mask:linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default)) content-box, linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default));-webkit-mask:linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default)) content-box, linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default));mask:linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default)) content-box, linear-gradient(var(--brand-color-canvas-default), var(--brand-color-canvas-default));-webkit-mask-composite:xor;position:absolute;inset:0;-webkit-mask-composite:xor;mask-composite:exclude}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--hasBackground___VV6UY{width:calc(var(--base-size-48) + var(--base-size-8));height:calc(var(--base-size-48) + var(--base-size-8));border-radius:var(--base-size-12);background-color:var(--brand-Testimonial-quoteMarkBackground,var(--base-color-scale-gray-0));font-size:var(--base-size-64);justify-content:center;align-items:center;line-height:1;display:inline-flex}.Primer_Brand__Testimonial-module__Testimonial--size-large___pF70c .Primer_Brand__Testimonial-module__Testimonial__quoteMark___cC2M1:not(.Primer_Brand__Testimonial-module__Testimonial__quoteMark--hasBackground___VV6UY){font-size:7.5rem;line-height:1}.Primer_Brand__Testimonial-module__Testimonial__quoteMarkGlyph___skopW{display:block}.Primer_Brand__Testimonial-module__Testimonial-quote___QXF1F{font-family:var(--brand-fontStack-sansSerif);font-size:var(--brand-Testimonial-quote-fontSize-default);font-weight:var(--brand-Testimonial-quote-fontWeight-default);letter-spacing:var(--brand-Testimonial-quote-letterSpacing-default);line-height:1.2;display:block}.Primer_Brand__Testimonial-module__Testimonial--size-large___pF70c .Primer_Brand__Testimonial-module__Testimonial-quote___QXF1F{font-size:var(--brand-Testimonial-quote-fontSize-large);font-weight:var(--brand-Testimonial-quote-fontWeight-large);letter-spacing:var(--brand-Testimonial-quote-letterSpacing-large)}.Primer_Brand__Testimonial-module__Testimonial-quote___QXF1F em,.Primer_Brand__Testimonial-module__Testimonial-quote___QXF1F b{color:var(--brand-Testimonial-quote-color-emphasis);font-style:normal;font-weight:inherit}.Primer_Brand__Testimonial-module__Testimonial__media___JbJUQ{gap:var(--base-size-16);margin-top:var(--base-size-24);align-items:center;display:flex}.Primer_Brand__Testimonial-module__Testimonial-logo-image___KQQfi{display:block}.Primer_Brand__Testimonial-module__Testimonial--size-large___pF70c .Primer_Brand__Testimonial-module__Testimonial__media___JbJUQ{margin-top:var(--base-size-64)}.Primer_Brand__Testimonial-module__Testimonial-caption___Wvb67{flex-direction:column;display:flex}.Primer_Brand__Testimonial-module__Testimonial-avatar___Kaxqh{flex:none}.Primer_Brand__Testimonial-module__Testimonial-from___Kfj__{font-weight:var(--base-text-weight-normal);text-transform:uppercase}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM{gap:var(--base-size-36);width:100%;max-width:1176px;padding-inline:var(--base-size-20);padding-block:var(--base-size-40);flex-direction:column;display:flex}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial__quoteWrapper___M9wR7{align-items:flex-start;gap:var(--base-size-36);flex-direction:column;min-width:0;display:flex}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial__media___JbJUQ{align-items:flex-start;gap:var(--base-size-28);flex-direction:column;width:100%;margin-block-start:0}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-avatar___Kaxqh{width:var(--base-size-40);height:var(--base-size-40)}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-caption___Wvb67{border-block-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-default);gap:var(--base-size-6);width:100%;padding-block-start:var(--base-size-20)}@media screen and (width>=48rem){.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial__quoteWrapper___M9wR7{gap:var(--base-size-40)}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial__media___JbJUQ{width:356px}}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-from___Kfj__{font-family:var(--brand-fontStack-monospace);font-size:var(--brand-text-size-100);font-weight:var(--brand-heading-weight-500);line-height:var(--brand-text-lineHeight-100);text-transform:uppercase;letter-spacing:.0107em;align-items:center;display:flex}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-position___j2h0f{font-size:var(--brand-text-size-200);font-weight:var(--base-text-weight-normal);letter-spacing:.01em;line-height:1.6}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial__quoteMark___cC2M1{font-family:var(--brand-fontStack-monospace);font-weight:var(--brand-fontWeight-300)}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial__quoteMarkGlyph___skopW{transform:translateY(var(--base-size-12))}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial__quoteMark___cC2M1:not(.Primer_Brand__Testimonial-module__Testimonial__quoteMark--hasBackground___VV6UY){margin-left:-.18em}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-quote___QXF1F{font-family:var(--brand-fontStack-monospace);letter-spacing:-.01em;font-size:1.5rem;font-weight:425;line-height:var(--brand-text-lineHeight-100);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media screen and (width>=48rem){.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM{max-width:618px;padding-inline:var(--base-size-36);padding-block:var(--base-size-44);margin-inline:auto}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-quote___QXF1F{letter-spacing:-.02em;font-size:1.625rem}}@media screen and (width>=63.25rem){.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM{grid-column-gap:calc(var(--base-size-96) + var(--base-size-24));-moz-column-gap:calc(var(--base-size-96) + var(--base-size-24));column-gap:calc(var(--base-size-96) + var(--base-size-24));max-width:1176px;padding-inline:var(--base-size-48);padding-block:var(--base-size-88);grid-template-columns:minmax(0,744px) 312px;align-items:end;margin-inline:auto;display:grid}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM.Primer_Brand__Testimonial-module__Testimonial--hasLink___Qr_M5{row-gap:var(--base-size-48)}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial__quoteWrapper___M9wR7{gap:var(--base-size-48);grid-area:1/1}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial__media___JbJUQ{gap:var(--base-size-32);grid-area:1/2;width:312px}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM.Primer_Brand__Testimonial-module__Testimonial--hasLink___Qr_M5 .Primer_Brand__Testimonial-module__Testimonial__media___JbJUQ{grid-row:1/span 2}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-caption___Wvb67{padding-block-start:var(--base-size-24)}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-quote___QXF1F{font-size:var(--base-size-32)}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-link___gHJ58{grid-area:2/1}}@media screen and (width>=80rem){.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM{padding-inline:0}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-avatar___Kaxqh{width:var(--base-size-48);height:var(--base-size-48)}}.Primer_Brand__Testimonial-module__Testimonial-link___gHJ58{margin-top:var(--base-size-8)}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___VLMNM .Primer_Brand__Testimonial-module__Testimonial-link___gHJ58{align-self:flex-start;width:fit-content;margin-top:0}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--default___nAhKC{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-default);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-default)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--blue___gf2qX{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-blue);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-blue)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--blue-purple___Ec9P1{--brand-Testimonial-quoteMarkColor-start:var(--brand-Testimonial-quoteMarkColor-blue-purple-start);--brand-Testimonial-quoteMarkColor-end:var(--brand-Testimonial-quoteMarkColor-blue-purple-end);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-blue-purple)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--coral___WzMiA{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-coral);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-coral)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--green___gsL2x{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-green);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-green)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--green-blue___wqq5w{--brand-Testimonial-quoteMarkColor-start:var(--brand-Testimonial-quoteMarkColor-green-blue-start);--brand-Testimonial-quoteMarkColor-end:var(--brand-Testimonial-quoteMarkColor-green-blue-end);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-green-blue)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--gray___WGLgi{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-gray);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-gray)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--indigo___KN9eK{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-indigo);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-indigo)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--lemon___XgAJR{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-lemon);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-lemon)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--lime___DyfRi{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-lime);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-lime)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--orange___wA2te{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-orange);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-orange)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--pink___hrNQC{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-pink);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-pink)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--pink-blue___z73Hz{--brand-Testimonial-quoteMarkColor-start:var(--brand-Testimonial-quoteMarkColor-pink-blue-start);--brand-Testimonial-quoteMarkColor-end:var(--brand-Testimonial-quoteMarkColor-pink-blue-end);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-pink-blue)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--purple___H1_Zx{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-purple);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-purple)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--purple-red___Wb4Yy{--brand-Testimonial-quoteMarkColor-start:var(--brand-Testimonial-quoteMarkColor-purple-red-start);--brand-Testimonial-quoteMarkColor-end:var(--brand-Testimonial-quoteMarkColor-purple-red-end);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-purple-red)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--red___nzAC4{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-red);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-red)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--red-orange___f5Woq{--brand-Testimonial-quoteMarkColor-start:var(--brand-Testimonial-quoteMarkColor-red-orange-start);--brand-Testimonial-quoteMarkColor-end:var(--brand-Testimonial-quoteMarkColor-red-orange-end);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-red-orange)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--teal___EPZ3D{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-teal);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-teal)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--yellow___gFQED{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-yellow);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-yellow)}:root,[data-color-mode=light]{--brand-ComparisonTable-featured-color-start:var(--base-color-scale-pink-4);--brand-ComparisonTable-featured-color-end:var(--base-color-scale-indigo-5)}[data-color-mode=dark]{--brand-ComparisonTable-featured-color-start:var(--base-color-scale-pink-2);--brand-ComparisonTable-featured-color-end:var(--base-color-scale-indigo-3)}:root{--brand-ComparisonTable-heading-marginBottom:var(--base-size-8)}@media (width>=544px){:root{--brand-ComparisonTable-heading-marginBottom:var(--base-size-40)}}@media (width>=768px){:root{--brand-ComparisonTable-heading-marginBottom:var(--base-size-64)}}@media (width>=1012px){:root{--brand-ComparisonTable-heading-marginBottom:var(--base-size-96)}}.Primer_Brand__ComparisonTable-module__ComparisonTable--heading___CeSsH{text-align:left;max-width:18ch;margin-bottom:var(--brand-ComparisonTable-heading-marginBottom)}@media screen and (width>=34rem){.Primer_Brand__ComparisonTable-module__ComparisonTable--heading___CeSsH{text-align:center;margin-left:auto;margin-right:auto}}.Primer_Brand__ComparisonTable-module__ComparisonTable-footnote___rf35Q{text-align:left;margin:var(--base-size-24) 0}@media screen and (width>=34rem){.Primer_Brand__ComparisonTable-module__ComparisonTable-footnote___rf35Q{text-align:center}}.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX{border-collapse:collapse;border-spacing:0;font-family:var(--brand-body-fontFamily);width:100%}.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX tr{text-align:left;flex-direction:column;width:100%;display:flex}.Primer_Brand__ComparisonTable-module__ComparisonTable-cell___kifYR{color:var(--brand-color-text-default);font-weight:var(--brand-text-weight-200);font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200);padding-bottom:var(--base-size-24)}.Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM{font-weight:var(--base-text-weight-medium);font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200)}.Primer_Brand__ComparisonTable-module__ComparisonTable-cell-container___AHNr0{padding-top:var(--base-size-8);display:block}@media screen and (width<=34rem){.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX thead .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM{display:none}.Primer_Brand__ComparisonTable-module__ComparisonTable-cell___kifYR{margin-bottom:var(--base-size-32);padding-bottom:0}.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX tbody tr{border-top:var(--brand-borderWidth-thin) solid var(--brand-color-border-default)}.Primer_Brand__ComparisonTable-module__ComparisonTable-inline-cell-label___hE3hL{font-weight:var(--brand-heading-weight-400);font-size:var(--brand-text-size-400);line-height:var(--brand-heading-lineHeight-400)}.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX tbody .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM{margin-top:var(--base-size-24);margin-bottom:var(--base-size-16);font-weight:var(--brand-heading-weight-300);font-size:var(--brand-text-size-300);line-height:var(--brand-heading-lineHeight-300)}}@media screen and (width>=34rem){.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX tr{flex-direction:row}.Primer_Brand__ComparisonTable-module__ComparisonTable-cell-container___AHNr0{padding-top:var(--base-size-24)}.Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM{text-align:left}.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM:first-child{width:25%;margin-right:40px}.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX tr td:first-of-type:not(.Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM),.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX tr:first-of-type .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM:nth-child(2){width:40%}.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX tr td:nth-of-type(2):not(.Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM),.Primer_Brand__ComparisonTable-module__ComparisonTable___N2YLX tr:first-of-type .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM:nth-child(3){width:35%;margin-left:40px}.Primer_Brand__ComparisonTable-module__ComparisonTable--hide-element-on-narrow___GnYyu{display:none}.Primer_Brand__ComparisonTable-module__ComparisonTable-cell-container___AHNr0{border-top:var(--brand-borderWidth-thick) solid var(--brand-color-border-default)}}.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading--first___Ps2aK{color:var(--brand-color-text-muted)}.ComparisonTable--default thead .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM{padding:var(--base-size-24) 0 var(--base-size-16)}.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading-label--featured___c_wMH{z-index:2;position:relative}@media screen and (width<=34rem){.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell___kifYR:not(.Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM){padding-left:25px;position:relative}.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell___kifYR:before{content:"";background:var(--brand-color-border-default);width:5px;position:absolute;top:0;bottom:0;left:0}.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell--featured___f0LZk:before{background:linear-gradient(180deg, var(--brand-ComparisonTable-featured-color-start), var(--brand-ComparisonTable-featured-color-end))}}@media screen and (width>=34rem){.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading-label--featured___c_wMH{color:#0000;background:linear-gradient(89.46deg, var(--brand-ComparisonTable-featured-color-start) 0.87%, var(--brand-ComparisonTable-featured-color-end) 75.12%);-webkit-background-clip:text;background-clip:text}.ComparisonTable--default thead .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading___QlGCM{font-weight:var(--brand-heading-weight-400);font-size:var(--brand-text-size-400);line-height:var(--brand-heading-lineHeight-400);align-items:flex-end;display:inline-flex}.ComparisonTable--default thead .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading--first___Ps2aK{font-weight:var(--brand-heading-weight-400);font-size:var(--brand-text-size-400);line-height:var(--brand-heading-lineHeight-400)}.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell--featured___f0LZk,.ComparisonTable--default thead .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading--featured___tkzzb{padding-left:var(--base-size-24);padding-right:var(--base-size-24);border-right:2px solid var(--brand-ComparisonTable-featured-color-end);border-left:2px solid var(--brand-ComparisonTable-featured-color-start)}.ComparisonTable--default thead .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading--featured___tkzzb{background:var(--brand-color-canvas-default);border-top-left-radius:.45rem;border-top-right-radius:.45rem;position:relative}.ComparisonTable--default thead .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading--featured___tkzzb:before,.ComparisonTable--default thead .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading--featured___tkzzb:after{z-index:0;content:"";background:linear-gradient(90deg, var(--brand-ComparisonTable-featured-color-start), var(--brand-ComparisonTable-featured-color-end));border-top-left-radius:.45rem;border-top-right-radius:.45rem;position:absolute;inset:-2px -2px 0}.ComparisonTable--default thead .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-heading--featured___tkzzb:after{z-index:1;background:var(--brand-color-canvas-default);border-top-left-radius:.35rem;border-top-right-radius:.35rem;top:0;left:0;right:0}.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell--featured___f0LZk.Primer_Brand__ComparisonTable-module__ComparisonTable-cell--lastrow___zmShm{background:var(--brand-color-canvas-default);border-bottom-right-radius:.45rem;border-bottom-left-radius:.45rem;position:relative}.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell--featured___f0LZk.Primer_Brand__ComparisonTable-module__ComparisonTable-cell--lastrow___zmShm:after,.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell--featured___f0LZk.Primer_Brand__ComparisonTable-module__ComparisonTable-cell--lastrow___zmShm:before{z-index:0;content:"";background:linear-gradient(90deg, var(--brand-ComparisonTable-featured-color-start), var(--brand-ComparisonTable-featured-color-end));border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem;position:absolute;inset:0 -2px}.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell--featured___f0LZk.Primer_Brand__ComparisonTable-module__ComparisonTable-cell--lastrow___zmShm:after{z-index:1;background:var(--brand-color-canvas-default);border-bottom-right-radius:.35rem;border-bottom-left-radius:.35rem;bottom:2px;left:0;right:0}.ComparisonTable--default .Primer_Brand__ComparisonTable-module__ComparisonTable-cell-container--featured___x6tKO{z-index:2;position:relative}}.Primer_Brand__AnchorNav-module__AnchorNav___bwgAJ{padding:var(--base-size-12) var(--base-size-16);z-index:91;display:flex;position:sticky;top:0;left:0;right:0}.Primer_Brand__AnchorNav-module__AnchorNav--no-bg-scroll___oiJl5{height:100vh;overflow:hidden}.Primer_Brand__AnchorNav-module__AnchorNav--hide-until-sticky___d3Ec2:not(.Primer_Brand__AnchorNav-module__AnchorNav--stuck___AtvLO){opacity:0;visibility:hidden;transition:visibility var(--brand-animation-duration-default) var(--brand-animation-easing-default), opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__AnchorNav-module__AnchorNav--hide-until-sticky___d3Ec2.Primer_Brand__AnchorNav-module__AnchorNav--stuck___AtvLO{opacity:1;visibility:visible}.Primer_Brand__AnchorNav-module__AnchorNav--with-default-background-color___aFdXc{background-color:var(--brand-color-canvas-default)}.Primer_Brand__AnchorNav-module__AnchorNav--stuck___AtvLO{position:fixed;box-shadow:0 3px 6px #8c959f26,0 1px 1px #0000001a}.Primer_Brand__AnchorNav-module__AnchorNav--expanded___wVGbk{transform-style:preserve-3d;z-index:91}.Primer_Brand__AnchorNav-module__AnchorNav-link-container___VpHV2{width:100%;display:flex;position:relative}.Primer_Brand__AnchorNav-module__AnchorNav-inner-container___lshlZ{z-index:91;width:100%;max-width:1280px;max-height:calc(100vh - var(--base-size-12) * 2);position:relative}.Primer_Brand__AnchorNav-module__AnchorNav--with-default-background-color___aFdXc .Primer_Brand__AnchorNav-module__AnchorNav-inner-container___lshlZ{background-color:var(--brand-color-canvas-default)}@media screen and (width<=63.25rem){.Primer_Brand__AnchorNav-module__AnchorNav___bwgAJ:not(.Primer_Brand__AnchorNav-module__AnchorNav--expanded___wVGbk) .Primer_Brand__AnchorNav-module__AnchorNav-inner-container___lshlZ{justify-content:space-between;align-items:center;display:flex}.Primer_Brand__AnchorNav-module__AnchorNav___bwgAJ{background-color:var(--brand-color-canvas-default)}.Primer_Brand__AnchorNav-module__AnchorNav-inner-container--expanded____aoje{height:auto}.Primer_Brand__AnchorNav-module__AnchorNav-link-container___VpHV2{padding-left:var(--base-size-16);display:none}.Primer_Brand__AnchorNav-module__AnchorNav--expanded___wVGbk .Primer_Brand__AnchorNav-module__AnchorNav-link-container___VpHV2{flex-direction:column;display:flex}}@media screen and (width>=40rem) and (width<=63.25rem){.Primer_Brand__AnchorNav-module__AnchorNav__actionsContainer___jgpnq:not(.Primer_Brand__AnchorNav-module__AnchorNav__actionsContainer--no-offset___xn5H8){top:var(--base-size-8);position:absolute;right:0}}@media screen and (width>=63.25rem){.Primer_Brand__AnchorNav-module__AnchorNav___bwgAJ{padding:var(--base-size-12) var(--base-size-40);height:75px}.Primer_Brand__AnchorNav-module__AnchorNav--with-default-background-color___aFdXc,.Primer_Brand__AnchorNav-module__AnchorNav--stuck___AtvLO{background-color:var(--brand-color-canvas-default)}.Primer_Brand__AnchorNav-module__AnchorNav-inner-container___lshlZ{align-items:center;margin:0 auto;display:flex}}.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2{place-items:center flex-start;width:100%;height:48px;-webkit-text-decoration:none;text-decoration:none;display:flex}.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2:hover{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__AnchorNav-module__AnchorNav--expanded___wVGbk .Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2{animation:1s Primer_Brand__AnchorNav-module__fade-in___KfA_2;animation-timing-function:var(--brand-animation-easing-glide);margin:0 0 2px}@media screen and (width<=63.25rem){.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2{padding:0 0 0 var(--base-size-16);position:absolute;left:0}.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2:before{content:"";background-color:var(--brand-AnchorNav-link-underline-default);width:2px;height:50%;transition:opacity var(--brand-animation-duration-fast), transform var(--brand-animation-duration-fast);opacity:1;transform-origin:0;position:absolute;left:0;transform:scale(0)}.Primer_Brand__AnchorNav-module__AnchorNav--expanded___wVGbk .Primer_Brand__AnchorNav-module__AnchorNav-link--is-active___xbYDS:before{transform:scale(1)}}@media screen and (width>=63.25rem){.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2{margin:0 1px;position:relative}.Primer_Brand__AnchorNav-module__AnchorNav-link--center___aryYq{justify-content:center}.Primer_Brand__AnchorNav-module__AnchorNav-link--start___COZM3{width:auto;margin-right:var(--base-size-48);justify-content:flex-start}}.Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK{font-weight:var(--brand-text-weight-400);font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200);font-family:var(--brand-heading-fontFamily);letter-spacing:var(--brand-heading-letterSpacing-200);color:var(--brand-color-text-default);transition:color var(--brand-animation-easing-glide) var(--brand-animation-duration-faster);position:relative}.Primer_Brand__AnchorNav-module__AnchorNav--with-default-background-color___aFdXc .Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK{background-color:var(--brand-color-canvas-default)}@media screen and (width<=63.25rem){.Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK{background-color:var(--brand-color-canvas-default)}.Primer_Brand__AnchorNav-module__AnchorNav--expanded___wVGbk .Primer_Brand__AnchorNav-module__AnchorNav-link-label--is-active___DyUFY{color:var(--brand-color-focus)}.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2:not(.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2[data-active=true]){visibility:hidden}.Primer_Brand__AnchorNav-module__AnchorNav--stuck___AtvLO .Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2[data-active=false][data-first=true],.Primer_Brand__AnchorNav-module__AnchorNav___bwgAJ .Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2[data-active=false][data-first=true]{visibility:visible}.Primer_Brand__AnchorNav-module__AnchorNav-inner-container--expanded____aoje .Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;display:flex;position:relative;top:auto;left:auto;right:auto;visibility:visible!important}}@media screen and (width>=63.25rem){.Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK{white-space:nowrap}.Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK:after{content:"";background-color:var(--brand-AnchorNav-link-underline-default);width:100%;height:2px;transition:opacity var(--brand-animation-duration-fast), transform var(--brand-animation-duration-fast), background-color var(--brand-animation-duration-fast);opacity:1;transform-origin:50%;position:absolute;bottom:-6px;left:0;transform:scale(0)}.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2:hover .Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK:after,.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2:focus .Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK:after,.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2[data-active=true] .Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK:after{opacity:1;transform:scaleX(.8)}.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2:active .Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK:after{background-color:var(--brand-AnchorNav-link-underline-pressed);transform:scaleX(.9)}.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2[data-active=true] .Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK:after{background-color:var(--brand-AnchorNav-link-underline-pressed);opacity:1}.Primer_Brand__AnchorNav-module__AnchorNav-link___f5YJ2:focus-visible .Primer_Brand__AnchorNav-module__AnchorNav-link-label___x3JtK:after{opacity:0}}.Primer_Brand__AnchorNav-module__AnchorNav-menu-button___tputP{display:none}@media screen and (width<=63.25rem){.Primer_Brand__AnchorNav-module__AnchorNav-menu-button___tputP{all:unset;cursor:pointer;padding:var(--base-size-8) var(--base-size-16);height:var(--base-size-32);z-index:2;border-radius:var(--brand-borderRadius-small);align-items:center;padding-left:0;display:inline-flex}.Primer_Brand__AnchorNav-module__AnchorNav-menu-button-arrow___v5tcA{padding:0 calc(var(--base-size-12) / 2);width:32px;height:32px;color:var(--brand-color-text-default)}.Primer_Brand__AnchorNav-module__AnchorNav-menu-button___tputP:focus-visible{border-color:var(--brand-color-focus);box-shadow:0 0 0 2px var(--brand-color-focus);outline:none}.Primer_Brand__AnchorNav-module__AnchorNav-overlay--expanded___xXv6O{z-index:-3;width:100%;height:100dvh;animation:.5s Primer_Brand__AnchorNav-module__fade-in___KfA_2;animation-timing-function:var(--brand-animation-easing-glide);cursor:pointer;background:#00000080;position:absolute;top:0;left:0;right:0;transform:translateZ(-1px)}}.Primer_Brand__AnchorNav-module__AnchorNav__actionsContainer___jgpnq{gap:var(--base-size-8);display:flex}.Primer_Brand__AnchorNav-module__AnchorNav-action___DWzcE{z-index:1;white-space:nowrap;padding-inline:var(--base-size-24);margin-left:auto;display:flex}.Primer_Brand__AnchorNav-module__AnchorNav--expanded___wVGbk .Primer_Brand__AnchorNav-module__AnchorNav-action___DWzcE{align-self:flex-start}@media screen and (width<=40rem){.Primer_Brand__AnchorNav-module__AnchorNav___bwgAJ{padding:0}.Primer_Brand__AnchorNav-module__AnchorNav-action___DWzcE{display:none}.Primer_Brand__AnchorNav-module__AnchorNav__actionsContainer___jgpnq{flex-direction:column}.Primer_Brand__AnchorNav-module__AnchorNav--expanded___wVGbk .Primer_Brand__AnchorNav-module__AnchorNav-action___DWzcE{width:100%;margin-top:var(--base-size-8);display:flex}.Primer_Brand__AnchorNav-module__AnchorNav-inner-container___lshlZ{padding:var(--base-size-12) var(--base-size-16);overflow-y:auto}}@media screen and (width>=40rem){.Primer_Brand__AnchorNav-module__AnchorNav__actionsContainer___jgpnq{gap:var(--base-size-16)}.Primer_Brand__AnchorNav-module__AnchorNav__actionsContainer--multiple___hgA_r{margin-inline-start:var(--base-size-16)}}@keyframes Primer_Brand__AnchorNav-module__fade-in___KfA_2{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.Primer_Brand__AnchorNav-module__AnchorNav___bwgAJ,.Primer_Brand__AnchorNav-module__AnchorNav___bwgAJ:before,.Primer_Brand__AnchorNav-module__AnchorNav___bwgAJ:after,.Primer_Brand__AnchorNav-module__AnchorNav___bwgAJ *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root,[data-color-mode=light]{--brand-AnchorNav-link-underline-default:var(--base-color-scale-gray-4);--brand-AnchorNav-link-underline-pressed:var(--base-color-scale-black-0)}[data-color-mode=dark]{--brand-AnchorNav-link-underline-default:var(--base-color-scale-gray-3);--brand-AnchorNav-link-underline-pressed:var(--base-color-scale-white-0)}:root,[data-color-mode=light]{--brand-CTABanner-shadow-color-start:var(--base-color-scale-green-6);--brand-CTABanner-shadow-color-end:var(--base-color-scale-blue-5);--brand-CTABanner-bgColor:var(--brand-color-canvas-subtle);--brand-CTABanner-color-heading-emphasis:var(--base-color-scale-green-7);--brand-CTABanner-color-logo-muted:var(--brand-color-text-muted);--brand-CTABanner-color-logo-emphasis:var(--brand-color-text-default);--brand-CTABanner-color-logo-filter-muted:brightness(0) saturate(100%) invert(37%) sepia(7%) saturate(778%) hue-rotate(171deg) brightness(96%) contrast(91%);--brand-CTABanner-color-logo-filter-emphasis:brightness(0) saturate(100%) invert(12%) sepia(20%) saturate(450%) hue-rotate(172deg) brightness(100%) contrast(91%)}[data-color-mode=dark]{--brand-CTABanner-shadow-color-start:var(--base-color-scale-green-2);--brand-CTABanner-shadow-color-end:var(--base-color-scale-blue-3);--brand-CTABanner-bgColor:var(--brand-color-canvas-subtle);--brand-CTABanner-color-heading-emphasis:var(--brand-color-text-emphasized);--brand-CTABanner-color-logo-muted:var(--brand-color-text-muted);--brand-CTABanner-color-logo-emphasis:var(--brand-color-text-default);--brand-CTABanner-color-logo-filter-muted:brightness(0) saturate(100%) invert(61%) sepia(8%) saturate(430%) hue-rotate(171deg) brightness(94%) contrast(92%);--brand-CTABanner-color-logo-filter-emphasis:brightness(0) saturate(100%) invert(91%) sepia(2%) saturate(2455%) hue-rotate(193deg) brightness(107%) contrast(98%)}.Primer_Brand__CTABanner-module__CTABanner___m0t8s{max-width:var(--brand-breakpoint-xlarge);width:100%;margin:0 auto;display:flex;position:relative}.Primer_Brand__CTABanner-module__CTABanner--shadow___BA030:before{content:"";inset:var(--base-size-16);filter:blur(var(--base-size-96));background:linear-gradient(to right, var(--brand-CTABanner-shadow-color-start), var(--brand-CTABanner-shadow-color-end));position:absolute;transform:translateZ(0)}.Primer_Brand__CTABanner-module__CTABanner-grid___u3x9a{--brand-Grid-spacing-row:0;row-gap:0;padding-inline:0}.Primer_Brand__CTABanner-module__CTABanner-grid-column--primary___ZtLFt{align-items:center;display:flex}.Primer_Brand__CTABanner-module__CTABanner-grid-column--secondary___JBmPK{justify-content:center;align-items:center;display:flex}.Primer_Brand__CTABanner-module__CTABanner--variant-minimal___uuWf5 .Primer_Brand__CTABanner-module__CTABanner-grid-column--secondary___JBmPK{justify-content:flex-end}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-grid-column--secondary___JBmPK{justify-content:flex-start}@media screen and (width>=63.25rem){.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-grid-column--secondary___JBmPK{justify-content:flex-end}}@media screen and (width<=63.24rem){.Primer_Brand__CTABanner-module__CTABanner--variant-minimal___uuWf5 .Primer_Brand__CTABanner-module__CTABanner-grid-column--secondary___JBmPK{justify-content:flex-start}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-grid-column--secondary___JBmPK{order:-1;margin-block-start:0}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-grid-column--primary___ZtLFt,.Primer_Brand__CTABanner-module__CTABanner-grid-column--secondary___JBmPK{margin-block-start:var(--base-size-24)}}.Primer_Brand__CTABanner-module__CTABanner-outer-container--border___PwQrC{border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__CTABanner-module__CTABanner-container___iRzd1{padding:var(--base-size-64) var(--base-size-20);z-index:1;box-sizing:border-box;width:100%}.Primer_Brand__CTABanner-module__CTABanner-container--rounded___JJhRt{border-radius:var(--brand-borderRadius-medium)}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-container___iRzd1{padding-inline:var(--base-size-20);padding-block:var(--base-size-32)}.Primer_Brand__CTABanner-module__CTABanner--variant-minimal___uuWf5 .Primer_Brand__CTABanner-module__CTABanner-container___iRzd1{padding-inline:var(--base-size-20);padding-block:var(--base-size-40)}.Primer_Brand__CTABanner-module__CTABanner-content___sZo6_{--CTABanner-content-gap:var(--base-size-16);gap:var(--CTABanner-content-gap);flex-direction:column;align-items:flex-start;max-width:800px;margin:0 auto;display:flex}.Primer_Brand__CTABanner-module__CTABanner-content___sZo6_ img,.Primer_Brand__CTABanner-module__CTABanner-content___sZo6_ picture{display:block}.Primer_Brand__CTABanner-module__CTABanner--variant-minimal___uuWf5 .Primer_Brand__CTABanner-module__CTABanner-content___sZo6_{--CTABanner-content-gap:0}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-content___sZo6_,.Primer_Brand__CTABanner-module__CTABanner--variant-minimal___uuWf5 .Primer_Brand__CTABanner-module__CTABanner-content___sZo6_{max-width:576px;margin:0}.Primer_Brand__CTABanner-module__CTABanner-container--background___v1yTH{background-repeat:no-repeat;background-color:var(--brand-CTABanner-bgColor);background-image:var(--brand-CTABanner-narrow-background-image-src,var(--brand-CTABanner-background-image-src));background-size:var(--brand-CTABanner-narrow-background-image-size,var(--brand-CTABanner-background-image-size));background-position:50%;background-position:var(--brand-CTABanner-narrow-background-image-position,var(--brand-CTABanner-background-image-position,center))}.Primer_Brand__CTABanner-module__CTABanner-container--border___FbAer{border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__CTABanner-module__CTABanner-container--border-gridlines___H1FN8{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);max-width:534px;margin-inline:auto}.Primer_Brand__CTABanner-module__CTABanner-content--center___S0ChQ{text-align:center;align-items:center}.Primer_Brand__CTABanner-module__CTABanner-description___I7md6{margin-bottom:var(--base-size-16)}@media screen and (width>=48rem){.Primer_Brand__CTABanner-module__CTABanner-container___iRzd1{padding:var(--base-size-80) var(--base-size-36)}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-container___iRzd1{padding:var(--base-size-36);padding-block-end:var(--base-size-48)}.Primer_Brand__CTABanner-module__CTABanner--variant-minimal___uuWf5 .Primer_Brand__CTABanner-module__CTABanner-container___iRzd1{padding:var(--base-size-36);padding-block:var(--base-size-48)}.Primer_Brand__CTABanner-module__CTABanner-container--background___v1yTH{background-color:var(--brand-CTABanner-regular-background-color,var(--brand-CTABanner-background-color));background-image:var(--brand-CTABanner-regular-background-image-src,var(--brand-CTABanner-background-image-src));background-size:var(--brand-CTABanner-regular-background-image-size,var(--brand-CTABanner-background-image-size));background-position:var(--brand-CTABanner-regular-background-image-position,var(--brand-CTABanner-background-image-position))}}@media screen and (width>=63.25rem){.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-content___sZo6_{--CTABanner-content-gap:var(--base-size-32)}.Primer_Brand__CTABanner-module__CTABanner-container___iRzd1{padding:var(--base-size-96) var(--base-size-64);max-width:100%}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-container___iRzd1,.Primer_Brand__CTABanner-module__CTABanner--variant-minimal___uuWf5 .Primer_Brand__CTABanner-module__CTABanner-container___iRzd1{padding:var(--base-size-64)}}@media screen and (width>=80rem){.Primer_Brand__CTABanner-module__CTABanner-container--background___v1yTH{background-color:var(--brand-CTABanner-wide-background-color,var(--brand-CTABanner-background-color));background-image:var(--brand-CTABanner-wide-background-image-src,var(--brand-CTABanner-background-image-src));background-size:var(--brand-CTABanner-wide-background-image-size,var(--brand-CTABanner-background-image-size));background-position:var(--brand-CTABanner-wide-background-image-position,var(--brand-CTABanner-background-image-position))}}.Primer_Brand__CTABanner-module__CTABanner-image___stI4S{width:100%;height:auto}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-image___stI4S{width:100%;max-width:476px;height:auto}@media screen and (width>=63.25rem){.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-image___stI4S{max-width:100%;height:auto}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-grid-column--primary___ZtLFt:has(.Primer_Brand__CTABanner-module__CTABanner-logo___QX4nn){align-items:stretch}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-grid-column--primary___ZtLFt:has(.Primer_Brand__CTABanner-module__CTABanner-logo___QX4nn)>.Primer_Brand__CTABanner-module__CTABanner-content___sZo6_{flex:1}.Primer_Brand__CTABanner-module__CTABanner--variant-balanced___eroPr .Primer_Brand__CTABanner-module__CTABanner-content___sZo6_:has(>.Primer_Brand__CTABanner-module__CTABanner-logo___QX4nn)>.Primer_Brand__CTABanner-module__CTABanner-logo___QX4nn+*{margin-block-start:auto}}.Primer_Brand__CTABanner-module__CTABanner-logo___QX4nn{align-items:center;gap:var(--base-size-8);width:100%;border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-block-end:var(--base-size-32);display:flex}.Primer_Brand__CTABanner-module__CTABanner-logo___QX4nn>svg,.Primer_Brand__CTABanner-module__CTABanner-logo___QX4nn>img{height:var(--base-size-40);width:auto;display:block}.Primer_Brand__CTABanner-module__CTABanner--variant-default___eD19a .Primer_Brand__CTABanner-module__CTABanner-logo___QX4nn{border-block-end:none;width:auto;padding-block-end:0}.Primer_Brand__CTABanner-module__CTABanner--variant-minimal___uuWf5 .Primer_Brand__CTABanner-module__CTABanner-logo___QX4nn{margin-block-end:var(--base-size-24)}.Primer_Brand__CTABanner-module__CTABanner-link___XxOjC{align-self:auto}.Primer_Brand__CTABanner-module__CTABanner-heading___JYhUV b{color:var(--brand-CTABanner-color-heading-emphasis);font-weight:inherit}.Primer_Brand__CTABanner-module__CTABanner-heading___JYhUV code,.Primer_Brand__CTABanner-module__CTABanner-description___I7md6 code{font-family:var(--brand-fontStack-monospace);font-size:calc(1em - 1px);font-weight:var(--base-text-weight-regular);color:var(--brand-InlineCode-color-fg-default);background-color:var(--brand-InlineCode-bgColor);padding-block:0;padding-inline:var(--base-size-4);border-radius:var(--base-size-2);white-space:normal;word-wrap:anywhere;-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:1.6}.Primer_Brand__CTABanner-module__CTABanner-buttonGroup___UMs1W{margin-block-start:0;margin-block-start:calc(-1 * var(--CTABanner-content-gap,0px));padding-block-start:var(--base-size-12)}.Primer_Brand__ListItem-module__ListItem___aFf5u{align-items:flex-start;gap:var(--base-size-12);display:flex}.Primer_Brand__ListItem-module__ListItem--default___pqfZV{color:var(--brand-color-text-default)}.Primer_Brand__ListItem-module__ListItem--muted___EzTWR{color:var(--brand-color-text-muted)}.Primer_Brand__ListItem-module__ListItem__leading-visual___Fu5ba{height:1lh}.Primer_Brand__ListItem-module__ListItem__leading-visual--muted___nJk0R{fill:var(--brand-color-text-muted)}.Primer_Brand__ListItem-module__OrderedList__item___BJsQo:before{content:counter(li) ".";counter-increment:li;min-width:var(--base-size-16);text-align:center;font-weight:var(--brand-text-size-200)}.Primer_Brand__list-shared-module__List___dFefs{gap:var(--base-size-8);font-family:var(--brand-body-fontFamily);color:var(--brand-color-text-default);flex-direction:column;margin:0;padding-inline-start:0;list-style:none;display:flex}.Primer_Brand__OrderedList-module__OrderedList___eCBYV{counter-reset:li}.Primer_Brand__CTAForm-module__CTAForm___oOV3J{grid-gap:var(--base-size-16);gap:var(--base-size-16);grid-template-columns:2fr auto;align-items:flex-end;display:grid}.Primer_Brand__CTAForm-module__CTAForm___oOV3J>*{grid-column:span 2;width:100%}.Primer_Brand__CTAForm-module__CTAForm-input___sR5r3{order:1}.Primer_Brand__CTAForm-module__CTAForm-confirm___yTThl{order:2;grid-column:span 2}.Primer_Brand__CTAForm-module__CTAForm-button___dWqAC{order:4}.Primer_Brand__CTAForm-module__CTAForm___oOV3J>:not(.Primer_Brand__CTAForm-module__CTAForm-input___sR5r3):not(.Primer_Brand__CTAForm-module__CTAForm-button___dWqAC):not(.Primer_Brand__CTAForm-module__CTAForm-confirm___yTThl){order:3;grid-column:span 2}@media screen and (width>=48rem){.Primer_Brand__CTAForm-module__CTAForm___oOV3J>*{grid-column:span 1}.Primer_Brand__CTAForm-module__CTAForm-confirm___yTThl{order:3;grid-column:span 2}.Primer_Brand__CTAForm-module__CTAForm-button___dWqAC{order:2}.Primer_Brand__CTAForm-module__CTAForm___oOV3J>:not(.Primer_Brand__CTAForm-module__CTAForm-input___sR5r3):not(.Primer_Brand__CTAForm-module__CTAForm-button___dWqAC):not(.Primer_Brand__CTAForm-module__CTAForm-confirm___yTThl){order:4}}:root,[data-color-mode=light]{--brand-footer-borderColor:var(--base-color-scale-green-6);--brand-footer-bg-color:var(--brand-color-canvas-subtle);--brand-footer-backToTop-borderColor-rest:var(--base-color-scale-gray-2);--brand-footer-backToTop-borderColor-hover:var(--base-color-scale-gray-2);--brand-footer-backToTop-borderColor-active:var(--base-color-scale-gray-2);--brand-footer-backToTop-bgColor-rest:#00000003;--brand-footer-backToTop-bgColor-hover:#0000001e;--brand-footer-backToTop-bgColor-active:#00000036;--brand-footer-socialIcon-restFilter:sepia(37%) saturate(152%) hue-rotate(77deg) brightness(57%);--brand-footer-socialIcon-hoverFilter:brightness(0)}[data-color-mode=dark]{--brand-footer-borderColor:var(--base-color-scale-green-3);--brand-footer-bg-color:var(--brand-color-canvas-subtle);--brand-footer-backToTop-borderColor-rest:var(--base-color-scale-gray-6);--brand-footer-backToTop-borderColor-hover:#ffffff1f;--brand-footer-backToTop-borderColor-active:#ffffff1f;--brand-footer-backToTop-bgColor-rest:#00000003;--brand-footer-backToTop-bgColor-hover:#ffffff29;--brand-footer-backToTop-bgColor-active:#ffffff3d;--brand-footer-socialIcon-restFilter:saturate(73%) hue-rotate(-89deg) brightness(110%);--brand-footer-socialIcon-hoverFilter:brightness(2)}:root{--brand-footer-backToTop-minTarget:var(--base-size-44)}.Primer_Brand__MinimalFooter-module__MinimalFooter___QucKd{border-top:var(--brand-borderWidth-thick) solid var(--brand-footer-borderColor);background-color:var(--brand-footer-bg-color);position:relative}.Primer_Brand__MinimalFooter-module__MinimalFooter--withFootnotes___r5iQL{border-top:0}.Primer_Brand__MinimalFooter-module__MinimalFooter__container___phzVn{max-width:1280px;max-width:var(--brand-footer-max-width,1280px);padding-inline:var(--base-size-20);margin-left:auto;margin-right:auto}@media screen and (width>=48rem){.Primer_Brand__MinimalFooter-module__MinimalFooter__container___phzVn{padding-inline:var(--base-size-32)}}.Primer_Brand__MinimalFooter-module__MinimalFooter__terms___wPthK{padding:var(--base-size-48) 0}.Primer_Brand__MinimalFooter-module__MinimalFooter__terms-item___ex9bL{margin-bottom:var(--base-size-24)}.Primer_Brand__MinimalFooter-module__MinimalFooter__terms-item___ex9bL sup{font-size:var(--base-size-12);vertical-align:super;margin-right:var(--base-size-4);display:inline-block}.Primer_Brand__MinimalFooter-module__MinimalFooter__terms-item___ex9bL:last-child{margin-bottom:0}.Primer_Brand__MinimalFooter-module__MinimalFooter__top___H_7ju{padding-top:var(--base-size-48);padding-bottom:var(--base-size-32);border-bottom:var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle)}.Primer_Brand__MinimalFooter-module__MinimalFooter__top-row___ZGvWR{grid-gap:var(--base-size-24);align-items:center;gap:var(--base-size-24);grid-template-columns:auto 1fr;display:grid}.Primer_Brand__MinimalFooter-module__MinimalFooter__top-actions___QIaDM{display:contents}.Primer_Brand__MinimalFooter-module__MinimalFooter__top-actions___QIaDM>.Primer_Brand__MinimalFooter-module__MinimalFooter__links___ukZs1{grid-area:2/1/auto/-1;justify-content:flex-start}.Primer_Brand__MinimalFooter-module__MinimalFooter__top-actions___QIaDM>.Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop___uK0Ho{grid-area:1/2;justify-self:flex-end}.Primer_Brand__MinimalFooter-module__MinimalFooter__logo___GvtJc{color:var(--brand-color-text-default);display:inline-flex}.Primer_Brand__MinimalFooter-module__MinimalFooter__logo___GvtJc>svg{width:var(--base-size-24);height:var(--base-size-24)}.Primer_Brand__MinimalFooter-module__MinimalFooter__bottom___yXxek{padding-top:var(--base-size-32);padding-bottom:var(--base-size-32)}@media screen and (width>=80rem){.Primer_Brand__MinimalFooter-module__MinimalFooter__top___H_7ju{padding-top:var(--base-size-32)}.Primer_Brand__MinimalFooter-module__MinimalFooter__top-row___ZGvWR{justify-content:space-between;display:flex}.Primer_Brand__MinimalFooter-module__MinimalFooter__top-actions___QIaDM{justify-content:flex-end;align-items:center;gap:var(--base-size-20);flex-wrap:wrap;flex:1;min-width:0;display:flex}.Primer_Brand__MinimalFooter-module__MinimalFooter__top-actions___QIaDM>.Primer_Brand__MinimalFooter-module__MinimalFooter__links___ukZs1{justify-content:flex-end}.Primer_Brand__MinimalFooter-module__MinimalFooter__logo___GvtJc>svg{width:var(--base-size-32);height:var(--base-size-32)}}.Primer_Brand__MinimalFooter-module__MinimalFooter__section____O9_E{min-width:0}.Primer_Brand__MinimalFooter-module__MinimalFooter__section--footnotes___iIJlL{border-bottom:var(--brand-borderWidth-thick) solid var(--brand-footer-borderColor);background-color:var(--brand-color-canvas-default)}.Primer_Brand__MinimalFooter-module__MinimalFooter__section--center___Tq8St>.Primer_Brand__MinimalFooter-module__MinimalFooter__container___phzVn{padding-top:var(--base-size-32);padding-bottom:var(--base-size-32)}.Primer_Brand__MinimalFooter-module__MinimalFooter__section--center___Tq8St+.Primer_Brand__MinimalFooter-module__MinimalFooter__section--bottom___KBLLb{border-top:var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle)}.Primer_Brand__MinimalFooter-module__MinimalFooter__bottom-row___Utlyc{align-items:flex-start;gap:var(--base-size-24);flex-direction:column;display:flex}.Primer_Brand__MinimalFooter-module__MinimalFooter__social-links___L0cTI{justify-content:flex-start;align-items:center;gap:var(--base-size-16);margin:0;padding:0;list-style:none;display:flex}.Primer_Brand__MinimalFooter-module__MinimalFooter__social-link___T7oRV{min-width:var(--base-size-24);min-height:var(--base-size-24);justify-content:center;align-items:center;display:flex;position:relative}.Primer_Brand__MinimalFooter-module__MinimalFooter__social-link___T7oRV:hover .Primer_Brand__MinimalFooter-module__MinimalFooter__social-icon___rQIEL,.Primer_Brand__MinimalFooter-module__MinimalFooter__social-link___T7oRV:focus-visible .Primer_Brand__MinimalFooter-module__MinimalFooter__social-icon___rQIEL{filter:var(--brand-footer-socialIcon-hoverFilter)}.Primer_Brand__MinimalFooter-module__MinimalFooter__social-icon___rQIEL{width:auto;height:auto;max-height:var(--base-size-20);filter:var(--brand-footer-socialIcon-restFilter);display:block}.Primer_Brand__MinimalFooter-module__MinimalFooter__copyright___Zz0yX{text-transform:uppercase;margin:0}.Primer_Brand__MinimalFooter-module__MinimalFooter__metaText___NDwZ3{font-size:var(--base-size-12)}.Primer_Brand__MinimalFooter-module__MinimalFooter__links___ukZs1{align-items:center;gap:var(--base-size-20);flex-wrap:wrap;display:flex}.Primer_Brand__MinimalFooter-module__MinimalFooter__link___zi47c{color:var(--brand-color-text-muted);cursor:pointer;text-transform:uppercase;background-color:#0000;border:0;align-self:center;padding:0;-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__MinimalFooter-module__MinimalFooter__link___zi47c:where(button){font:inherit}.Primer_Brand__MinimalFooter-module__MinimalFooter__link___zi47c:hover{-webkit-text-decoration:underline;text-decoration:underline}@media screen and (width>=48rem){.Primer_Brand__MinimalFooter-module__MinimalFooter__social-links___L0cTI{gap:var(--base-size-20)}}@media screen and (width>=80rem){.Primer_Brand__MinimalFooter-module__MinimalFooter__bottom-row___Utlyc{flex-direction:row;justify-content:space-between;align-items:center}}.Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop___uK0Ho{appearance:none;font:inherit;color:var(--brand-color-text-default);cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop___uK0Ho:focus-visible{outline:var(--base-size-4) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop___uK0Ho:disabled,.Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop___uK0Ho[aria-disabled=true]{cursor:not-allowed}.Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop-content___fAoRM{align-items:center;gap:var(--base-size-12);display:inline-flex}.Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop-icon___tpnv3{border:var(--brand-borderWidth-thin) solid var(--brand-footer-backToTop-borderColor-rest);border-radius:var(--base-size-6);background-color:var(--brand-footer-backToTop-bgColor-rest);min-width:var(--brand-footer-backToTop-minTarget);min-height:var(--brand-footer-backToTop-minTarget);transition:background-color var(--brand-animation-duration-fast) var(--brand-animation-easing-glide), border-color var(--brand-animation-duration-fast) var(--brand-animation-easing-glide);justify-content:center;align-items:center;display:inline-flex}.Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop___uK0Ho:not([disabled]):not([aria-disabled=true]):hover .Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop-icon___tpnv3{border-color:var(--brand-footer-backToTop-borderColor-hover);background-color:var(--brand-footer-backToTop-bgColor-hover)}.Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop___uK0Ho:not([disabled]):not([aria-disabled=true]):active .Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop-icon___tpnv3{border-color:var(--brand-footer-backToTop-borderColor-active);background-color:var(--brand-footer-backToTop-bgColor-active)}@media (prefers-reduced-motion:reduce){.Primer_Brand__MinimalFooter-module__MinimalFooter___QucKd,.Primer_Brand__MinimalFooter-module__MinimalFooter___QucKd:before,.Primer_Brand__MinimalFooter-module__MinimalFooter___QucKd:after,.Primer_Brand__MinimalFooter-module__MinimalFooter___QucKd *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__Pillar-module__Pillar___dHhm7{color:var(--brand-color-text-default);flex-direction:column;display:flex}.Primer_Brand__Pillar-module__Pillar--has-max-width___Rm68E{max-width:50ch}.Primer_Brand__Pillar-module__Pillar--has-border___PSR1K{border:var(--brand-borderWidth-thin) solid var(--brand-color-border-default);border-radius:var(--brand-borderRadius-medium);padding:var(--base-size-32)}.Primer_Brand__Pillar-module__Pillar___dHhm7.Primer_Brand__Pillar-module__Pillar--align-center___mWN5F{text-align:center;align-items:center}.Primer_Brand__Pillar-module__Pillar___dHhm7.Primer_Brand__Pillar-module__Pillar--align-start___dfipC{text-align:left;align-items:flex-start}.Primer_Brand__Pillar-module__Pillar__image___I_5uJ{margin-bottom:var(--base-size-28);border-radius:var(--brand-borderRadius-medium);overflow:hidden}.Primer_Brand__Pillar-module__Pillar__image___I_5uJ img,.Primer_Brand__Pillar-module__Pillar__image___I_5uJ span,.Primer_Brand__Pillar-module__Pillar__image___I_5uJ picture{display:block}.Primer_Brand__Pillar-module__Pillar__icon___MyYVk{margin-bottom:var(--base-size-48)}.Primer_Brand__Pillar-module__Pillar__icon--with-background___z0eoV{border-radius:var(--base-size-12)}.Primer_Brand__Pillar-module__Pillar__icon--with-background___z0eoV>svg{width:100%;height:100%}.Primer_Brand__Pillar-module__Pillar__heading___C7yPQ{margin-bottom:var(--base-size-16)}.Primer_Brand__Pillar-module__Pillar__description___BPMTa:not(.Primer_Brand__Pillar-module__Pillar--has-border___PSR1K .Primer_Brand__Pillar-module__Pillar__description___BPMTa:last-child){margin-bottom:var(--base-size-24)}.Primer_Brand__Pillar-module__Pillar__link___yiBNY{margin-top:auto}:root{--brand-Card-animation-easing:cubic-bezier(.01, .73, .08, .93);--brand-Card-animation-duration:.4s;--brand-Card-padding-inline:var(--base-size-20);--brand-Card-padding-block:var(--base-size-32);--brand-Card-maxWidth:26.25rem}:root,[data-color-mode=light]{--brand-Card-background-default:var(--brand-color-canvas-default);--brand-Card-background-overlay:#f2f5f333}[data-color-mode=dark]{--brand-Card-background-default:var(--brand-color-canvas-subtle);--brand-Card-background-overlay:#f2f5f30d}.Primer_Brand__Card-module__Card___ByGEk{--Card-grid-template-rows:auto auto auto auto auto auto 1fr auto;color:var(--brand-color-text-default);padding:var(--brand-Card-padding-block) var(--brand-Card-padding-inline);grid-template:"image image""leadingVisual leadingVisual""icon icon""tokens tokens""label label""heading heading""description description"1fr"action action"/1fr 1fr;grid-template-rows:var(--Card-grid-template-rows);border-radius:var(--brand-borderRadius-medium);flex:auto;height:100%;-webkit-text-decoration:none;text-decoration:none;display:grid;position:relative}@media screen and (width>=64rem){.Primer_Brand__Card-module__Card___ByGEk{--brand-Card-padding-inline:var(--base-size-32)}}.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card___ByGEk{--brand-Card-padding-block:var(--base-size-64);--brand-Card-padding-inline:var(--base-size-40);text-align:center}@media screen and (width>=64rem){.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card___ByGEk{--brand-Card-padding-inline:var(--base-size-80)}}.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card___ByGEk{grid-template-columns:1fr;grid-template-areas:"image""leadingVisual""icon""tokens""label""heading""description""action";justify-items:center}.Primer_Brand__Card-module__Card--backgroundColor-default___azlLW{background-color:var(--brand-Card-background-default)}.Primer_Brand__Card-module__Card--backgroundColor-subtle___GNf9B{background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__Card-module__Card--backgroundColor-none___ZURf_{background-color:#0000}.Primer_Brand__Card-module__Card--tokensPosition-block-end___eF64M{--Card-grid-template-rows:auto auto auto auto auto 1fr auto auto;grid-template-areas:"image image""leadingVisual leadingVisual""icon icon""label label""heading heading""description description""tokens tokens""action action"}.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card--tokensPosition-block-end___eF64M{grid-template-areas:"image""leadingVisual""icon""label""heading""description""tokens""action"}.Primer_Brand__Card-module__Card--imagePos-block-end___I2w2f{--Card-grid-template-rows:auto auto auto auto auto 1fr auto auto;grid-template-areas:"leadingVisual leadingVisual""icon icon""tokens tokens""label label""heading heading""description description""action action""image image"}.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card--imagePos-block-end___I2w2f{grid-template-areas:"leadingVisual""icon""tokens""label""heading""description""action""image"}.Primer_Brand__Card-module__Card--imagePos-block-end___I2w2f.Primer_Brand__Card-module__Card--tokensPosition-block-end___eF64M{--Card-grid-template-rows:auto auto auto auto 1fr auto auto auto;grid-template-areas:"leadingVisual leadingVisual""icon icon""label label""heading heading""description description""tokens tokens""action action""image image"}.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card--imagePos-block-end___I2w2f.Primer_Brand__Card-module__Card--tokensPosition-block-end___eF64M{grid-template-areas:"leadingVisual""icon""label""heading""description""tokens""action""image"}.Primer_Brand__Card-module__Card--hasLeadingVisual___JnH6q{--brand-Card-padding-block:var(--base-size-64);--brand-Card-padding-inline:var(--base-size-40)}.Primer_Brand__Card-module__Card--imagePos-block-end___I2w2f .Primer_Brand__Card-module__Card__image___zt4oH{margin-bottom:0;margin-top:var(--base-size-28)}.Primer_Brand__Card-module__Card--maxWidth___sqVhD{max-width:var(--brand-Card-maxWidth)}.Primer_Brand__Card-module__Card--fullWidth___j46z5{max-width:none;max-width:initial}.Primer_Brand__Card-module__Card--variant-minimal___lq45H,.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card--variant-minimal___lq45H{padding:0}.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa{--Card-arrowAction-endInset:var(--base-size-40)}.Primer_Brand__Card-module__Card___ByGEk:hover{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__Card-module__Card__link___Ye5mq{color:currentColor;-webkit-text-decoration:none!important;text-decoration:none!important}.Primer_Brand__Card-module__Card__link___Ye5mq code,.Primer_Brand__Card-module__Card__description___KN9CH code{font-family:var(--brand-fontStack-monospace);font-size:calc(1em - 1px);font-weight:var(--base-text-weight-regular);color:var(--brand-InlineCode-color-fg-default);background-color:var(--brand-InlineCode-bgColor);padding-block:0;padding-inline:var(--base-size-4);border-radius:var(--base-size-2);white-space:normal;word-wrap:anywhere;-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:1.6}.Primer_Brand__Card-module__Card--disableAnimation___Zv8eW:hover .Primer_Brand__Card-module__Card__link___Ye5mq{-webkit-text-decoration:underline!important;text-decoration:underline!important}.Primer_Brand__Card-module__Card__link___Ye5mq:focus{outline:none}.Primer_Brand__Card-module__Card__link___Ye5mq:before{content:"";position:absolute;inset:0}.Primer_Brand__Card-module__Card--border___nNZlZ{border:var(--brand-borderWidth-thin) solid var(--brand-color-border-default);border-radius:var(--brand-borderRadius-medium)}.Primer_Brand__Card-module__Card__outer___QBN0D{height:100%}.Primer_Brand__Card-module__Card__outer___QBN0D:has(.Primer_Brand__Card-module__Card--variant-minimal___lq45H){border-radius:var(--brand-borderRadius-small)}.Primer_Brand__Card-module__Card__outer___QBN0D:focus-within{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);border-radius:var(--brand-borderRadius-medium)}.Primer_Brand__Card-module__Card__outer___QBN0D:has(.Primer_Brand__Card-module__Card--variant-minimal___lq45H):focus-within{outline-offset:var(--base-size-12)}.Primer_Brand__Card-module__Card__image___zt4oH{border-radius:var(--brand-borderRadius-medium);grid-area:image;margin-block-end:var(--base-size-28);overflow:hidden}.Primer_Brand__Card-module__Card__image--padding-none___k5R8r{margin-inline:calc(var(--brand-Card-padding-inline) * -1)}.Primer_Brand__Card-module__Card__image--position-block-start___r8NDr.Primer_Brand__Card-module__Card__image--padding-none___k5R8r{margin-block-start:calc(var(--brand-Card-padding-block) * -1)}.Primer_Brand__Card-module__Card__image--position-block-end___FHlIj.Primer_Brand__Card-module__Card__image--padding-none___k5R8r{margin-block-end:calc(var(--brand-Card-padding-block) * -1)}.Primer_Brand__Card-module__Card--border___nNZlZ .Primer_Brand__Card-module__Card__image--position-block-start___r8NDr.Primer_Brand__Card-module__Card__image--padding-none___k5R8r{border-end-end-radius:0;border-end-start-radius:0}.Primer_Brand__Card-module__Card--border___nNZlZ .Primer_Brand__Card-module__Card__image--position-block-end___FHlIj.Primer_Brand__Card-module__Card__image--padding-none___k5R8r{border-block-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);border-start-start-radius:0;border-start-end-radius:0}.Primer_Brand__Card-module__Card--variant-minimal___lq45H .Primer_Brand__Card-module__Card__image--padding-none___k5R8r{margin-inline:0}.Primer_Brand__Card-module__Card--variant-minimal___lq45H .Primer_Brand__Card-module__Card__image--position-block-start___r8NDr.Primer_Brand__Card-module__Card__image--padding-none___k5R8r{margin-block-start:0}.Primer_Brand__Card-module__Card--variant-minimal___lq45H .Primer_Brand__Card-module__Card__image--position-block-end___FHlIj.Primer_Brand__Card-module__Card__image--padding-none___k5R8r{margin-block-end:0}.Primer_Brand__Card-module__Card__image___zt4oH img,.Primer_Brand__Card-module__Card__image___zt4oH picture,.Primer_Brand__Card-module__Card__image___zt4oH span{display:block}.Primer_Brand__Card-module__Card__leadingVisual___hyXFF{grid-area:leadingVisual;align-items:center;margin-block-end:var(--base-size-36);display:flex}.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card__leadingVisual___hyXFF{justify-content:center}.Primer_Brand__Card-module__Card__leadingVisualItem___T7Ut8{max-width:100%;height:var(--base-size-40);width:auto;display:block}.Primer_Brand__Card-module__Card__icon___H4tc9{margin-bottom:var(--base-size-24);grid-area:icon}.Primer_Brand__Card-module__Card__tokens___eYuJh{gap:var(--base-size-8);margin-bottom:var(--base-size-20);flex-wrap:wrap;grid-area:tokens;display:flex}.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card__tokens___eYuJh{justify-content:center}.Primer_Brand__Card-module__Card__tokens--position-block-end___jQn1b{margin-block-start:var(--base-size-20);margin-block-end:0}.Primer_Brand__Card-module__Card__label___EAot7{grid-area:label;inline-size:fit-content;max-inline-size:100%;margin-block-end:var(--base-size-20)}.Primer_Brand__Card-module__Card__heading___INFhp{grid-area:heading;margin-block-end:var(--base-size-12)}.Primer_Brand__Card-module__Card__description___KN9CH{grid-area:description;margin-block-end:var(--base-size-24)}.Primer_Brand__Card-module__Card__action___C6sRY{pointer-events:none;grid-area:action;align-items:center;max-inline-size:100%;margin-block-start:auto;display:inline-flex}.Primer_Brand__Card-module__Card__actionIcon___RkX8K{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.Primer_Brand__Card-module__Card__actionLabel___nT5Pl{text-overflow:clip;white-space:normal;min-inline-size:0;display:block;overflow:visible}.Primer_Brand__Card-module__Card___ByGEk:not(.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa) .Primer_Brand__Card-module__Card__action___C6sRY{inline-size:100%;min-inline-size:0}.Primer_Brand__Card-module__Card___ByGEk:not(.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa) .Primer_Brand__Card-module__Card__action___C6sRY>span:first-child{min-inline-size:0}.Primer_Brand__Card-module__Card___ByGEk:not(.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa) .Primer_Brand__Card-module__Card__actionLabel___nT5Pl{text-overflow:clip;white-space:normal;word-wrap:anywhere;overflow:visible}.Primer_Brand__Card-module__Card--align-center___geXUu:not(.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa) .Primer_Brand__Card-module__Card__actionLabel___nT5Pl{text-align:center}.Primer_Brand__Card-module__Card__actionLabelClip___XkCTY{display:contents}.Primer_Brand__Card-module__Card--tokensPosition-block-end___eF64M .Primer_Brand__Card-module__Card__action___C6sRY{margin-block-start:var(--base-size-20)}.Primer_Brand__Card-module__Card__action--arrowOnly____4i56{--actionArrow-duration:.3s;min-height:var(--base-size-40);width:auto;min-inline-size:0;max-inline-size:calc(100% - var(--Card-arrowAction-endInset));-moz-column-gap:var(--base-size-8);justify-content:flex-start;column-gap:var(--base-size-8);padding-block:var(--base-size-4);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-default);border-radius:var(--brand-borderRadius-full);background-color:var(--brand-Card-background-overlay);flex-shrink:0;margin-block-start:var(--base-size-20);padding-inline-start:var(--base-size-12);padding-inline-end:var(--base-size-4);overflow:hidden}.Primer_Brand__Card-module__Card__actionIcon--arrowOnly___Vi3cC{width:var(--base-size-32);min-width:var(--base-size-32);height:var(--base-size-32);min-height:var(--base-size-32);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-default);border-radius:var(--brand-borderRadius-full);background-color:var(--brand-color-canvas-default)}.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card__action___C6sRY{justify-content:center}.Primer_Brand__Card-module__Card__action___C6sRY,.Primer_Brand__Card-module__Card__action___C6sRY span{color:var(--brand-Link-color-accent)}.Primer_Brand__Card-module__Card__action___C6sRY,.Primer_Brand__Card-module__Card__action___C6sRY *{cursor:inherit}.Primer_Brand__Card-module__Card--expandableArrow___ORmuZ{margin-inline-start:var(--base-size-4)}.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa .Primer_Brand__Card-module__Card--expandableArrow___ORmuZ{--ExpandableArrow-duration:var(--brand-Card-animation-duration);--ExpandableArrow-easing:var(--brand-Card-animation-easing)}.Primer_Brand__Card-module__Card__actionIcon--arrowOnly___Vi3cC .Primer_Brand__Card-module__Card--expandableArrow___ORmuZ{margin-inline-start:0}.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa .Primer_Brand__Card-module__Card__description___KN9CH{margin-bottom:var(--base-size-12)}.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa .Primer_Brand__Card-module__Card__action___C6sRY{justify-self:start;min-inline-size:0}@media (hover:hover){.Primer_Brand__Card-module__Card__action--arrowOnly____4i56{-moz-column-gap:0;transition:border-color var(--actionArrow-duration) ease-out, background-color var(--actionArrow-duration) ease-out, column-gap var(--actionArrow-duration) ease-out, padding-inline var(--actionArrow-duration) ease-out;transition:border-color var(--actionArrow-duration) ease-out, background-color var(--actionArrow-duration) ease-out, column-gap var(--actionArrow-duration) ease-out, padding-inline var(--actionArrow-duration) ease-out, -moz-column-gap var(--actionArrow-duration) ease-out;background-color:#0000;border-color:#0000;column-gap:0;padding-inline:0}.Primer_Brand__Card-module__Card__actionLabelClip___XkCTY{--actionLabelClip-duration:.4s;opacity:0;min-inline-size:0;max-inline-size:0;transform:translateX(calc(var(--base-size-12) * -1));transition:max-inline-size .4s var(--brand-Card-animation-easing), opacity .4s ease-out, transform .4s ease-out, margin-inline .4s ease-out, padding-inline .4s ease-out;transition:max-inline-size var(--actionLabelClip-duration) var(--brand-Card-animation-easing), opacity var(--actionLabelClip-duration) ease-out, transform var(--actionLabelClip-duration) ease-out, margin-inline var(--actionLabelClip-duration) ease-out, padding-inline var(--actionLabelClip-duration) ease-out;background-color:#0000;flex:auto;align-self:stretch;align-items:center;margin-inline:0;padding-inline:0;display:inline-flex;overflow:hidden}.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa .Primer_Brand__Card-module__Card__actionLabel___nT5Pl{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}.Primer_Brand__Card-module__Card--align-center___geXUu .Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa .Primer_Brand__Card-module__Card__action___C6sRY{justify-self:center}.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa:focus-within .Primer_Brand__Card-module__Card__action--arrowOnly____4i56,.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa:hover .Primer_Brand__Card-module__Card__action--arrowOnly____4i56{-moz-column-gap:var(--base-size-8);column-gap:var(--base-size-8);border-color:var(--brand-color-border-default);background-color:var(--brand-Card-background-overlay);padding-inline-start:var(--base-size-12);padding-inline-end:var(--base-size-4)}.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa:focus-within .Primer_Brand__Card-module__Card__actionLabelClip___XkCTY,.Primer_Brand__Card-module__Card--ctaVariant-arrow___UMWZa:hover .Primer_Brand__Card-module__Card__actionLabelClip___XkCTY{opacity:1;max-inline-size:100%;margin-inline-start:calc(var(--base-size-12) * -1);margin-inline-end:0;padding-inline-start:var(--base-size-12);padding-inline-end:var(--base-size-4);transform:translate(0)}.Primer_Brand__Card-module__Card___ByGEk:focus-within .Primer_Brand__Card-module__Card--expandableArrow___ORmuZ,.Primer_Brand__Card-module__Card___ByGEk:hover .Primer_Brand__Card-module__Card--expandableArrow___ORmuZ{transform:translateX(var(--base-size-2))}.Primer_Brand__Card-module__Card___ByGEk:hover .Primer_Brand__Card-module__Card--expandableArrow___ORmuZ path:nth-of-type(2),.Primer_Brand__Card-module__Card___ByGEk:focus-within .Primer_Brand__Card-module__Card--expandableArrow___ORmuZ path:nth-of-type(2){stroke-dashoffset:20px}.Primer_Brand__Card-module__Card--disableAnimation___Zv8eW,.Primer_Brand__Card-module__Card--disableAnimation___Zv8eW *{transition:none;animation:none}@media (prefers-reduced-motion:reduce){.Primer_Brand__Card-module__Card___ByGEk,.Primer_Brand__Card-module__Card___ByGEk:before,.Primer_Brand__Card-module__Card___ByGEk:after,.Primer_Brand__Card-module__Card___ByGEk *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__SectionIntro-module__SectionIntro___RduRB{gap:var(--base-size-16);padding-block:var(--base-size-24);flex-direction:column;align-items:flex-start;display:flex}.Primer_Brand__SectionIntro-module__SectionIntro___RduRB img,.Primer_Brand__SectionIntro-module__SectionIntro___RduRB picture{display:block}.Primer_Brand__SectionIntro-module__SectionIntro-heading--muted___CdGWF{color:var(--brand-color-text-muted)}.Primer_Brand__SectionIntro-module__SectionIntro-heading--muted___CdGWF em,.Primer_Brand__SectionIntro-module__SectionIntro-heading--muted___CdGWF b{color:var(--brand-color-text-default);font-style:normal;font-weight:inherit}.Primer_Brand__SectionIntro-module__SectionIntro--align-start___C59mu{text-align:start}.Primer_Brand__SectionIntro-module__SectionIntro--align-center___qU_a9{text-align:center;padding-inline:var(--base-size-24);align-items:center}.Primer_Brand__SectionIntro-module__SectionIntro-heading___u6_Wl{max-width:24ch}.Primer_Brand__SectionIntro-module__SectionIntro--full-width___HROKL .Primer_Brand__SectionIntro-module__SectionIntro-heading___u6_Wl{max-width:none}.Primer_Brand__SectionIntro-module__SectionIntro-label___ZjciO{margin-block-end:var(--base-size-2)}.Primer_Brand__SectionIntro-module__SectionIntro-description___Sz93l{max-width:50ch;padding-block-start:var(--base-size-2)}.Primer_Brand__SectionIntro-module__SectionIntro-link___dePuF{margin-top:var(--base-size-16)}@keyframes Primer_Brand__TextRevealAnimation-module__wipe___Mztl1{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Primer_Brand__TextRevealAnimation-module__TextRevealAnimation___dpkSq{opacity:0;transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__TextRevealAnimation-module__TextRevealAnimation--visible___KIbWH{opacity:1}.Primer_Brand__TextRevealAnimation-module__TextRevealAnimation___dpkSq,.Primer_Brand__TextRevealAnimation-module__TextRevealAnimation--animated___NuoAA{width:100%;min-height:1lh;position:relative}.Primer_Brand__TextRevealAnimation-module__TextRevealAnimation--animated___NuoAA:after{content:"";background-color:var(--brand-color-accent-primary);transform-origin:100%;width:100%;height:100%;animation:Primer_Brand__TextRevealAnimation-module__wipe___Mztl1 var(--brand-animation-duration-extended) forwards var(--brand-animation-easing-default);animation-delay:var(--animation-delay);display:inline;position:absolute;top:0;right:0}@media (prefers-reduced-motion:reduce){.Primer_Brand__TextRevealAnimation-module__TextRevealAnimation--animated___NuoAA:after{display:none}.Primer_Brand__TextRevealAnimation-module__TextRevealAnimation___dpkSq,.Primer_Brand__TextRevealAnimation-module__TextRevealAnimation___dpkSq:before,.Primer_Brand__TextRevealAnimation-module__TextRevealAnimation___dpkSq:after,.Primer_Brand__TextRevealAnimation-module__TextRevealAnimation___dpkSq *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__Prose-module__Prose___X2BXE{font-family:var(--brand-body-fontFamily);font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200);color:var(--brand-color-text-default)}.Primer_Brand__Prose-module__Prose--editorial___DtuDo{font-size:var(--brand-text-size-300);line-height:1.7}.Primer_Brand__Prose-module__Prose___X2BXE *+*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:auto;margin-block-start:1em;margin-block-start:var(--spacing,1em)}.Primer_Brand__Prose-module__Prose--editorial___DtuDo *+*{--spacing:var(--base-size-40)}.Primer_Brand__Prose-module__Prose--lineLength___ws7gn{max-width:var(--brand-Prose-lineLength)}.Primer_Brand__Prose-module__Prose___X2BXE h1{font-weight:var(--brand-heading-weight-700);font-size:var(--brand-text-size-700);line-height:var(--brand-text-lineHeight-700);font-family:var(--brand-heading-fontFamily);letter-spacing:var(--brand-text-letterSpacing-700)}.Primer_Brand__Prose-module__Prose___X2BXE h2{font-weight:var(--brand-heading-weight-600);font-size:var(--brand-text-size-600);line-height:var(--brand-text-lineHeight-600);font-family:var(--brand-heading-fontFamily);letter-spacing:var(--brand-text-letterSpacing-600)}.Primer_Brand__Prose-module__Prose--lineLength___ws7gn h2{max-width:26ch}.Primer_Brand__Prose-module__Prose___X2BXE h3{font-weight:var(--brand-heading-weight-400);font-size:var(--brand-text-size-400);line-height:var(--brand-heading-lineHeight-400);font-family:var(--brand-heading-fontFamily);letter-spacing:var(--brand-heading-letterSpacing-400)}.Primer_Brand__Prose-module__Prose--lineLength___ws7gn h1{max-width:32ch}.Primer_Brand__Prose-module__Prose___X2BXE h4{--spacing:var(--base-size-48);font-weight:var(--brand-heading-weight-400);font-size:var(--brand-text-size-300);line-height:var(--brand-text-lineHeight-300);font-family:var(--brand-heading-fontFamily);letter-spacing:var(--brand-heading-letterSpacing-300)}.Primer_Brand__Prose-module__Prose___X2BXE h5,.Primer_Brand__Prose-module__Prose___X2BXE h6{--spacing:var(--base-size-48);font-weight:var(--brand-text-subhead-weight-medium);font-size:var(--brand-text-subhead-size-medium);line-height:var(--brand-text-subhead-lineHeight-medium);font-family:var(--brand-heading-fontFamily);letter-spacing:var(--brand-heading-letterSpacing-200)}.Primer_Brand__Prose-module__Prose___X2BXE h1,.Primer_Brand__Prose-module__Prose___X2BXE h2,.Primer_Brand__Prose-module__Prose___X2BXE h3{--spacing:var(--base-size-64)}.Primer_Brand__Prose-module__Prose___X2BXE h1+*,.Primer_Brand__Prose-module__Prose___X2BXE h2+*,.Primer_Brand__Prose-module__Prose___X2BXE h3+*,.Primer_Brand__Prose-module__Prose___X2BXE p{--spacing:var(--base-size-24)}.Primer_Brand__Prose-module__Prose--editorial___DtuDo p{--spacing:var(--base-size-40)}.Primer_Brand__Prose-module__Prose___X2BXE ul,.Primer_Brand__Prose-module__Prose___X2BXE ol{--spacing:var(--base-size-16);gap:var(--base-size-8);line-height:var(--brand-text-lineHeight-300);flex-direction:column;margin-inline-start:var(--base-size-24);padding:0;display:flex}.Primer_Brand__Prose-module__Prose--editorial___DtuDo ul,.Primer_Brand__Prose-module__Prose--editorial___DtuDo ol{--spacing:var(--base-size-48);gap:var(--base-size-16);line-height:1.7}.Primer_Brand__Prose-module__Prose___X2BXE ul{list-style-type:image;list-style-image:var(--brand-Prose-unorderedList-imageUrl)}.Primer_Brand__Prose-module__Prose___X2BXE li{--spacing:0}.Primer_Brand__Prose-module__Prose___X2BXE strong,.Primer_Brand__Prose-module__Prose___X2BXE b{font-weight:var(--brand-text-weight-heavy)!important}.Primer_Brand__Prose-module__Prose___X2BXE em{font-variation-settings:"ital" 10;font-synthesis:none}.Primer_Brand__Prose-module__Prose___X2BXE a{color:var(--brand-InlineLink-color-rest);-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration-color:var(--brand-InlineLink-color-rest);text-decoration-color:var(--brand-InlineLink-color-rest);text-decoration-thickness:var(--brand-borderWidth-thin);text-underline-position:under;transition:var(--brand-InlineLink-transition-timing) text-decoration;position:relative}.Primer_Brand__Prose-module__Prose___X2BXE a:hover{text-decoration-thickness:var(--brand-borderWidth-thick)}.Primer_Brand__Prose-module__Prose___X2BXE a:active:after{border-color:var(--brand-InlineLink-color-pressed)}.Primer_Brand__Prose-module__Prose___X2BXE code{font-family:var(--brand-fontStack-monospace);font-size:var(--brand-text-size-100);white-space:break-spaces;padding:var(--base-size-4) var(--base-size-8);border-radius:var(--brand-borderRadius-small);background-color:var(--brand-Prose-code-bgColor)}.Primer_Brand__Prose-module__Prose___X2BXE pre{padding:var(--base-size-16);border-radius:var(--brand-borderRadius-medium);background-color:var(--brand-Prose-code-bgColor)}.Primer_Brand__Prose-module__Prose___X2BXE pre code{padding:0}.Primer_Brand__Prose-module__Prose___X2BXE img{--spacing:var(--brand-Prose-img-spacing);max-width:100%;height:auto;margin-left:auto;margin-right:auto;margin-block-end:var(--spacing);display:block}.Primer_Brand__Prose-module__Prose--editorial___DtuDo figure img{border-radius:var(--brand-borderRadius-medium);margin-block-end:0;display:block}.Primer_Brand__Prose-module__Prose___X2BXE blockquote{--spacing:var(--brand-Prose-blockquote-spacing);font-size:var(--brand-text-size-400);line-height:var(--brand-text-lineHeight-400);padding-top:var(--base-size-48);padding-bottom:var(--base-size-8);margin-bottom:var(--spacing);position:relative}.Primer_Brand__Prose-module__Prose--default___ZqcxT blockquote{padding-left:var(--base-size-40)}.Primer_Brand__Prose-module__Prose--editorial___DtuDo blockquote{font-size:var(--brand-text-size-500);line-height:var(--brand-text-lineHeight-500);font-weight:var(--brand-text-weight-500);padding-top:var(--base-size-64)}@media screen and (width>=87.5rem){.Primer_Brand__Prose-module__Prose--editorial___DtuDo blockquote{margin-block:var(--base-size-40)}}.Primer_Brand__Prose-module__Prose___X2BXE blockquote:before{content:"“";font-size:var(--base-size-48);line-height:var(--base-size-64);font-weight:var(--base-text-weight-extrabold);position:absolute;top:0}.Primer_Brand__Prose-module__Prose--editorial___DtuDo blockquote:before{color:var(--brand-color-accent-primary);font-size:var(--base-size-64);line-height:var(--base-size-64)}.Primer_Brand__Prose-module__Prose--default___ZqcxT blockquote:after{content:"";width:var(--brand-borderWidth-thick);background-color:var(--base-color-scale-indigo-5);background-image:linear-gradient(180deg, var(--base-color-scale-blue-5), var(--base-color-scale-purple-5));height:100%;display:block;position:absolute;top:0;left:0}.Primer_Brand__Prose-module__Prose___X2BXE figure figcaption{--spacing:var(--base-size-24);font-family:var(--brand-fontStack-monospace);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);color:var(--brand-color-text-muted)}.Primer_Brand__Prose-module__Prose--editorial___DtuDo figcaption{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);font-weight:var(--brand-text-weight-100)}.Primer_Brand__Prose-module__Prose--editorial___DtuDo hr{--spacing:var(--base-size-64);border:1px solid var(--brand-color-border-muted);margin-block-start:var(--spacing);margin-block-end:var(--spacing)}.Primer_Brand__Prose-module__Prose___X2BXE video,.Primer_Brand__Prose-module__Prose___X2BXE iframe[src*=youtube\.com],.Primer_Brand__Prose-module__Prose___X2BXE iframe[src*=youtu\.be],.Primer_Brand__Prose-module__Prose___X2BXE iframe[src*=youtube-nocookie\.com]{--spacing:var(--brand-Prose-img-spacing);border-radius:var(--brand-borderRadius-medium);height:auto;margin-left:auto;margin-right:auto;margin-block-end:var(--spacing);display:block}.Primer_Brand__Prose-module__Prose___X2BXE video{max-width:100%}.Primer_Brand__Prose-module__Prose___X2BXE iframe[src*=youtube\.com],.Primer_Brand__Prose-module__Prose___X2BXE iframe[src*=youtu\.be],.Primer_Brand__Prose-module__Prose___X2BXE iframe[src*=youtube-nocookie\.com]{aspect-ratio:16/9;width:100%}@media (prefers-reduced-motion:reduce){.Primer_Brand__Prose-module__Prose___X2BXE a,.Primer_Brand__Prose-module__Prose___X2BXE a:before,.Primer_Brand__Prose-module__Prose___X2BXE a:after,.Primer_Brand__Prose-module__Prose___X2BXE a *{transition:none!important}}.Primer_Brand__Prose-module__Prose___X2BXE table{--spacing:var(--base-size-32);border-collapse:collapse;border-spacing:0;width:100%;font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200)}.Primer_Brand__Prose-module__Prose___X2BXE table caption{text-align:left;font-size:var(--brand-text-size-100);font-weight:var(--brand-text-weight-100);line-height:var(--brand-text-lineHeight-100);color:var(--brand-color-text-muted);padding-block-end:var(--base-size-24)}.Primer_Brand__Prose-module__Prose___X2BXE table th,.Primer_Brand__Prose-module__Prose___X2BXE table td{padding-block:var(--base-size-16);padding-inline:var(--base-size-12);text-align:left;vertical-align:top;border-bottom:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__Prose-module__Prose___X2BXE table th:first-child,.Primer_Brand__Prose-module__Prose___X2BXE table td:first-child,.Primer_Brand__Prose-module__Prose___X2BXE table th:last-child,.Primer_Brand__Prose-module__Prose___X2BXE table td:last-child{padding-inline:0}.Primer_Brand__Prose-module__Prose___X2BXE table th{font-size:var(--brand-text-size-100);font-weight:var(--brand-text-weight-400);line-height:var(--brand-text-lineHeight-100);color:var(--brand-color-text-muted)}.Primer_Brand__Prose-module__Prose___X2BXE table thead th{border-bottom:var(--brand-borderWidth-thick) solid var(--brand-color-border-default)}.Primer_Brand__Prose-module__Prose___X2BXE table tbody tr:last-child td{border-bottom:none}.Primer_Brand__Prose-module__Prose--editorial___DtuDo table{--spacing:var(--base-size-48)}.Primer_Brand__Prose-module__Prose___X2BXE td>ul:first-child,.Primer_Brand__Prose-module__Prose___X2BXE td>ol:first-child{margin-block-start:0}@media screen and (width>=48rem){.Primer_Brand__Prose-module__Prose___X2BXE table th,.Primer_Brand__Prose-module__Prose___X2BXE table td{padding:var(--base-size-16) var(--base-size-8)}.Primer_Brand__Prose-module__Prose___X2BXE table th:not(:first-child):not(:last-child),.Primer_Brand__Prose-module__Prose___X2BXE table td:not(:first-child):not(:last-child){padding-inline:var(--base-size-16)}.Primer_Brand__Prose-module__Prose___X2BXE table th:first-child,.Primer_Brand__Prose-module__Prose___X2BXE table td:first-child{padding-inline-start:0}.Primer_Brand__Prose-module__Prose___X2BXE table th:last-child,.Primer_Brand__Prose-module__Prose___X2BXE table td:last-child{padding-inline-end:0}.Primer_Brand__Prose-module__Prose___X2BXE table tbody tr:hover{background-color:var(--brand-color-canvas-subtle)}}@media screen and (width<=47.99rem){.Primer_Brand__Prose-module__Prose___X2BXE table:has(td[data-label]){border-collapse:separate;border-spacing:0;width:100%;box-shadow:none;font-size:var(--brand-text-size-200);background:0 0}.Primer_Brand__Prose-module__Prose___X2BXE table:has(td[data-label]) thead{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}:is(.Primer_Brand__Prose-module__Prose___X2BXE table:has(td[data-label]) tbody,.Primer_Brand__Prose-module__Prose___X2BXE table:has(td[data-label]) tr){width:100%;display:block}:is(.Primer_Brand__Prose-module__Prose___X2BXE table:has(td[data-label]) th:not(:first-child):not(:last-child),.Primer_Brand__Prose-module__Prose___X2BXE table:has(td[data-label]) td:not(:first-child):not(:last-child)){padding-inline:0}.Primer_Brand__Prose-module__Prose___X2BXE table:has(td[data-label]) tr{border-block-start:var(--brand-borderWidth-thicker) solid var(--brand-color-border-muted);margin-block-end:var(--spacing);padding-block-start:var(--base-size-20)}.Primer_Brand__Prose-module__Prose___X2BXE td[data-label]{width:100%;margin:0 0 16px;margin:0 0 var(--base-size-16,16px) 0;border:none;flex-direction:column;align-items:flex-start;padding:0;display:flex}.Primer_Brand__Prose-module__Prose___X2BXE td[data-label]:not(:last-child){border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-block-end:var(--base-size-20)}.Primer_Brand__Prose-module__Prose___X2BXE td[data-label]:before{content:attr(data-label);color:var(--brand-color-text-muted);text-align:left;font-weight:var(--brand-text-weight-400);margin-block-end:var(--base-size-4)}.Primer_Brand__Prose-module__Prose___X2BXE table:has(td[data-label]) td:not([data-label]){width:100%;border:none;margin-block-end:var(--base-size-16);padding:0;display:block}.Primer_Brand__Prose-module__Prose___X2BXE table:has(td[data-label]) td:not([data-label]):not(:last-child){border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-block-end:var(--base-size-20)}.Primer_Brand__Prose-module__Prose___X2BXE td[data-label]:last-child{margin-block-end:0}}:root{--brand-Prose-blockquote-spacing:var(--base-size-24);--brand-Prose-img-spacing:var(--base-size-48);--brand-Prose-lineLength:68ch}:root,[data-color-mode=light]{--brand-Prose-unorderedList-imageUrl:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 aria-hidden=%27true%27 focusable=%27false%27 role=%27img%27 viewBox=%270 -3 16 16%27 width=%2716%27 height=%2716%27 fill=%27black%27 style=%27display: inline-block; vertical-align: text-bottom; overflow: visible;%27%3e%3cpath d=%27M2 7.75A.75.75 0 0 1 2.75 7h10a.75.75 0 0 1 0 1.5h-10A.75.75 0 0 1 2 7.75Z%27%3e%3c/path%3e%3c/svg%3e");--brand-Prose-code-bgColor:var(--base-color-scale-indigo-0)}[data-color-mode=dark]{--brand-Prose-unorderedList-imageUrl:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 aria-hidden=%27true%27 focusable=%27false%27 role=%27img%27 viewBox=%270 -3 16 16%27 width=%2716%27 height=%2716%27 fill=%27white%27 style=%27display: inline-block; vertical-align: text-bottom; overflow: visible;%27%3e%3cpath d=%27M2 7.75A.75.75 0 0 1 2.75 7h10a.75.75 0 0 1 0 1.5h-10A.75.75 0 0 1 2 7.75Z%27%3e%3c/path%3e%3c/svg%3e");--brand-Prose-code-bgColor:var(--base-color-scale-indigo-9)}.Primer_Brand__Captions-module__Captions___xrhu1{flex:0 0 var(--base-size-64);width:100%;padding:var(--base-size-8) var(--base-size-16) 0;pointer-events:none;background-color:var(--base-color-scale-black-0);justify-content:center;align-items:center;display:flex}.Primer_Brand__Captions-module__Captions__text___e1cBR{color:var(--brand-VideoPlayer-closedCaption-text-fgColor)}.Primer_Brand__VideoPlayer-module__VideoPlayer__container___WmQho{border-radius:var(--brand-borderRadius-medium);background-color:var(--base-color-scale-black-0);flex-direction:column;width:100%;display:flex;overflow:hidden}.Primer_Brand__VideoPlayer-module__VideoPlayer__overlayContainer___K_dl1{flex:1;height:100%;position:relative}@media (forced-colors:active){.Primer_Brand__VideoPlayer-module__VideoPlayer__container___WmQho{border:var(--brand-borderWidth-thin) solid ButtonBorder}}.Primer_Brand__VideoPlayer-module__VideoPlayer___iNxEw{--brand-VideoPlayer-controls-min-height:56px;width:100%;max-height:calc(100vh - 56px);max-height:calc(100vh - var(--brand-VideoPlayer-controls-min-height));margin:0 auto;display:block}.Primer_Brand__VideoPlayer-module__VideoPlayer__container--fullscreen___p73I7 .Primer_Brand__VideoPlayer-module__VideoPlayer___iNxEw{height:100%;position:absolute}.Primer_Brand__VideoPlayer-module__VideoPlayer__playButtonOverlay___J7kgz{font:inherit;z-index:1;background:#0003;border:none;width:100%;height:100%;position:absolute;top:0;left:0}.Primer_Brand__VideoPlayer-module__VideoPlayer__playButtonOverlay___J7kgz svg{top:calc(var(--brand-VideoPlayer-controls-min-height) / 2);position:relative}.Primer_Brand__VideoPlayer-module__VideoPlayer__playButtonOverlay___J7kgz.Primer_Brand__VideoPlayer-module__VideoPlayer__playButtonOverlay--transparent___Nc60m{background:0 0}.Primer_Brand__VideoPlayer-module__VideoPlayer__playButtonOverlay___J7kgz:focus-visible{outline:var(--brand-borderWidth-thicker) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__VideoPlayer-module__VideoPlayer__playButton___qff0F{width:25%;height:25%;max-width:var(--brand-VideoPlayer-playButton-width);max-height:var(--brand-VideoPlayer-playButton-height);opacity:.8;color:var(--brand-videoPlayer-playButton-fgColor-rest)}@media (forced-colors:active){.Primer_Brand__VideoPlayer-module__VideoPlayer__playButton___qff0F{color:highlight;opacity:1}}.Primer_Brand__VideoPlayer-module__VideoPlayer__title___F1E2j{transition:var(--brand-VideoPlayer-transition);z-index:2;width:100%;padding:var(--base-size-16);color:var(--brand-videoPlayer-title-fgColor);grid-gap:var(--base-size-12);background:var(--brand-videoPlayer-title-bgColor);transition:all var(--brand-animation-duration-fast) var(--brand-animation-easing-default);grid-template-columns:auto auto;justify-content:flex-start;align-items:center;display:grid;position:absolute;top:0;left:0}.Primer_Brand__VideoPlayer-module__VideoPlayer__title___F1E2j.Primer_Brand__VideoPlayer-module__VideoPlayer__title--hidden___gJxj8{opacity:0;visibility:hidden}@media (forced-colors:active){.Primer_Brand__VideoPlayer-module__VideoPlayer__title___F1E2j{color:canvastext;background:canvas}}.Primer_Brand__VideoPlayer-module__VideoPlayer__controlsBar___L4653{min-height:var(--brand-VideoPlayer-controls-min-height);grid-gap:var(--base-size-16);justify-content:space-between;align-items:center;gap:var(--base-size-16);border-bottom-right-radius:var(--brand-borderRadius-medium);border-bottom-left-radius:var(--brand-borderRadius-medium);width:100%;padding:var(--base-size-12) var(--base-size-16);pointer-events:all;opacity:1;grid-template-columns:1fr;grid-auto-flow:column;display:grid}.Primer_Brand__VideoPlayer-module__VideoPlayer__controlsBar__row1___SdOxD,.Primer_Brand__VideoPlayer-module__VideoPlayer__controlsBar__row2___EZoJX{align-items:center;gap:var(--base-size-16);display:flex}@media (width<=34rem){.Primer_Brand__VideoPlayer-module__VideoPlayer__controlsBar___L4653{gap:var(--base-size-12);grid-template-rows:auto auto;grid-template-columns:1fr;grid-auto-flow:row}.Primer_Brand__VideoPlayer-module__VideoPlayer__controlsBar__row2___EZoJX{justify-self:space-evenly;justify-content:space-evenly;width:100%}}.Primer_Brand__VideoPlayer-module__VideoPlayer__controls___hNpxI:focus,.Primer_Brand__VideoPlayer-module__VideoPlayer__controls___hNpxI:focus-within{bottom:0}.Primer_Brand__VideoPlayer-module__VideoPlayer__iconControl___Tw7A4{font:inherit;cursor:pointer;width:auto;height:var(--base-size-24);box-sizing:content-box;background:0 0;border:none;padding:0;position:relative}.Primer_Brand__VideoPlayer-module__VideoPlayer__iconControl___Tw7A4:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-6);opacity:1}.Primer_Brand__VideoPlayer-module__VideoPlayer__iconControl___Tw7A4:not(.Primer_Brand__VideoPlayer-module__VideoPlayer__closedCaption___PAvgt):focus-visible{border-radius:var(--brand-borderRadius-small)}.Primer_Brand__VideoPlayer-module__VideoPlayer__iconControl___Tw7A4 svg{color:var(--brand-videoPlayer-controls-fgColor)}.Primer_Brand__VideoPlayer-module__VideoPlayer__seek___Z4IA2{align-items:center;gap:var(--base-size-16);flex:1;display:flex}.Primer_Brand__VideoPlayer-module__VideoPlayer__progressTime___GvTKs{color:var(--brand-videoPlayer-controls-fgColor)}.Primer_Brand__VideoPlayer-module__VideoPlayer__container--small___TxAd8 .Primer_Brand__VideoPlayer-module__VideoPlayer__totalTime___nWILS{display:none}.Primer_Brand__VideoPlayer-module__VideoPlayer__progressBar___wYSPx{height:var(--base-size-6);flex:1}.Primer_Brand__VideoPlayer-module__VideoPlayer__closedCaption___PAvgt{border-radius:var(--brand-borderRadius-medium);padding:.125rem var(--base-size-4);border:.125rem solid var(--brand-videoPlayer-closedCaption-borderColor-enabled);background:var(--brand-videoPlayer-closedCaption-bgColor-enabled);position:relative}.Primer_Brand__VideoPlayer-module__VideoPlayer__ccOff___svmJL{background-color:#0000}.Primer_Brand__VideoPlayer-module__VideoPlayer__ccText___xIu2v{color:var(--brand-videoPlayer-closedCaption-fgColor-enabled);line-height:25px}.Primer_Brand__VideoPlayer-module__VideoPlayer__ccOff___svmJL .Primer_Brand__VideoPlayer-module__VideoPlayer__ccText___xIu2v{color:var(--brand-videoPlayer-closedCaption-fgColor-disabled)}@media (forced-colors:active){.Primer_Brand__VideoPlayer-module__VideoPlayer__iconControl___Tw7A4 svg{color:buttontext}.Primer_Brand__VideoPlayer-module__VideoPlayer__iconControl___Tw7A4:focus-visible{outline-color:highlight}.Primer_Brand__VideoPlayer-module__VideoPlayer__closedCaption___PAvgt:focus-visible{outline:none}.Primer_Brand__VideoPlayer-module__VideoPlayer__closedCaption___PAvgt:not(.Primer_Brand__VideoPlayer-module__VideoPlayer__ccOff___svmJL){background:highlight;border-color:highlight}.Primer_Brand__VideoPlayer-module__VideoPlayer__closedCaption___PAvgt:not(.Primer_Brand__VideoPlayer-module__VideoPlayer__ccOff___svmJL) .Primer_Brand__VideoPlayer-module__VideoPlayer__ccText___xIu2v{color:highlighttext;background-color:highlight}}.Primer_Brand__VideoPlayer-module__VideoPlayer__range___Tmjbg{width:100%;min-width:var(--brand-VideoPlayer-range-minWidth);height:var(--brand-VideoPlayer-range-height);background-color:var(--brand-videoPlayer-range-bgColor-default);border-radius:var(--brand-VideoPlayer-range-borderRadius);position:relative}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeInput____wivl{font:inherit;appearance:none;z-index:1;width:100%;height:var(--brand-VideoPlayer-range-height);cursor:pointer;opacity:0;background:0 0;margin:0;display:block;position:absolute;top:0;left:0}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeInput____wivl:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-8);border-radius:var(--brand-borderRadius-small);opacity:1}.Primer_Brand__VideoPlayer-module__VideoPlayer__range___Tmjbg:hover .Primer_Brand__VideoPlayer-module__VideoPlayer__rangeInput____wivl{opacity:1}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeInput____wivl::-moz-range-track{background:0 0;border:none}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeInput____wivl::-webkit-slider-runnable-track{background:0 0;border:none}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK{appearance:none;border-radius:var(--brand-VideoPlayer-range-borderRadius);width:100%;height:var(--brand-VideoPlayer-range-height);border:0;position:absolute;top:0;left:0;overflow:hidden}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK::-webkit-progress-bar{background-color:var(--brand-videoPlayer-range-bgColor-default)}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK::-webkit-progress-value{background-color:var(--brand-videoPlayer-range-bgColor-progress)}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK::-moz-progress-bar{background:var(--brand-videoPlayer-range-bgColor-progress)}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK::-ms-fill-lower{background-color:var(--brand-videoPlayer-range-bgColor-progress);border:none}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK::-ms-fill-upper{background-color:var(--brand-videoPlayer-range-bgColor-default);border:none}@media (forced-colors:active){.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK::-webkit-progress-bar{background-color:fieldtext}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK::-webkit-progress-value{background-color:highlight}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK::-moz-progress-bar{background:highlight}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK::-ms-fill-lower{background-color:highlight}.Primer_Brand__VideoPlayer-module__VideoPlayer__rangeProgress___dDpNK::-ms-fill-upper{background-color:fieldtext}}.Primer_Brand__VideoPlayer-module__VideoPlayer__tooltip___mtg_l{z-index:2;width:var(--base-size-8);height:var(--base-size-8);margin-bottom:var(--base-size-16);opacity:0;position:absolute;bottom:100%;left:50%;transform:translate(-50%,50%)}.Primer_Brand__VideoPlayer-module__VideoPlayer__tooltip___mtg_l:before{bottom:calc(var(--base-size-4) * -1);width:var(--base-size-12);height:var(--base-size-12);content:"";background:var(--base-color-scale-white-0);border-radius:var(--brand-borderRadius-small);position:absolute;left:0;transform:rotate(45deg)}.Primer_Brand__VideoPlayer-module__VideoPlayer__tooltipContent___BoAqV{z-index:-1;box-shadow:0 var(--base-size-4) var(--base-size-4) #1b1f2433;padding:var(--brand-VideoPlayer-tooltip-padding-block) var(--brand-VideoPlayer-tooltip-padding-inline);border-radius:var(--brand-borderRadius-medium);background:#fff;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.Primer_Brand__VideoPlayer-module__VideoPlayer__tooltipText____Syz7{color:var(--base-color-scale-gray-9)}.Primer_Brand__VideoPlayer-module__VideoPlayer__tooltip-visible___xOTRZ{opacity:1}.Primer_Brand__VideoPlayer-module__VideoPlayer__controlTextColor___YMFpe{color:var(--base-color-scale-white-0)}.Primer_Brand__VideoPlayer-module__VideoPlayer__seekTime___HLf0h{white-space:nowrap}.Primer_Brand__VideoPlayer-module__VideoPlayer__container--small___TxAd8 .Primer_Brand__VideoPlayer-module__VideoPlayer__title___F1E2j span{font-weight:var(--brand-text-weight-300);font-size:var(--brand-text-size-300);line-height:var(--brand-text-lineHeight-300);letter-spacing:var(--brand-text-letterSpacing-300)}.Primer_Brand__VideoPlayer-module__VideoPlayer__container--small___TxAd8 .Primer_Brand__VideoPlayer-module__VideoPlayer__title___F1E2j svg{width:var(--base-size-24);height:var(--base-size-24)}.Primer_Brand__VideoPlayer-module__VideoPlayer__container--small___TxAd8 .Primer_Brand__VideoPlayer-module__VideoPlayer__controls___hNpxI{position:initial;position:static}@media (prefers-reduced-motion:reduce){.Primer_Brand__VideoPlayer-module__VideoPlayer___iNxEw,.Primer_Brand__VideoPlayer-module__VideoPlayer___iNxEw:before,.Primer_Brand__VideoPlayer-module__VideoPlayer___iNxEw:after,.Primer_Brand__VideoPlayer-module__VideoPlayer___iNxEw *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.Primer_Brand__VolumeControl-module__VolumeControl___rq9Ra{max-width:100px}:root{--brand-VideoPlayer-tooltip-padding-inline:.3125rem;--brand-VideoPlayer-tooltip-padding-block:.3125rem;--brand-VideoPlayer-transition:all var(--brand-animation-duration-fast) var(--brand-animation-easing-default);--brand-VideoPlayer-range-minWidth:4.6875rem;--brand-VideoPlayer-range-borderRadius:.1875rem;--brand-VideoPlayer-range-height:.375rem;--brand-VideoPlayer-playButton-width:var(--base-size-96);--brand-VideoPlayer-playButton-height:var(--base-size-96);--brand-VideoPlayer-closedCaption-text-padding:.625rem;--brand-VideoPlayer-closedCaption-text-bgColor:#000000bf;--brand-VideoPlayer-closedCaption-text-fgColor:var(--base-color-scale-white-0);--brand-VideoPlayer-closedCaption-margin:0 auto 15px auto}:root,[data-color-mode=light],[data-color-mode=dark]{--brand-videoPlayer-playButton-bgColor-rest:var(--base-color-scale-blue-5);--brand-videoPlayer-playButton-fgColor-rest:var(--base-color-scale-gray-0);--brand-videoPlayer-title-bgColor:linear-gradient(180deg, #000000e6, #00000073 66%, transparent);--brand-videoPlayer-title-fgColor:var(--base-color-scale-gray-0);--brand-videoPlayer-controls-bgColor:var(--base-color-scale-black-0);--brand-videoPlayer-controls-fgColor:var(--base-color-scale-gray-0);--brand-videoPlayer-closedCaption-bgColor-enabled:var(--base-color-scale-gray-0);--brand-videoPlayer-closedCaption-fgColor-enabled:var(--base-color-scale-black-0);--brand-videoPlayer-closedCaption-fgColor-disabled:var(--base-color-scale-gray-0);--brand-videoPlayer-closedCaption-borderColor-enabled:var(--base-color-scale-gray-0);--brand-videoPlayer-range-bgColor-default:var(--base-color-scale-gray-0);--brand-videoPlayer-range-bgColor-progress:var(--base-color-scale-blue-4)}.Primer_Brand__MinimalVideoPlayer-module__MinimalVideoPlayer___vOvcR{width:100%;position:relative}.Primer_Brand__MinimalVideoPlayer-module__MinimalVideoPlayer__video___Zai7A{width:100%;display:block}.Primer_Brand__MinimalVideoPlayer-module__MinimalVideoPlayer__control___bwjf6{right:var(--base-size-24);bottom:var(--base-size-24);width:var(--base-size-36);height:var(--base-size-36);color:var(--brand-color-text-muted);cursor:pointer;background-color:var(--brand-color-canvas-muted);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle);border-radius:var(--brand-borderRadius-full);justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.Primer_Brand__MinimalVideoPlayer-module__MinimalVideoPlayer__control___bwjf6:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__MinimalVideoPlayer-module__MinimalVideoPlayer__video___Zai7A[controls]+.Primer_Brand__MinimalVideoPlayer-module__MinimalVideoPlayer__control___bwjf6{display:none}@media (forced-colors:active){.Primer_Brand__MinimalVideoPlayer-module__MinimalVideoPlayer___vOvcR{border:var(--brand-borderWidth-thin) solid CanvasText}.Primer_Brand__MinimalVideoPlayer-module__MinimalVideoPlayer__control___bwjf6{color:buttontext;background-color:buttonface;border-color:buttontext}.Primer_Brand__MinimalVideoPlayer-module__MinimalVideoPlayer__control___bwjf6:focus-visible{outline-color:highlight}}:root,[data-color-mode=light]{--brand-LogoSuite-color-control-rest:var(--brand-color-canvas-muted);--brand-LogoSuite-color-control-hover:var(--base-color-scale-gray-1);--brand-LogoSuite-color-logo-muted:var(--brand-color-text-muted);--brand-LogoSuite-color-logo-emphasis:var(--brand-color-text-default);--brand-LogoSuite-color-logo-filter-muted:brightness(0) saturate(100%) invert(37%) sepia(7%) saturate(778%) hue-rotate(171deg) brightness(96%) contrast(91%);--brand-LogoSuite-color-logo-filter-emphasis:brightness(0) saturate(100%) invert(12%) sepia(20%) saturate(450%) hue-rotate(172deg) brightness(100%) contrast(91%)}[data-color-mode=dark]{--brand-LogoSuite-color-control-rest:var(--brand-color-canvas-muted);--brand-LogoSuite-color-control-hover:#5a5b7c;--brand-LogoSuite-color-logo-muted:var(--brand-color-text-muted);--brand-LogoSuite-color-logo-emphasis:var(--brand-color-text-default);--brand-LogoSuite-color-logo-filter-muted:brightness(0) saturate(100%) invert(61%) sepia(8%) saturate(430%) hue-rotate(171deg) brightness(94%) contrast(92%);--brand-LogoSuite-color-logo-filter-emphasis:brightness(0) saturate(100%) invert(91%) sepia(2%) saturate(2455%) hue-rotate(193deg) brightness(107%) contrast(98%)}:root{--brand-LogoSuite-logobar-marquee-gap-condensed:var(--base-size-40);--brand-LogoSuite-logobar-marquee-gap-default:var(--base-size-96);--brand-LogoSuite-logobar-marquee-slow:60s;--brand-LogoSuite-logobar-marquee-default:30s;--brand-LogoSuite-logobar-rowGap:var(--base-size-40);--brand-LogoSuite-logobar-columnGap-condensed:var(--base-size-40);--brand-LogoSuite-logobar-columnGap-default:var(--base-size-80)}.Primer_Brand__LogoSuite-module__LogoSuite___W2Pai{padding-block-end:var(--brand-LogoSuite-logobar-rowGap)}.Primer_Brand__LogoSuite-module__LogoSuite--default___EU2sL+.Primer_Brand__LogoSuite-module__LogoSuite--default___EU2sL{padding-block-start:var(--brand-LogoSuite-logobar-rowGap)}.Primer_Brand__LogoSuite-module__LogoSuite___W2Pai:not(:has(.Primer_Brand__LogoSuite-module__LogoSuite__description___SRFRM)) .Primer_Brand__LogoSuite-module__LogoSuite__heading___s2Xyw{font-family:var(--brand-fontStack-monospace);font-weight:var(--brand-text-weight-100);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);letter-spacing:var(--brand-text-letterSpacing-100);text-transform:uppercase;color:var(--brand-color-text-muted)}.Primer_Brand__LogoSuite-module__LogoSuite__heading___s2Xyw+.Primer_Brand__LogoSuite-module__LogoSuite__description___SRFRM{padding-block-start:var(--base-size-16)}.Primer_Brand__LogoSuite-module__LogoSuite--start___Kk6GC{text-align:left}.Primer_Brand__LogoSuite-module__LogoSuite--center___byPyg,.Primer_Brand__LogoSuite-module__LogoSuite--justify___ZFxvW{text-align:center}.Primer_Brand__LogoSuite-module__LogoSuite--default___EU2sL:not(.Primer_Brand__LogoSuite-module__LogoSuite___W2Pai+.Primer_Brand__LogoSuite-module__LogoSuite___W2Pai) .Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm{padding-block-start:var(--base-size-32)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm{row-gap:var(--brand-LogoSuite-logobar-rowGap);flex-wrap:wrap;justify-content:center;display:flex}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--gap-default___nLZ7M{--marquee-gap:var(--brand-LogoSuite-logobar-marquee-gap-default);-moz-column-gap:var(--brand-LogoSuite-logobar-columnGap-default);column-gap:var(--brand-LogoSuite-logobar-columnGap-default)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--gap-condensed___d2k3z{--marquee-gap:var(--brand-LogoSuite-logobar-marquee-gap-condensed);-moz-column-gap:var(--brand-LogoSuite-logobar-columnGap-condensed);column-gap:var(--brand-LogoSuite-logobar-columnGap-condensed)}.Primer_Brand__LogoSuite-module__LogoSuite___W2Pai:not(.Primer_Brand__LogoSuite-module__LogoSuite___W2Pai+.Primer_Brand__LogoSuite-module__LogoSuite___W2Pai) .Primer_Brand__LogoSuite-module__LogoSuite__heading___s2Xyw:not(.Primer_Brand__LogoSuite-module__LogoSuite__heading--visually-hidden___pTR4r)+.Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm,.Primer_Brand__LogoSuite-module__LogoSuite___W2Pai:not(.Primer_Brand__LogoSuite-module__LogoSuite___W2Pai+.Primer_Brand__LogoSuite-module__LogoSuite___W2Pai) .Primer_Brand__LogoSuite-module__LogoSuite__description___SRFRM+.Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm{margin-block-start:var(--base-size-44);padding-block-start:0}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-muted___a0P8Z svg,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-muted___a0P8Z img,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-muted___a0P8Z a,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-emphasis___MjgGb svg,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-emphasis___MjgGb img,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-emphasis___MjgGb a{width:auto;height:var(--base-size-32)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm img{display:block}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-muted___a0P8Z svg,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-muted___a0P8Z path{fill:var(--brand-LogoSuite-color-logo-muted)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-muted___a0P8Z img{filter:var(--brand-LogoSuite-color-logo-filter-muted)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-emphasis___MjgGb svg,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-emphasis___MjgGb path{fill:var(--brand-LogoSuite-color-logo-emphasis)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--variant-emphasis___MjgGb img{filter:var(--brand-LogoSuite-color-logo-filter-emphasis)}.Primer_Brand__LogoSuite-module__LogoSuite--start___Kk6GC .Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm{justify-content:center}@media screen and (width>=48rem){.Primer_Brand__LogoSuite-module__LogoSuite--justify___ZFxvW .Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm{justify-content:space-between}}.Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm a:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2);border-radius:var(--base-size-4)}.Primer_Brand__LogoSuite-module__LogoSuite--hasDivider___Znsqm{border-bottom:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-marquee___d5jZP{align-items:center;gap:var(--base-size-24);flex-direction:row;max-width:100vw;margin:auto;display:flex;position:relative}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marqueeGroup___QnvBf{justify-content:space-around;align-items:center;gap:var(--marquee-gap);min-width:100%;animation-name:Primer_Brand__LogoSuite-module__LogobarScrollX___K2Z30;animation-duration:var(--brand-LogoSuite-logobar-marquee-default);flex-shrink:0;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal;animation-play-state:running;animation-fill-mode:none;display:flex}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marqueeGroup--speed-default___ptGOl{animation-duration:var(--brand-LogoSuite-logobar-marquee-default)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marqueeGroup--speed-slow___s1IKV{animation-duration:var(--brand-LogoSuite-logobar-marquee-slow)}@keyframes Primer_Brand__LogoSuite-module__LogobarScrollX___K2Z30{0%{transform:translate(0)}to{transform:translateX(calc(-100% - var(--marquee-gap)))}}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marquee___Q0YOr:hover .Primer_Brand__LogoSuite-module__LogoSuite__logobar-marqueeGroup___QnvBf,.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marquee___Q0YOr:focus-within .Primer_Brand__LogoSuite-module__LogoSuite__logobar-marqueeGroup___QnvBf{animation-play-state:paused}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marquee___Q0YOr{padding-block:var(--base-size-4);-webkit-user-select:none;user-select:none;gap:var(--marquee-gap);flex:1;min-width:0;display:flex;overflow:hidden visible;-webkit-mask-image:linear-gradient(90deg,#0000,#000 20% 80%,#0000);mask-image:linear-gradient(90deg,#0000,#000 20% 80%,#0000)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--paused___i6vSY *{animation-play-state:paused!important}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-marquee--focused___AVQlQ .Primer_Brand__LogoSuite-module__LogoSuite__logobar-marqueeGroup___QnvBf{animation-name:none}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-playPauseButton___nkRGi{cursor:pointer;width:var(--base-size-32);height:var(--base-size-32);border-radius:var(--base-size-48);border:none;border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);background-color:var(--brand-LogoSuite-color-control-rest);transition:background-color var(--brand-animation-duration-faster);flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-playPauseButton___nkRGi:hover{background-color:var(--brand-LogoSuite-color-control-hover)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-playPauseButton___nkRGi:focus-visible{outline:var(--base-size-4) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-playPauseButton___nkRGi svg{width:var(--base-size-16);height:var(--base-size-16);fill:var(--brand-color-text-muted)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-playPauseButton___nkRGi path{fill:var(--brand-color-text-muted)}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax{padding:0}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__content___tKr_a{gap:0;padding-inline:0}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__textContainer___hClnV{padding:var(--base-size-20);flex-direction:column;justify-content:center;display:flex}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm{margin-block-start:auto}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__logobarContainer___LzoS_{padding:var(--base-size-32) var(--base-size-20) var(--base-size-32);flex-direction:column;justify-content:center;display:flex}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm,.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-marquee___d5jZP{width:100%;max-width:none}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__heading___s2Xyw+.Primer_Brand__LogoSuite-module__LogoSuite__description___SRFRM{padding-block-start:var(--base-size-8)}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__logobar___hRzWm{padding-block-start:0}@media screen and (width>=48rem){.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax{padding-inline:91px}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__logobarContainer___LzoS_{padding:var(--base-size-40)}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__content___tKr_a{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__textContainer___hClnV{border-inline-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}@media screen and (width>=64rem){.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax{padding-inline:0}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__content___tKr_a{max-width:1280px}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__textContainer___hClnV{text-align:left;padding:var(--base-size-64)}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__logobarContainer___LzoS_{padding:var(--base-size-64)}}@media screen and (width>=1281px){.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__content___tKr_a{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__LogoSuite-module__LogoSuite--gridline-expressive___Aq8ax .Primer_Brand__LogoSuite-module__LogoSuite__logobarContainer___LzoS_:first-child{border-inline-start:none}}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___f22xm{position:relative;overflow:visible}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___f22xm:before{content:"";inset:calc(-1 * var(--base-size-16)) 0;z-index:1;pointer-events:none;opacity:0;-webkit-backdrop-filter:blur(var(--base-size-6));transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);position:absolute}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___f22xm:hover:before,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___f22xm:focus-within:before{opacity:1}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___f22xm:hover svg,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___f22xm:focus-within svg,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___f22xm:hover img,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___f22xm:focus-within img{opacity:.7;transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar-takeoverButtonContainer___gguiO{opacity:0;visibility:hidden;z-index:2;transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___f22xm:hover .Primer_Brand__LogoSuite-module__LogoSuite__logobar-takeoverButtonContainer___gguiO,.Primer_Brand__LogoSuite-module__LogoSuite__logobar--has-takeover___f22xm:focus-within .Primer_Brand__LogoSuite-module__LogoSuite__logobar-takeoverButtonContainer___gguiO{opacity:1;visibility:visible}.Primer_Brand__Timeline-module__Timeline___keSeT{--bulletY:calc(var(--base-size-8) / 2 - var(--brand-Timeline-bullet-size) / 2 + var(--base-size-8));margin:0;padding:0;list-style:none}.Primer_Brand__Timeline-module__Timeline__item____ME4_{max-width:var(--brand-Timeline-lineLength);color:var(--brand-color-text-default);line-height:var(--brand-Timeline-lineHeight);padding-inline-start:calc(var(--brand-Timeline-bullet-size) + var(--brand-Timeline-spacing));position:relative}.Primer_Brand__Timeline-module__Timeline--full-width___XLdKp .Primer_Brand__Timeline-module__Timeline__item____ME4_{max-width:none}.Primer_Brand__Timeline-module__Timeline__item____ME4_:not(:last-child){padding-bottom:var(--base-size-32)}.Primer_Brand__Timeline-module__Timeline__item____ME4_:before,.Primer_Brand__Timeline-module__Timeline__item____ME4_:after{content:"";position:absolute}.Primer_Brand__Timeline-module__Timeline__item____ME4_:before{width:var(--brand-Timeline-bullet-size);height:var(--brand-Timeline-bullet-size);top:var(--bulletY);border-style:solid;border-width:var(--brand-Timeline-strokeWidth);border-color:var(--brand-Timeline-line-color);border-radius:var(--brand-borderRadius-full);left:0}.Primer_Brand__Timeline-module__Timeline__item____ME4_:not(:last-child):after{top:calc(var(--bulletY) + var(--brand-Timeline-bullet-size) + var(--brand-Timeline-bullet-spacing));left:calc(var(--brand-Timeline-bullet-size) / 2 - var(--brand-Timeline-strokeWidth) / 2);width:var(--brand-Timeline-strokeWidth);height:calc(100% - var(--brand-Timeline-bullet-size) - var(--brand-Timeline-bullet-spacing) * 2);background-color:var(--brand-Timeline-line-color);border-radius:var(--brand-borderRadius-full)}.Primer_Brand__Timeline-module__Timeline__item-text___sbSjp em,.Primer_Brand__Timeline-module__Timeline__item-text___sbSjp b{color:var(--brand-color-text-default);font-style:normal;font-weight:var(--base-text-weight-medium)}.Primer_Brand__Timeline-module__Timeline__item____ME4_ a{color:var(--brand-InlineLink-color-rest);-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration-color:var(--brand-InlineLink-color-rest);text-decoration-color:var(--brand-InlineLink-color-rest);text-decoration-thickness:var(--brand-borderWidth-thin);text-underline-position:under;transition:var(--brand-InlineLink-transition-timing) text-decoration;position:relative}.Primer_Brand__Timeline-module__Timeline__item____ME4_ a:hover{text-decoration-thickness:var(--brand-borderWidth-thick)}.Primer_Brand__Timeline-module__Timeline__item____ME4_ a{font-weight:inherit;color:var(--brand-InlineLink-color-rest)}.Primer_Brand__Timeline-module__Timeline__item____ME4_ a:active{color:var(--brand-InlineLink-color-pressed)}.Primer_Brand__Timeline-module__Timeline__item____ME4_ a:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}@media (prefers-reduced-motion:reduce){.Primer_Brand__Timeline-module__Timeline__item____ME4_,.Primer_Brand__Timeline-module__Timeline__item____ME4_:before,.Primer_Brand__Timeline-module__Timeline__item____ME4_:after,.Primer_Brand__Timeline-module__Timeline__item____ME4_ *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root,[data-color-mode=light]{--brand-Timeline-line-color:var(--brand-color-border-default)}[data-color-mode=dark]{--brand-Timeline-line-color:var(--base-color-scale-gray-4)}:root{--brand-Timeline-bullet-spacing:.125rem;--brand-Timeline-bullet-size:var(--base-size-8);--brand-Timeline-spacing:var(--base-size-16);--brand-Timeline-strokeWidth:.125rem;--brand-Timeline-lineLength:44ch;--brand-Timeline-lineHeight:var(--brand-text-lineHeight-200);--brand-Bento-content-padding-spacious:3.5rem;--brand-Bento-content-padding-normal:var(--base-size-24);--brand-Bento-content-padding-condensed:var(--base-size-16);--brand-Bento-item-borderRadius-large:var(--brand-borderRadius-xlarge);--brand-Bento-item-borderRadius-medium:var(--brand-borderRadius-xlarge);--brand-Bento-item-borderRadius-small:var(--brand-borderRadius-large);--brand-Bento-gap-small:var(--base-size-20);--brand-Bento-gap-medium:var(--base-size-32);--brand-Bento-gap-large:var(--base-size-32)}.Primer_Brand__Bento-module__Bento___mNrII{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(var(--base-size-80), max-content);grid-gap:var(--brand-Bento-gap-small);width:100%;display:grid;position:relative}.Primer_Brand__Bento-module__Bento__Item___fM9oe{border-radius:var(--brand-Bento-item-borderRadius-small);grid-gap:var(--brand-Bento-content-padding-spacious);grid-template-rows:auto 1fr;grid-template-columns:1fr;display:grid;overflow:hidden}.Primer_Brand__Bento-module__Bento__Item--bgColor-default___AyFWG{background-color:var(--brand-color-canvas-default)}.Primer_Brand__Bento-module__Bento__Item--bgColor-subtle___rIDKo{background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q.Primer_Brand__Bento-module__Bento__Item___fM9oe{grid-gap:0}@media screen and (width>=80rem){.Primer_Brand__Bento-module__Bento___mNrII{gap:var(--brand-Bento-gap-large)}.Primer_Brand__Bento-module__Bento__Item___fM9oe{border-radius:var(--brand-Bento-item-borderRadius-large)}}@media screen and (width>=48rem){.Primer_Brand__Bento-module__Bento___mNrII{gap:var(--brand-Bento-gap-medium)}.Primer_Brand__Bento-module__Bento__Item___fM9oe{border-radius:var(--brand-Bento-item-borderRadius-medium)}}.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q .Primer_Brand__Bento-module__Bento__Content___BhnY8{order:1;grid-area:1/1/span 2/span 2}.Primer_Brand__Bento-module__Bento__Content___BhnY8{height:100%;color:var(--brand-color-text-default);flex-direction:column;align-items:flex-start;display:flex}.Primer_Brand__Bento-module__Bento__Content-icon___K3van{margin-bottom:var(--base-size-32)}.Primer_Brand__Bento-module__Bento__heading--no-text___FiQWM{margin-bottom:var(--base-size-24)}.Primer_Brand__Bento-module__Bento__heading--muted___un_Vf{color:var(--brand-color-text-muted)}.Primer_Brand__Bento-module__Bento__heading--muted___un_Vf em,.Primer_Brand__Bento-module__Bento__heading--muted___un_Vf b{color:var(--brand-color-text-default);font-style:normal;font-weight:inherit}.Primer_Brand__Bento-module__Bento__heading--with-max-width___B8vBa{max-width:600px}.Primer_Brand__Bento-module__Bento__Visual___uQCng{width:100%;height:100%;display:flex}.Primer_Brand__Bento-module__Bento__Visual--overflow-hidden___KzPcB{overflow:hidden}.Primer_Brand__Bento-module__Bento__Visual--overflow-initial___TJvWe{overflow:visible;overflow:initial}.Primer_Brand__Bento-module__Bento__Visual--horizontalAlign-center___nyK69{justify-content:center}.Primer_Brand__Bento-module__Bento__Visual--horizontalAlign-end___k1jRS{justify-content:flex-end}.Primer_Brand__Bento-module__Bento__Visual--horizontalAlign-start___DzeEf{justify-content:flex-start}.Primer_Brand__Bento-module__Bento__Visual--verticalAlign-center___nSnau{align-items:center}.Primer_Brand__Bento-module__Bento__Visual--verticalAlign-end___IVb1w{align-items:flex-end}.Primer_Brand__Bento-module__Bento__Visual--verticalAlign-start___pyNZQ{align-items:flex-start}.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q .Primer_Brand__Bento-module__Bento__Visual___uQCng{order:-1;grid-area:1/1/-1/-1}.Primer_Brand__Bento-module__Bento__Visual--fill___B70Uy>img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.Primer_Brand__Bento-module__Bento__Visual--no-fill___JcHtr>img{-o-object-fit:contain;object-fit:contain;border-radius:0}.Primer_Brand__Bento-module__Bento--padding-condensed___qkDcr{padding:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento--padding-normal___c85Rj{padding:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento--padding-spacious___ydfpH{padding:var(--brand-Bento-content-padding-spacious)}.Primer_Brand__Bento-module__Bento--padding-condensed___qkDcr>img,.Primer_Brand__Bento-module__Bento--padding-normal___c85Rj>img{border-radius:var(--brand-borderRadius-large)}.Primer_Brand__Bento-module__Bento--padding-spacious___ydfpH>img{border-radius:var(--brand-borderRadius-medium)}.Primer_Brand__Bento-module__Bento__Item--flow-column___Gd6ts{grid-template-rows:1fr;grid-template-columns:1fr 1fr;grid-auto-flow:column}.Primer_Brand__Bento-module__Bento__Item--flow-row___DVol6{grid-auto-flow:row}.Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{justify-content:inherit;margin-top:auto}.Primer_Brand__Bento-module__Bento__Content-text___Q4UA5{margin-top:var(--base-size-8);margin-bottom:var(--base-size-24)}.Primer_Brand__Bento-module__Bento__Content-label___SbyAo{margin-block-end:var(--base-size-16)}.Primer_Brand__Bento-module__Bento__Item--column-span-1___wJS_f{grid-column:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--column-span-2___wJFH9{grid-column:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--column-span-3___hskYi{grid-column:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--column-span-4___EWadX{grid-column:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--column-span-5___ggzyV{grid-column:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--column-span-6___UuNEL{grid-column:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--column-span-7___dnYwC{grid-column:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--column-span-8___bUlVW{grid-column:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--column-span-9___Veeak{grid-column:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--column-span-10___NKxdA{grid-column:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--column-span-11___ZjirT{grid-column:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--column-span-12___CaIjg{grid-column:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--row-span-1____HYWz{grid-row:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--row-span-2___VYZcw{grid-row:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--row-span-3___PkNE4{grid-row:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--row-span-4___FygFo{grid-row:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--row-span-5___wO0Ev{grid-row:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--row-span-6___QvMUL{grid-row:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--row-span-7___KfzTy{grid-row:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--row-span-8___ctYpA{grid-row:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--row-span-9___NK44C{grid-row:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--row-span-10___YeL2N{grid-row:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--row-span-11___OuImI{grid-row:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--row-span-12___ZRPCc{grid-row:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--column-start-1___hJ0es{grid-column-start:1}.Primer_Brand__Bento-module__Bento__Item--column-start-2___RV3eY{grid-column-start:2}.Primer_Brand__Bento-module__Bento__Item--column-start-3___M960L{grid-column-start:3}.Primer_Brand__Bento-module__Bento__Item--column-start-4___V5b3w{grid-column-start:4}.Primer_Brand__Bento-module__Bento__Item--column-start-5___hCu7p{grid-column-start:5}.Primer_Brand__Bento-module__Bento__Item--column-start-6___WeOjZ{grid-column-start:6}.Primer_Brand__Bento-module__Bento__Item--column-start-7___azf_1{grid-column-start:7}.Primer_Brand__Bento-module__Bento__Item--column-start-8___ufTXp{grid-column-start:8}.Primer_Brand__Bento-module__Bento__Item--column-start-9___m59SZ{grid-column-start:9}.Primer_Brand__Bento-module__Bento__Item--column-start-10___pNAFk{grid-column-start:10}.Primer_Brand__Bento-module__Bento__Item--column-start-11___JPuyR{grid-column-start:11}.Primer_Brand__Bento-module__Bento__Item--column-start-12___nAVWL{grid-column-start:12}.Primer_Brand__Bento-module__Bento__Item--row-start-1___ocNBk{grid-row-start:1}.Primer_Brand__Bento-module__Bento__Item--row-start-2___vcLtw{grid-row-start:2}.Primer_Brand__Bento-module__Bento__Item--row-start-3___w9cDE{grid-row-start:3}.Primer_Brand__Bento-module__Bento__Item--row-start-4___Rn8P9{grid-row-start:4}.Primer_Brand__Bento-module__Bento__Item--row-start-5___c5xci{grid-row-start:5}.Primer_Brand__Bento-module__Bento__Item--row-start-6___fh6uR{grid-row-start:6}.Primer_Brand__Bento-module__Bento__Item--row-start-7___jVnOo{grid-row-start:7}.Primer_Brand__Bento-module__Bento__Item--row-start-8___L4G8w{grid-row-start:8}.Primer_Brand__Bento-module__Bento__Item--row-start-9___Orw5A{grid-row-start:9}.Primer_Brand__Bento-module__Bento__Item--row-start-10___IQVeg{grid-row-start:10}.Primer_Brand__Bento-module__Bento__Item--row-start-11___w0uDj{grid-row-start:11}.Primer_Brand__Bento-module__Bento__Item--row-start-12___o52Zm{grid-row-start:12}.Primer_Brand__Bento-module__Bento__Item--verticalAlign-start___uJAby{justify-content:flex-start}.Primer_Brand__Bento-module__Bento__Item--verticalAlign-start___uJAby .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--verticalAlign-center___zOTQa{justify-content:center}.Primer_Brand__Bento-module__Bento__Item--verticalAlign-center___zOTQa .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--verticalAlign-end___fUd68{justify-content:flex-end}.Primer_Brand__Bento-module__Bento__Item--verticalAlign-end___fUd68 .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--horizontalAlign-start___apVss{text-align:start;align-items:flex-start}.Primer_Brand__Bento-module__Bento__Item--horizontalAlign-center___DJpgD{text-align:center;align-items:center}@media screen and (width>=0){.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-1___O3dlL{grid-column:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-2___LLZAj{grid-column:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-3___SROOQ{grid-column:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-4___dLcHs{grid-column:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-5___Zil5S{grid-column:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-6___pGhxP{grid-column:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-7___Gmugv{grid-column:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-8___mNfgZ{grid-column:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-9___w5AFK{grid-column:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-10___dEYRU{grid-column:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-11___cBfF2{grid-column:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-span-12___fEgOK{grid-column:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-1___k41Hr{grid-row:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-2___qHzNc{grid-row:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-3___t3hyC{grid-row:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-4___X_F9d{grid-row:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-5___UuegS{grid-row:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-6___W2L8o{grid-row:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-7___lYC_E{grid-row:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-8___f66F5{grid-row:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-9___eU0LD{grid-row:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-10___beFeO{grid-row:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-11___DgR1X{grid-row:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-span-12___Gl_9d{grid-row:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-1___xf8R8{grid-column-start:1}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-2___f5xs_{grid-column-start:2}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-3___bl1q4{grid-column-start:3}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-4___PhKl_{grid-column-start:4}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-5___xYV6c{grid-column-start:5}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-6___PYKbP{grid-column-start:6}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-7___NE6p3{grid-column-start:7}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-8___AeJAI{grid-column-start:8}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-9___ikepW{grid-column-start:9}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-10___nGG9V{grid-column-start:10}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-11___UTeRm{grid-column-start:11}.Primer_Brand__Bento-module__Bento__Item--xsmall-column-start-12___NhrVC{grid-column-start:12}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-1___ISePA{grid-row-start:1}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-2___jM4bs{grid-row-start:2}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-3___FTZiY{grid-row-start:3}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-4___gfyxX{grid-row-start:4}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-5___jO7WM{grid-row-start:5}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-6___nKfix{grid-row-start:6}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-7___NncQO{grid-row-start:7}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-8___wY_Tb{grid-row-start:8}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-9___p5PaK{grid-row-start:9}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-10___MKWyL{grid-row-start:10}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-11___nxv94{grid-row-start:11}.Primer_Brand__Bento-module__Bento__Item--xsmall-row-start-12___Vbl6J{grid-row-start:12}.Primer_Brand__Bento-module__Bento__Item--xsmall-flow-column___WV1h5{grid-template-rows:1fr;grid-template-columns:1fr 1fr;grid-auto-flow:column}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xsmall-flow-column___WV1h5>div:first-of-type{padding-right:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xsmall-flow-column___WV1h5>div:last-of-type{padding-left:0}.Primer_Brand__Bento-module__Bento__Item--xsmall-flow-row___k8j9i{grid-template-rows:1fr 1fr;grid-template-columns:1fr;grid-auto-flow:row}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xsmall-flow-row___k8j9i>div:first-of-type{padding-bottom:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xsmall-flow-row___k8j9i>div:last-of-type{padding-top:0}.Primer_Brand__Bento-module__Bento__Item--xsmall-verticalAlign-start___cWQRy{justify-content:flex-start}.Primer_Brand__Bento-module__Bento__Item--xsmall-verticalAlign-start___cWQRy .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--xsmall-verticalAlign-center___k4IC6{justify-content:center}.Primer_Brand__Bento-module__Bento__Item--xsmall-verticalAlign-center___k4IC6 .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--xsmall-verticalAlign-end___v_7lF{justify-content:flex-end}.Primer_Brand__Bento-module__Bento__Item--xsmall-verticalAlign-end___v_7lF .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--xsmall-horizontalAlign-start___dT6ng{align-items:flex-start}.Primer_Brand__Bento-module__Bento__Item--xsmall-horizontalAlign-center___xcsj2{align-items:center}.Primer_Brand__Bento-module__Bento--xsmall-padding-condensed___Eno9E{padding:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento--xsmall-padding-normal___C2rTu{padding:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento--xsmall-padding-spacious___kepW0{padding:var(--brand-Bento-content-padding-spacious)}.Primer_Brand__Bento-module__Bento__Item--xsmall-gap-condensed___aPIBg{grid-gap:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento__Item--xsmall-gap-normal___XrOHt{grid-gap:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento__Item--xsmall-gap-spacious___mv1WJ{grid-gap:var(--brand-Bento-content-padding-spacious)}}@media screen and (width>=34rem){.Primer_Brand__Bento-module__Bento__Item--small-column-span-1___a6Uk_{grid-column:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--small-column-span-2___eRR9s{grid-column:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--small-column-span-3___iBkjl{grid-column:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--small-column-span-4___iTLL7{grid-column:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--small-column-span-5___FXZKF{grid-column:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--small-column-span-6___VEiVP{grid-column:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--small-column-span-7___RFD8p{grid-column:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--small-column-span-8___WBTAW{grid-column:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--small-column-span-9___PDKMV{grid-column:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--small-column-span-10___ZBSO0{grid-column:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--small-column-span-11___Or5lx{grid-column:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--small-column-span-12___xu8z2{grid-column:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--small-row-span-1___hJcO9{grid-row:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--small-row-span-2___RdAwK{grid-row:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--small-row-span-3___CMwq5{grid-row:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--small-row-span-4___KuACi{grid-row:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--small-row-span-5___xqZZV{grid-row:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--small-row-span-6___Q9O51{grid-row:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--small-row-span-7___MZ6cD{grid-row:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--small-row-span-8___eIEpG{grid-row:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--small-row-span-9___HkxM3{grid-row:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--small-row-span-10___pce_C{grid-row:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--small-row-span-11___GO_ln{grid-row:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--small-row-span-12___lUcIB{grid-row:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--small-column-start-1___blYcd{grid-column-start:1}.Primer_Brand__Bento-module__Bento__Item--small-column-start-2___z84xb{grid-column-start:2}.Primer_Brand__Bento-module__Bento__Item--small-column-start-3___jAHiV{grid-column-start:3}.Primer_Brand__Bento-module__Bento__Item--small-column-start-4___sa5rD{grid-column-start:4}.Primer_Brand__Bento-module__Bento__Item--small-column-start-5___EjA_Y{grid-column-start:5}.Primer_Brand__Bento-module__Bento__Item--small-column-start-6___TsMuS{grid-column-start:6}.Primer_Brand__Bento-module__Bento__Item--small-column-start-7___wzVOe{grid-column-start:7}.Primer_Brand__Bento-module__Bento__Item--small-column-start-8___Cylzb{grid-column-start:8}.Primer_Brand__Bento-module__Bento__Item--small-column-start-9___K3kJa{grid-column-start:9}.Primer_Brand__Bento-module__Bento__Item--small-column-start-10___PwfIO{grid-column-start:10}.Primer_Brand__Bento-module__Bento__Item--small-column-start-11___HwJrV{grid-column-start:11}.Primer_Brand__Bento-module__Bento__Item--small-column-start-12___AuD3D{grid-column-start:12}.Primer_Brand__Bento-module__Bento__Item--small-row-start-1___esfXx{grid-row-start:1}.Primer_Brand__Bento-module__Bento__Item--small-row-start-2___rMTHJ{grid-row-start:2}.Primer_Brand__Bento-module__Bento__Item--small-row-start-3___e5nFr{grid-row-start:3}.Primer_Brand__Bento-module__Bento__Item--small-row-start-4___hWxGW{grid-row-start:4}.Primer_Brand__Bento-module__Bento__Item--small-row-start-5___kZona{grid-row-start:5}.Primer_Brand__Bento-module__Bento__Item--small-row-start-6___l17Wp{grid-row-start:6}.Primer_Brand__Bento-module__Bento__Item--small-row-start-7___nZc8H{grid-row-start:7}.Primer_Brand__Bento-module__Bento__Item--small-row-start-8___s8jU5{grid-row-start:8}.Primer_Brand__Bento-module__Bento__Item--small-row-start-9___et36x{grid-row-start:9}.Primer_Brand__Bento-module__Bento__Item--small-row-start-10___UNRQz{grid-row-start:10}.Primer_Brand__Bento-module__Bento__Item--small-row-start-11___D0qCf{grid-row-start:11}.Primer_Brand__Bento-module__Bento__Item--small-row-start-12___Poeju{grid-row-start:12}.Primer_Brand__Bento-module__Bento__Item--small-flow-column___idFew{grid-template-rows:1fr;grid-template-columns:1fr 1fr;grid-auto-flow:column}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--small-flow-column___idFew>div:first-of-type{padding-right:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--small-flow-column___idFew>div:last-of-type{padding-left:0}.Primer_Brand__Bento-module__Bento__Item--small-flow-row___FlDbE{grid-template-rows:1fr 1fr;grid-template-columns:1fr;grid-auto-flow:row}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--small-flow-row___FlDbE>div:first-of-type{padding-bottom:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--small-flow-row___FlDbE>div:last-of-type{padding-top:0}.Primer_Brand__Bento-module__Bento__Item--small-verticalAlign-start___QMpW2{justify-content:flex-start}.Primer_Brand__Bento-module__Bento__Item--small-verticalAlign-start___QMpW2 .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--small-verticalAlign-center___eyrsO{justify-content:center}.Primer_Brand__Bento-module__Bento__Item--small-verticalAlign-center___eyrsO .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--small-verticalAlign-end___t8ken{justify-content:flex-end}.Primer_Brand__Bento-module__Bento__Item--small-verticalAlign-end___t8ken .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--small-horizontalAlign-start____az8o{align-items:flex-start}.Primer_Brand__Bento-module__Bento__Item--small-horizontalAlign-center___hIKKU{align-items:center}.Primer_Brand__Bento-module__Bento--small-padding-condensed___dV4bU{padding:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento--small-padding-normal____b5pg{padding:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento--small-padding-spacious___skviu{padding:var(--brand-Bento-content-padding-spacious)}.Primer_Brand__Bento-module__Bento__Item--small-gap-condensed____69Z4{grid-gap:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento__Item--small-gap-normal___R5AS5{grid-gap:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento__Item--small-gap-spacious___ysMFz{grid-gap:var(--brand-Bento-content-padding-spacious)}}@media screen and (width>=48rem){.Primer_Brand__Bento-module__Bento__Item--medium-column-span-1___qXoCp{grid-column:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-2___Or0aW{grid-column:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-3___rfJlA{grid-column:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-4___jrzrn{grid-column:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-5___VX5Xb{grid-column:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-6___PuJLu{grid-column:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-7___Gf10h{grid-column:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-8___EPkMS{grid-column:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-9___simHy{grid-column:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-10___vCY7I{grid-column:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-11___woBRo{grid-column:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--medium-column-span-12___eR9Ow{grid-column:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-1___vJifa{grid-row:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-2___rHIIs{grid-row:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-3___XpZk0{grid-row:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-4___xPGyT{grid-row:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-5___XHAdt{grid-row:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-6___uXSJ0{grid-row:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-7___V9oop{grid-row:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-8___bTuWm{grid-row:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-9___RBjok{grid-row:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-10___nXL1W{grid-row:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-11___bp7xe{grid-row:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--medium-row-span-12___QykVK{grid-row:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-1___ysXie{grid-column-start:1}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-2___obU8P{grid-column-start:2}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-3___ttZ2X{grid-column-start:3}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-4___yd4pw{grid-column-start:4}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-5___wl6Sl{grid-column-start:5}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-6___rlfWR{grid-column-start:6}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-7___dfJXo{grid-column-start:7}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-8___HLzZU{grid-column-start:8}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-9___Jul8L{grid-column-start:9}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-10___NGybV{grid-column-start:10}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-11___vc1Nv{grid-column-start:11}.Primer_Brand__Bento-module__Bento__Item--medium-column-start-12___gZcLo{grid-column-start:12}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-1___s1Rgz{grid-row-start:1}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-2___dsf4y{grid-row-start:2}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-3___rWjRq{grid-row-start:3}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-4___Iiuud{grid-row-start:4}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-5___tbnzw{grid-row-start:5}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-6___jPFm7{grid-row-start:6}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-7___ZqLlM{grid-row-start:7}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-8___TIOvf{grid-row-start:8}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-9___oukNX{grid-row-start:9}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-10___ZCbg8{grid-row-start:10}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-11___bSDUT{grid-row-start:11}.Primer_Brand__Bento-module__Bento__Item--medium-row-start-12___ozUh1{grid-row-start:12}.Primer_Brand__Bento-module__Bento__Item--medium-flow-column___K27t6{grid-template-rows:1fr;grid-template-columns:1fr 1fr;grid-auto-flow:column}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--medium-flow-column___K27t6>div:first-of-type{padding-right:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--medium-flow-column___K27t6>div:last-of-type{padding-left:0}.Primer_Brand__Bento-module__Bento__Item--medium-flow-row___qACyl{grid-template-rows:1fr 1fr;grid-template-columns:1fr;grid-auto-flow:row}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--medium-flow-row___qACyl>div:first-of-type{padding-bottom:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--medium-flow-row___qACyl>div:last-of-type{padding-top:0}.Primer_Brand__Bento-module__Bento__Item--medium-verticalAlign-start___DOGQs{justify-content:flex-start}.Primer_Brand__Bento-module__Bento__Item--medium-verticalAlign-start___DOGQs .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--medium-verticalAlign-center___FEwTP{justify-content:center}.Primer_Brand__Bento-module__Bento__Item--medium-verticalAlign-center___FEwTP .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--medium-verticalAlign-end___b8l2w{justify-content:flex-end}.Primer_Brand__Bento-module__Bento__Item--medium-verticalAlign-end___b8l2w .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--medium-horizontalAlign-start___nzIvg{align-items:flex-start}.Primer_Brand__Bento-module__Bento__Item--medium-horizontalAlign-center___aHFRW{align-items:center}.Primer_Brand__Bento-module__Bento--medium-padding-condensed___BgWOb{padding:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento--medium-padding-normal___xjnwE{padding:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento--medium-padding-spacious___I5PEZ{padding:var(--brand-Bento-content-padding-spacious)}.Primer_Brand__Bento-module__Bento__Item--medium-gap-condensed___Nk4Uj{grid-gap:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento__Item--medium-gap-normal___KXAsF{grid-gap:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento__Item--medium-gap-spacious___vFlWU{grid-gap:var(--brand-Bento-content-padding-spacious)}}@media screen and (width>=63.25rem){.Primer_Brand__Bento-module__Bento__Item--large-column-span-1___sPCsf{grid-column:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--large-column-span-2___wpcnQ{grid-column:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--large-column-span-3___z8T3W{grid-column:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--large-column-span-4___RNQwy{grid-column:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--large-column-span-5___t06QC{grid-column:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--large-column-span-6___eUMZR{grid-column:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--large-column-span-7___mLdYl{grid-column:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--large-column-span-8___zhtsq{grid-column:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--large-column-span-9___IrFuA{grid-column:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--large-column-span-10___d4zEs{grid-column:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--large-column-span-11___UKFCJ{grid-column:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--large-column-span-12___lOmLI{grid-column:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--large-row-span-1___o_4N_{grid-row:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--large-row-span-2___yJebq{grid-row:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--large-row-span-3___MsNH2{grid-row:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--large-row-span-4___aYG1Q{grid-row:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--large-row-span-5___qiTGf{grid-row:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--large-row-span-6___yDxVJ{grid-row:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--large-row-span-7___gfW02{grid-row:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--large-row-span-8___qrky4{grid-row:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--large-row-span-9___wluiD{grid-row:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--large-row-span-10___IXd3G{grid-row:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--large-row-span-11___OVPxd{grid-row:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--large-row-span-12___aAmjb{grid-row:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--large-column-start-1___ogy5Y{grid-column-start:1}.Primer_Brand__Bento-module__Bento__Item--large-column-start-2___A8Kex{grid-column-start:2}.Primer_Brand__Bento-module__Bento__Item--large-column-start-3___nCs4W{grid-column-start:3}.Primer_Brand__Bento-module__Bento__Item--large-column-start-4___k6wxM{grid-column-start:4}.Primer_Brand__Bento-module__Bento__Item--large-column-start-5___u9g2t{grid-column-start:5}.Primer_Brand__Bento-module__Bento__Item--large-column-start-6___wT9tc{grid-column-start:6}.Primer_Brand__Bento-module__Bento__Item--large-column-start-7___cH1Zn{grid-column-start:7}.Primer_Brand__Bento-module__Bento__Item--large-column-start-8___UsTw7{grid-column-start:8}.Primer_Brand__Bento-module__Bento__Item--large-column-start-9___txaE3{grid-column-start:9}.Primer_Brand__Bento-module__Bento__Item--large-column-start-10___uY9Wm{grid-column-start:10}.Primer_Brand__Bento-module__Bento__Item--large-column-start-11___kwY5A{grid-column-start:11}.Primer_Brand__Bento-module__Bento__Item--large-column-start-12___B9iMH{grid-column-start:12}.Primer_Brand__Bento-module__Bento__Item--large-row-start-1___kYB2F{grid-row-start:1}.Primer_Brand__Bento-module__Bento__Item--large-row-start-2___o21Td{grid-row-start:2}.Primer_Brand__Bento-module__Bento__Item--large-row-start-3___htfzI{grid-row-start:3}.Primer_Brand__Bento-module__Bento__Item--large-row-start-4___P2f1W{grid-row-start:4}.Primer_Brand__Bento-module__Bento__Item--large-row-start-5___HT3C4{grid-row-start:5}.Primer_Brand__Bento-module__Bento__Item--large-row-start-6___pcerM{grid-row-start:6}.Primer_Brand__Bento-module__Bento__Item--large-row-start-7___j2ui8{grid-row-start:7}.Primer_Brand__Bento-module__Bento__Item--large-row-start-8___V82iT{grid-row-start:8}.Primer_Brand__Bento-module__Bento__Item--large-row-start-9___EG4R2{grid-row-start:9}.Primer_Brand__Bento-module__Bento__Item--large-row-start-10___EaLQx{grid-row-start:10}.Primer_Brand__Bento-module__Bento__Item--large-row-start-11___IQx_d{grid-row-start:11}.Primer_Brand__Bento-module__Bento__Item--large-row-start-12___hlrVv{grid-row-start:12}.Primer_Brand__Bento-module__Bento__Item--large-flow-column___uvNUE{grid-template-rows:1fr;grid-template-columns:1fr 1fr;grid-auto-flow:column}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--large-flow-column___uvNUE>div:first-of-type{padding-right:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--large-flow-column___uvNUE>div:last-of-type{padding-left:0}.Primer_Brand__Bento-module__Bento__Item--large-flow-row___ple3b{grid-template-rows:1fr 1fr;grid-template-columns:1fr;grid-auto-flow:row}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--large-flow-row___ple3b>div:first-of-type{padding-bottom:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--large-flow-row___ple3b>div:last-of-type{padding-top:0}.Primer_Brand__Bento-module__Bento__Item--large-verticalAlign-start___VDcbn{justify-content:flex-start}.Primer_Brand__Bento-module__Bento__Item--large-verticalAlign-start___VDcbn .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--large-verticalAlign-center___mbhdV{justify-content:center}.Primer_Brand__Bento-module__Bento__Item--large-verticalAlign-center___mbhdV .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--large-verticalAlign-end___hj9Dq{justify-content:flex-end}.Primer_Brand__Bento-module__Bento__Item--large-verticalAlign-end___hj9Dq .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--large-horizontalAlign-start___YQT1t{align-items:flex-start}.Primer_Brand__Bento-module__Bento__Item--large-horizontalAlign-center___YtwaR{align-items:center}.Primer_Brand__Bento-module__Bento-padding--large-condensed___HeO1J{padding:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento-padding--large-normal___LcQOA{padding:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento-padding--large-spacious____8oib{padding:var(--brand-Bento-content-padding-spacious)}.Primer_Brand__Bento-module__Bento__Item--large-gap-condensed___Rbi9v{grid-gap:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento__Item--large-gap-normal___S9Fjb{grid-gap:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento__Item--large-gap-spacious___i_Gyj{grid-gap:var(--brand-Bento-content-padding-spacious)}}@media screen and (width>=80rem){.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-1___LC_qv{grid-column:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-2___PkH2a{grid-column:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-3___sjEds{grid-column:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-4___CwpLr{grid-column:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-5___ATLZK{grid-column:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-6___wDVtR{grid-column:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-7___BF_PQ{grid-column:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-8___Je6tc{grid-column:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-9___de_EV{grid-column:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-10___TV_va{grid-column:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-11___mRbhR{grid-column:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-span-12___jCuU4{grid-column:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-1___k8cvi{grid-row:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-2___eQ1hk{grid-row:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-3___FdBn9{grid-row:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-4___Eu9U7{grid-row:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-5___AymfS{grid-row:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-6___ciomo{grid-row:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-7___bDoNI{grid-row:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-8___aCyc1{grid-row:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-9___t6eYp{grid-row:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-10___Q9UMh{grid-row:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-11___Oeb8y{grid-row:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-span-12___iXpKf{grid-row:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-1___eTMGO{grid-column-start:1}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-2___ghZ8B{grid-column-start:2}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-3___zIFiN{grid-column-start:3}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-4___Ye3wL{grid-column-start:4}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-5___Vtfhw{grid-column-start:5}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-6___MiwV4{grid-column-start:6}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-7___n3U82{grid-column-start:7}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-8___S45Zc{grid-column-start:8}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-9___bjxcX{grid-column-start:9}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-10___xiPsu{grid-column-start:10}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-11___h6pke{grid-column-start:11}.Primer_Brand__Bento-module__Bento__Item--xlarge-column-start-12___lINEt{grid-column-start:12}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-1___XJ8IJ{grid-row-start:1}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-2___Jh4mU{grid-row-start:2}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-3___Qaz7u{grid-row-start:3}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-4___Wdsyy{grid-row-start:4}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-5___SWvQD{grid-row-start:5}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-6___YIWd4{grid-row-start:6}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-7___UWo93{grid-row-start:7}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-8___f8RMO{grid-row-start:8}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-9___O7BXf{grid-row-start:9}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-10___g9Tom{grid-row-start:10}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-11___WATnH{grid-row-start:11}.Primer_Brand__Bento-module__Bento__Item--xlarge-row-start-12___f2aPN{grid-row-start:12}.Primer_Brand__Bento-module__Bento__Item--xlarge-flow-column___xXSFC{grid-template-rows:1fr;grid-template-columns:1fr 1fr;grid-auto-flow:column}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xlarge-flow-column___xXSFC>div:first-of-type{padding-right:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xlarge-flow-column___xXSFC>div:last-of-type{padding-left:0}.Primer_Brand__Bento-module__Bento__Item--xlarge-flow-row___y5CpT{grid-template-rows:1fr 1fr;grid-template-columns:1fr;grid-auto-flow:row}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xlarge-flow-row___y5CpT>div:first-of-type{padding-bottom:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xlarge-flow-row___y5CpT>div:last-of-type{padding-top:0}.Primer_Brand__Bento-module__Bento__Item--xlarge-verticalAlign-start___EyXCQ{justify-content:flex-start}.Primer_Brand__Bento-module__Bento__Item--xlarge-verticalAlign-start___EyXCQ .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--xlarge-verticalAlign-center___P_tSO{justify-content:center}.Primer_Brand__Bento-module__Bento__Item--xlarge-verticalAlign-center___P_tSO .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--xlarge-verticalAlign-end___UwemK{justify-content:flex-end}.Primer_Brand__Bento-module__Bento__Item--xlarge-verticalAlign-end___UwemK .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--xlarge-horizontalAlign-start___zzvpZ{align-items:flex-start}.Primer_Brand__Bento-module__Bento__Item--xlarge-horizontalAlign-center___mfany{align-items:center}.Primer_Brand__Bento-module__Bento--xlarge-padding-condensed___mPi3N{padding:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento--xlarge-padding-normal___tb1wm{padding:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento--xlarge-padding-spacious___bT4bv{padding:var(--brand-Bento-content-padding-spacious)}.Primer_Brand__Bento-module__Bento__Item--xlarge-gap-condensed___Fvi39{grid-gap:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento__Item--xlarge-gap-normal___uQQu6{grid-gap:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento__Item--xlarge-gap-spacious___QxB62{grid-gap:var(--brand-Bento-content-padding-spacious)}}@media screen and (width>=87.5rem){.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-1___AChhv{grid-column:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-2___yj5YI{grid-column:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-3___jy7Fg{grid-column:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-4___fXoXs{grid-column:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-5___hZOPX{grid-column:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-6___WEvG1{grid-column:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-7___eliQQ{grid-column:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-8____DaEU{grid-column:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-9___PACVQ{grid-column:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-10___iplz_{grid-column:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-11___sUFyE{grid-column:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-span-12___UauN_{grid-column:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-1___la7E2{grid-column:auto/span 1}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-2___WXQZy{grid-column:auto/span 2}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-3___K295L{grid-column:auto/span 3}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-4___dizmC{grid-column:auto/span 4}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-5___gxqXP{grid-column:auto/span 5}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-6___fCUrs{grid-column:auto/span 6}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-7___t_vib{grid-column:auto/span 7}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-8___FkHnk{grid-column:auto/span 8}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-9___S9z_S{grid-column:auto/span 9}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-10___MWhmW{grid-column:auto/span 10}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-11___R0fGH{grid-column:auto/span 11}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-span-12___mgPOb{grid-column:auto/span 12}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-1___IjDaG{grid-column-start:1}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-2___yrjzP{grid-column-start:2}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-3___revB_{grid-column-start:3}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-4___nXjQh{grid-column-start:4}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-5___eKzaF{grid-column-start:5}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-6___poX4Y{grid-column-start:6}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-7___swX7v{grid-column-start:7}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-8___jRIvg{grid-column-start:8}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-9___B6iPN{grid-column-start:9}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-10___U3Q49{grid-column-start:10}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-11___arwBj{grid-column-start:11}.Primer_Brand__Bento-module__Bento__Item--xxlarge-column-start-12___AVlIn{grid-column-start:12}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-1___uKVBZ{grid-row-start:1}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-2___l1Sk8{grid-row-start:2}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-3___a3epC{grid-row-start:3}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-4___cIZFC{grid-row-start:4}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-5___rDSnG{grid-row-start:5}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-6___iFfkQ{grid-row-start:6}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-7___HQgB2{grid-row-start:7}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-8___Kk8Ll{grid-row-start:8}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-9___JA8it{grid-row-start:9}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-10____Xfo3{grid-row-start:10}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-11___GgPCA{grid-row-start:11}.Primer_Brand__Bento-module__Bento__Item--xxlarge-row-start-12___Tauza{grid-row-start:12}.Primer_Brand__Bento-module__Bento__Item--xxlarge-flow-column___EIhFB{grid-template-rows:1fr;grid-template-columns:1fr 1fr;grid-auto-flow:column}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xxlarge-flow-column___EIhFB>div:first-of-type{padding-right:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xxlarge-flow-column___EIhFB>div:last-of-type{padding-left:0}.Primer_Brand__Bento-module__Bento__Item--xxlarge-flow-row___hqL6a{grid-template-rows:1fr 1fr;grid-template-columns:1fr;grid-auto-flow:row}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xxlarge-flow-row___hqL6a>div:first-of-type{padding-bottom:0}.Primer_Brand__Bento-module__Bento__Item___fM9oe:not(.Primer_Brand__Bento-module__Bento__Item--visual-as-background___z0J2Q)>.Primer_Brand__Bento-module__Bento__Item--xxlarge-flow-row___hqL6a>div:last-of-type{padding-top:0}.Primer_Brand__Bento-module__Bento__Item--xxlarge-verticalAlign-start___KQhGN{justify-content:flex-start}.Primer_Brand__Bento-module__Bento__Item--xxlarge-verticalAlign-start___KQhGN .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--xxlarge-verticalAlign-center___MfM4H{justify-content:center}.Primer_Brand__Bento-module__Bento__Item--xxlarge-verticalAlign-center___MfM4H .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--xxlarge-verticalAlign-end___trbrg{justify-content:flex-end}.Primer_Brand__Bento-module__Bento__Item--xxlarge-verticalAlign-end___trbrg .Primer_Brand__Bento-module__Bento__call-to-action___CF7bA{margin-top:0}.Primer_Brand__Bento-module__Bento__Item--xxlarge-horizontalAlign-start___BPlw7{align-items:flex-start}.Primer_Brand__Bento-module__Bento__Item--xxlarge-horizontalAlign-center___QFMr_{align-items:center}.Primer_Brand__Bento-module__Bento--xxlarge-padding-condensed___L_cr9{padding:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento---xxlarge-padding-normal___TojyH{padding:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento--xxlarge-padding-spacious___C_vI2{padding:var(--brand-Bento-content-padding-spacious)}.Primer_Brand__Bento-module__Bento__Item--xxlarge-gap-condensed___kImZb{grid-gap:var(--brand-Bento-content-padding-condensed)}.Primer_Brand__Bento-module__Bento__Item--xxlarge-gap-normal___bsI4f{grid-gap:var(--brand-Bento-content-padding-normal)}.Primer_Brand__Bento-module__Bento__Item--xxlarge-gap-spacious___tLuXL{grid-gap:var(--brand-Bento-content-padding-spacious)}}.Primer_Brand__Bento-module__Bento-column-padding-override___SxVV5>div:first-of-type{padding-right:0}.Primer_Brand__Bento-module__Bento-column-padding-override___SxVV5>div:last-of-type{padding-left:0}.Primer_Brand__Bento-module__Bento-row-padding-override___r37Kb>div:first-of-type{padding-bottom:0}.Primer_Brand__Bento-module__Bento-row-padding-override___r37Kb>div:last-of-type{padding-top:0}:root{--brand-EyebrowBanner-subHeading-size:var(--brand-text-size-100);--brand-EyebrowBanner-heading-size:var(--brand-text-size-100);--brand-EyebrowBanner-label-size:var(--brand-text-size-100);--brand-EyebrowBanner-spacing-inner-inline:var(--base-size-16);--brand-EyebrowBanner-spacing-inner-block:.875rem;--brand-EyebrowBanner-borderRadius:var(--base-size-16)}@media (width>=768px){:root{--brand-EyebrowBanner-subHeading-size:var(--brand-text-size-200);--brand-EyebrowBanner-heading-size:var(--brand-text-size-200);--brand-EyebrowBanner-label-size:var(--brand-text-size-200);--brand-EyebrowBanner-spacing-inner-inline:var(--base-size-20);--brand-EyebrowBanner-borderRadius:6.25rem}}:root,[data-color-mode=light]{--brand-Eyebrowbanner-bgColor-rest:#fff9;--brand-Eyebrowbanner-borderColor-rest:var(--brand-color-border-default);--brand-Eyebrowbanner-heading-fgColor:var(--brand-color-text-default);--brand-Eyebrowbanner-subHeading-fgColor:var(--brand-color-text-muted);--brand-Eyebrowbanner-icon-background-default:var(--base-color-scale-gray-0);--brand-Eyebrowbanner-icon-background-blue:var(--base-color-scale-blue-0);--brand-Eyebrowbanner-icon-background-coral:var(--base-color-scale-coral-0);--brand-Eyebrowbanner-icon-background-green:var(--base-color-scale-green-0);--brand-Eyebrowbanner-icon-background-gray:var(--base-color-scale-gray-0);--brand-Eyebrowbanner-icon-background-indigo:var(--base-color-scale-indigo-0);--brand-Eyebrowbanner-icon-background-lemon:var(--base-color-scale-lemon-0);--brand-Eyebrowbanner-icon-background-lime:var(--base-color-scale-lime-0);--brand-Eyebrowbanner-icon-background-orange:var(--base-color-scale-orange-0);--brand-Eyebrowbanner-icon-background-pink:var(--base-color-scale-pink-0);--brand-Eyebrowbanner-icon-background-purple:var(--base-color-scale-purple-0);--brand-Eyebrowbanner-icon-background-red:var(--base-color-scale-red-0);--brand-Eyebrowbanner-icon-background-teal:var(--base-color-scale-teal-0);--brand-Eyebrowbanner-icon-background-yellow:var(--base-color-scale-yellow-0);--brand-Eyebrowbanner-fgColor-default-start:var(--base-color-scale-purple-5);--brand-Eyebrowbanner-fgColor-default-middle:var(--base-color-scale-pink-5);--brand-Eyebrowbanner-fgColor-default-end:var(--base-color-scale-red-5);--brand-Eyebrowbanner-fgColor-blue:var(--base-color-scale-blue-5);--brand-Eyebrowbanner-fgColor-blue-purple-start:var(--base-color-scale-blue-5);--brand-Eyebrowbanner-fgColor-blue-purple-end:var(--base-color-scale-purple-5);--brand-Eyebrowbanner-fgColor-coral:var(--base-color-scale-coral-5);--brand-Eyebrowbanner-fgColor-green:var(--base-color-scale-green-6);--brand-Eyebrowbanner-fgColor-green-blue-start:var(--base-color-scale-green-6);--brand-Eyebrowbanner-fgColor-green-blue-end:var(--base-color-scale-blue-5);--brand-Eyebrowbanner-fgColor-gray:var(--base-color-scale-gray-5);--brand-Eyebrowbanner-fgColor-indigo:var(--base-color-scale-indigo-5);--brand-Eyebrowbanner-fgColor-lemon:var(--base-color-scale-lemon-5);--brand-Eyebrowbanner-fgColor-lime:var(--base-color-scale-lime-5);--brand-Eyebrowbanner-fgColor-orange:var(--base-color-scale-orange-5);--brand-Eyebrowbanner-fgColor-pink:var(--base-color-scale-pink-5);--brand-Eyebrowbanner-fgColor-pink-blue-start:var(--base-color-scale-pink-5);--brand-Eyebrowbanner-fgColor-pink-blue-end:var(--base-color-scale-blue-5);--brand-Eyebrowbanner-fgColor-purple:var(--base-color-scale-purple-5);--brand-Eyebrowbanner-fgColor-purple-red-start:var(--base-color-scale-purple-5);--brand-Eyebrowbanner-fgColor-purple-red-end:var(--base-color-scale-red-5);--brand-Eyebrowbanner-fgColor-red:var(--base-color-scale-red-5);--brand-Eyebrowbanner-fgColor-red-orange-start:var(--base-color-scale-red-5);--brand-Eyebrowbanner-fgColor-red-orange-end:var(--base-color-scale-orange-5);--brand-Eyebrowbanner-fgColor-teal:var(--base-color-scale-teal-5);--brand-Eyebrowbanner-fgColor-yellow:var(--base-color-scale-yellow-5)}[data-color-mode=dark]{--brand-Eyebrowbanner-bgColor-rest:#0d111799;--brand-Eyebrowbanner-borderColor-rest:var(--base-color-scale-gray-5);--brand-Eyebrowbanner-heading-fgColor:var(--brand-color-text-default);--brand-Eyebrowbanner-subHeading-fgColor:var(--brand-color-text-muted);--brand-Eyebrowbanner-icon-background-default:var(--base-color-scale-gray-6);--brand-Eyebrowbanner-icon-background-blue:var(--base-color-scale-blue-8);--brand-Eyebrowbanner-icon-background-coral:var(--base-color-scale-coral-8);--brand-Eyebrowbanner-icon-background-green:var(--base-color-scale-green-8);--brand-Eyebrowbanner-icon-background-gray:var(--base-color-scale-gray-6);--brand-Eyebrowbanner-icon-background-indigo:var(--base-color-scale-indigo-8);--brand-Eyebrowbanner-icon-background-lemon:var(--base-color-scale-lemon-8);--brand-Eyebrowbanner-icon-background-lime:var(--base-color-scale-lime-8);--brand-Eyebrowbanner-icon-background-orange:var(--base-color-scale-orange-8);--brand-Eyebrowbanner-icon-background-pink:var(--base-color-scale-pink-8);--brand-Eyebrowbanner-icon-background-purple:var(--base-color-scale-purple-8);--brand-Eyebrowbanner-icon-background-red:var(--base-color-scale-red-8);--brand-Eyebrowbanner-icon-background-teal:var(--base-color-scale-teal-8);--brand-Eyebrowbanner-icon-background-yellow:var(--base-color-scale-yellow-8);--brand-Eyebrowbanner-fgColor-default-start:var(--base-color-scale-purple-2);--brand-Eyebrowbanner-fgColor-default-middle:var(--base-color-scale-pink-3);--brand-Eyebrowbanner-fgColor-default-end:var(--base-color-scale-red-3);--brand-Eyebrowbanner-fgColor-blue:var(--base-color-scale-blue-2);--brand-Eyebrowbanner-fgColor-blue-purple-start:var(--base-color-scale-blue-2);--brand-Eyebrowbanner-fgColor-blue-purple-end:var(--base-color-scale-purple-2);--brand-Eyebrowbanner-fgColor-coral:var(--base-color-scale-coral-2);--brand-Eyebrowbanner-fgColor-green:var(--base-color-scale-green-2);--brand-Eyebrowbanner-fgColor-green-blue-start:var(--base-color-scale-green-2);--brand-Eyebrowbanner-fgColor-green-blue-end:var(--base-color-scale-blue-2);--brand-Eyebrowbanner-fgColor-gray:var(--base-color-scale-gray-2);--brand-Eyebrowbanner-fgColor-indigo:var(--base-color-scale-indigo-2);--brand-Eyebrowbanner-fgColor-lemon:var(--base-color-scale-lemon-2);--brand-Eyebrowbanner-fgColor-lime:var(--base-color-scale-lime-2);--brand-Eyebrowbanner-fgColor-orange:var(--base-color-scale-orange-2);--brand-Eyebrowbanner-fgColor-pink:var(--base-color-scale-pink-2);--brand-Eyebrowbanner-fgColor-pink-blue-start:var(--base-color-scale-pink-2);--brand-Eyebrowbanner-fgColor-pink-blue-end:var(--base-color-scale-blue-2);--brand-Eyebrowbanner-fgColor-purple:var(--base-color-scale-purple-2);--brand-Eyebrowbanner-fgColor-purple-red-start:var(--base-color-scale-purple-2);--brand-Eyebrowbanner-fgColor-purple-red-end:var(--base-color-scale-red-2);--brand-Eyebrowbanner-fgColor-red:var(--base-color-scale-red-2);--brand-Eyebrowbanner-fgColor-red-orange-start:var(--base-color-scale-red-2);--brand-Eyebrowbanner-fgColor-red-orange-end:var(--base-color-scale-orange-2);--brand-Eyebrowbanner-fgColor-teal:var(--base-color-scale-teal-2);--brand-Eyebrowbanner-fgColor-yellow:var(--base-color-scale-yellow-2)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner___pFgEn{background:var(--brand-Eyebrowbanner-bgColor-rest);border:var(--brand-borderWidth-thin) solid var(--brand-Eyebrowbanner-borderColor-rest);padding:var(--brand-EyebrowBanner-spacing-inner-block) var(--brand-EyebrowBanner-spacing-inner-inline);border-radius:var(--brand-EyebrowBanner-borderRadius);align-self:flex-start;-webkit-text-decoration:none;text-decoration:none;display:inline-block}.Primer_Brand__EyebrowBanner-module__EyebrowBanner___pFgEn:hover{-webkit-text-decoration:none!important;text-decoration:none!important}.Primer_Brand__EyebrowBanner-module__EyebrowBanner___pFgEn:focus-visible{outline:var(--base-size-4) solid var(--brand-color-focus);outline-offset:2px;transition:none}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__inner___LiSah{align-items:center;display:flex}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__headings___Tyish{text-align:start;margin-inline-start:var(--brand-EyebrowBanner-spacing-inner-inline)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingVisual___bPH2f{display:flex}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingVisual___bPH2f img,.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingVisual___bPH2f picture,.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingVisual___bPH2f svg{height:var(--base-size-44);width:auto;max-width:var(--base-size-44);max-height:var(--base-size-44)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingVisual___bPH2f img,.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingVisual___bPH2f picture{display:block}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__trailingVisual___vQJwY{display:flex}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__trailingVisual-icon___m2rYL{color:var(--brand-color-text-default);fill:var(--brand-color-text-default);margin-inline-start:var(--base-size-20)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel___JfbO4{font-family:var(--brand-body-fontFamily);font-weight:var(--base-text-weight-medium);font-size:var(--brand-EyebrowBanner-label-size);letter-spacing:var(--brand-text-letterSpacing-200);background:linear-gradient(92deg, var(--brand-EyebrowBanner-leadingLabel-color-start,var(--brand-Eyebrowbanner-fgColor-default-start)) 12.09%, var(--brand-EyebrowBanner-leadingLabel-color-middle,var(--brand-Eyebrowbanner-fgColor-default-middle)) 42.58%, var(--brand-EyebrowBanner-leadingLabel-color-end,var(--brand-Eyebrowbanner-fgColor-default-end)) 84.96%);text-transform:uppercase;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;line-height:1em;display:flex}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-blue___gWZsh{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-blue);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-blue);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-blue)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-blue-purple___jHrJf{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-blue-purple-start);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-blue-purple-end);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-blue-purple-end)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-coral___zDffR{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-coral);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-coral);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-coral)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-green___KfjSH{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-green);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-green);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-green)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-green-blue___IT4vV{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-green-blue-start);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-green-blue-start);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-green-blue-end)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-gray___ZXNfp{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-gray);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-gray);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-gray)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-indigo___jRhXl{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-indigo);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-indigo);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-indigo)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-lemon___VfgJy{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-lemon);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-lemon);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-lemon)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-lime___QxCgJ{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-lime);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-lime);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-lime)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-orange___ctXEe{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-orange);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-orange);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-orange)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-pink___DK8mh{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-pink);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-pink);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-pink)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-pink-blue___taquP{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-pink-blue-start);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-pink-blue-start);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-pink-blue-end)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-purple___SjSu3{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-purple);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-purple);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-purple)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-purple-red___mFOTU{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-purple-red-start);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-purple-red-start);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-purple-red-end)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-red___fvZYM{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-red);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-red);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-red)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-red-orange___MoG8u{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-red-orange-start);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-red-orange-start);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-red-orange-end)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-teal___QCvJH{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-teal);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-teal);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-teal)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__leadingLabel--color-yellow___nHfOQ{--brand-EyebrowBanner-leadingLabel-color-start:var(--brand-Eyebrowbanner-fgColor-yellow);--brand-EyebrowBanner-leadingLabel-color-middle:var(--brand-Eyebrowbanner-fgColor-yellow);--brand-EyebrowBanner-leadingLabel-color-end:var(--brand-Eyebrowbanner-fgColor-yellow)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__heading___gGjRD{color:var(--brand-Eyebrowbanner-heading-fgColor);font-size:var(--brand-EyebrowBanner-heading-size);display:block}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__subHeading___EHr9v{color:var(--brand-Eyebrowbanner-subHeading-fgColor);font-size:var(--brand-EyebrowBanner-subHeading-size);display:block}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{width:var(--base-size-44);height:var(--base-size-44);border-radius:50%;justify-content:center;align-items:center;display:flex}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon___RlAjy svg{width:var(--base-size-20);height:var(--base-size-20)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-default___zjZm_{color:var(--brand-color-text-default)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-default___zjZm_.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-default)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-blue___JEOeh{color:var(--brand-Eyebrowbanner-fgColor-blue)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-blue___JEOeh.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-blue)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-coral___f1EgJ{color:var(--brand-Eyebrowbanner-fgColor-coral)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-coral___f1EgJ.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-coral)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-green___l3tOa{color:var(--brand-Eyebrowbanner-fgColor-green)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-green___l3tOa.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-green)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-gray___DfR6X{color:var(--brand-Eyebrowbanner-fgColor-gray)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-gray___DfR6X.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-gray)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-indigo___SwE_O{color:var(--brand-Eyebrowbanner-fgColor-indigo)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-indigo___SwE_O.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-indigo)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-lemon___uo7HU{color:var(--brand-Eyebrowbanner-fgColor-lemon)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-lemon___uo7HU.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-lemon)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-lime___UoH_J{color:var(--brand-Eyebrowbanner-fgColor-lime)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-lime___UoH_J.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-lime)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-orange___Oakbb{color:var(--brand-Eyebrowbanner-fgColor-orange)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-orange___Oakbb.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-orange)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-pink___RtapL{color:var(--brand-Eyebrowbanner-fgColor-pink)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-pink___RtapL.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-pink)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-purple___qMl8t{color:var(--brand-Eyebrowbanner-fgColor-purple)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-purple___qMl8t.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-purple)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-red___jbmX3{color:var(--brand-Eyebrowbanner-fgColor-red)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-red___jbmX3.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-red)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-teal___iB9Rw{color:var(--brand-Eyebrowbanner-fgColor-teal)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-teal___iB9Rw.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-teal)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-yellow___Jt5i1{color:var(--brand-Eyebrowbanner-fgColor-yellow)}.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--color-yellow___Jt5i1.Primer_Brand__EyebrowBanner-module__EyebrowBanner__icon--badge___P_sDD{background-color:var(--brand-Eyebrowbanner-icon-background-yellow)}@media (prefers-reduced-motion:reduce){.Primer_Brand__EyebrowBanner-module__EyebrowBanner___pFgEn,.Primer_Brand__EyebrowBanner-module__EyebrowBanner___pFgEn:before,.Primer_Brand__EyebrowBanner-module__EyebrowBanner___pFgEn:after,.Primer_Brand__EyebrowBanner-module__EyebrowBanner___pFgEn *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--brand-PricingOptions-items4-container-padding-inline:var(--base-size-24);--brand-PricingOptions-items4-gap:var(--base-size-48);--brand-PricingOptions-items3-container-padding-inline:var(--base-size-24);--brand-PricingOptions-items3-gap:var(--base-size-64);--brand-PricingOptions-items2-container-padding-inline:var(--base-size-48);--brand-PricingOptions-items2-gap:var(--base-size-96);--brand-PricingOptions-items1-container-paddingInline:var(--base-size-32);--brand-PricingOptions-items-gap:var(--base-size-24)}:root,[data-color-mode=light]{--brand-PricingOptions-borderMask:linear-gradient(180deg, #0009, #0000004d);--brand-PricingOptions-item-bgColor-solid:var(--brand-color-canvas-subtle);--brand-PricingOptions-item-bgColor-gradient-start:var(--brand-color-canvas-subtle);--brand-PricingOptions-item-bgColor-gradient-end:var(--brand-color-canvas-default);--brand-PricingOptions-featureList-group-heading-color:var(--brand-color-text-default);--brand-PricingOptions-actionsMessage-bgColor:color-mix(in srgb, var(--base-color-scale-blue-4) 10%, transparent);--brand-PricingOptions-actionsMessage-borderColor:color-mix(in srgb, var(--base-color-scale-blue-6) 20%, transparent);--brand-PricingOptions-actionsMessage-accentColor:var(--base-color-scale-blue-5)}[data-color-mode=dark]{--brand-PricingOptions-borderMask:linear-gradient(180deg, #000, #0006);--brand-PricingOptions-item-bgColor-solid:var(--brand-color-canvas-subtle);--brand-PricingOptions-item-bgColor-gradient-start:var(--brand-color-canvas-subtle);--brand-PricingOptions-item-bgColor-gradient-end:var(--brand-color-canvas-default);--brand-PricingOptions-featureList-group-heading-color:var(--brand-color-text-default);--brand-PricingOptions-actionsMessage-bgColor:#0c1c26;--brand-PricingOptions-actionsMessage-borderColor:#0e4678;--brand-PricingOptions-actionsMessage-accentColor:#1095ff}.Primer_Brand__PricingOptions-module__PricingOptions___hjzt8{--brand-pricing-options-item-gap:var(--brand-PricingOptions-items-gap);--brand-pricing-options-container-padding-inline:0;--brand-pricing-options-column-count:1;--brand-pricing-options-template-areas:"labels" "leadingComponent" "header" "description" "price" "actions" "feature-list" "footnote";grid-row-gap:0;grid-row-gap:var(--brand-pricing-options-item-gap,0);row-gap:0;row-gap:var(--brand-pricing-options-item-gap,0);padding-inline:0;padding-inline:var(--brand-pricing-options-container-padding-inline);display:grid}@media screen and (width<=63.24rem){.Primer_Brand__PricingOptions-module__PricingOptions___hjzt8{max-width:488px;margin-inline:auto}}@media (width>=63.25rem){.Primer_Brand__PricingOptions-module__PricingOptions___hjzt8{grid-template-areas:var(--brand-pricing-options-template-areas);grid-template-columns:repeat(var(--brand-pricing-options-column-count), minmax(0, 1fr));-moz-column-gap:0;-moz-column-gap:var(--brand-pricing-options-item-gap,0);column-gap:0;column-gap:var(--brand-pricing-options-item-gap,0);row-gap:0}.Primer_Brand__PricingOptions-module__PricingOptions--items1___Do94G{--brand-pricing-options-column-count:1}.Primer_Brand__PricingOptions-module__PricingOptions--items2___Z08y5{--brand-pricing-options-column-count:2}.Primer_Brand__PricingOptions-module__PricingOptions--items3___u4TM8{--brand-pricing-options-column-count:3}.Primer_Brand__PricingOptions-module__PricingOptions--items4___FgRN3{--brand-pricing-options-column-count:4}}.Primer_Brand__PricingOptions-module__PricingOptions__labels___rfDyw{display:none}@media (width>=63.25rem){.Primer_Brand__PricingOptions-module__PricingOptions__labels___rfDyw{--brand-pricing-options-column-count:1;grid-area:labels/1/labels/-1;grid-template-columns:repeat(1,minmax(0,1fr));grid-template-columns:repeat(var(--brand-pricing-options-column-count), minmax(0, 1fr));grid-column-gap:0;grid-column-gap:var(--brand-pricing-options-item-gap,0);-moz-column-gap:0;-moz-column-gap:var(--brand-pricing-options-item-gap,0);column-gap:0;column-gap:var(--brand-pricing-options-item-gap,0);display:grid}.Primer_Brand__PricingOptions-module__PricingOptions__label-cell___K6KaM{min-height:var(--base-size-54);padding-block:var(--base-size-16);background-color:var(--brand-PricingOptions-item-bgColor-solid);align-items:center;display:flex;position:relative}.Primer_Brand__PricingOptions-module__PricingOptions__label-cell--has-label___NUFzI:after{content:"";inset-block-start:0;inset-inline-start:0;inset-inline-start:calc(var(--brand-pricing-options-item-gap,0px) / 2 * -1);inset-inline-end:0;height:var(--brand-borderWidth-thin);background-color:var(--brand-color-text-emphasized);z-index:1;position:absolute;inset-inline-end:calc(var(--brand-pricing-options-item-gap,0px) / 2 * -1)}.Primer_Brand__PricingOptions-module__PricingOptions__label-cell--has-label___NUFzI:first-child:after{inset-inline-start:0}.Primer_Brand__PricingOptions-module__PricingOptions__label-cell--has-label___NUFzI:last-child:after{inset-inline-end:0}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__label-cell--has-label___NUFzI:after{inset-inline:0}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__labels___rfDyw{position:relative}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__labels___rfDyw:after{content:"";inset-block-end:0;inset-inline-start:0;inset-inline-start:calc(var(--brand-pricing-options-container-padding-inline,0px) * -1);inset-inline-end:0;height:var(--brand-borderWidth-thin);background-color:var(--brand-color-border-subtle);position:absolute;inset-inline-end:calc(var(--brand-pricing-options-container-padding-inline,0px) * -1)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__label-cell___K6KaM{margin-inline:calc(var(--brand-pricing-options-item-gap) / 2 * -1);padding-inline:calc(var(--brand-pricing-options-item-gap) / 2)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__label-cell___K6KaM:first-child{margin-inline-start:calc(var(--brand-pricing-options-container-padding-inline) * -1);padding-inline-start:var(--brand-pricing-options-container-padding-inline)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__label-cell___K6KaM:last-child{margin-inline-end:calc(var(--brand-pricing-options-container-padding-inline) * -1);padding-inline-end:var(--brand-pricing-options-container-padding-inline)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__label-cell--empty___SSWHp{background-color:#0000;border-block-start-color:#0000}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__label-cell___K6KaM+.Primer_Brand__PricingOptions-module__PricingOptions__label-cell___K6KaM:before{content:"";width:var(--brand-borderWidth-thin);background-color:var(--brand-color-border-subtle);position:absolute;inset-block:0;inset-inline-start:0}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8.Primer_Brand__PricingOptions-module__PricingOptions--appearance-gradient___kcYQZ .Primer_Brand__PricingOptions-module__PricingOptions__label-cell___K6KaM+.Primer_Brand__PricingOptions-module__PricingOptions__label-cell___K6KaM:before{-webkit-mask-image:var(--brand-PricingOptions-borderMask);-webkit-mask-image:var(--brand-PricingOptions-borderMask);mask-image:var(--brand-PricingOptions-borderMask)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-cards___w4AZc .Primer_Brand__PricingOptions-module__PricingOptions__label-cell___K6KaM{padding-inline:var(--base-size-28);border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-cards___w4AZc .Primer_Brand__PricingOptions-module__PricingOptions__label-cell--empty___SSWHp{opacity:0;pointer-events:none}.Primer_Brand__PricingOptions-module__PricingOptions--layout-cards___w4AZc .Primer_Brand__PricingOptions-module__PricingOptions__label-cell--has-label___NUFzI:after{inset-inline:0}}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8{position:relative}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8.Primer_Brand__PricingOptions-module__PricingOptions--appearance-solid___S7wHh{border:solid 1px var(--brand-color-border-subtle);background-color:var(--brand-PricingOptions-item-bgColor-solid)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8.Primer_Brand__PricingOptions-module__PricingOptions--appearance-gradient___kcYQZ,.Primer_Brand__PricingOptions-module__PricingOptions--layout-cards___w4AZc.Primer_Brand__PricingOptions-module__PricingOptions--appearance-gradient___kcYQZ .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw{background:linear-gradient(180deg, var(--brand-PricingOptions-item-bgColor-gradient-start) 0%, var(--brand-PricingOptions-item-bgColor-gradient-end) 100%)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8.Primer_Brand__PricingOptions-module__PricingOptions--appearance-gradient___kcYQZ:before,.Primer_Brand__PricingOptions-module__PricingOptions--layout-cards___w4AZc.Primer_Brand__PricingOptions-module__PricingOptions--appearance-gradient___kcYQZ .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw:before{content:"";pointer-events:none;border-radius:inherit;-webkit-mask-image:var(--brand-PricingOptions-borderMask);-webkit-mask-image:var(--brand-PricingOptions-borderMask);mask-image:var(--brand-PricingOptions-borderMask);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-subtle);position:absolute;inset:0}@media (width>=63.25rem){.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8{padding-inline:var(--brand-pricing-options-container-padding-inline)}}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw{--brand-pricing-options-item-padding-inline:var(--base-size-24);padding-inline:var(--base-size-24);padding-block:var(--base-size-20);position:relative}@media (width>=63.25rem){.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw{--brand-pricing-options-item-padding-inline:0;padding-inline:0;padding-block:var(--base-size-40)}}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw+.Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw:before{content:"";background-color:var(--brand-color-border-subtle);height:1px;position:absolute;inset-inline:0}@media (width>=63.25rem){.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw+.Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw:before{width:1px;height:auto;margin-block-start:0;margin-inline-start:calc(var(--brand-pricing-options-item-gap) / 2 * -1);inset-block:0;inset-inline:0}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8.Primer_Brand__PricingOptions-module__PricingOptions--appearance-gradient___kcYQZ .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw+.Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw:before{-webkit-mask-image:var(--brand-PricingOptions-borderMask);-webkit-mask-image:var(--brand-PricingOptions-borderMask);mask-image:var(--brand-PricingOptions-borderMask)}}.Primer_Brand__PricingOptions-module__PricingOptions--layout-cards___w4AZc .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw{--brand-pricing-options-item-padding-inline:var(--base-size-32);padding-inline:var(--base-size-32);padding-block:var(--base-size-32);position:relative}.Primer_Brand__PricingOptions-module__PricingOptions--layout-cards___w4AZc.Primer_Brand__PricingOptions-module__PricingOptions--appearance-solid___S7wHh .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw{background-color:var(--brand-PricingOptions-item-bgColor-solid);border:solid var(--brand-borderWidth-thin) var(--brand-color-border-subtle)}@media (width>=48rem){:where(.Primer_Brand__PricingOptions-module__PricingOptions--layout-cards___w4AZc.Primer_Brand__PricingOptions-module__PricingOptions--items4___FgRN3){row-gap:var(--brand-pricing-options-item-gap)}}@media (width>=63.25rem){.Primer_Brand__PricingOptions-module__PricingOptions--items1___Do94G{width:50%;margin-inline:auto}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8.Primer_Brand__PricingOptions-module__PricingOptions--items1___Do94G{--brand-pricing-options-container-padding-inline:var(--brand-PricingOptions-items1-container-paddingInline)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8.Primer_Brand__PricingOptions-module__PricingOptions--items2___Z08y5{--brand-pricing-options-item-gap:var(--brand-PricingOptions-items2-gap);--brand-pricing-options-container-padding-inline:var(--brand-PricingOptions-items2-container-padding-inline)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8.Primer_Brand__PricingOptions-module__PricingOptions--items3___u4TM8{--brand-pricing-options-item-gap:var(--brand-PricingOptions-items3-gap);--brand-pricing-options-container-padding-inline:var(--brand-PricingOptions-items3-container-padding-inline)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8.Primer_Brand__PricingOptions-module__PricingOptions--items4___FgRN3{--brand-pricing-options-item-gap:var(--brand-PricingOptions-items4-gap);--brand-pricing-options-container-padding-inline:var(--brand-PricingOptions-items4-container-padding-inline)}}.Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw{grid-template-areas:var(--brand-pricing-options-template-areas);display:grid}@media (width>=63.25rem){.Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw{grid-row:header/footnote;grid-template-rows:subgrid}.Primer_Brand__PricingOptions-module__PricingOptions__item--has-leading-component___Dzv8_{grid-row:leadingComponent/footnote}}.Primer_Brand__PricingOptions-module__PricingOptions__item--align-center___X_E4b{justify-items:center}.Primer_Brand__PricingOptions-module__PricingOptions__item--align-center___X_E4b .Primer_Brand__PricingOptions-module__PricingOptions__price___qxTEV,.Primer_Brand__PricingOptions-module__PricingOptions__item--align-center___X_E4b .Primer_Brand__PricingOptions-module__PricingOptions__description___hb2GR{text-align:center;justify-content:center}@supports not (grid-template-rows:subgrid){@media (width>=63.28rem){.Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw{grid-template-areas:var(--brand-pricing-options-template-areas);grid-template-rows:auto;grid-template-columns:1fr}}}.Primer_Brand__PricingOptions-module__PricingOptions__header___NCmt2{row-gap:var(--base-size-16);grid-area:header;display:flex}.Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw:not(.Primer_Brand__PricingOptions-module__PricingOptions__item--align-center___X_E4b) .Primer_Brand__PricingOptions-module__PricingOptions__header___NCmt2{align-items:center;margin-block-end:var(--base-size-16)}.Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw:not(.Primer_Brand__PricingOptions-module__PricingOptions__item--align-center___X_E4b) .Primer_Brand__PricingOptions-module__PricingOptions__heading___LZFAK{margin-block:var(--base-size-16);flex:0 auto;order:1;align-self:flex-start}@media (width>=63.24rem){.Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw:not(.Primer_Brand__PricingOptions-module__PricingOptions__item--align-center___X_E4b) .Primer_Brand__PricingOptions-module__PricingOptions__heading___LZFAK{margin-block:0}}.Primer_Brand__PricingOptions-module__PricingOptions__item--align-center___X_E4b .Primer_Brand__PricingOptions-module__PricingOptions__header___NCmt2{justify-content:center}.Primer_Brand__PricingOptions-module__PricingOptions__item--align-center___X_E4b .Primer_Brand__PricingOptions-module__PricingOptions__heading___LZFAK{text-align:center;margin-block-start:0;margin-block-end:var(--base-size-16)}.Primer_Brand__PricingOptions-module__PricingOptions__leading-component___FPip4{grid-row:leadingComponent}.Primer_Brand__PricingOptions-module__PricingOptions__leading-component___FPip4 img,.Primer_Brand__PricingOptions-module__PricingOptions__leading-component___FPip4 picture{display:block}.Primer_Brand__PricingOptions-module__PricingOptions__label___VwACa{color:var(--brand-color-text-default);font-family:var(--brand-fontStack-monospace);font-size:var(--brand-text-size-100);font-weight:var(--brand-text-weight-500);letter-spacing:var(--brand-text-letterSpacing-100);line-height:var(--brand-text-lineHeight-200);text-transform:uppercase}.Primer_Brand__PricingOptions-module__PricingOptions__heading___LZFAK{margin-block:var(--base-size-16);flex:0 auto;order:1;align-self:flex-start}.Primer_Brand__PricingOptions-module__PricingOptions__description___hb2GR{grid-row:description}.Primer_Brand__PricingOptions-module__PricingOptions__price___qxTEV{flex-wrap:wrap;grid-row:price;align-items:flex-start;padding-block-start:var(--base-size-20);padding-block-end:var(--base-size-8);display:flex}@media (width<=63.25rem){.Primer_Brand__PricingOptions-module__PricingOptions__price-value___XH4vo,.Primer_Brand__PricingOptions-module__PricingOptions__price-currency-symbol___Fv4Ny{font-size:var(--brand-text-size-900)}}.Primer_Brand__PricingOptions-module__PricingOptions__price-amount___tdTS8{align-items:flex-end;display:flex}.Primer_Brand__PricingOptions-module__PricingOptions__price-currency-code___kFWAy{color:var(--brand-color-text-muted);margin-block-end:var(--base-size-4);margin-inline-start:var(--base-size-4)}.Primer_Brand__PricingOptions-module__PricingOptions__price-original-price___C9hzM{align-self:center;margin-inline-start:var(--base-size-8);-webkit-text-decoration:none;text-decoration:none;display:inline-flex}.Primer_Brand__PricingOptions-module__PricingOptions__price-original-price-value___Xtjg8{-webkit-text-decoration:line-through;text-decoration:line-through}.Primer_Brand__PricingOptions-module__PricingOptions__price-trailing-text___W2UAb{flex:1 0 100%;display:block}.Primer_Brand__PricingOptions-module__PricingOptions__actions___e2W5P{gap:var(--base-size-8);flex-direction:column;grid-row:actions;align-items:flex-end;padding-block-start:var(--base-size-20);display:flex}.Primer_Brand__PricingOptions-module__PricingOptions__actions-message___n7IvJ{gap:var(--base-size-12);inline-size:100%;max-inline-size:100%;padding:var(--base-size-12);border-block:var(--brand-borderWidth-thin) solid var(--brand-PricingOptions-actionsMessage-borderColor);background-color:var(--brand-PricingOptions-actionsMessage-bgColor);border-inline:0;border-radius:0;align-items:flex-start;display:flex}.Primer_Brand__PricingOptions-module__PricingOptions__actions-message-leading-component___Wk0uH{color:var(--brand-PricingOptions-actionsMessage-accentColor);flex:none;margin-block-start:var(--base-size-4);display:flex}.Primer_Brand__PricingOptions-module__PricingOptions__actions-message-leading-component___Wk0uH :where(svg){inline-size:var(--base-size-16);block-size:var(--base-size-16);display:block}.Primer_Brand__PricingOptions-module__PricingOptions__actions-message-content___CKvOG{flex:auto;min-inline-size:0}.Primer_Brand__PricingOptions-module__PricingOptions__actions-message-content___CKvOG :where(p){margin:0}.Primer_Brand__PricingOptions-module__PricingOptions__menu-action___e4jvF,.Primer_Brand__PricingOptions-module__PricingOptions__menu-action___e4jvF>*{width:100%}.Primer_Brand__PricingOptions-module__PricingOptions__menu-action___e4jvF>*>*{width:100%;display:flex}.Primer_Brand__PricingOptions-module__PricingOptions__menu-action___e4jvF>*>*>:first-child{flex:1}.Primer_Brand__PricingOptions-module__PricingOptions__footnote___UwqUw{grid-row:footnote;margin-block-start:var(--base-size-8);display:block}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list___BmoFc{--feature-list-font-size:var(--brand-text-size-200);--feature-list-line-height:var(--brand-text-lineHeight-200);gap:var(--base-size-8);flex-direction:column;grid-row:feature-list;width:100%;margin-block-start:var(--base-size-20);padding-block-start:var(--base-size-20);display:flex}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list--has-divider___GZsaQ{margin:0;margin-block-start:var(--base-size-20);padding-block-start:var(--base-size-40);padding-inline:0;position:relative}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list--has-divider___GZsaQ:before{content:"";inset-block-start:0;inset-inline-start:0;inset-inline-start:calc(var(--brand-pricing-options-item-padding-inline,0px) * -1);inset-inline-end:0;height:var(--brand-borderWidth-thin);background-color:var(--brand-color-border-subtle);position:absolute;inset-inline-end:calc(var(--brand-pricing-options-item-padding-inline,0px) * -1)}@media (width>=63.25rem){.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__feature-list--has-divider___GZsaQ:before{inset-inline-start:0;inset-inline-start:calc(var(--brand-pricing-options-item-gap,0px) / 2 * -1);inset-inline-end:0;inset-inline-end:calc(var(--brand-pricing-options-item-gap,0px) / 2 * -1)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw:first-child .Primer_Brand__PricingOptions-module__PricingOptions__feature-list--has-divider___GZsaQ:before,.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__labels___rfDyw+.Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw .Primer_Brand__PricingOptions-module__PricingOptions__feature-list--has-divider___GZsaQ:before{inset-inline-start:0;inset-inline-start:calc(var(--brand-pricing-options-container-padding-inline,0px) * -1)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8 .Primer_Brand__PricingOptions-module__PricingOptions__item___V9iAw:last-child .Primer_Brand__PricingOptions-module__PricingOptions__feature-list--has-divider___GZsaQ:before{inset-inline-end:0;inset-inline-end:calc(var(--brand-pricing-options-container-padding-inline,0px) * -1)}.Primer_Brand__PricingOptions-module__PricingOptions--layout-default___RU2N8.Primer_Brand__PricingOptions-module__PricingOptions--appearance-gradient___kcYQZ .Primer_Brand__PricingOptions-module__PricingOptions__feature-list--has-divider___GZsaQ:before{-webkit-mask-image:var(--brand-PricingOptions-borderMask);-webkit-mask-image:var(--brand-PricingOptions-borderMask);mask-image:var(--brand-PricingOptions-borderMask)}}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-set___cJt0a:nth-child(n+2){margin-block-start:var(--base-size-20)}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-group-heading___u739o{color:var(--brand-PricingOptions-featureList-group-heading-color);margin-block-start:var(--base-size-12);margin-block-end:var(--base-size-8)}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-item--excluded___iDvOS span{color:var(--brand-color-text-muted)}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-item--has-info___zXREr{flex-wrap:nowrap}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-item--has-info___zXREr>span{flex:1;justify-content:space-between;align-items:baseline;display:inline-flex}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-item-info___glnBV{all:unset;cursor:pointer;color:var(--brand-color-text-muted);background-color:color-mix(in srgb, var(--brand-color-canvas-invert) 12%, transparent);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);vertical-align:middle;padding:var(--base-size-4);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-inline-start:var(--base-size-8);display:inline-flex}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-item-info___glnBV svg{width:var(--base-size-12);height:var(--base-size-12)}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-item-info___glnBV:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:2px}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list___BmoFc+.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-group-heading___u739o{margin-block-start:var(--base-size-20)}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-item___M9A0t,.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-item___M9A0t span{font-size:var(--feature-list-font-size)!important;line-height:var(--feature-list-line-height)!important}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-group-heading___u739o{font-size:var(--feature-list-font-size)!important}.Primer_Brand__PricingOptions-module__PricingOptions--items4___FgRN3 .Primer_Brand__PricingOptions-module__PricingOptions__feature-list___BmoFc{--feature-list-font-size:var(--brand-text-size-100);--feature-list-line-height:var(--brand-text-lineHeight-100)}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF{border:0;padding:0}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF:after{content:none!important}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-heading___QZJNW{padding:var(--base-size-8) 0;margin-block-start:calc(var(--base-size-16) * -1);margin-block-end:var(--base-size-8);padding-inline:0!important}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF .Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-heading___QZJNW h1,.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF .Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-heading___QZJNW h2,.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF .Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-heading___QZJNW h3,.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF .Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-heading___QZJNW h4,.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF .Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-heading___QZJNW h5,.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF .Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-heading___QZJNW h6{font-size:var(--feature-list-font-size);line-height:var(--feature-list-line-height);font-weight:var(--brand-text-subhead-weight-large);gap:var(--base-size-8);justify-content:space-between;align-items:center;width:100%;display:flex}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF .Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-heading___QZJNW span{display:none}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF .Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-content___hCzO7{padding:0;padding-block-start:var(--base-size-8);padding-inline-start:0!important}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-chevron___XXErd{margin-inline-end:var(--base-size-4)}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion___sPJpF[open] .Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-chevron___XXErd{transform:rotate(180deg)}.Primer_Brand__PricingOptions-module__PricingOptions__feature-list-accordion-content___hCzO7{animation:none!important}.Primer_Brand__SubNav-module__SubNav__container___iZQjL{z-index:2;border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);width:100%;position:absolute}.Primer_Brand__SubNav-module__SubNav__container--with-anchor-nav___y6aE7{display:inline;display:initial;position:relative}.Primer_Brand__SubNav-module__SubNav__container--with-anchor-nav___y6aE7 .Primer_Brand__SubNav-module__SubNav___dVoQu{border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__SubNav-module__SubNav___dVoQu{z-index:1;background-color:var(--brand-SubNav-bgColor);width:100%;display:flex}[data-color-mode=dark] .Primer_Brand__SubNav-module__SubNav___dVoQu{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.Primer_Brand__SubNav-module__SubNav__heading___MAxf6,.Primer_Brand__SubNav-module__SubNav__subHeading___EQNxp{font-size:calc(var(--base-size-16) - 1px);line-height:calc(var(--base-size-16) - 1px);font-weight:var(--brand-text-subhead-weight-medium);color:var(--brand-color-text-default);font-family:var(--brand-heading-fontFamily);-webkit-text-decoration:none;text-decoration:none;display:block}.Primer_Brand__SubNav-module__SubNav__heading___MAxf6:hover,.Primer_Brand__SubNav-module__SubNav__subHeading___EQNxp:hover,.Primer_Brand__SubNav-module__SubNav__link___VBkrZ:hover .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{color:var(--brand-color-text-muted);-webkit-text-decoration:none!important;text-decoration:none!important}.Primer_Brand__SubNav-module__SubNav--header-container-outer___tneuD{width:100%}.Primer_Brand__SubNav-module__SubNav__heading-container___jlouG{z-index:9998;min-height:60px;padding:var(--base-size-16);border-inline-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);align-items:center;display:flex;position:relative}.Primer_Brand__SubNav-module__SubNav__heading-container___jlouG+.Primer_Brand__SubNav-module__SubNav__heading-container___jlouG{padding-inline-start:var(--base-size-24)}.Primer_Brand__SubNav-module__SubNav--has-shadow___jkyC7{box-shadow:var(--brand-SubNav-shadow);background-color:var(--brand-color-canvas-default)}.Primer_Brand__SubNav-module__SubNav--full-width___ZqqXq{padding-inline:0}.Primer_Brand__SubNav-module__SubNav__action-container___lgC_T{margin-left:auto}.Primer_Brand__SubNav-module__SubNav__sub-menu-icon___XxnxY{display:none!important}.Primer_Brand__SubNav-module__SubNav__sub-menu-children___t0gfy{display:contents}.Primer_Brand__SubNav-module__SubNav__links-overlay___CnpND{margin:0;padding:0;list-style:none}.Primer_Brand__SubNav-module__SubNav__links-overlay___CnpND>span,.Primer_Brand__SubNav-module__SubNav__sub-menu-toggle___FvvL9,.Primer_Brand__SubNav-module__SubNav__overflow-container___GPuX_{display:none}.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz{z-index:10;width:max-content;min-width:var(--brand-SubNav-width-overflowMenuMin);max-width:calc(100vw - var(--brand-SubNav-width-overflowMenuInset));max-height:calc(100dvh - var(--brand-SubNav-height-overflowMenuInset));background-color:var(--brand-SubNav-overflowMenu-bgColor-rest);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);box-shadow:none;transform:translateY(calc(0px - var(--brand-SubNav-offset-overflowMenu)));animation:Primer_Brand__SubNav-module__fade-in___t8Rrr var(--brand-animation-duration-faster) var(--brand-animation-easing-default);border-start-start-radius:0;border-start-end-radius:0;border-end-end-radius:var(--brand-borderRadius-medium);border-end-start-radius:var(--brand-borderRadius-medium);margin:0;padding:0;position:absolute;inset:auto;overflow:hidden auto}.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz::backdrop{background-color:#0000}.Primer_Brand__SubNav-module__SubNav__overflow-menu-list____hd03{grid-gap:var(--brand-borderWidth-thin);gap:var(--brand-borderWidth-thin);padding:var(--base-size-8);width:100%;margin:0;list-style:none;display:grid}.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container___sfhEf{z-index:91;position:sticky;top:-1px}.Primer_Brand__SubNav-module__SubNav__anchor-menu-container___TNidG{opacity:0;transform:translateY(var(--brand-animation-variant-slideInDown-distance));transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), background-color var(--brand-animation-duration-default) var(--brand-animation-easing-default);background-color:#0000}.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container___sfhEf:focus-within .Primer_Brand__SubNav-module__SubNav__anchor-menu-container___TNidG,.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container--stuck___HlM9i .Primer_Brand__SubNav-module__SubNav__anchor-menu-container___TNidG{opacity:1;background-color:var(--brand-color-canvas-default);transform:translateY(0)}.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container___sfhEf{height:0;transition:height var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container___sfhEf:focus-within,.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container--stuck___HlM9i{height:auto}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG{opacity:0;transform:translateY(var(--brand-animation-variant-slideInDown-distance));transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), height var(--brand-animation-duration-default) var(--brand-animation-easing-default), transform var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container___sfhEf:focus-within .Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG,.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container--stuck___HlM9i .Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG{visibility:visible;opacity:1;transform:translateY(0)}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG{padding-block:var(--base-size-12);border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);display:flex}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG .Primer_Brand__SubNav-module__SubNav__sub-menu-list___aBVGd{gap:var(--base-size-20);margin:0;padding:0;list-style-type:none;display:inline-flex}.Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{font-weight:450}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{padding:var(--base-size-6) var(--base-size-12);border-radius:var(--brand-borderRadius-full);transition:background-color var(--brand-animation-duration-default) var(--brand-animation-easing-default), color var(--brand-animation-duration-default) var(--brand-animation-easing-default);background-color:#0000}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG .Primer_Brand__SubNav-module__SubNav__link--is-in-view___GqmLc .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{background-color:var(--brand-SubNav-color-link-bgColor)}.Primer_Brand__SubNav-module__SubNav__link___VBkrZ:focus-visible .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp:after,.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG .Primer_Brand__SubNav-module__SubNav__link--is-in-view___GqmLc:focus-visible .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp:after{opacity:0}.Primer_Brand__SubNav-module__SubNav__link___VBkrZ[aria-current]:not([aria-current=false]) *{color:var(--brand-SubNav-color-link-active);-webkit-text-decoration:none!important;text-decoration:none!important}.Primer_Brand__SubNav-module__SubNav__link___VBkrZ:hover .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{transition:color var(--brand-animation-duration-fast) var(--brand-animation-easing-default)}.Primer_Brand__SubNav-module__SubNav__link___VBkrZ:hover .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp:after{border-color:var(--brand-color-text-default)}@media screen and (width<=63.24rem){.Primer_Brand__SubNav-module__SubNav___dVoQu{position:relative}.Primer_Brand__SubNav-module__SubNav___dVoQu:before{content:"";opacity:0;z-index:9997;position:absolute;inset:0}.Primer_Brand__SubNav-module__SubNav___dVoQu:after{content:"";z-index:-1;background-color:var(--base-color-scale-black-0);opacity:0;visibility:hidden;width:100%;height:100%;position:fixed;inset:0}.Primer_Brand__SubNav-module__SubNav--open___xWq0D:after{opacity:.3;visibility:visible;transition:visibility var(--brand-animation-duration-default) var(--brand-animation-easing-default), opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__SubNav-module__SubNav__heading___MAxf6{font-size:var(--base-size-16);line-height:var(--base-size-24)}.Primer_Brand__SubNav-module__SubNav--open___xWq0D{display:block}.Primer_Brand__SubNav-module__SubNav--open___xWq0D .Primer_Brand__SubNav-module__SubNav--header-container-outer___tneuD{max-height:100dvh;max-height:var(--subnav-available-height,100dvh);flex-direction:column;display:flex;overflow:hidden}.Primer_Brand__SubNav-module__SubNav--open___xWq0D .Primer_Brand__SubNav-module__SubNav__header-container___heD5O{flex-shrink:0}.Primer_Brand__SubNav-module__SubNav--open___xWq0D+.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container___sfhEf{z-index:-1}.Primer_Brand__SubNav-module__SubNav--open___xWq0D:before{background-color:var(--brand-color-canvas-default);animation:Primer_Brand__SubNav-module__fade-in___t8Rrr .3s var(--brand-animation-easing-glide) forwards}.Primer_Brand__SubNav-module__SubNav__heading-separator--main___sziYb:not(.Primer_Brand__SubNav-module__SubNav__heading-separator--has-adjacent-label___F3S2G),.Primer_Brand__SubNav-module__SubNav__heading-separator--subheading-active___ysuBi,.Primer_Brand__SubNav-module__SubNav__subheading-container-active___EOoAH{display:none}.Primer_Brand__SubNav-module__SubNav__header-container___heD5O{white-space:pre;z-index:9998;width:100%;display:flex;position:relative}.Primer_Brand__SubNav-module__SubNav__heading-container___jlouG+.Primer_Brand__SubNav-module__SubNav__heading-container___jlouG{padding-inline-start:var(--base-size-16)}.Primer_Brand__SubNav-module__SubNav__heading-separator___M5xJp{z-index:9998;margin-inline-end:var(--base-size-16)}.Primer_Brand__SubNav-module__SubNav__links-overlay___CnpND{z-index:9998;padding-inline:var(--base-size-8);flex-direction:column;flex:auto;justify-content:center;display:none;position:relative}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA{gap:var(--base-size-8);padding-block:var(--base-size-16);border-block-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);flex-direction:column;justify-content:flex-start;min-height:0;display:flex;overflow-y:auto}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__link___VBkrZ:hover .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{color:var(--brand-color-text-default)}.Primer_Brand__SubNav-module__SubNav__overlay-toggle___GY93X{z-index:9999;width:100%;justify-content:flex-end;padding-inline-end:var(--base-size-16);display:flex;position:relative}.Primer_Brand__SubNav-module__SubNav--has-sub-heading___YxW9a:not(.Primer_Brand__SubNav-module__SubNav--subHeadingActive___AxXKr) .Primer_Brand__SubNav-module__SubNav__overlay-toggle___GY93X{border-block-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-block:var(--base-size-12);margin-block:0;display:block}.Primer_Brand__SubNav-module__SubNav__overlay-toggle-content___GYAh4{width:100%;padding-inline-start:var(--base-size-16)}.Primer_Brand__SubNav-module__SubNav__overlay-toggle-label___J0P2K{background-color:var(--brand-SubNav-color-link-bgColor);border-radius:var(--brand-borderRadius-full);padding:var(--base-size-4) var(--base-size-12);gap:var(--base-size-6);cursor:pointer;font:inherit;border:none;align-items:center;display:flex}.Primer_Brand__SubNav-module__SubNav--full-width___ZqqXq .Primer_Brand__SubNav-module__SubNav__overlay-toggle___GY93X{right:0}.Primer_Brand__SubNav-module__SubNav__link___VBkrZ,.Primer_Brand__SubNav-module__SubNav__action-container___lgC_T{-webkit-text-decoration:none;text-decoration:none;display:none}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{position:relative}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__link___VBkrZ[aria-current]:not([aria-current=false]) *{color:var(--brand-SubNav-color-link-active)}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__link___VBkrZ{padding:var(--base-size-4) var(--base-size-12);margin-inline-start:var(--base-size-8)}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__link___VBkrZ[aria-current]:not([aria-current=false]),.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__link___VBkrZ:hover{background-color:var(--brand-SubNav-color-link-bgColor);border-radius:var(--brand-borderRadius-full);display:inline-flex}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__link___VBkrZ{animation:Primer_Brand__SubNav-module__fade-in___t8Rrr .3s var(--brand-animation-easing-glide) forwards;display:inline-flex}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__action-container___lgC_T{animation:Primer_Brand__SubNav-module__fade-in___t8Rrr .3s var(--brand-animation-easing-glide) forwards;display:block}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__link--has-sub-menu___IrziW{padding-block:0}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__action-container___lgC_T,.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA .Primer_Brand__SubNav-module__SubNav__action___hRMk9{width:100%}.Primer_Brand__SubNav-module__SubNav__sub-menu___UENed{gap:var(--base-size-8);flex-direction:column;margin:0;padding:0;padding-block-start:var(--base-size-8);padding-inline-start:var(--base-size-16);list-style:none;display:flex}.Primer_Brand__SubNav-module__SubNav__sub-menu___UENed .Primer_Brand__SubNav-module__SubNav__link___VBkrZ{margin-inline-start:0}.Primer_Brand__SubNav-module__SubNav__sub-menu--dropdown___tPNZN .Primer_Brand__SubNav-module__SubNav__link___VBkrZ:hover .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{color:var(--brand-color-text-default)!important}.Primer_Brand__SubNav-module__SubNav__anchor-menu-container___TNidG{z-index:99;width:100%;overflow:auto hidden}.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container___sfhEf{position:sticky;top:-1px}.Primer_Brand__SubNav-module__SubNav__anchor-menu-outer-container___sfhEf:after{content:"";width:var(--base-size-32);background:linear-gradient(to left, var(--brand-color-canvas-default), transparent);pointer-events:none;z-index:100;position:absolute;top:0;bottom:0;right:0}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG{padding-inline:var(--base-size-16);padding-block-start:var(--base-size-16);padding-block-end:var(--base-size-16)}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);letter-spacing:var(--brand-text-letterSpacing-100)}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG .Primer_Brand__SubNav-module__SubNav__sub-menu-list___aBVGd{padding-inline-end:var(--base-size-32)}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG .Primer_Brand__SubNav-module__SubNav__link___VBkrZ{white-space:pre;top:var(--base-size-2);display:block;position:relative}}.Primer_Brand__SubNav-module__SubNav__overlay-toggle-icon___AjCc8{fill:var(--brand-color-text-default)}.Primer_Brand__SubNav-module__SubNav__overlay-toggle-content___GYAh4{align-items:center;gap:var(--base-size-8);display:flex}.Primer_Brand__SubNav-module__SubNav__overlay-toggle-content--end___GySmq{justify-content:flex-end}.Primer_Brand__SubNav-module__SubNav__link___VBkrZ:focus-visible,.Primer_Brand__SubNav-module__SubNav__heading___MAxf6:focus-visible,.Primer_Brand__SubNav-module__SubNav__subHeading___EQNxp:focus-visible,.Primer_Brand__SubNav-module__SubNav__sub-menu-toggle___FvvL9:focus-visible,.Primer_Brand__SubNav-module__SubNav__overlay-toggle-label___J0P2K:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__SubNav-module__SubNav__subHeading___EQNxp{white-space:nowrap;display:block;position:relative}.Primer_Brand__SubNav-module__SubNav__subHeading___EQNxp[aria-current]:not([aria-current=false]){background-color:var(--brand-SubNav-color-link-bgColor);border-radius:var(--brand-borderRadius-full);padding:var(--base-size-6) var(--base-size-12);border:none}@media screen and (width>=48rem){.Primer_Brand__SubNav-module__SubNav__heading-container___jlouG{padding-inline:var(--base-size-24)}.Primer_Brand__SubNav-module__SubNav__overlay-toggle-content___GYAh4{padding-inline-start:var(--base-size-24)}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA{padding:var(--base-size-24)}.Primer_Brand__SubNav-module__SubNav--full-width___ZqqXq{padding-inline:0}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG{padding-inline:var(--base-size-24)}}.Primer_Brand__SubNav-module__SubNav__heading-label___gwyQg{white-space:pre}@media screen and (width>=63.25rem){.Primer_Brand__SubNav-module__SubNav___dVoQu{z-index:92;padding-inline:var(--base-size-32);align-items:center;display:flex}.Primer_Brand__SubNav-module__SubNav__links-overlay--open___xdhUA{padding:0}.Primer_Brand__SubNav-module__SubNav___dVoQu:has(+.Primer_Brand__SubNav-module__SubNav__anchor-menu-container___TNidG){padding-block-end:0}.Primer_Brand__SubNav-module__SubNav__heading-container___jlouG{padding-inline-start:0}.Primer_Brand__SubNav-module__SubNav--full-width___ZqqXq{padding-inline:0}.Primer_Brand__SubNav-module__SubNav__overlay-toggle___GY93X{display:none}.Primer_Brand__SubNav-module__SubNav__container--with-anchor-nav___y6aE7 .Primer_Brand__SubNav-module__SubNav__heading___MAxf6{padding-block-end:1px}.Primer_Brand__SubNav-module__SubNav__heading-separator___M5xJp{margin-inline-end:var(--base-size-20);display:inline-flex;top:0}.Primer_Brand__SubNav-module__SubNav__container--with-anchor-nav___y6aE7 .Primer_Brand__SubNav-module__SubNav__heading-separator___M5xJp{top:-1px}.Primer_Brand__SubNav-module__SubNav--header-container-outer___tneuD{align-items:center;display:flex}.Primer_Brand__SubNav-module__SubNav__header-container___heD5O{flex-shrink:0;align-items:center;display:flex}.Primer_Brand__SubNav-module__SubNav__links-overlay___CnpND{align-items:center;gap:var(--base-size-2);z-index:92;min-width:0;flex:1 1 0;align-self:stretch;padding-inline-start:var(--base-size-24);display:flex}.Primer_Brand__SubNav-module__SubNav__links-overlay___CnpND>li{white-space:nowrap;flex:none}.Primer_Brand__SubNav-module__SubNav__link--in-overlay___osowG{align-items:center;display:inline-flex}.Primer_Brand__SubNav-module__SubNav__link-item--overflowed___x0xat{visibility:hidden;pointer-events:none;width:max-content;position:absolute}.Primer_Brand__SubNav-module__SubNav__overflow-container___GPuX_{visibility:hidden;pointer-events:none;align-self:stretch;align-items:center;display:flex;position:absolute}.Primer_Brand__SubNav-module__SubNav__overflow-container--visible___OLUw7{visibility:visible;pointer-events:auto;position:relative}.Primer_Brand__SubNav-module__SubNav__overflow-toggle___Nof18{align-items:center;gap:var(--base-size-4);padding:var(--base-size-4) var(--base-size-12);color:var(--brand-SubNav-color-link-rest);background:var(--brand-SubNav-overflowMenu-toggle-bgColor-rest);border-radius:var(--brand-borderRadius-full);font:inherit;cursor:pointer;border:0;display:inline-flex}.Primer_Brand__SubNav-module__SubNav__overflow-toggle___Nof18:hover{background-color:var(--brand-SubNav-overflowMenu-toggle-bgColor-hover)}.Primer_Brand__SubNav-module__SubNav__overflow-toggle___Nof18[aria-expanded=true],.Primer_Brand__SubNav-module__SubNav__overflow-toggle--active___BiGMB{background-color:var(--brand-SubNav-overflowMenu-toggle-bgColor-active)}.Primer_Brand__SubNav-module__SubNav__overflow-toggle___Nof18 .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{color:inherit}.Primer_Brand__SubNav-module__SubNav__overflow-toggle___Nof18:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__SubNav-module__SubNav__link___VBkrZ{transition:color .2s var(--brand-animation-easing-glide);padding:var(--base-size-4) var(--base-size-12);border-radius:var(--brand-borderRadius-full);position:relative;-webkit-text-decoration:none!important;text-decoration:none!important}.Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100)}.Primer_Brand__SubNav-module__SubNav__link--has-sub-menu___IrziW{padding:var(--base-size-4) 0}.Primer_Brand__SubNav-module__SubNav__link--has-sub-menu___IrziW:after{content:"";bottom:calc(var(--base-size-12) * -1);width:100%;height:var(--base-size-12);background:0 0;position:absolute;left:0}.Primer_Brand__SubNav-module__SubNav__sub-menu___UENed.Primer_Brand__SubNav-module__SubNav__sub-menu--dropdown___tPNZN{background-clip:padding-box;background-color:var(--brand-color-canvas-default);border:var(--brand-color-border-muted) solid var(--brand-borderWidth-thin);border-radius:var(--brand-borderRadius-medium);padding:var(--base-size-8);z-index:9998;transition-timing-function:var(--brand-animation-easing-glide);transition-duration:var(--brand-animation-duration-fast);top:90%;left:0;left:var(--base-size-4);visibility:hidden;opacity:0;transform-origin:top;gap:var(--base-size-8);width:var(--brand-SubNav-width-subMenu);flex-direction:column;margin-block-start:var(--base-size-8);list-style:none;transition-property:opacity,transform;display:flex;position:absolute;transform:scale(.99)translateY(-.7em)translate(-8px)}.Primer_Brand__SubNav-module__SubNav__link--expanded___sbpQG .Primer_Brand__SubNav-module__SubNav__sub-menu___UENed.Primer_Brand__SubNav-module__SubNav__sub-menu--dropdown___tPNZN{visibility:visible;opacity:1;transform:scale(1)translateY(0)translate(-8px)}.Primer_Brand__SubNav-module__SubNav__sub-menu-toggle___FvvL9{width:var(--base-size-24);height:var(--base-size-24);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin:0;margin-inline-end:calc(-1 * var(--base-size-8));padding:0;padding-inline-end:var(--base-size-8);display:inline-flex}.Primer_Brand__SubNav-module__SubNav__sub-menu___UENed .Primer_Brand__SubNav-module__SubNav__link___VBkrZ{display:block}.Primer_Brand__SubNav-module__SubNav__sub-menu--dropdown___tPNZN .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp:after{opacity:1;transform:scale(0)}.Primer_Brand__SubNav-module__SubNav__link--has-sub-menu___IrziW{align-items:center;gap:var(--base-size-4);cursor:pointer;display:inline-flex;position:relative}.Primer_Brand__SubNav-module__SubNav__link--has-sub-menu___IrziW>.Primer_Brand__SubNav-module__SubNav__link___VBkrZ{padding-inline-end:0}.Primer_Brand__SubNav-module__SubNav__sub-menu--dropdown___tPNZN .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{padding:var(--base-size-4) 0;position:relative}.Primer_Brand__SubNav-module__SubNav__link--has-active-sub-menu___T8fLN{background-color:var(--brand-SubNav-color-link-bgColor);border-radius:var(--brand-borderRadius-full);padding:0 var(--base-size-8) 0 0;gap:0}.Primer_Brand__SubNav-module__SubNav__link--has-active-sub-menu___T8fLN>.Primer_Brand__SubNav-module__SubNav__link___VBkrZ{padding:var(--base-size-4) 0 var(--base-size-4) var(--base-size-12)}.Primer_Brand__SubNav-module__SubNav__sub-menu___UENed.Primer_Brand__SubNav-module__SubNav__sub-menu--dropdown___tPNZN .Primer_Brand__SubNav-module__SubNav__link___VBkrZ{padding:var(--base-size-12)}.Primer_Brand__SubNav-module__SubNav__links-overlay___CnpND .Primer_Brand__SubNav-module__SubNav__link___VBkrZ[aria-current]:not([aria-current=false]){background-color:var(--brand-SubNav-color-link-bgColor);line-height:1.1em}@supports ((-moz-appearance:none)){.Primer_Brand__SubNav-module__SubNav__links-overlay___CnpND .Primer_Brand__SubNav-module__SubNav__link--has-sub-menu___IrziW .Primer_Brand__SubNav-module__SubNav__link___VBkrZ[aria-current]:not([aria-current=false]) .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{top:0}}.Primer_Brand__SubNav-module__SubNav__links-overlay___CnpND .Primer_Brand__SubNav-module__SubNav__link--has-active-sub-menu___T8fLN .Primer_Brand__SubNav-module__SubNav__link___VBkrZ[aria-current]:not([aria-current=false]){padding-inline-end:var(--base-size-4)}.Primer_Brand__SubNav-module__SubNav__sub-menu___UENed.Primer_Brand__SubNav-module__SubNav__sub-menu--dropdown___tPNZN .Primer_Brand__SubNav-module__SubNav__link___VBkrZ[aria-current]:not([aria-current=false]){border-radius:var(--brand-borderRadius-medium);padding:var(--base-size-4) var(--base-size-8) var(--base-size-4) var(--base-size-12);top:auto;top:initial;background-color:#0000}.Primer_Brand__SubNav-module__SubNav__sub-menu___UENed.Primer_Brand__SubNav-module__SubNav__sub-menu--dropdown___tPNZN .Primer_Brand__SubNav-module__SubNav__link___VBkrZ:hover{background-color:var(--brand-SubNav-color-link-bgColor);border-radius:var(--brand-borderRadius-medium)}.Primer_Brand__SubNav-module__SubNav__sub-menu-icon___XxnxY{fill:var(--brand-color-text-muted);transition:transform var(--brand-animation-duration-fast);display:inline-block!important}.Primer_Brand__SubNav-module__SubNav__link--has-sub-menu___IrziW:not(.Primer_Brand__SubNav-module__SubNav__link--has-active-sub-menu___T8fLN) .Primer_Brand__SubNav-module__SubNav__sub-menu-icon___XxnxY{top:calc(-1 * var(--brand-borderWidth-thin));position:relative}.Primer_Brand__SubNav-module__SubNav__sub-menu--anchor___Q6VDG{padding-inline:var(--base-size-32)}.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz .Primer_Brand__SubNav-module__SubNav__link___VBkrZ{width:100%;min-height:var(--brand-SubNav-height-overflowMenuItemMin);padding:var(--base-size-8) var(--base-size-12);color:var(--brand-SubNav-overflowMenu-fgColor-rest);white-space:normal;word-wrap:anywhere;border-radius:var(--brand-borderRadius-medium);background-color:var(--brand-SubNav-overflowMenu-bgColor-rest);display:block}.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz .Primer_Brand__SubNav-module__SubNav__link___VBkrZ .Primer_Brand__SubNav-module__SubNav__link-label___IoiSp{color:inherit;font-weight:var(--base-text-weight-normal);line-height:var(--brand-text-lineHeight-200)}.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz .Primer_Brand__SubNav-module__SubNav__link___VBkrZ:hover,.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz .Primer_Brand__SubNav-module__SubNav__link___VBkrZ:focus,.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz .Primer_Brand__SubNav-module__SubNav__link___VBkrZ:focus-visible,.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz .Primer_Brand__SubNav-module__SubNav__link___VBkrZ[aria-current]:not([aria-current=false]){color:var(--brand-SubNav-overflowMenu-fgColor-hover);background-color:var(--brand-SubNav-overflowMenu-bgColor-hover)}.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz .Primer_Brand__SubNav-module__SubNav__link___VBkrZ:focus-visible{box-shadow:inset 0 0 0 var(--brand-borderWidth-thick) var(--brand-color-focus);outline:none}.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz .Primer_Brand__SubNav-module__SubNav__link--has-sub-menu___IrziW{background:0 0;padding:0;display:block}.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz .Primer_Brand__SubNav-module__SubNav__link--has-sub-menu___IrziW:after{content:none}.Primer_Brand__SubNav-module__SubNav__overflow-menu___yyMyz .Primer_Brand__SubNav-module__SubNav__sub-menu--dropdown___tPNZN{width:auto;background-color:var(--brand-SubNav-overflowMenu-bgColor-rest);visibility:visible;opacity:1;border:0;margin:0;padding:0;padding-inline-start:var(--base-size-16);position:static;transform:none}}@keyframes Primer_Brand__SubNav-module__fade-in___t8Rrr{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.Primer_Brand__SubNav-module__SubNav___dVoQu,.Primer_Brand__SubNav-module__SubNav___dVoQu:before,.Primer_Brand__SubNav-module__SubNav___dVoQu:after,.Primer_Brand__SubNav-module__SubNav___dVoQu *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--brand-SubNav-offset-overflowMenu:.25rem;--brand-SubNav-height-overflowMenuItemMin:2.5rem;--brand-SubNav-height-overflowMenuInset:8rem;--brand-SubNav-width-overflowMenuMin:10rem;--brand-SubNav-width-overflowMenuInset:2rem;--brand-SubNav-width-subMenu:18.75rem}:root,[data-color-mode=light]{--brand-SubNav-bgColor:var(--brand-color-canvas-default);--brand-SubNav-overflowMenu-bgColor-rest:var(--brand-color-canvas-default);--brand-SubNav-overflowMenu-bgColor-hover:var(--brand-color-canvas-subtle);--brand-SubNav-overflowMenu-fgColor-rest:var(--brand-color-text-muted);--brand-SubNav-overflowMenu-fgColor-hover:var(--brand-color-text-default);--brand-SubNav-overflowMenu-toggle-bgColor-rest:transparent;--brand-SubNav-overflowMenu-toggle-bgColor-hover:var(--base-color-scale-gray-1);--brand-SubNav-overflowMenu-toggle-bgColor-active:var(--base-color-scale-gray-1);--brand-SubNav-color-link-rest:var(--brand-color-text-default);--brand-SubNav-color-link-active:var(--brand-color-text-default);--brand-SubNav-color-link-bgColor:#e4ebe6;--brand-SubNav-shadow:0px 100px 80px #00000003, 0px 41px 33px #00000005, 0px 22px 17px #00000005, 0px 12px 10px #00000008, 0px 6px 5px #0000000a, 0px 2px 2px #00000012}[data-color-mode=dark]{--brand-SubNav-bgColor:var(--brand-color-canvas-default);--brand-SubNav-overflowMenu-bgColor-rest:var(--brand-color-canvas-default);--brand-SubNav-overflowMenu-bgColor-hover:var(--brand-color-canvas-subtle);--brand-SubNav-overflowMenu-fgColor-rest:var(--brand-color-text-muted);--brand-SubNav-overflowMenu-fgColor-hover:var(--brand-color-text-default);--brand-SubNav-overflowMenu-toggle-bgColor-rest:transparent;--brand-SubNav-overflowMenu-toggle-bgColor-hover:var(--base-color-scale-gray-6);--brand-SubNav-overflowMenu-toggle-bgColor-active:var(--base-color-scale-gray-6);--brand-SubNav-color-link-rest:var(--brand-color-text-default);--brand-SubNav-color-link-active:var(--brand-color-text-default);--brand-SubNav-color-link-bgColor:#323834;--brand-SubNav-shadow:0px 100px 80px #00000003, 0px 41px 33px #00000005, 0px 22px 17px #00000005, 0px 12px 10px #00000008, 0px 6px 5px #0000000a, 0px 2px 2px #00000012}:root,[data-color-mode=light]{--brand-NavList-activeIndicator-color:var(--brand-color-text-emphasized)}[data-color-mode=dark]{--brand-NavList-activeIndicator-color:var(--brand-color-accent-primary)}.Primer_Brand__NavList-module__NavList___U7Jyj{--brand-NavList-label-indent-level-2:0px;--brand-NavList-label-indent-level-3:var(--base-size-16);--brand-NavList-label-indent-level-4:var(--base-size-32);--brand-NavList-label-indent-level-5:var(--base-size-48);--brand-NavList-item-paddingInlineStart-base:var(--base-size-24);--brand-NavList-control-paddingInlineStart:var(--base-size-8);--brand-NavList-label-paddingInlineStart:var(--base-size-6);box-sizing:border-box;font-family:var(--brand-fontStack-sansSerif);color:var(--brand-color-text-default);width:100%;padding-inline-start:var(--base-size-16)}.Primer_Brand__NavList-module__NavList__list___K5lSx,.Primer_Brand__NavList-module__NavList__subNav___DZ2GX,.Primer_Brand__NavList-module__NavList__groupList___ylfjF{margin:0;padding:0;list-style:none}.Primer_Brand__NavList-module__NavList__list___K5lSx{flex-direction:column;gap:0;display:flex}.Primer_Brand__NavList-module__NavList__list--flat___wuoKR,.Primer_Brand__NavList-module__NavList__groupList___ylfjF{--brand-NavList-item-paddingInlineStart-base:var(--base-size-2)}.Primer_Brand__NavList-module__NavList__groupList___ylfjF .Primer_Brand__NavList-module__NavList__subNav___DZ2GX .Primer_Brand__NavList-module__NavList__item--leaf___SN9hT{--brand-NavList-item-paddingInlineStart-base:0px;--brand-NavList-label-paddingInlineStart:var(--base-size-8)}.Primer_Brand__NavList-module__NavList__item___OceIg,.Primer_Brand__NavList-module__NavList__group___LANuQ{position:relative}.Primer_Brand__NavList-module__NavList__list___K5lSx:not(.Primer_Brand__NavList-module__NavList__list--flat___wuoKR)>.Primer_Brand__NavList-module__NavList__item___OceIg+.Primer_Brand__NavList-module__NavList__item___OceIg,.Primer_Brand__NavList-module__NavList__list___K5lSx:not(.Primer_Brand__NavList-module__NavList__list--flat___wuoKR)>.Primer_Brand__NavList-module__NavList__item___OceIg+.Primer_Brand__NavList-module__NavList__group___LANuQ,.Primer_Brand__NavList-module__NavList__list___K5lSx:not(.Primer_Brand__NavList-module__NavList__list--flat___wuoKR)>.Primer_Brand__NavList-module__NavList__group___LANuQ+.Primer_Brand__NavList-module__NavList__item___OceIg,.Primer_Brand__NavList-module__NavList__list___K5lSx:not(.Primer_Brand__NavList-module__NavList__list--flat___wuoKR)>.Primer_Brand__NavList-module__NavList__group___LANuQ+.Primer_Brand__NavList-module__NavList__group___LANuQ{background-image:repeating-linear-gradient(to right, var(--brand-color-border-muted) 0 var(--base-size-2), transparent var(--base-size-2) var(--base-size-4));background-repeat:no-repeat;background-size:100% var(--brand-borderWidth-thin);background-position:0 0}.Primer_Brand__NavList-module__NavList__groupTitle___Ios1h{padding:var(--base-size-24) var(--base-size-16) var(--base-size-16);color:var(--brand-color-text-default);font-size:var(--brand-text-size-200);font-weight:var(--brand-text-weight-500);line-height:var(--brand-text-lineHeight-200);letter-spacing:var(--brand-text-letterSpacing-200);margin:0}.Primer_Brand__NavList-module__NavList__groupList___ylfjF{flex-direction:column;gap:0;padding-block-end:var(--base-size-16);display:flex}.Primer_Brand__NavList-module__NavList__itemContent___TyAP4{align-items:center;gap:var(--base-size-8);min-width:0;display:flex}.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-2___AEntj>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-3___yJC82>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-4___w3rA3>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4{padding-block:calc(var(--base-size-8) + var(--base-size-2));padding-inline-end:var(--base-size-16)}.Primer_Brand__NavList-module__NavList__item--level-2___AEntj{--brand-NavList-item-label-indent:var(--brand-NavList-label-indent-level-2)}.Primer_Brand__NavList-module__NavList__item--level-3___yJC82{--brand-NavList-item-label-indent:var(--brand-NavList-label-indent-level-3)}.Primer_Brand__NavList-module__NavList__item--level-4___w3rA3{--brand-NavList-item-label-indent:var(--brand-NavList-label-indent-level-4)}.Primer_Brand__NavList-module__NavList__item--level-5___euPGq{--brand-NavList-item-label-indent:var(--brand-NavList-label-indent-level-5)}.Primer_Brand__NavList-module__NavList__item--leaf___SN9hT:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts)>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4{min-height:var(--base-size-32);padding-block:0;padding-inline-end:var(--base-size-16)}.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-2___AEntj>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-3___yJC82>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-4___w3rA3>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-5___euPGq>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4{padding-inline-start:calc(var(--brand-NavList-item-paddingInlineStart-base) + var(--brand-NavList-item-label-indent))}.Primer_Brand__NavList-module__NavList__item___OceIg:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts)>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk,.Primer_Brand__NavList-module__NavList__item___OceIg:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts)>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C{padding-inline-start:var(--brand-NavList-control-paddingInlineStart)}.Primer_Brand__NavList-module__NavList__item___OceIg:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts)>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__labelArea___N5Ya6{padding-inline-start:var(--brand-NavList-label-paddingInlineStart)}.Primer_Brand__NavList-module__NavList__link___lJiXk{align-items:center;gap:var(--base-size-8);border-radius:var(--brand-borderRadius-medium);min-width:0;color:var(--brand-color-text-muted);font-size:var(--brand-text-size-100);font-weight:var(--brand-text-weight-500);line-height:var(--brand-text-lineHeight-100);letter-spacing:var(--brand-text-letterSpacing-100);transition:background-color var(--brand-animation-duration-fast) var(--brand-animation-easing-default), color var(--brand-animation-duration-fast) var(--brand-animation-easing-default);flex:auto;padding:0;display:flex;position:relative;-webkit-text-decoration:none!important;text-decoration:none!important}.Primer_Brand__NavList-module__NavList__accordionButton___Jii1C{box-sizing:border-box;width:100%;color:var(--brand-color-text-muted);cursor:pointer;text-align:start;background:0 0;border:0;font-family:inherit;position:relative}.Primer_Brand__NavList-module__NavList__link___lJiXk:hover{color:var(--brand-color-text-default);background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__NavList-module__NavList__accordionButton___Jii1C:hover{color:var(--brand-color-text-default);background-color:#0000}.Primer_Brand__NavList-module__NavList__item___OceIg:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts)>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C .Primer_Brand__NavList-module__NavList__labelArea___N5Ya6{min-height:var(--base-size-32);order:2}.Primer_Brand__NavList-module__NavList__item___OceIg:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts)>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C:not(:disabled):hover .Primer_Brand__NavList-module__NavList__labelArea___N5Ya6{background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__NavList-module__NavList__item--has-current-descendant___xFrMb>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C:not(:disabled){color:var(--brand-color-text-default)}.Primer_Brand__NavList-module__NavList__item___OceIg:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts).Primer_Brand__NavList-module__NavList__item--has-current-descendant___xFrMb>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=false]:not(:disabled) .Primer_Brand__NavList-module__NavList__labelArea___N5Ya6{background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__NavList-module__NavList__link___lJiXk:focus-visible,.Primer_Brand__NavList-module__NavList__accordionButton___Jii1C:focus-visible{outline:var(--brand-borderWidth-thick) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__NavList-module__NavList__subNav___DZ2GX .Primer_Brand__NavList-module__NavList__link___lJiXk:focus-visible,.Primer_Brand__NavList-module__NavList__subNav___DZ2GX .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C:focus-visible{outline-offset:calc(-1 * var(--base-size-2))}.Primer_Brand__NavList-module__NavList__link___lJiXk[aria-current]:not([aria-current=false]){color:var(--brand-color-text-default);background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__NavList-module__NavList__item--leaf___SN9hT:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts) .Primer_Brand__NavList-module__NavList__link___lJiXk[aria-current]:not([aria-current=false]):before{content:"";inset-block:var(--base-size-8);width:var(--base-size-4);border-radius:var(--base-size-2);background-color:var(--brand-NavList-activeIndicator-color);position:absolute;inset-inline-start:0}.Primer_Brand__NavList-module__NavList__item--has-current-descendant___xFrMb>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=false]:not(:disabled):before{content:"";block-size:var(--base-size-16);width:var(--base-size-4);border-radius:var(--base-size-2);background-color:var(--brand-NavList-activeIndicator-color);z-index:1;position:absolute;inset-block-start:50%;transform:translateY(-50%)}.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts.Primer_Brand__NavList-module__NavList__item--has-current-descendant___xFrMb>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=false]:before{inset-inline-start:calc(-1 * var(--base-size-8))}.Primer_Brand__NavList-module__NavList__item___OceIg:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts).Primer_Brand__NavList-module__NavList__item--has-current-descendant___xFrMb>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=false]:before{inset-inline-start:var(--base-size-4)}.Primer_Brand__NavList-module__NavList__item___OceIg:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts).Primer_Brand__NavList-module__NavList__item--has-current-descendant___xFrMb>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=false]{padding-inline-start:var(--base-size-12)}.Primer_Brand__NavList-module__NavList__item___OceIg:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts).Primer_Brand__NavList-module__NavList__item--has-current-descendant___xFrMb>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=false] .Primer_Brand__NavList-module__NavList__labelArea___N5Ya6{padding-inline-start:var(--base-size-2)}.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk[aria-current]:not([aria-current=false]){padding-inline-start:0}.Primer_Brand__NavList-module__NavList__link--disabled___gPpvz{color:var(--brand-color-text-disabled);pointer-events:none}.Primer_Brand__NavList-module__NavList__accordionButton___Jii1C:disabled{color:var(--brand-color-text-disabled);cursor:not-allowed}.Primer_Brand__NavList-module__NavList__label___cZ4Jt{word-break:break-word;min-width:0}.Primer_Brand__NavList-module__NavList__labelArea___N5Ya6{align-items:center;gap:var(--base-size-8);border-radius:var(--brand-borderRadius-small);flex:auto;min-width:0;display:flex}.Primer_Brand__NavList-module__NavList__leadingVisual___ToOHr,.Primer_Brand__NavList-module__NavList__trailingVisual___q6Uc4{color:inherit;flex:none;display:inline-flex}.Primer_Brand__NavList-module__NavList__trailingVisual___q6Uc4{margin-inline-start:auto;margin-inline-end:var(--base-size-6)}.Primer_Brand__NavList-module__NavList__toggleIcon___hh94D{transform-origin:50%;transition:transform var(--brand-animation-duration-fast) var(--brand-animation-easing-glide);flex:none}.Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=true] .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D{transform:rotate(-180deg)}.Primer_Brand__NavList-module__NavList__subNav___DZ2GX{opacity:0;max-height:0;transform:translateY(calc(-1 * var(--base-size-8)));visibility:hidden;transition:max-height var(--brand-animation-duration-fast) var(--brand-animation-easing-glide), opacity var(--brand-animation-duration-fast) var(--brand-animation-easing-glide), transform var(--brand-animation-duration-fast) var(--brand-animation-easing-glide), visibility 0s linear var(--brand-animation-duration-fast);flex-direction:column;gap:0;margin:0;padding:0;display:flex;overflow:hidden}.Primer_Brand__NavList-module__NavList__subNav--expanded___Wu6L6{max-height:none;max-height:var(--brand-NavList-subNav-height,none);opacity:1;visibility:visible;transition:max-height var(--brand-animation-duration-fast) var(--brand-animation-easing-glide), opacity var(--brand-animation-duration-fast) var(--brand-animation-easing-glide), transform var(--brand-animation-duration-fast) var(--brand-animation-easing-glide), visibility 0s linear 0s;transform:translateY(0)}.Primer_Brand__NavList-module__NavList__subNav___DZ2GX[aria-hidden=true] .Primer_Brand__NavList-module__NavList__subNav___DZ2GX{visibility:hidden}.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4{padding:var(--base-size-24) var(--base-size-16) var(--base-size-16)}.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts.Primer_Brand__NavList-module__NavList__item--expanded___b3doz{padding-block-end:var(--base-size-16)}.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk{font-size:var(--brand-text-size-200);font-weight:var(--brand-text-weight-500);line-height:var(--brand-text-lineHeight-200);order:1}.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C{color:var(--brand-color-text-default);min-height:var(--base-size-32);margin-block:calc(-1 * var(--base-size-8));border-radius:var(--brand-borderRadius-small);padding-inline-start:0;padding-inline-end:var(--base-size-6)}.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C>*{z-index:1;position:relative}.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C:not(:disabled):hover:after,.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C:not(:disabled):active:after,.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts.Primer_Brand__NavList-module__NavList__item--has-current-descendant___xFrMb>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=false]:not(:disabled):after{content:"";z-index:0;border-radius:var(--brand-borderRadius-small);background-color:var(--brand-color-canvas-subtle);pointer-events:none;position:absolute;inset-block:0;inset-inline:0}.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D{order:2;margin-inline-start:auto}.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-2___AEntj>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-3___yJC82>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-4___w3rA3>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D{order:1}.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-2___AEntj>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-3___yJC82>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-4___w3rA3>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C{min-height:var(--base-size-32);margin-block:calc(-1 * var(--base-size-8));border-radius:var(--brand-borderRadius-small)}.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-2___AEntj>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-3___yJC82>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-4___w3rA3>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D{position:absolute;inset-block-start:50%;inset-inline-start:calc(-1 * var(--brand-NavList-control-paddingInlineStart));transform:translateY(-50%)}.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-2___AEntj>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=true] .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-3___yJC82>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=true] .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-4___w3rA3>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=true] .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D{transform:translateY(-50%)rotate(-180deg)}.Primer_Brand__NavList-module__NavList__item___OceIg:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts).Primer_Brand__NavList-module__NavList__item--has-current-descendant___xFrMb>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__accordionButton___Jii1C[aria-expanded=false] .Primer_Brand__NavList-module__NavList__toggleIcon___hh94D{inset-inline-start:calc(-1 * var(--base-size-16))}.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-2___AEntj>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-3___yJC82>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-4___w3rA3>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk,.Primer_Brand__NavList-module__NavList__item___OceIg.Primer_Brand__NavList-module__NavList__item--level-5___euPGq>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk{font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);order:2}.Primer_Brand__NavList-module__NavList__list--flat___wuoKR>.Primer_Brand__NavList-module__NavList__item--leaf___SN9hT>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk{font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200);letter-spacing:var(--brand-text-letterSpacing-200)}.Primer_Brand__NavList-module__NavList__item--leaf___SN9hT:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts)>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk{min-height:var(--base-size-32);border-radius:var(--brand-borderRadius-small)}.Primer_Brand__NavList-module__NavList__item--leaf___SN9hT:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts)>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__labelArea___N5Ya6{min-height:calc(var(--base-size-32) - var(--brand-borderWidth-thin));margin-block-end:var(--brand-borderWidth-thin)}.Primer_Brand__NavList-module__NavList__item--leaf___SN9hT:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts) .Primer_Brand__NavList-module__NavList__link___lJiXk[aria-current]:not([aria-current=false]){background-color:#0000}.Primer_Brand__NavList-module__NavList__item--leaf___SN9hT:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts)>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk:hover .Primer_Brand__NavList-module__NavList__labelArea___N5Ya6,.Primer_Brand__NavList-module__NavList__item--leaf___SN9hT:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts) .Primer_Brand__NavList-module__NavList__link___lJiXk[aria-current]:not([aria-current=false]) .Primer_Brand__NavList-module__NavList__labelArea___N5Ya6{background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__NavList-module__NavList__item--leaf___SN9hT:not(.Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts)>.Primer_Brand__NavList-module__NavList__itemContent___TyAP4 .Primer_Brand__NavList-module__NavList__link___lJiXk:hover{background-color:#0000}[data-color-mode=dark] .Primer_Brand__NavList-module__NavList___U7Jyj{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-reduced-motion:reduce){.Primer_Brand__NavList-module__NavList___U7Jyj,.Primer_Brand__NavList-module__NavList___U7Jyj:before,.Primer_Brand__NavList-module__NavList___U7Jyj:after,.Primer_Brand__NavList-module__NavList___U7Jyj *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--brand-IDE-height:50rem}:root,[data-color-mode=light]{--brand-IDE-default-bgColor:var(--base-color-scale-gray-1);--brand-IDE-default-editor-bgColor:var(--base-color-scale-white-0);--brand-IDE-default-editor-tabs-bgColor:var(--base-color-scale-gray-0);--brand-IDE-default-editor-tab-bgColor-rest:var(--base-color-scale-gray-0);--brand-IDE-default-editor-tab-bgColor-active:var(--base-color-scale-white-0);--brand-IDE-default-editor-tab-borderColor:var(--base-color-scale-blue-5);--brand-IDE-glass-bgColor-rest:#ffffffd9;--brand-IDE-glass-chat-bgColor:#ffffff0f;--brand-IDE-glass-editor-bgColor:#ffffff0f;--brand-IDE-glass-editor-tabs-bgColor:transparent;--brand-IDE-glass-editor-tab-bgColor-rest:#ffffff1a;--brand-IDE-glass-editor-tab-bgColor-active:#ffffff0f;--brand-IDE-borderColor:var(--brand-color-border-muted);--brand-IDE-autoSuggest-bgColor:#0969da;--brand-IDE-autoSuggest-fgColor:var(--base-color-scale-white-0);--brand-IDE-autoSuggest-borderColor:var(--base-color-scale-blue-5);--brand-IDE-autoSuggestLine-bgColor:var(--base-color-scale-blue-0);--brand-IDE-scrollBar-bgColor:transparent;--brand-IDE-scrollBar-fgColor:var(--base-color-scale-gray-2);--brand-IDE-playPauseControl-rest:var(--base-color-scale-gray-2);--brand-IDE-playPauseControl-hover:var(--base-color-scale-gray-3)}[data-color-mode=dark]{--brand-IDE-default-bgColor:#131337;--brand-IDE-default-editor-bgColor:#242538;--brand-IDE-default-editor-tabs-bgColor:linear-gradient(0deg, #0038ff05 0%, #0038ff05 100%), #17182c;--brand-IDE-default-editor-tab-bgColor-rest:#24253880;--brand-IDE-default-editor-tab-bgColor-active:#242538;--brand-IDE-default-editor-tab-borderColor:var(--base-color-scale-blue-5);--brand-IDE-glass-bgColor-rest:#000000b3;--brand-IDE-glass-chat-bgColor:#0000000f;--brand-IDE-glass-editor-bgColor:#242538c4;--brand-IDE-glass-editor-tabs-bgColor:transparent;--brand-IDE-glass-editor-tab-bgColor-rest:#24253880;--brand-IDE-glass-editor-tab-bgColor-active:#242538c4;--brand-IDE-borderColor:#171d22;--brand-IDE-autoSuggest-bgColor:#0969da;--brand-IDE-autoSuggest-fgColor:var(--base-color-scale-white-0);--brand-IDE-autoSuggest-borderColor:var(--base-color-scale-blue-5);--brand-IDE-autoSuggestLine-bgColor:var(--base-color-scale-blue-9);--brand-IDE-scrollBar-bgColor:transparent;--brand-IDE-scrollBar-fgColor:var(--base-color-scale-gray-5);--brand-IDE-playPauseControl-rest:#4d4e6a;--brand-IDE-playPauseControl-hover:#5a5b7c}.Primer_Brand__IDE-module__IDE__inner___C7yFe{--brand-IDE-lineNumber-width:45px;background:var(--brand-IDE-default-bgColor);border:var(--brand-borderWidth-thin) solid var(--brand-IDE-borderColor)}.Primer_Brand__IDE-module__IDE--glass___uVNlv{-webkit-backdrop-filter:blur(var(--base-size-12));backdrop-filter:blur(var(--base-size-12))}.Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__inner___C7yFe{background:var(--brand-IDE-glass-bgColor-rest);border-color:#0000!important}.Primer_Brand__IDE-module__IDE__main___UBKnG{width:100%;height:100%;display:flex}.Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__main___UBKnG{height:var(--brand-IDE-height)}.Primer_Brand__IDE-module__IDE--default___cSAvc .Primer_Brand__IDE-module__IDE__main___UBKnG{padding-top:var(--base-size-32)}.Primer_Brand__IDE-module__IDE__inner___C7yFe{width:100%;height:var(--brand-IDE-height);margin:calc(var(--base-size-12) - 2px) auto;border-radius:var(--brand-borderRadius-large);position:relative;overflow:hidden}.Primer_Brand__IDE-module__IDE__Chat___w081c{grid-gap:var(--base-size-16);gap:var(--base-size-16);color:var(--brand-color-text-default);flex-direction:column;grid-area:pane;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__Chat___w081c{background:var(--brand-IDE-glass-chat-bgColor)}.Primer_Brand__IDE-module__IDE--full-exp___QszuK .Primer_Brand__IDE-module__IDE__Chat___w081c{min-width:300px;max-width:450px}@media screen and (width<=63.24rem){.Primer_Brand__IDE-module__IDE--full-exp___QszuK .Primer_Brand__IDE-module__IDE__Chat___w081c{display:none}}.Primer_Brand__IDE-module__IDE__Chat-wrapper___chroS{display:contents}.Primer_Brand__IDE-module__IDE__Chat-message-user___AhfYF{gap:var(--base-size-8);align-items:center;display:inline-flex}.Primer_Brand__IDE-module__IDE__Chat-messages___EcZF_{scrollbar-width:thin;scrollbar-color:var(--brand-IDE-scrollBar-fgColor) var(--brand-IDE-scrollBar-bgColor);height:calc(100% - 78px);overflow-y:scroll}.Primer_Brand__IDE-module__IDE__Chat-messages___EcZF_::-webkit-scrollbar{width:var(--base-size-12)}.Primer_Brand__IDE-module__IDE__Chat-messages___EcZF_::-webkit-scrollbar-track{background:var(--brand-IDE-scrollBar-bgColor)}.Primer_Brand__IDE-module__IDE__Chat-messages___EcZF_::-webkit-scrollbar-thumb{background-color:var(--brand-IDE-scrollBar-fgColor);border-radius:var(--base-size-20);border:var(--brand-borderRadius-small) solid var(--brand-IDE-scrollBar-bgColor)}.Primer_Brand__IDE-module__IDE__Chat-input-area___OJkxC{bottom:var(--base-size-16);width:100%;padding:0 var(--base-size-20);opacity:.5;position:absolute}.Primer_Brand__IDE-module__IDE__Chat-input___XXUIS{border-color:var(--brand-color-border-default);background:var(--brand-IDE-default-bgColor)!important;color:var(--brand-color-text-muted)!important;-webkit-text-fill-color:var(--brand-color-text-muted)!important}.Primer_Brand__IDE-module__IDE__Chat-input-area___OJkxC svg{fill:var(--brand-color-text-muted)}.Primer_Brand__IDE-module__IDE__Chat-message-content___yFYul{margin-top:var(--base-size-16)}.Primer_Brand__IDE-module__IDE__Chat-message-snippet___DAl6x{background-color:var(--brand-IDE-default-editor-bgColor);overflow-x:hidden}.Primer_Brand__IDE-module__IDE__Chat-message___LMwct{font-family:var(--brand-fontStack-sansSerif);font-size:var(--base-size-16);border-bottom:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding:var(--base-size-20);opacity:0;transform:translateY(var(--brand-animation-variant-slideInDown-distance));transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), transform var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__IDE-module__IDE__Chat-message--visible___hq0hB{opacity:1;transform:translateY(0)}.Primer_Brand__IDE-module__IDE__Chat-message--faded___Mj7EF{opacity:.5}.Primer_Brand__IDE-module__IDE__Chat-message___LMwct pre{border:var(--brand-borderWidth-thick) solid var(--brand-color-border-default);padding:var(--base-size-16);border-radius:var(--brand-borderRadius-large);font-family:var(--brand-fontStack-monospace);font-size:calc(var(--base-size-12) + 2px)!important}.Primer_Brand__IDE-module__IDE__Editor___MkJjR{flex-direction:column;grid-area:editor;width:100%;height:100%;display:flex}.Primer_Brand__IDE-module__IDE--default___cSAvc .Primer_Brand__IDE-module__IDE__Editor___MkJjR{width:100%;padding-left:var(--base-size-20)}.Primer_Brand__IDE-module__IDE__Editor-tabs___zFwQA{background:var(--brand-IDE-default-editor-tabs-bgColor);display:inline-flex;overflow-x:auto}.Primer_Brand__IDE-module__IDE--default___cSAvc .Primer_Brand__IDE-module__IDE__Editor-tabs___zFwQA{background:var(--brand-IDE-default-editor-tabs-bgColor)}.Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__Editor-tabs___zFwQA{background:var(--brand-IDE-glass-editor-tabs-bgColor)}.Primer_Brand__IDE-module__IDE__Editor-tab___lY6lZ{padding:var(--base-size-8) var(--base-size-12);align-items:center;gap:var(--base-size-4);font:inherit;font-family:var(--brand-fontStack-monospace);font-size:calc(var(--base-size-12) + 2px);color:var(--brand-color-text-muted);cursor:pointer;transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);opacity:1;border:none;flex-shrink:0;display:flex}.Primer_Brand__IDE-module__IDE--default___cSAvc .Primer_Brand__IDE-module__IDE__Editor-tab___lY6lZ{background:var(--brand-IDE-default-editor-tab-bgColor-rest)}.Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__Editor-tab___lY6lZ{background:var(--brand-IDE-glass-editor-tab-bgColor-rest)}.Primer_Brand__IDE-module__IDE__Editor-tab--active___FuQ4L{color:var(--brand-color-text-default);border-top:var(--brand-borderWidth-thin) solid var(--brand-IDE-default-editor-tab-borderColor);z-index:1}.Primer_Brand__IDE-module__IDE--default___cSAvc .Primer_Brand__IDE-module__IDE__Editor-tab--active___FuQ4L{background:var(--brand-IDE-default-editor-tab-bgColor-active)}.Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__Editor-tab___lY6lZ{color:var(--brand-color-text-muted);background:0 0}.Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__Editor-tab--active___FuQ4L{color:var(--brand-color-text-default);background:var(--brand-IDE-glass-editor-tab-bgColor-active)}.Primer_Brand__IDE-module__IDE--full-exp___QszuK.Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__Editor-tab--active___FuQ4L{background:var(--brand-IDE-default-editor-bgColor)}.Primer_Brand__IDE-module__IDE__Editor-tab___lY6lZ:hover{color:var(--brand-color-text-default)}.Primer_Brand__IDE-module__IDE__Editor-tab___lY6lZ[disabled]{cursor:not-allowed;opacity:.7;color:var(--brand-color-text-muted)!important}.Primer_Brand__IDE-module__IDE__Editor-tab-close-icon___jxo0b{width:var(--base-size-12);height:var(--base-size-12);fill:var(--brand-color-text-muted);margin-inline-start:var(--base-size-4)}img.Primer_Brand__IDE-module__IDE__Editor-tab-icon___IyrSp{width:var(--base-size-16);height:var(--base-size-16);filter:grayscale(10%)}.Primer_Brand__IDE-module__IDE__Editor-tab___lY6lZ:hover .Primer_Brand__IDE-module__IDE__Editor-tab-close-icon___jxo0b{fill:var(--brand-color-text-default)}.Primer_Brand__IDE-module__IDE__Editor-content___qUzu5{height:100%;padding-top:var(--base-size-16);overflow-x:auto}.Primer_Brand__IDE-module__IDE--default___cSAvc .Primer_Brand__IDE-module__IDE__Editor-content___qUzu5{background:var(--brand-IDE-default-editor-bgColor)}.Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__Editor-content___qUzu5{background:var(--brand-IDE-glass-editor-bgColor);border-bottom-left-radius:var(--brand-borderRadius-large)}.Primer_Brand__IDE-module__IDE--full-exp___QszuK.Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__Editor-content___qUzu5{background:var(--brand-IDE-default-editor-bgColor)}.Primer_Brand__IDE-module__IDE__Editor-pane___ZQjcs{margin:0}.Primer_Brand__IDE-module__IDE__Editor-content-wrapper___gb9HC{display:flex}.Primer_Brand__IDE-module__IDE__Editor-content-inner___HAje_{flex:1}.Primer_Brand__IDE-module__IDE__Editor--small____cDnd .Primer_Brand__IDE-module__IDE__Editor-pane___ZQjcs,.Primer_Brand__IDE-module__IDE__Editor--small____cDnd .Primer_Brand__IDE-module__IDE__Editor-lineNumbers___t0wju{font-size:calc(var(--base-size-12) - 1px)!important;line-height:calc(var(--base-size-16) + 2px)!important}.Primer_Brand__IDE-module__IDE__Editor--medium___Nihdg .Primer_Brand__IDE-module__IDE__Editor-pane___ZQjcs,.Primer_Brand__IDE-module__IDE__Editor--medium___Nihdg .Primer_Brand__IDE-module__IDE__Editor-lineNumbers___t0wju{font-size:.875rem!important;line-height:19.9px!important}.Primer_Brand__IDE-module__IDE__Editor--large___YlfAf .Primer_Brand__IDE-module__IDE__Editor-pane___ZQjcs,.Primer_Brand__IDE-module__IDE__Editor--large___YlfAf .Primer_Brand__IDE-module__IDE__Editor-lineNumbers___t0wju{font-size:1.125rem!important;line-height:var(--base-size-24)!important}.Primer_Brand__IDE-module__IDE__Editor-pane--suggested___IXAF0{margin-left:calc(-1 * var(--brand-IDE-lineNumber-width));background-color:var(--brand-IDE-autoSuggestLine-bgColor);border-left:var(--brand-borderWidth-thin) solid var(--brand-IDE-autoSuggest-borderColor);padding-left:calc(var(--base-size-64) - 1px)!important}.Primer_Brand__IDE-module__IDE__Editor-lineNumbers___t0wju{z-index:1;font-family:var(--brand-fontStack-monospace);font-weight:var(--brand-text-weight-200);font-feature-settings:"liga" 0, "calt" 0;font-variation-settings:normal;letter-spacing:0;flex:0 0 var(--brand-IDE-lineNumber-width)}.Primer_Brand__IDE-module__IDE__Editor-lineNumber___vSZSt{padding:0 var(--base-size-8);text-align:right;color:var(--brand-color-text-muted);-webkit-user-select:none;user-select:none;cursor:default;white-space:nowrap;text-overflow:ellipsis;display:block;position:relative;overflow:hidden}.Primer_Brand__IDE-module__IDE__Editor-lineNumber-text___Ws1Hq{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;vertical-align:middle;box-sizing:border-box;cursor:default;height:100%;display:inline-block;position:absolute}.Primer_Brand__IDE-module__IDE__Editor___MkJjR pre{color:var(--brand-color-text-default);font-family:var(--brand-fontStack-monospace);padding-left:calc(var(--base-size-64) - var(--brand-IDE-lineNumber-width))}pre.Primer_Brand__IDE-module__IDE__Chat-copilot-indicator___FhoZe{background-color:var(--brand-IDE-autoSuggest-bgColor);padding-left:0;padding:var(--base-size-8) var(--base-size-24);border-radius:var(--brand-borderRadius-small);gap:var(--base-size-16);margin:var(--base-size-4) 0 0 var(--base-size-16);display:inline-flex;box-shadow:-9px 10px 39px #00000040}.Primer_Brand__IDE-module__IDE__Chat-copilot-indicator-label___IWynN{color:var(--brand-IDE-autoSuggest-fgColor);fill:var(--brand-IDE-autoSuggest-fgColor)}.Primer_Brand__IDE-module__IDE__play-pause-button___MKdFP{cursor:pointer;bottom:var(--base-size-16);right:var(--base-size-16);width:var(--base-size-48);height:var(--base-size-48);border-radius:var(--brand-borderRadius-full);background-color:var(--brand-IDE-playPauseControl-rest);transition:background-color var(--brand-animation-duration-faster);border:none;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute}.Primer_Brand__IDE-module__IDE__play-pause-button___MKdFP:hover{background-color:var(--brand-IDE-playPauseControl-hover)}.Primer_Brand__IDE-module__IDE__play-pause-button___MKdFP:focus-visible{outline:var(--base-size-4) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__IDE-module__IDE__play-pause-button___MKdFP svg{width:var(--base-size-16);height:var(--base-size-16)}.Primer_Brand__IDE-module__IDE__play-pause-button___MKdFP path{fill:var(--brand-button-subtle-fgColor-rest)}.Primer_Brand__IDE-module__IDE--chat-only___GsGvX .Primer_Brand__IDE-module__IDE__Chat-input-area___OJkxC{width:calc(100% - var(--base-size-64))}.Primer_Brand__IDE-module__IDE--chat-only___GsGvX .Primer_Brand__IDE-module__IDE__play-pause-button___MKdFP{background-color:var(--brand-IDE-playPauseControl-rest)}.Primer_Brand__IDE-module__IDE--chat-only___GsGvX .Primer_Brand__IDE-module__IDE__play-pause-button___MKdFP:hover{background-color:var(--brand-IDE-playPauseControl-hover)}@media (prefers-reduced-motion:reduce){.Primer_Brand__IDE-module__IDE___QDJIE,.Primer_Brand__IDE-module__IDE___QDJIE:before,.Primer_Brand__IDE-module__IDE___QDJIE:after,.Primer_Brand__IDE-module__IDE___QDJIE *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root,[data-color-mode=light]{--brand-breadcrumbs-separator-borderColor:var(--base-color-scale-gray-6)}[data-color-mode=dark]{--brand-breadcrumbs-separator-borderColor:var(--base-color-scale-gray-1)}.Primer_Brand__Breadcrumbs-module__Breadcrumbs___ANvyl{font-family:var(--brand-fontStack-sansSerif);justify-content:space-between;display:flex}@media screen and (width<=63.25rem){.Primer_Brand__Breadcrumbs-module__Breadcrumbs___ANvyl{-webkit-overflow-scrolling:touch;overflow-x:auto}}.Primer_Brand__Breadcrumbs-module__Breadcrumbs--default___q2JxW{--brand-InlineLink-color-rest:var(--brand-color-text-default);--brand-InlineLink-color-pressed:var(--brand-color-text-default)}.Primer_Brand__Breadcrumbs-module__Breadcrumbs__list___S1xLw{margin:0;padding-inline-start:0}@media screen and (width<=63.25rem){.Primer_Brand__Breadcrumbs-module__Breadcrumbs__list___S1xLw{display:inline-flex}}.Primer_Brand__Breadcrumbs-module__Breadcrumbs__item___IX25P{white-space:nowrap;list-style:none;display:inline-block}.Primer_Brand__Breadcrumbs-module__Breadcrumbs__item___IX25P:after{content:"";height:.8em;margin:0 var(--base-size-12);border-right:var(--brand-borderWidth-thin) solid var(--brand-breadcrumbs-separator-borderColor);display:inline-block;transform:rotate(15deg)translateY(.0625em)}.Primer_Brand__Breadcrumbs-module__Breadcrumbs__item___IX25P:first-child{margin-left:0}.Primer_Brand__Breadcrumbs-module__Breadcrumbs__item___IX25P:last-child:after{content:none}.Primer_Brand__Breadcrumbs-module__Breadcrumbs__link___B3gbd{font-size:var(--brand-text-size-100);-webkit-text-decoration:none;text-decoration:none;display:inline-block}@media screen and (width<=63.25rem){.Primer_Brand__Breadcrumbs-module__Breadcrumbs__link___B3gbd{white-space:nowrap}}.Primer_Brand__Breadcrumbs-module__Breadcrumbs__link___B3gbd:hover,.Primer_Brand__Breadcrumbs-module__Breadcrumbs__link___B3gbd:focus{-webkit-text-decoration:underline;text-decoration:underline}.Primer_Brand__Breadcrumbs-module__Breadcrumbs__link--selected___zP0bj{color:var(--brand-color-text-default);pointer-events:none;font-weight:inherit;letter-spacing:inherit}.Primer_Brand__Breadcrumbs-module__Breadcrumbs--default___q2JxW .Primer_Brand__Breadcrumbs-module__Breadcrumbs__link--selected___zP0bj{color:var(--brand-color-text-muted)}.Primer_Brand__Breadcrumbs-module__Breadcrumbs__link--selected___zP0bj:focus{-webkit-text-decoration:none;text-decoration:none}:root{--brand-Section-variant-gridline-paddingInline:var(--base-size-20);--brand-Section-container-maxWidth:80rem;--brand-Section-padding-spacious:var(--base-size-64);--brand-Section-padding-normal:var(--base-size-48);--brand-Section-padding-condensed:var(--base-size-16)}@media (width>=768px){:root{--brand-Section-variant-gridline-paddingInline:var(--base-size-40);--brand-Section-padding-spacious:var(--base-size-80);--brand-Section-padding-normal:var(--base-size-64);--brand-Section-padding-condensed:var(--base-size-32)}}@media (width>=1024px){:root{--brand-Section-padding-spacious:var(--base-size-128);--brand-Section-padding-normal:var(--base-size-96);--brand-Section-padding-condensed:var(--base-size-48)}}@media (width>=1280px){:root{--brand-Section-variant-gridline-paddingInline:var(--base-size-64)}}.Primer_Brand__Section-module__Section___wNnZR{--rounded-padding-overlap-adjustment:0px;--rounded-radius:var(--brand-borderRadius-xlarge);--padding-block-start:var(--brand-Section-padding-normal);--padding-block-end:var(--brand-Section-padding-normal);--adjusted-padding-block-end:calc(var(--padding-block-end) + var(--rounded-padding-overlap-adjustment));background-repeat:no-repeat;background-color:var(--brand-Section-narrow-background-color,var(--brand-Section-background-color));background-image:var(--brand-Section-narrow-background-image-src,var(--brand-Section-background-image-src));background-size:var(--brand-Section-narrow-background-image-size,var(--brand-Section-background-image-size));background-position:50%;background-position:var(--brand-Section-narrow-background-image-position,var(--brand-Section-background-image-position,center));padding-block-start:var(--padding-block-start);padding-block-end:var(--adjusted-padding-block-end)}.Primer_Brand__Section-module__Section__container___irc5A{width:100%;max-width:var(--brand-Section-container-maxWidth);margin-inline:auto}.Primer_Brand__Section-module__Section__container--fullWidth___LwJV7{max-width:none}.Primer_Brand__Section-module__Section--variant-gridline___ULwen .Primer_Brand__Section-module__Section__container___irc5A{padding-inline:var(--brand-Section-variant-gridline-paddingInline)}.Primer_Brand__Section-module__Section--variant-gridline___ULwen .Primer_Brand__Section-module__Section__container--fullWidth___LwJV7{padding-inline:0}.Primer_Brand__Section-module__Section___wNnZR.Primer_Brand__Section-module__Section--variant-gridline___ULwen:after{bottom:calc(-1 * var(--brand-borderWidth-thin))}.Primer_Brand__Section-module__Section--rounded___y86mS{border-radius:var(--rounded-radius) var(--rounded-radius) 0 0;margin-top:calc(-1 * var(--rounded-radius))}.Primer_Brand__Section-module__Section___wNnZR:has(+.Primer_Brand__Section-module__Section--rounded___y86mS){--rounded-padding-overlap-adjustment:var(--rounded-radius)}.Primer_Brand__Section-module__Section--paddingBlockStart-none___q_KT1,.Primer_Brand__Section-module__Section-narrow--paddingBlockStart-none___VKaUr{--padding-block-start:0}.Primer_Brand__Section-module__Section--paddingBlockStart-condensed___jXPMP,.Primer_Brand__Section-module__Section-narrow--paddingBlockStart-condensed___MM1ai{--padding-block-start:var(--brand-Section-padding-condensed)}.Primer_Brand__Section-module__Section--paddingBlockStart-normal___okSnn,.Primer_Brand__Section-module__Section-narrow--paddingBlockStart-normal___EIj1h{--padding-block-start:var(--brand-Section-padding-normal)}.Primer_Brand__Section-module__Section--paddingBlockStart-spacious___Dbzh2,.Primer_Brand__Section-module__Section-narrow--paddingBlockStart-spacious___r_4fG{--padding-block-start:var(--brand-Section-padding-spacious)}.Primer_Brand__Section-module__Section--paddingBlockEnd-none___OPMCW,.Primer_Brand__Section-module__Section-narrow--paddingBlockEnd-none___PaxIA{--padding-block-end:0px}.Primer_Brand__Section-module__Section--paddingBlockEnd-condensed___Iq2bF,.Primer_Brand__Section-module__Section-narrow--paddingBlockEnd-condensed___Nmq0F{--padding-block-end:var(--brand-Section-padding-condensed)}.Primer_Brand__Section-module__Section--paddingBlockEnd-normal___wlGa4,.Primer_Brand__Section-module__Section-narrow--paddingBlockEnd-normal___aMtgm{--padding-block-end:var(--brand-Section-padding-normal)}.Primer_Brand__Section-module__Section--paddingBlockEnd-spacious___BFFzY,.Primer_Brand__Section-module__Section-narrow--paddingBlockEnd-spacious___LGxf3{--padding-block-end:var(--brand-Section-padding-spacious)}@media screen and (width>=48rem){.Primer_Brand__Section-module__Section___wNnZR{background-color:var(--brand-Section-regular-background-color,var(--brand-Section-background-color));background-image:var(--brand-Section-regular-background-image-src,var(--brand-Section-background-image-src));background-size:var(--brand-Section-regular-background-image-size,var(--brand-Section-background-image-size));background-position:var(--brand-Section-regular-background-image-position,var(--brand-Section-background-image-position))}.Primer_Brand__Section-module__Section-regular--paddingBlockStart-none___HgDah{--padding-block-start:0}.Primer_Brand__Section-module__Section-regular--paddingBlockStart-condensed___JTztM{--padding-block-start:var(--brand-Section-padding-condensed)}.Primer_Brand__Section-module__Section-regular--paddingBlockStart-normal___JTsVr{--padding-block-start:var(--brand-Section-padding-normal)}.Primer_Brand__Section-module__Section-regular--paddingBlockStart-spacious___q_eWC{--padding-block-start:var(--brand-Section-padding-spacious)}.Primer_Brand__Section-module__Section-regular--paddingBlockEnd-none___lPDsS{--padding-block-end:0px}.Primer_Brand__Section-module__Section-regular--paddingBlockEnd-condensed___uRtvc{--padding-block-end:var(--brand-Section-padding-condensed)}.Primer_Brand__Section-module__Section-regular--paddingBlockEnd-normal___gtZb4{--padding-block-end:var(--brand-Section-padding-normal)}.Primer_Brand__Section-module__Section-regular--paddingBlockEnd-spacious___SalhC{--padding-block-end:var(--brand-Section-padding-spacious)}}@media screen and (width>=80rem){.Primer_Brand__Section-module__Section___wNnZR{background-color:var(--brand-Section-wide-background-color,var(--brand-Section-background-color));background-image:var(--brand-Section-wide-background-image-src,var(--brand-Section-background-image-src));background-size:var(--brand-Section-wide-background-image-size,var(--brand-Section-background-image-size));background-position:var(--brand-Section-wide-background-image-position,var(--brand-Section-background-image-position))}.Primer_Brand__Section-module__Section-wide--paddingBlockStart-none___aIgHE{--padding-block-start:0}.Primer_Brand__Section-module__Section-wide--paddingBlockStart-condensed___daJpd{--padding-block-start:var(--brand-Section-padding-condensed)}.Primer_Brand__Section-module__Section-wide--paddingBlockStart-normal___J4uxA{--padding-block-start:var(--brand-Section-padding-normal)}.Primer_Brand__Section-module__Section-wide--paddingBlockStart-spacious___wje1J{--padding-block-start:var(--brand-Section-padding-spacious)}.Primer_Brand__Section-module__Section-wide--paddingBlockEnd-none___FjpEH{--padding-block-end:0px}.Primer_Brand__Section-module__Section-wide--paddingBlockEnd-condensed___Lijsj{--padding-block-end:var(--brand-Section-padding-condensed)}.Primer_Brand__Section-module__Section-wide--paddingBlockEnd-normal___u9c2A{--padding-block-end:var(--brand-Section-padding-normal)}.Primer_Brand__Section-module__Section-wide--paddingBlockEnd-spacious___zMr50{--padding-block-end:var(--brand-Section-padding-spacious)}.Primer_Brand__Section-module__Section--variant-gridline___ULwen .Primer_Brand__Section-module__Section__container___irc5A:not(.Primer_Brand__Section-module__Section__container--fullWidth___LwJV7){border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);position:relative}.Primer_Brand__Section-module__Section--variant-gridline___ULwen .Primer_Brand__Section-module__Section__container___irc5A:not(.Primer_Brand__Section-module__Section__container--fullWidth___LwJV7):before,.Primer_Brand__Section-module__Section--variant-gridline___ULwen .Primer_Brand__Section-module__Section__container___irc5A:not(.Primer_Brand__Section-module__Section__container--fullWidth___LwJV7):after{content:"";width:var(--brand-borderWidth-thin);background-color:var(--brand-color-border-muted);pointer-events:none;position:absolute;inset-block-start:calc(-1 * var(--padding-block-start));inset-block-end:calc(-1 * var(--adjusted-padding-block-end))}.Primer_Brand__Section-module__Section--variant-gridline___ULwen .Primer_Brand__Section-module__Section__container___irc5A:not(.Primer_Brand__Section-module__Section__container--fullWidth___LwJV7):before{inset-inline-start:calc(-1 * var(--brand-borderWidth-thin))}.Primer_Brand__Section-module__Section--variant-gridline___ULwen .Primer_Brand__Section-module__Section__container___irc5A:not(.Primer_Brand__Section-module__Section__container--fullWidth___LwJV7):after{inset-inline-end:calc(-1 * var(--brand-borderWidth-thin))}}:root{--brand-Statistic-spacing-spacious:2rem;--brand-Statistic-spacing-normal:1.5rem;--brand-Statistic-spacing-condensed:1rem}.Primer_Brand__Statistic-module__Statistic___sB6bA img,.Primer_Brand__Statistic-module__Statistic___sB6bA picture{display:block}.Primer_Brand__Statistic-module__Statistic--variant-boxed___X9IAB{background-color:var(--brand-color-canvas-subtle);border-radius:var(--brand-borderRadius-large)}.Primer_Brand__Statistic-module__Statistic--variant-boxed___X9IAB,.Primer_Brand__Statistic-module__Statistic--variant-boxed___X9IAB.Primer_Brand__Statistic-module__Statistic--padding-none___mZRAE{padding:var(--brand-Statistic-spacing-spacious)}.Primer_Brand__Statistic-module__Statistic--padding-none___mZRAE{padding:0}.Primer_Brand__Statistic-module__Statistic--padding-condensed___JhuYL{padding:var(--brand-Statistic-spacing-condensed)}.Primer_Brand__Statistic-module__Statistic--padding-normal___JcofR{padding:var(--brand-Statistic-spacing-normal)}.Primer_Brand__Statistic-module__Statistic--padding-spacious___njBos{padding:var(--brand-Statistic-spacing-spacious)}.Primer_Brand__Statistic-module__Statistic--narrow-padding-condensed___MWqsG{padding:var(--brand-box-spacing-condensed)}.Primer_Brand__Statistic-module__Statistic--narrow-padding-normal___yCtE0{padding:var(--brand-box-spacing-normal)}.Primer_Brand__Statistic-module__Statistic--narrow-padding-spacious___iSeZl{padding:var(--base-size-32)}.Primer_Brand__Statistic-module__Statistic--narrow-padding-none___D1xJU{padding:0}@media screen and (width>=48rem){.Primer_Brand__Statistic-module__Statistic--regular-padding-condensed___kJuH6{padding:var(--brand-Statistic-spacing-condensed)}.Primer_Brand__Statistic-module__Statistic--regular-padding-normal___UZq0p{padding:var(--brand-Statistic-spacing-normal)}.Primer_Brand__Statistic-module__Statistic--regular-padding-spacious___MODDU{padding:var(--brand-Statistic-spacing-spacious)}.Primer_Brand__Statistic-module__Statistic--regular-padding-none___fR2Ho{padding:0}}@media screen and (width>=80rem){.Primer_Brand__Statistic-module__Statistic--wide-padding-condensed___KVY9L{padding:var(--brand-Statistic-spacing-condensed)}.Primer_Brand__Statistic-module__Statistic--wide-padding-normal___WJhTd{padding:var(--brand-Statistic-spacing-normal)}.Primer_Brand__Statistic-module__Statistic--wide-padding-spacious___cnjbs{padding:var(--brand-Statistic-spacing-spacious)}.Primer_Brand__Statistic-module__Statistic--wide-padding-none____fUci{padding:0}}.Primer_Brand__Statistic-module__Statistic__heading___xQ8Ki{position:relative}.Primer_Brand__Statistic-module__Statistic__heading___xQ8Ki sup{font-size:var(--brand-text-size-100);line-height:0;font-weight:var(--brand-text-weight-100);vertical-align:top;top:var(--base-size-6);font-stretch:100%;position:relative}.Primer_Brand__Statistic-module__Statistic__heading___xQ8Ki sup a{padding:var(--base-size-4);line-height:1;display:inline-block}.Primer_Brand__Statistic-module__Statistic__description--accent___wZsb5{color:var(--brand-color-accent-primary)}.Primer_Brand__Statistic-module__Statistic__description___I2lpL{margin-block-start:var(--base-size-8);font-stretch:100%;display:block;position:relative}.Primer_Brand__Statistic-module__Statistic__description___I2lpL sup{font-size:var(--brand-text-size-100);vertical-align:top;line-height:0;position:relative;top:0}.Primer_Brand__Statistic-module__Statistic__description___I2lpL sup a{padding:var(--base-size-4);line-height:1;display:inline-block}.Primer_Brand__BreakoutBanner-module__BreakoutBanner___OholM{max-width:var(--brand-breakpoint-xlarge);border-radius:var(--brand-borderRadius-large);background-repeat:no-repeat;background-color:var(--brand-BreakoutBanner-narrow-background-color,var(--brand-BreakoutBanner-background-color));background-image:var(--brand-BreakoutBanner-narrow-background-image-src,var(--brand-BreakoutBanner-background-image-src));background-size:var(--brand-BreakoutBanner-narrow-background-image-size,var(--brand-BreakoutBanner-background-image-size));background-position:50%;background-position:var(--brand-BreakoutBanner-narrow-background-image-position,var(--brand-BreakoutBanner-background-image-position,center));width:100%;margin:0 auto;display:flex;position:relative}.Primer_Brand__BreakoutBanner-module__BreakoutBanner-container___X145s{border-radius:var(--brand-borderRadius-xlarge);padding:var(--base-size-40) var(--base-size-24) var(--base-size-128);z-index:1;box-sizing:border-box;width:100%}.Primer_Brand__BreakoutBanner-module__BreakoutBanner-content___WPxKC{flex-direction:column;align-items:flex-start;display:flex}.Primer_Brand__BreakoutBanner-module__BreakoutBanner-container--background___i0tOy{background:var(--brand-BreakoutBanner-bgColor)}.Primer_Brand__BreakoutBanner-module__BreakoutBanner-content--center___mDWpD{text-align:center;align-items:center}.Primer_Brand__BreakoutBanner-module__BreakoutBanner__heading___mnzmT{max-width:20ch}.Primer_Brand__BreakoutBanner-module__BreakoutBanner-description___xrWUJ{max-width:54ch;margin-block-start:var(--base-size-16)}.Primer_Brand__BreakoutBanner-module__BreakoutBanner-linkGroup___s8PUk{margin-block-start:var(--base-size-48)}.Primer_Brand__BreakoutBanner-module__BreakoutBanner-leadingVisual___lIc6l{margin-block-end:var(--base-size-48)}.Primer_Brand__BreakoutBanner-module__BreakoutBanner-leadingVisual___lIc6l img,.Primer_Brand__BreakoutBanner-module__BreakoutBanner-leadingVisual___lIc6l picture{display:block}@media screen and (width>=48rem){.Primer_Brand__BreakoutBanner-module__BreakoutBanner___OholM{background-color:var(--brand-BreakoutBanner-regular-background-color,var(--brand-BreakoutBanner-background-color));background-image:var(--brand-BreakoutBanner-regular-background-image-src,var(--brand-BreakoutBanner-background-image-src));background-size:var(--brand-BreakoutBanner-regular-background-image-size,var(--brand-BreakoutBanner-background-image-size));background-position:var(--brand-BreakoutBanner-regular-background-image-position,var(--brand-BreakoutBanner-background-image-position))}.Primer_Brand__BreakoutBanner-module__BreakoutBanner-container___X145s{padding:var(--base-size-48)}}@media screen and (width>=80rem){.Primer_Brand__BreakoutBanner-module__BreakoutBanner___OholM{background-color:var(--brand-BreakoutBanner-wide-background-color,var(--brand-BreakoutBanner-background-color));background-image:var(--brand-BreakoutBanner-wide-background-image-src,var(--brand-BreakoutBanner-background-image-src));background-size:var(--brand-BreakoutBanner-wide-background-image-size,var(--brand-BreakoutBanner-background-image-size));background-position:var(--brand-BreakoutBanner-wide-background-image-position,var(--brand-BreakoutBanner-background-image-position))}}.Primer_Brand__Footnotes-module__Footnotes___EvN5V{padding-block:var(--base-size-80);gap:var(--base-size-12);flex-direction:column;display:flex}.Primer_Brand__Footnotes-module__Footnotes--variant-citations___bUHtk{font-family:var(--brand-body-fontFamily);font-weight:var(--brand-text-weight-100);font-size:var(--brand-text-size-100);line-height:var(--brand-text-lineHeight-100);letter-spacing:var(--brand-text-letterSpacing-100);color:var(--brand-color-text-muted);margin:0;padding-inline-start:var(--base-size-16)}.Primer_Brand__Footnotes-module__Footnotes--variant-citations___bUHtk .Primer_Brand__Footnotes-module__FootnotesItem___QQCwY{padding-inline-start:var(--base-size-12)}.Primer_Brand__Footnotes-module__FootnotesItem___QQCwY{scroll-margin-top:80px}.Primer_Brand__Footnotes-module__FootnotesItem__citationIcon___HeITw{margin-inline-start:var(--base-size-4);transform:scaleY(-1)}.Primer_Brand__Footnotes-module__FootnotesItem__citationText___s2efV{gap:var(--base-size-4);display:inline}:root{--brand-FrostedGlassVFX-blurIntensity-high:var(--base-size-80);--brand-FrostedGlassVFX-blurIntensity-medium:var(--base-size-48);--brand-FrostedGlassVFX-blurIntensity-low:var(--base-size-12)}:root,[data-color-mode=light]{--brand-FrostedGlassVFX-bgColor:#ffffffb3;--brand-FrostedGlassVFX-boxShadow:0 4px 10px 0 #00000005;--brand-FrostedGlassVFX-borderMask:linear-gradient(to bottom, #d8dee480, #d8dee45e 100%)}[data-color-mode=dark]{--brand-FrostedGlassVFX-bgColor:#9c9c9c1a;--brand-FrostedGlassVFX-boxShadow:0 4px 10px 0 #00000005;--brand-FrostedGlassVFX-borderMask:linear-gradient(#000 0, #000 0) exclude, linear-gradient(#000 0, #000 0) content-box}@supports (background:linear-gradient(red 0%, red 0% 1%, red 2%)){[data-color-mode=dark]{--brand-FrostedGlassVFX-borderMask:linear-gradient(#000 0 0) exclude, linear-gradient(#000 0 0) content-box}}.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX___DrCGZ{background-color:var(--brand-FrostedGlassVFX-bgColor);position:relative}.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX--rounded-corners___V4gcI{border-radius:var(--brand-borderRadius-xlarge)}.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX--intensity-low___a87yo{-webkit-backdrop-filter:blur(var(--brand-FrostedGlassVFX-blurIntensity-low));backdrop-filter:blur(var(--brand-FrostedGlassVFX-blurIntensity-low))}.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX--intensity-medium___z1VQ1{-webkit-backdrop-filter:blur(var(--brand-FrostedGlassVFX-blurIntensity-medium));backdrop-filter:blur(var(--brand-FrostedGlassVFX-blurIntensity-medium))}.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX--intensity-high___kUSHI{-webkit-backdrop-filter:blur(var(--brand-FrostedGlassVFX-blurIntensity-high));backdrop-filter:blur(var(--brand-FrostedGlassVFX-blurIntensity-high))}.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX___DrCGZ:before{content:"";z-index:-1;padding:var(--brand-borderWidth-thin);background:var(--brand-FrostedGlassVFX-borderMask);-webkit-mask:linear-gradient(var(--base-color-scale-black-0) 0, var(--base-color-scale-black-0) 0), linear-gradient(var(--base-color-scale-black-0) 0, var(--base-color-scale-black-0) 0) content-box;-webkit-mask-composite:xor;-webkit-mask:linear-gradient(var(--base-color-scale-black-0) 0, var(--base-color-scale-black-0) 0), linear-gradient(var(--base-color-scale-black-0) 0, var(--base-color-scale-black-0) 0) content-box;-webkit-mask-composite:xor;-webkit-mask:linear-gradient(var(--base-color-scale-black-0) 0, var(--base-color-scale-black-0) 0) exclude, linear-gradient(var(--base-color-scale-black-0) 0, var(--base-color-scale-black-0) 0) content-box;mask:linear-gradient(var(--base-color-scale-black-0) 0, var(--base-color-scale-black-0) 0) exclude, linear-gradient(var(--base-color-scale-black-0) 0, var(--base-color-scale-black-0) 0) content-box;-webkit-mask-composite:xor;position:absolute;inset:0}@supports (background:linear-gradient(red 0%, red 0% 1%, red 2%)){.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX___DrCGZ:before{-webkit-mask:linear-gradient(var(--base-color-scale-black-0) 0 0), linear-gradient(var(--base-color-scale-black-0) 0 0) content-box;-webkit-mask:linear-gradient(var(--base-color-scale-black-0) 0 0) exclude, linear-gradient(var(--base-color-scale-black-0) 0 0) content-box;mask:linear-gradient(var(--base-color-scale-black-0) 0 0) exclude, linear-gradient(var(--base-color-scale-black-0) 0 0) content-box}}.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX--rounded-corners___V4gcI:before{border-radius:var(--brand-borderRadius-xlarge)}.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX___DrCGZ>*{background-color:#0000}.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX___DrCGZ>*,.Primer_Brand__FrostedGlassVFX-module__FrostedGlassVFX___DrCGZ>:before{border-color:#0000}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked___ngJ17{--brand-Grid-spacing-row:var(--base-size-64)}@media screen and (width>=48rem) and (width<=63.24rem){.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked___ngJ17{max-width:618px;margin-inline:auto}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked___ngJ17.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--variant-gridline___T6ZrI{padding-inline:var(--base-size-32);padding-block:calc(var(--base-size-64) - var(--base-size-4));--SectionIntroStacked-item-divider-overflow-start:var(--base-size-32);--SectionIntroStacked-item-divider-overflow-end:var(--base-size-32)}}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--variant-gridline___T6ZrI{padding-inline:var(--base-size-24);padding-block:var(--base-size-32);--SectionIntroStacked-item-divider-overflow-start:var(--base-size-24);--SectionIntroStacked-item-divider-overflow-end:var(--base-size-24);position:relative}@media screen and (width>=63.25rem){.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--variant-gridline___T6ZrI{padding-inline:var(--base-size-64);padding-block:var(--base-size-64);--SectionIntroStacked-item-divider-overflow-start:0px;--SectionIntroStacked-item-divider-overflow-end:var(--base-size-64)}}@media screen and (width>=80rem){.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--variant-gridline___T6ZrI{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-heading--muted___CHRqJ,.Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem__item-text--muted___iWmQS{color:var(--brand-color-text-muted)}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-heading--muted___CHRqJ em,.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-heading--muted___CHRqJ b,.Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem__item-text___5DHtq em,.Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem__item-text___5DHtq b{color:var(--brand-color-text-default);font-style:normal;font-weight:var(--base-text-weight-normal)}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--full-width___kRyw0 .Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-heading___tolwP{max-width:none}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-description___zSilb{max-width:50ch;margin-block-start:var(--base-size-16)}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-link___Y2Sox{margin-block-start:var(--base-size-16)}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-items___rf3nz{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}@media screen and (width<=63.24rem){.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-heading___tolwP{font-size:var(--brand-text-size-600)}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-items___rf3nz{overflow:hidden}}@media screen and (width>=63.25rem){.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-items___rf3nz{top:var(--base-size-2);position:relative}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--variant-gridline___T6ZrI .Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-items___rf3nz{border-inline-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);margin-block:calc(-1 * var(--base-size-64));padding-block:calc(var(--base-size-64) - var(--base-size-32));position:static;top:auto}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked-content___ULK2q{padding-inline-end:var(--base-size-80)}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--variant-gridline___T6ZrI .Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem-item___c3mLD{padding-inline-start:var(--base-size-64)}}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--variant-gridline___T6ZrI .Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem-item___c3mLD{border-block-end:none;position:relative}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--variant-gridline___T6ZrI .Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem-item___c3mLD:first-child{padding-block-start:var(--base-size-40)}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--variant-gridline___T6ZrI .Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem-item___c3mLD:last-child{padding-block-end:var(--base-size-40)}.Primer_Brand__SectionIntroStacked-module__SectionIntroStacked--variant-gridline___T6ZrI .Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem-item___c3mLD:not(:last-child):after{content:"";bottom:0;left:calc(-1 * var(--SectionIntroStacked-item-divider-overflow-start));right:calc(-1 * var(--SectionIntroStacked-item-divider-overflow-end));border-bottom:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);position:absolute}.Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem-item___c3mLD{padding-block:var(--base-size-40);border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem-item___c3mLD:last-child{border-block-end:none;padding-block-end:0}.Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem-item___c3mLD:first-child{padding-block-start:0}.Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem-item--with-icon___Ej53Q{align-items:flex-start;gap:var(--base-size-24);flex-direction:column;display:flex}@media screen and (width>=48rem){.Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem-item--with-icon___Ej53Q{gap:var(--base-size-48);flex-direction:row}}.Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem__content___TdGFS{gap:var(--base-size-12);flex-direction:column;flex:1;min-width:0;display:flex}.Primer_Brand__SectionIntroStacked-module__SectionIntroStackedItem__icon___TUK4t{border-radius:var(--base-size-12);flex-shrink:0}:root{--brand-Tabs-container-padding:var(--base-size-4)}:root,[data-color-mode=light]{--brand-Tabs-item-accent-bgColor-rest:var(--base-color-scale-green-6);--brand-Tabs-item-accent-fgColor-rest:var(--base-color-scale-white-0);--brand-Tabs-item-default-bgColor-active:linear-gradient(180deg, #ffffff1f 0%, #9999991f 100%);--brand-Tabs-item-default-borderColor-active:var(--brand-color-border-default);--brand-Tabs-item-underline-rest:var(--base-color-scale-black-0);--brand-Tabs-list-borderWidth-active:var(--brand-borderWidth-thin)}[data-color-mode=dark]{--brand-Tabs-item-accent-bgColor-rest:var(--base-color-scale-green-5);--brand-Tabs-item-accent-fgColor-rest:var(--base-color-scale-white-0);--brand-Tabs-item-default-bgColor-active:linear-gradient(180deg, #ffffff1f 0%, #9999991f 100%);--brand-Tabs-item-default-borderColor-active:var(--base-color-scale-white-0);--brand-Tabs-item-underline-rest:var(--base-color-scale-white-0);--brand-Tabs-list-borderWidth-active:var(--brand-borderWidth-thick)}.Primer_Brand__Tabs-module__Tabs___p41NK{gap:var(--base-size-4);background-color:var(--brand-color-canvas-backdrop);border-radius:var(--brand-borderRadius-large);padding:var(--brand-Tabs-container-padding);width:fit-content;min-height:var(--base-size-48);display:flex;position:relative}.Primer_Brand__Tabs-module__Tabs-container___jByf5{display:grid}@media screen and (width<=48rem){.Primer_Brand__Tabs-module__Tabs-container___jByf5{flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.Primer_Brand__Tabs-module__Tabs-container--align-start___X9kN4{align-items:flex-start}.Primer_Brand__Tabs-module__Tabs-container--align-center___MOjwP{align-items:center}.Primer_Brand__Tabs-module__Tablist__wrapper___Bz69R{width:fit-content;max-width:100%;position:relative;overflow:hidden}.Primer_Brand__Tabs-module__Tablist__wrapper___Bz69R:after{content:"";right:var(--brand-Tabs-list-borderWidth-active);top:var(--base-size-2);bottom:var(--base-size-2);background:linear-gradient(to left, var(--brand-color-canvas-default) 30%, transparent);width:var(--base-size-48);z-index:2;pointer-events:none;transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), visibility var(--brand-animation-duration-default) var(--brand-animation-easing-default);opacity:0;opacity:calc(var(--has-overflow,0) * var(--can-scroll-right,0));border-radius:inherit;position:absolute}.Primer_Brand__Tabs-module__Tablist__wrapper--default___pPP9D:after,.Primer_Brand__Tabs-module__Tablist__wrapper--accent___nG4lJ:after{border-radius:var(--brand-borderRadius-full)}.Primer_Brand__Tabs-module__Tablist__wrapper--underline___xT6ku:after{border-radius:var(--brand-borderRadius-large)}.Primer_Brand__Tabs-module__Tablist__wrapper--lastTabIsActive___DHNPp:after{opacity:0;visibility:hidden}.Primer_Brand__Tabs-module__Tabs___p41NK{scrollbar-width:none;-ms-overflow-style:none;max-width:100%;overflow:auto hidden}.Primer_Brand__Tabs-module__Tabs___p41NK::-webkit-scrollbar{display:none}}.Primer_Brand__Tabs-module__Tabs-container--align-start___X9kN4{justify-items:flex-start}.Primer_Brand__Tabs-module__Tabs-container--align-center___MOjwP{justify-items:center}.Primer_Brand__Tabs-module__Tabs--default___g4Kwt,.Primer_Brand__Tabs-module__Tabs--accent___amEYm{border:var(--brand-Tabs-list-borderWidth-active) solid var(--brand-color-border-default);border-radius:var(--brand-borderRadius-full)}.Primer_Brand__Tabs-module__Tabs--underline___Nm9xx{gap:var(--base-size-24)}.Primer_Brand__Tabs-module__Tabs__item___rPI4n{z-index:1;cursor:pointer;padding:var(--base-size-8) var(--base-size-16);border-radius:var(--brand-borderRadius-full);transition:color var(--brand-animation-duration-fast) ease-in-out;white-space:nowrap;font-family:var(--brand-fontStack-sansSerif);font-weight:var(--brand-text-weight-600);font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200);letter-spacing:var(--brand-text-letterSpacing-200);color:var(--brand-color-text-default);background:0 0;border:0;position:relative}.Primer_Brand__Tabs-module__Tabs__slider___hLsBB{top:var(--base-size-4);bottom:var(--base-size-4);transition:all var(--brand-animation-duration-fast) var(--brand-animation-easing-glide);z-index:0;transform:translate(0);transform:translateX(var(--brand-Tabs-slider-x,0px));width:var(--brand-Tabs-slider-width);position:absolute}.Primer_Brand__Tabs-module__Tabs--default___g4Kwt .Primer_Brand__Tabs-module__Tabs__slider___hLsBB{border-radius:var(--brand-borderRadius-full);border:var(--brand-borderWidth-thin) solid var(--brand-Tabs-item-default-borderColor-active);background:var(--brand-Tabs-item-default-bgColor-active)}.Primer_Brand__Tabs-module__Tabs--accent___amEYm .Primer_Brand__Tabs-module__Tabs__slider___hLsBB{border-radius:var(--brand-borderRadius-full);border:var(--brand-borderWidth-thin) solid transparent;background:var(--brand-Tabs-item-accent-bgColor-rest)}.Primer_Brand__Tabs-module__Tabs--underline___Nm9xx .Primer_Brand__Tabs-module__Tabs__slider___hLsBB{border-bottom:var(--brand-borderWidth-thick) solid var(--brand-Tabs-item-underline-rest)}.Primer_Brand__Tabs-module__Tabs__item___rPI4n:focus-visible{outline:var(--base-size-2) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__Tabs-module__Tabs__item--active___ruoXn{color:var(--brand-color-text-default)}.Primer_Brand__Tabs-module__Tabs--underline___Nm9xx .Primer_Brand__Tabs-module__Tabs__item___rPI4n{padding:var(--base-size-8);border-radius:var(--brand-borderRadius-medium)}.Primer_Brand__Tabs-module__Tabs--accent___amEYm .Primer_Brand__Tabs-module__Tabs__item___rPI4n{transition:color var(--brand-animation-duration-faster) ease}.Primer_Brand__Tabs-module__Tabs--accent___amEYm .Primer_Brand__Tabs-module__Tabs__item--active___ruoXn{color:var(--brand-Tabs-item-accent-fgColor-rest)}.Primer_Brand__Tabs-module__Tabs__panelContainer___oZAgR{margin-top:var(--base-size-16)}.Primer_Brand__Tabs-module__Tabs__panel___JjAmC{color:var(--brand-color-text-default)}.Primer_Brand__Tabs-module__Tabs__controls___OrV44{margin-block-end:var(--base-size-12)}.Primer_Brand__Tabs-module__Tabs__indicator___KDvsE{width:var(--base-size-6);border-radius:var(--brand-borderRadius-full);background-color:var(--brand-color-text-muted);height:var(--base-size-6);transition:width var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__Tabs-module__Tabs__indicator--active___XFIc8{background-color:var(--brand-color-text-default);width:var(--base-size-24)}.Primer_Brand__Tabs-module__Tabs__control___crCR5{cursor:pointer;height:var(--base-size-24);width:var(--base-size-24);background-color:#0000;border:none;align-content:center;display:flex}.Primer_Brand__Tabs-module__Tabs__control-icon___cgGsh{top:calc(var(--base-size-2) / -2);position:relative;vertical-align:middle!important}@media screen and (width>=48rem){.Primer_Brand__Tabs-module__Tabs__controls___OrV44{display:none}.Primer_Brand__Tabs-module__Tabs__item___rPI4n{padding-inline:var(--base-size-24)}}:root{--brand-Tiles-item-maxSize:11.5rem}:root,[data-color-mode=light]{--brand-tiles-bgColor-rest:#fafafa;--brand-tiles-bgColor-hover:#f2f5f3;--brand-tiles-highlightColor:#08872b}[data-color-mode=dark]{--brand-tiles-bgColor-rest:#090d0a;--brand-tiles-bgColor-hover:#101411;--brand-tiles-highlightColor:#5fed83}.Primer_Brand__Tiles-module__Tiles___z9bH9{width:100%;color:var(--brand-color-text-default)}.Primer_Brand__Tiles-module__Tiles-grid___PVssB{--tiles-columns:var(--tiles-columns-xsmall);flex-wrap:wrap;justify-content:center;margin:0;margin-inline:auto;padding:0;list-style:none;display:flex}.Primer_Brand__Tiles-module__Tiles--layout-default___UIRQE .Primer_Brand__Tiles-module__Tiles-grid___PVssB,.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-grid___PVssB{max-width:min(100%, calc(var(--brand-Tiles-item-maxSize) * var(--tiles-columns)))}@media screen and (width>=34rem) and (width<=47.99rem){.Primer_Brand__Tiles-module__Tiles-grid___PVssB{--tiles-columns:var(--tiles-columns-small)}}@media screen and (width>=48rem){.Primer_Brand__Tiles-module__Tiles-grid___PVssB{--tiles-columns:var(--tiles-columns-medium)}}@media screen and (width>=63.25rem){.Primer_Brand__Tiles-module__Tiles-grid___PVssB{--tiles-columns:var(--tiles-columns-large)}}.Primer_Brand__Tiles-module__Tiles--variant-gridlines___XV5ah .Primer_Brand__Tiles-module__Tiles-grid___PVssB{padding-right:var(--brand-borderWidth-thin);padding-bottom:var(--brand-borderWidth-thin)}.Primer_Brand__Tiles-module__Tiles-item___NtPvv{--tiles-inset-shadow:inset 0 0 0 transparent;width:calc(100% / var(--tiles-columns));max-width:var(--brand-Tiles-item-maxSize);max-height:var(--brand-Tiles-item-maxSize);box-sizing:border-box;background-color:var(--brand-tiles-bgColor-rest);border-top:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);border-left:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);box-shadow:var(--brand-borderWidth-thin) 0 0 0 var(--brand-color-border-muted), 0 var(--brand-borderWidth-thin) 0 0 var(--brand-color-border-muted), inset 0 0 0 transparent;box-shadow:var(--brand-borderWidth-thin) 0 0 0 var(--brand-color-border-muted), 0 var(--brand-borderWidth-thin) 0 0 var(--brand-color-border-muted), var(--tiles-inset-shadow);transition:background-color var(--brand-animation-duration-faster) var(--brand-animation-easing-default), box-shadow var(--brand-animation-duration-faster) var(--brand-animation-easing-default);flex-direction:column;display:flex;position:relative}:is(.Primer_Brand__Tiles-module__Tiles-item___NtPvv:has(.Primer_Brand__Tiles-module__Tiles-item-link___OhYck):hover,.Primer_Brand__Tiles-module__Tiles-item___NtPvv:has(.Primer_Brand__Tiles-module__Tiles-item-link___OhYck):focus-within){--tiles-inset-shadow:inset 0 var(--base-size-2) 0 var(--brand-tiles-highlightColor);background-color:var(--brand-tiles-bgColor-hover)}.Primer_Brand__Tiles-module__Tiles-item-link___OhYck{width:100%;color:inherit;flex:1;-webkit-text-decoration:none;text-decoration:none;display:flex}.Primer_Brand__Tiles-module__Tiles-item-link___OhYck:focus-visible{outline:var(--base-size-4) solid var(--brand-color-focus);outline-offset:calc(-1 * var(--base-size-4));border-radius:var(--brand-borderRadius-small)}.Primer_Brand__Tiles-module__Tiles-item-content___m7HiY{aspect-ratio:1;justify-content:center;align-items:center;width:100%;display:flex;position:relative}.Primer_Brand__Tiles-module__Tiles-item-media___BLrcU{justify-content:center;align-items:center;display:flex}.Primer_Brand__Tiles-module__Tiles-item-media___BLrcU svg,.Primer_Brand__Tiles-module__Tiles-item-media___BLrcU img{width:auto;height:var(--base-size-40);max-width:100%}.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-media___BLrcU svg,.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-media___BLrcU img{height:var(--base-size-28)}@media screen and (width>=48rem){.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-media___BLrcU svg,.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-media___BLrcU img{height:var(--base-size-32)}}.Primer_Brand__Tiles-module__Tiles-item-label___nnmkF{justify-content:space-between;align-items:center;gap:var(--base-size-4);padding:var(--base-size-12) var(--base-size-16);display:flex;position:absolute;bottom:0;left:0;right:0}.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-media___BLrcU{transition:transform var(--brand-animation-duration-fast) var(--brand-animation-easing-default)}.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-link___OhYck:hover .Primer_Brand__Tiles-module__Tiles-item-media___BLrcU,.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-link___OhYck:focus-visible .Primer_Brand__Tiles-module__Tiles-item-media___BLrcU{transform:translateY(calc(-1 * var(--base-size-4)))}.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-label___nnmkF{opacity:0;transform:translateY(var(--base-size-4));transition:opacity var(--brand-animation-duration-fast) var(--brand-animation-easing-default), transform var(--brand-animation-duration-fast) var(--brand-animation-easing-default);pointer-events:none}.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-link___OhYck:hover .Primer_Brand__Tiles-module__Tiles-item-label___nnmkF,.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-link___OhYck:focus-visible .Primer_Brand__Tiles-module__Tiles-item-label___nnmkF{opacity:1;transform:translateY(0)}.Primer_Brand__Tiles-module__Tiles-item-name___DHlvN{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.Primer_Brand__Tiles-module__Tiles-item-icon___HpkyN{color:var(--brand-color-text-default);flex-shrink:0}@media (prefers-reduced-motion:reduce){.Primer_Brand__Tiles-module__Tiles-item___NtPvv,.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-media___BLrcU,.Primer_Brand__Tiles-module__Tiles--layout-compact___zPp1M .Primer_Brand__Tiles-module__Tiles-item-label___nnmkF{transition:none}}@font-face{font-family:Mona Sans;src:url(/assets/MonaSansVF-wdth-wght-opsz.woff2)format("woff2 supports variations"),url(/assets/MonaSansVF-wdth-wght-opsz.woff2)format("woff2-variations");font-weight:200 900;font-display:swap;font-synthesis:none;font-feature-settings:"liga" 0}@font-face{font-family:MonaSansFallback;size-adjust:104.5%;ascent-override:71%;src:local(Arial)}@font-face{font-family:MonaSansHeaderFallback;size-adjust:103.1%;ascent-override:70%;src:local(Arial Bold)}@font-face{font-family:Hubot Sans;src:url(/assets/Hubot-Sans.woff2)format("woff2 supports variations"),url(/assets/Hubot-Sans.woff2)format("woff2-variations");font-weight:200 900;font-display:swap}@font-face{font-family:Mona Sans Mono;src:url(/assets/MonaSansMonoVF-wght.woff2)format("woff2 supports variations"),url(/assets/MonaSansMonoVF-wght.woff2)format("woff2-variations");font-weight:200 900;font-display:swap;font-synthesis:none}:root,[data-color-mode]{--hub-canvas-default:var(--brand-color-canvas-default);--hub-canvas-white:var(--base-color-scale-white-0);--hub-canvas-muted:var(--brand-color-canvas-muted);--hub-canvas-subtle:var(--brand-color-canvas-subtle);--hub-fg-default:var(--brand-color-text-default);--hub-fg-muted:var(--brand-color-text-muted);--hub-fg-on-emphasis:var(--brand-color-text-onEmphasis);--hub-fg-link:var(--brand-color-text-link-rest);--hub-fg-danger:var(--brand-color-danger-fg);--hub-danger-emphasis:var(--brand-color-danger-emphasis);--hub-fg-on-danger:var(--brand-color-text-onEmphasis);--hub-fg-success:var(--brand-color-success-fg);--hub-success-emphasis:var(--brand-color-success-emphasis);--hub-border-default:var(--brand-color-border-default);--hub-border-muted:var(--brand-color-border-muted);--hub-focus:var(--brand-color-focus);--hub-primary-bg:var(--brand-button-primary-bgColor-rest);--hub-primary-bg-hover:var(--brand-button-primary-bgColor-hover);--hub-primary-bg-active:var(--brand-button-primary-bgColor-active);--hub-primary-fg:var(--brand-button-primary-fgColor-rest);--hub-accent:var(--brand-color-accent-primary);--hub-accent-subtle:color-mix(in srgb, var(--brand-color-accent-primary) 12%, var(--brand-color-canvas-default));--hub-danger-subtle:var(--brand-color-danger-subtle);--hub-success-subtle:var(--brand-color-success-subtle);--hub-attention:var(--brand-color-accent-secondary);--hub-attention-subtle:color-mix(in srgb, var(--brand-color-accent-secondary) 12%, var(--brand-color-canvas-default));--hub-border-width-thick:var(--brand-borderWidth-thick);--hub-text-size-small:var(--base-size-12);--hub-shadow-floating:0 .5rem 1.5rem #00000029;--hub-shadow-control-raised:0 .0625rem .125rem #00000014;--hub-shadow-control-field:0 .0625rem 0 #00000008, 0 .125rem .125rem #00000005;--hub-shadow-selection:0 .0625rem .1875rem #0000001f;--hub-shadow-review-overlay:0 .75rem 2rem #0104094d;--hub-shadow-review-marker:0 0 2px #01040936, 0 3px 5px #01040932;--hub-space-4:var(--base-size-4);--hub-space-8:var(--base-size-8);--hub-space-12:var(--base-size-12);--hub-space-16:var(--base-size-16);--hub-space-24:var(--base-size-24);--hub-space-32:var(--base-size-32);--hub-radius-small:var(--brand-borderRadius-small);--hub-radius-medium:var(--brand-borderRadius-medium);--hub-radius-large:var(--brand-borderRadius-large);--hub-repository-sidebar-width:calc(var(--base-size-128) + var(--base-size-96) + var(--base-size-24) + var(--base-size-2));--hub-repository-sidebar-inset:var(--base-size-16);--hub-repository-sidebar-collapsed-width:calc(var(--base-size-40) + var(--hub-repository-sidebar-inset) + var(--hub-repository-sidebar-inset));--hub-repository-control-width:calc(var(--hub-repository-sidebar-width) - var(--hub-repository-sidebar-inset) - var(--hub-repository-sidebar-inset) - var(--brand-borderWidth-thin));--hub-repository-account-padding-top:var(--base-size-16);--hub-repository-search-width:calc(var(--base-size-128) + var(--base-size-96))}html,body,#app{min-height:100%;margin:0}body{font-family:var(--brand-body-fontFamily);font-feature-settings:"liga" 0;font-variation-settings:"ital" 0, "opsz" 0, "wdth" 100;-webkit-font-smoothing:antialiased}#app{container-type:inline-size}.hub-theme{background:var(--hub-canvas-default);min-height:100vh;color:var(--hub-fg-default);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--brand-body-fontFamily)}:root[data-color-mode=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-color-mode=dark],.hub-theme[data-color-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-color-mode=dark]{--hub-shadow-floating:0 .5rem 1.5rem #00000073;--hub-shadow-control-raised:0 .0625rem .125rem #0003;--hub-shadow-control-field:0 .0625rem 0 #00000047, 0 .125rem .125rem #0000000d;--hub-shadow-selection:0 .0625rem .1875rem #00000059;--hub-shadow-review-overlay:0 .75rem 2rem #0000008c;--hub-shadow-review-marker:0 0 2px #00000080, 0 3px 5px #00000073}button,input,textarea,select{font:inherit}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:var(--font-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);color:var(--text-color-default,#1f2328);background:color-mix(in srgb, var(--background-color-default,#fff) 94%, var(--text-color-default,#1f2328))}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html,body,#root,.canvas-base{width:100%;height:100%;margin:0;overflow:hidden}#root>div{width:100%;height:100%;min-height:0}body,.canvas-base{background:var(--brand-color-canvas-default,#fff)}.canvas-base{--hub-counter-background:color-mix(in srgb, var(--hub-fg-default) 10%, transparent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--brand-color-text-default,#1f2328);font-family:var(--brand-body-fontFamily,-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);position:relative}.canvas-base[data-color-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--hub-shadow-floating:0 .5rem 1.5rem #00000073}.canvas-base button{-webkit-backdrop-filter:none;transition:none}.canvas-base .canvas-icon-button{width:var(--brand-control-small-size);background:0 0;border:0;gap:0;min-width:0;padding:0}.canvas-base .canvas-icon-button:hover{background:var(--brand-color-canvas-subtle,#f6f8fa)}.canvas-base .canvas-icon-button:focus-visible{outline:2px solid var(--hub-accent);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.renderer-loading{visibility:hidden}.canvas-shell{--canvas-browser-bar-height:2.5rem;--canvas-toolbar-height:2.75rem;--canvas-preview-top:calc(var(--canvas-browser-bar-height) + var(--canvas-toolbar-height));grid-template-rows:var(--canvas-browser-bar-height) auto minmax(0, 1fr);width:100%;height:100%;min-height:0;display:grid;position:relative;overflow:clip}.prototype-frame{background:var(--hub-canvas-default);border:0;width:100%;height:100%;min-height:0;display:block}.canvas-shell--inactive{z-index:0;pointer-events:none}.canvas-base>.canvas-share-page{z-index:1;position:absolute;inset:0}.thread-sample{--hub-sidebar-top:var(--canvas-preview-top,8.5rem)}.thread-sample__content{flex-direction:column;display:flex;overflow:hidden}.thread-sample__toolbar{color:var(--hub-fg-muted);border-bottom:1px solid var(--hub-border-muted);flex:none;margin:0;padding:.75rem 1rem;font-size:.75rem;line-height:1.5}.thread-sample__filters{justify-content:space-between;align-items:center;gap:var(--base-size-8);display:flex}.thread-sample__empty{padding:var(--base-size-8);color:var(--hub-fg-muted)}.thread-sample__fix-label{align-items:center;gap:var(--hub-space-8);display:inline-flex}.thread-sample__error,.thread-sample__target-status{padding:var(--hub-space-8);color:var(--hub-fg-muted);overflow-wrap:anywhere;flex:none;margin:0}.thread-sample__list{flex:1;min-height:0;padding:.5rem;overflow:auto}.thread-sample__card{margin-bottom:.5rem}.thread-sample__card:before{inset-inline:calc(-1 * var(--hub-space-12)) var(--hub-space-4)}.thread-sample__card:not(.thread-sample__card--resolved) .review-comment-row__author,.thread-sample__card:not(.thread-sample__card--resolved) .review-comment-row__body{color:var(--hub-fg-default)}.thread-sample__card:not(.thread-sample__card--resolved) .review-comment-row__author{font-weight:600}.thread-sample__card-button{padding-inline-end:1.75rem}.thread-sample__heading{align-items:center;gap:var(--base-size-4) var(--base-size-8);flex-wrap:wrap;display:flex}.thread-sample__heading .review-comment-row__author{flex:0 auto}.thread-sample__status{max-width:100%;color:var(--hub-fg-muted);font-size:.6875rem}.thread-sample__status--ready{padding:var(--base-size-2) var(--base-size-8);border:var(--brand-borderWidth-thin) solid var(--hub-fg-success);border-radius:var(--brand-borderRadius-full);color:var(--hub-fg-success);background:0 0}.thread-sample__card svg{flex-shrink:0}.thread-sample__metadata{margin:var(--base-size-4) 0 0 1.75rem;color:var(--hub-fg-muted);overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:.375rem;font-size:.6875rem;display:flex}.thread-sample__metadata code{font-size:inherit}.thread-sample__capture{max-width:calc(100% - 1.75rem);max-height:8rem;margin:var(--base-size-8) 0 0 1.75rem;object-fit:contain;display:block}.thread-sample__follow-ups{align-items:center;gap:var(--base-size-4);color:var(--hub-fg-default);margin:.5rem 0 0 1.75rem;font-size:.75rem;display:flex}.thread-sample__menu{position:absolute;top:.25rem;right:.25rem}.thread-sample__menu button[aria-haspopup=menu]+[popover][aria-hidden=true]{visibility:hidden}.thread-sample__menu-item{column-gap:var(--base-size-8)}.thread-sample__menu-item+.thread-sample__menu-item{margin-block-start:var(--base-size-4)}.thread-sample__surface{z-index:40}.thread-sample__markers{z-index:20}.thread-sample__marker{pointer-events:auto;position:absolute}.thread-sample__conversation .review-thread-conversation__header{grid-template-columns:minmax(0,1fr) auto auto;display:grid}.thread-sample__close{grid-area:1/3;justify-self:end}.thread-sample__copilot-avatar{background:var(--hub-fg-success)}[data-color-mode=dark] .thread-sample__copilot-avatar{background:var(--hub-success-emphasis)}.thread-sample__copilot-avatar img{object-fit:contain;padding:.375rem}.thread-sample__resolve{grid-area:1/2;justify-self:end}.thread-sample__conversation h3{flex:1;margin:0;font-size:.875rem}.thread-sample__delete,.thread-sample__delete span{color:var(--hub-fg-danger)}.thread-sample__menu-item.thread-sample__delete:not([aria-disabled=true]):hover{cursor:default}.thread-sample__quote{border-inline-start:3px solid var(--hub-border-default);white-space:pre-wrap;overflow-wrap:anywhere;margin-block-end:var(--hub-space-16);margin-inline:0;padding-inline-start:1rem}.thread-sample__delete-actions{justify-content:flex-end;align-items:center;gap:var(--hub-space-8);display:flex}.thread-sample__delete-confirm{--brand-button-primary-bgColor-rest:var(--hub-danger-emphasis);--brand-button-primary-bgColor-hover:var(--hub-danger-emphasis);--brand-button-primary-bgColor-active:var(--hub-danger-emphasis);--brand-button-primary-fgColor-rest:var(--hub-fg-on-danger)}.improvement-demo{display:contents}.improvement-demo__split{display:flex}.improvement-demo__split button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.improvement-demo__split button:last-child{border-top-left-radius:0;border-bottom-left-radius:0;margin-inline-start:-1px}.improvement-demo__split button[aria-pressed=true]{background:var(--brand-button-secondary-bgColor-active)}.improvement-demo__split button:focus-visible{z-index:1;position:relative}.improvement-demo__notice{padding:var(--hub-space-8);overflow-wrap:anywhere;flex:none;margin:0}.improvement-demo__composer{width:min(34rem,100vw - 2rem)}.improvement-demo__dialog-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.improvement-demo button:focus-visible,.improvement-demo [tabindex]:focus-visible{outline:2px solid var(--hub-focus);outline-offset:3px} /*$vite$:1*/ \ No newline at end of file diff --git a/.github/extensions/replica-prototype/assets/renderer.js b/.github/extensions/replica-prototype/assets/renderer.js index e0329f51..0b9d7562 100644 --- a/.github/extensions/replica-prototype/assets/renderer.js +++ b/.github/extensions/replica-prototype/assets/renderer.js @@ -1,8 +1,8 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["renderer-improvement-notes-prototype.js","renderer-rolldown-runtime.js","renderer-vendor.js","renderer-improvement-notes-vendor.js","renderer-prototype-canvas-improvement-threads.js","renderer-prototype-canvas-thread-sample.js"])))=>i.map(i=>d[i]); -import{r as e,t}from"./renderer-rolldown-runtime.js";import{A as n,B as r,C as i,D as a,E as o,F as s,G as c,H as l,I as u,J as d,K as f,L as p,N as m,O as h,R as g,S as _,T as v,U as y,V as b,W as x,X as S,Y as C,_ as w,a as T,c as E,d as D,f as O,h as k,i as A,j,k as M,l as N,m as P,n as F,o as I,p as L,q as R,r as z,s as B,t as ee,u as te,v as ne,w as re,x as ie,y as ae,z as oe}from"./renderer-vendor.js";var V=e(S(),1),se=d(),H=f(),U=R();function ce({size:e=`medium`,className:t,label:n}){return(0,U.jsx)(`span`,{role:n?`status`:void 0,"aria-label":n,"aria-hidden":!n||void 0,className:`hub-spinner hub-spinner--${e}${t?` ${t}`:``}`})}function le({className:e,...t}){return(0,U.jsx)(`span`,{...t,className:`hub-visually-hidden${e?` ${e}`:``}`})}function W(e){let t=(0,V.useId)(),{as:n,href:r,ref:i,icon:a,description:o,loading:s=!1,size:c=`medium`,variant:l=`default`,className:u,...d}=e,f=`hub-icon-button${c===`small`?` hub-icon-button--small`:``}${l===`invisible`?` hub-icon-button--invisible`:``}${l===`danger`?` hub-icon-button--danger`:``}${u?` ${u}`:``}`,p=l===`invisible`?`subtle`:`secondary`,m=!(!o||d.title||d[`aria-describedby`]||`disabled`in d&&d.disabled),h=[d[`aria-describedby`],o&&!m?t:void 0].filter(Boolean).join(` `)||void 0,g=d.title??(m?void 0:o??d[`aria-label`]),_=o&&!m?(0,U.jsx)(le,{id:t,children:o}):null,v=s?(0,U.jsx)(ce,{decorative:!0,size:`small`}):(0,U.jsx)(a,{size:16}),y=s?!0:d[`aria-busy`];if(n===`a`){let e=i,t=(0,U.jsx)(H.Button,{...d,ref:e,as:`a`,href:r,leadingVisual:v,variant:p,size:c,className:f,"aria-busy":y,"aria-describedby":h,title:g,children:_});return m&&o?(0,U.jsx)(H.Tooltip,{ref:i,text:o,type:`description`,children:t}):t}let b=(0,U.jsx)(H.Button,{...d,ref:i,type:d.type??`button`,leadingVisual:v,variant:p,size:c,className:f,"aria-busy":y,"aria-describedby":h,title:g,children:_});return m&&o?(0,U.jsx)(H.Tooltip,{ref:i,text:o,type:`description`,children:b}):b}function ue({title:e,closeLabel:t,onClose:n,returnFocusRef:r,descriptionId:i,className:a,children:o}){let s=(0,V.useRef)(null),c=(0,V.useId)();return(0,V.useLayoutEffect)(()=>{let e=s.current,t=r?.current??(document.activeElement instanceof HTMLElement?document.activeElement:null);return e?.showModal(),()=>{e?.close(),(r?.current??t)?.focus()}},[r]),(0,U.jsxs)(`dialog`,{ref:s,"aria-labelledby":c,"aria-describedby":i,className:a?`canvas-dialog ${a}`:`canvas-dialog`,onCancel:e=>{e.preventDefault(),n()},onClick:e=>{if(e.target!==e.currentTarget)return;let{left:t,right:r,top:i,bottom:a}=e.currentTarget.getBoundingClientRect();(e.clientXr||e.clientYa)&&n()},children:[(0,U.jsxs)(`header`,{className:`canvas-dialog-header`,children:[(0,U.jsx)(H.Heading,{as:`h2`,size:`5`,id:c,children:e}),(0,U.jsx)(W,{variant:`default`,size:`small`,icon:te,"aria-label":t,onClick:n})]}),o]})}var G={improvementNotesLoading:`Loading improvement notes demo...`,mentionSuggestions:`Mention suggestions`,mentionSuggestionsError:`Mention suggestions are unavailable. Try again.`,mentionSuggestionsLoading:`Loading people...`,mentionSuggestionsEmpty:`No matching people. You can type a GitHub login to check it when sending.`,mentionLimit:`Each message can mention at most 10 distinct people.`,controls:`Controls`,controlsMove:`Move controls`,controlsMoveHint:`Drag to move. Use arrow keys, or Shift and arrow keys for smaller steps.`,controlsCollapse:`Collapse controls`,controlsExpand:`Expand controls`,controlsCollapseGroup:e=>`Collapse ${e}`,controlsExpandGroup:e=>`Expand ${e}`,controlsDescription:`Settings stay in this prototype's URL. The app may paint before Controls apply declared defaults.`,controlsConnecting:`Connecting controls...`,controlsEmpty:`No active controls. This prototype may have no declaration or this route may not mount controls.`,controlsLearnMore:`Learn more`,controlsMissingRuntime:`No supported controls runtime found.`,controlsLocalMissingRuntime:`Local controls couldn't connect.`,controlsLocalConnectionFailed:`The preview has not responded to controls. Retry the connection or ask Copilot to diagnose the cause.`,controlsLocalStorageFailed:`Controls could not be saved in the prototype URL. Changes remain in memory.`,controlsDiagnose:`Diagnose with Copilot`,controlsFix:`Fix with Copilot`,controlsDiagnostics:`Technical details`,controlsUnavailable:e=>`${e} is unavailable`,controlsNotApplied:e=>`${e} could not be applied`,controlsDiagnosisRequested:`Requested in chat`,controlsDiagnosisFailed:`Could not request a diagnosis. Try again.`,controlsUnsupportedRuntime:`This controls runtime version is unsupported. Upgrade only after an approved release.`,controlsInvalid:`The Controls definitions are invalid. Fix controls.replica.json and reload.`,controlsScopeError:(e,t)=>`Controls scope "${e}" did not connect. ${t}`,controlsRetry:`Retry connection`,controlsRetryStorage:`Retry saving`,controlsResetAll:`Reset all controls`,controlsRegion:`Prototype controls`,controlsActionBusy:` - Working...`,controlsActionUnavailable:`No mounted action handler.`,controlsValueNotApplied:`This value was not applied.`,browserNavigation:`Prototype navigation`,browserBack:`Back`,browserForward:`Forward`,browserReload:`Reload preview`,browserAddress:`Prototype address`,browserAddressInvalid:`Enter a valid URL or route.`,browserAddressOrigin:`The address must stay on this prototype's origin.`,browserOpenTab:`Open preview in browser`,browserAppearance:`Preview appearance`,browserLight:`Light appearance`,browserDark:`Dark appearance`,commentingUnavailable:`Commenting needs attention`,commentingDescription:`The canvas could not connect to the preview's commenting bridge.`,closeCommentingDialog:`Close commenting dialog`,commentingFix:`Fix with Copilot`,commentingFixRequested:`Requested in chat`,commentingDismiss:`Dismiss`,commentingMissing:`The preview has not responded through its local proxy. Check that the selected server is running, then reopen the canvas. Script or framing policies, certificate errors, and origin-dependent apps can prevent connection. A Vite plugin or server restart is not required to connect.`,commentingIncompatible:`The preview responded with an incompatible commenting protocol. Update the installed Replica extension and reopen the canvas, or use Fix with Copilot to check the preview connection.`,connectToHub:`Connect to the Hub`,closeConnectionDialog:`Close connection dialog`,connectionDescription:`Connecting to the hub lets you share the prototype with others and enables commenting.`,connectionBeforePublishing:`Connect to the hub before publishing this prototype.`,connectionRepositoryRequired:`Open a repository with a GitHub origin before connecting.`,connectionHubRequired:`Enter and save a Hub URL before connecting.`,connectionOpeningBrowser:`Opening browser...`,connectionApproval:`Browser approval`,connectionWaiting:`Make sure your browser shows the same code`,connectionApprovalExpired:`The approval expired or was declined. Connect again to retry.`,connectionBrowserFailed:e=>`Could not open your browser. Open or copy the approval link below. ${e}`,hubUrl:`Hub URL`,editHubUrl:`Edit Hub URL`,saveHub:`Save Hub`,disconnectFailed:(e,t)=>`Could not disconnect from ${e}: ${t} The previous connection may still be active. Save another Hub URL to switch this canvas locally, or retry Disconnect Hub.`,resetHubUrl:`Reset to repository Hub URL`,resetHubUnavailable:`No repository Hub URL is available. Enter a URL manually or retry reset.`,hubHttpsHint:`Remote Hubs require HTTPS`,copyApprovalLink:`Copy Hub approval link`,approvalLinkCopied:`Approval link copied`,approvalCopyFailed:`Could not copy the link. Copy the Connect to the hub link manually.`,invalidResponse:`The extension returned an invalid response.`,startPage:`Start page`,prototypeFrameTitle:e=>`${e} prototype`,startPageOrigin:`Hub returned a start page outside the prototype.`,hubStatusUnavailable:e=>`Hub status unavailable: ${e}`,hubBuildImported:`Hub imported this Build.`,hubBuildMissing:`Hub has not imported a successful registered Build.`,hubPublicationUnavailable:`Connect to Hub to verify publication.`,editDetails:`Edit details`,startPageHint:`Paste a prototype URL or route. Leave blank to start at /.`,requestFailed:`The request failed.`,statusUnavailable:`Publish status unavailable.`,publishRequestPending:`Waiting for the current commit to run through the publish workflow.`,waitingForHubImport:`The workflow completed. Waiting for Hub to import this Build.`,workingTreeChanged:`Uncommitted changes`,workingTreeClean:`Working tree clean`,buildDetails:`Build details`,latestBuild:`Latest Build`,buildTitle:e=>`Build #${e}`,buildCommit:`Commit`,unknownCommitAuthor:`Unknown`,showBuildHistory:`Show build history`,closeBuildDetails:`Close build details`,branch:`Branch`,sessionId:`Session ID`,comparison:`Branch comparison`,comparisonNeedsRefresh:`Branch comparison unavailable until Git stats refresh.`,upToDate:`Up to date`,commitsBehind:e=>`${e} ${e===1?`commit`:`commits`} behind`,copyBranch:`Copy branch`,copySessionId:`Copy session ID`,branchCopied:`Branch copied`,sessionIdCopied:`Session ID copied`,buildDetailsCopyFailed:e=>`${e} could not be copied. Select it and copy it manually.`,unavailable:`Unavailable`,publishLabels:{succeeded:`Awaiting Hub`,failed:`Retry`,in_progress:`Publishing`,not_published:`Publish`,published:`Published`,requested:`Requested`,unavailable:`Publish`}};function de({onClose:e,state:t,titleButtonRef:n}){let[i,a]=(0,V.useState)(null),[o,s]=(0,V.useState)(null),c=t.stats.branchError?void 0:t.stats.branch,l=t.sessionId,u=t.stats.comparison;async function d(e,t){try{await navigator.clipboard.writeText(e),a(t),s(null)}catch{a(null),s(t===`branch`?G.branch:G.sessionId)}}function f(e,t){if(!e)return null;let n=t===`branch`?G.copyBranch:G.copySessionId,a=t===`branch`?G.branchCopied:G.sessionIdCopied;return(0,U.jsx)(H.Button,{type:`button`,className:`canvas-icon-button`,variant:`subtle`,size:`small`,leadingVisual:i===t?(0,U.jsx)(r,{size:16}):(0,U.jsx)(m,{size:16}),"aria-label":i===t?a:n,title:i===t?a:n,onClick:()=>void d(e,t),children:(0,U.jsx)(`span`,{className:`visually-hidden`,children:n})})}return(0,U.jsxs)(ue,{title:G.buildDetails,closeLabel:G.closeBuildDetails,className:`build-details-dialog`,returnFocusRef:n,onClose:e,children:[(0,U.jsxs)(`dl`,{className:`build-details-list`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`dt`,{children:G.branch}),(0,U.jsxs)(`dd`,{children:[(0,U.jsx)(M,{size:16,"aria-hidden":`true`}),(0,U.jsx)(`code`,{children:c||t.stats.branchError||G.unavailable}),f(c,`branch`)]})]}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`dt`,{children:G.sessionId}),(0,U.jsxs)(`dd`,{children:[(0,U.jsx)(`code`,{children:l||G.unavailable}),f(l,`sessionId`)]})]}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`dt`,{children:u?.branch?`Behind ${u.branch}${u.source===`local`?` (local)`:``}`:G.comparison}),(0,U.jsx)(`dd`,{children:u?.error||(u?.behind===0?G.upToDate:u?.behind==null?G.unavailable:G.commitsBehind(u.behind))})]})]}),(0,U.jsx)(`span`,{role:`status`,"aria-live":`polite`,className:`visually-hidden`,children:i===`branch`?`${G.branchCopied}.`:i===`sessionId`?`${G.sessionIdCopied}.`:``}),o?(0,U.jsx)(`span`,{role:`alert`,className:`build-details-copy-error`,children:G.buildDetailsCopyFailed(o)}):null]})}function fe({pairing:e}){let[t,n]=(0,V.useState)(`idle`),i=(0,V.useRef)(null);(0,V.useEffect)(()=>{i.current?.querySelector(`a`)?.focus()},[]);async function a(){try{await navigator.clipboard.writeText(e.verificationUrl),n(`copied`)}catch{n(`failed`)}}return(0,U.jsxs)(`section`,{className:`hub-connection-approval`,"aria-label":G.connectionApproval,children:[(0,U.jsxs)(`p`,{role:`status`,children:[G.connectionWaiting,` `,(0,U.jsx)(`strong`,{children:e.userCode}),`.`]}),(0,U.jsxs)(`div`,{ref:i,className:`hub-connection-approval-actions`,role:`group`,"aria-label":G.connectionApproval,children:[(0,U.jsx)(H.Button,{as:`a`,variant:`primary`,size:`medium`,href:e.verificationUrl,target:`_blank`,rel:`noopener noreferrer`,children:G.connectToHub}),(0,U.jsx)(W,{icon:t===`copied`?r:m,size:`medium`,className:`hub-connection-approval-copy`,"aria-label":t===`copied`?G.approvalLinkCopied:G.copyApprovalLink,onClick:()=>void a()})]}),(0,U.jsx)(le,{role:`status`,children:t===`copied`?G.approvalLinkCopied:``}),t===`failed`?(0,U.jsx)(`p`,{role:`alert`,children:G.approvalCopyFailed}):null]})}function pe({status:e,pairing:t,connecting:n,error:r,onConnect:i,onSelectHub:a,onResetHub:o,onClose:s,hubButtonRef:c}){let l=(0,V.useId)(),[u,d]=(0,V.useState)(null),[f,p]=(0,V.useState)(!1),[m,h]=(0,V.useState)(!1),[g,_]=(0,V.useState)(!1),[v,y]=(0,V.useState)(!1),[b,x]=(0,V.useState)(``),S=(0,V.useRef)(null),C=(0,V.useRef)(null),w=f||!e?.hubOrigin||u!==null&&!m,T=(0,V.useRef)(w),E=u??e?.hubOrigin??``,D=n||g||v,O=!!t||n;(0,V.useEffect)(()=>{w&&!O?S.current?.focus():T.current&&!O&&C.current?.focus(),T.current=w},[w,O]),(0,V.useEffect)(()=>{if(f||u===null||!m||!e?.hubOrigin)return;let t=window.setTimeout(()=>d(null),0);return()=>window.clearTimeout(t)},[u,f,m,e?.hubOrigin]);async function k(){if(!D){_(!0),x(``);try{await a(E),d(null),p(!1)}catch(e){x(e instanceof Error?e.message:String(e))}finally{_(!1)}}}async function A(){if(!D&&o){y(!0),x(``);try{d(await o()),p(!!e?.hubOrigin)}catch(e){x(e instanceof Error?e.message:String(e))}finally{y(!1)}}}return(0,U.jsxs)(ue,{title:G.connectToHub,closeLabel:G.closeConnectionDialog,onClose:s,returnFocusRef:c,children:[(0,U.jsx)(`p`,{children:G.connectionDescription}),b||r?(0,U.jsx)(`p`,{role:`alert`,children:b||r}):null,(0,U.jsxs)(`form`,{onSubmit:t=>{t.preventDefault(),!D&&(!O&&w&&(f||e?.hubOrigin)?k():(x(``),e?.hubOrigin||h(!0),i(e?.hubOrigin?void 0:E)))},children:[!O&&(w?(0,U.jsxs)(`div`,{className:`hub-connection-origin-field`,children:[(0,U.jsx)(`label`,{htmlFor:l,children:G.hubUrl}),(0,U.jsxs)(`div`,{className:`hub-connection-origin-input`,children:[(0,U.jsx)(H.TextInput,{ref:S,id:l,type:`url`,value:E,onChange:e=>{h(!1),d(e.target.value)},required:!0,fullWidth:!0,disabled:D,placeholder:`https://hub.example.com`}),o?(0,U.jsx)(W,{icon:L,variant:`invisible`,size:`small`,"aria-label":G.resetHubUrl,disabled:D,"aria-busy":v,onClick:()=>void A()}):null]}),f||e?.hubOrigin?(0,U.jsx)(H.Button,{type:`submit`,variant:`subtle`,size:`small`,disabled:D,children:G.saveHub}):null]}):(0,U.jsxs)(`div`,{className:`hub-connection-origin`,children:[(0,U.jsx)(`a`,{href:e?.hubOrigin&&new URL(e.hubOrigin).origin,target:`_blank`,rel:`noopener noreferrer`,children:e?.hubOrigin}),(0,U.jsx)(W,{ref:C,icon:ie,variant:`invisible`,size:`small`,"aria-label":G.editHubUrl,disabled:D,onClick:()=>{x(``),p(!0),d(e?.hubOrigin??``)}})]})),t?(0,U.jsx)(fe,{pairing:t},t.verificationUrl):null,t?null:(0,U.jsx)(H.Button,{type:`submit`,variant:`primary`,disabled:D||!e?.repository||!O&&w&&(f||!!e?.hubOrigin),children:n?G.connectionOpeningBrowser:G.connectToHub})]})]})}function me({title:e,description:t,children:n,action:r,variant:i,layout:o,onDismiss:s,dismissLabel:l,className:u,...d}){let f=i===`critical`?k:i===`success`?oe:i===`info`?a:c;return(0,U.jsxs)(`div`,{...d,role:i===`critical`||i===`warning`?`alert`:`status`,className:`hub-alert hub-alert--${i}${o===`compact`?` hub-alert--compact`:``}${u?` ${u}`:``}`,children:[(0,U.jsx)(f,{className:`hub-alert__icon`,size:20,"aria-hidden":`true`}),(0,U.jsxs)(`div`,{className:`hub-alert__content`,children:[(0,U.jsxs)(H.Text,{as:`p`,size:`100`,className:`hub-alert__message`,children:[(0,U.jsx)(`strong`,{className:`hub-alert__title`,children:e}),t?(0,U.jsx)(`span`,{className:`hub-alert__description`,children:t}):null]}),n]}),r||s?(0,U.jsxs)(`div`,{className:`hub-alert__action`,children:[r,s&&l?(0,U.jsx)(W,{icon:te,"aria-label":l,title:l,variant:`invisible`,size:`small`,onClick:s}):null]}):null]})}var K={title:`Publish uncommitted changes?`,description:`Do you want to commit changes before publishing? Publishing the committed version only excludes your local uncommitted edits.`,checkFailedTitle:`Could not check local changes`,checkFailed:`Git could not check local changes.`,retryCheck:`Retry check`,commit:`Commit changes & publish`,committed:`Publish committed version only`,close:`Close publishing dialog`,changedFiles:`Uncommitted changes`,moreChanges:e=>`${e} more`,localSkills:e=>`${e} local agent skill ${e===1?`file stays`:`files stay`} uncommitted.`,selection:`Copilot commits only changes related to this prototype task and asks if it cannot tell which changes belong.`,remember:`Always commit changes before publishing for this prototype`,settings:`Settings`,alwaysCommit:`Always commit changes before publishing`,retrySettings:`Retry settings`,preferenceTargetChanged:`The checkout changed. Refresh Settings and try again.`,invalidPreference:`Publishing settings returned an invalid response. Retry settings.`};function he({busy:e,error:t,changes:n,checkError:r,remembered:i,returnFocusRef:a,onClose:o,onChoose:s,onRetry:c}){let[l,u]=(0,V.useState)(i),d=(0,V.useId)(),f=(0,V.useId)();return(0,U.jsx)(ue,{title:r?K.checkFailedTitle:K.title,closeLabel:K.close,descriptionId:r?void 0:d,returnFocusRef:a,onClose:()=>{e||o()},className:`publish-changes-dialog`,children:(0,U.jsxs)(H.Stack,{gap:`normal`,padding:`none`,children:[r?null:(0,U.jsx)(`p`,{id:d,children:K.description}),r?(0,U.jsx)(me,{title:r,variant:`critical`,layout:`compact`}):null,n?.files.total?(0,U.jsx)(`section`,{"aria-label":K.changedFiles,children:(0,U.jsxs)(`ul`,{className:`publish-changes-dialog__files`,children:[n.files.paths.map(e=>(0,U.jsx)(`li`,{children:(0,U.jsx)(`code`,{children:e})},e)),n.files.total>n.files.paths.length?(0,U.jsx)(`li`,{children:K.moreChanges(n.files.total-n.files.paths.length)}):null]})}):null,r?null:(0,U.jsxs)(`p`,{children:[n?.localSkills.total?`${K.localSkills(n.localSkills.total)} `:null,K.selection]}),r?null:(0,U.jsxs)(H.FormControl,{id:f,fullWidth:!0,children:[(0,U.jsx)(H.Checkbox,{checked:l,disabled:e,onChange:e=>u(e.target.checked)}),(0,U.jsx)(H.FormControl.Label,{children:K.remember})]}),t?(0,U.jsx)(me,{title:t,variant:`critical`,layout:`compact`}):null,(0,U.jsxs)(`footer`,{className:`publish-changes-dialog__actions`,children:[r?(0,U.jsx)(H.Button,{variant:`primary`,size:`small`,disabled:e,"aria-busy":e,onClick:c,children:K.retryCheck}):null,r?null:(0,U.jsx)(H.Button,{variant:`primary`,size:`small`,disabled:e,"aria-busy":e,onClick:()=>s(`commit-changes`,l),children:K.commit}),(0,U.jsx)(H.Button,{size:`small`,disabled:e,onClick:()=>s(`committed-only`,!1),children:K.committed})]})]})})}function ge({value:e,label:t,copyLabel:n,copiedLabel:r,copyErrorLabel:i,compact:a=!1}){let[o,s]=(0,V.useState)(null),c=o?.value===e?o.status:null,l=c===`copied`?r:n;async function u(){try{await navigator.clipboard.writeText(e),s({value:e,status:`copied`})}catch{s({value:e,status:`failed`})}}return(0,U.jsxs)(`div`,{className:`copyable-text-input${a?` copyable-text-input--compact`:``}`,children:[(0,U.jsxs)(`div`,{className:`copyable-text-input__control`,children:[a?(0,U.jsx)(`input`,{type:`text`,value:e,"aria-label":t,readOnly:!0,className:`copyable-text-input__input`}):(0,U.jsx)(H.TextInput,{value:e,"aria-label":t,readOnly:!0,fullWidth:!0,className:`copyable-text-input__input`}),(0,U.jsx)(W,{icon:m,"aria-label":l,description:a?l:void 0,title:a?void 0:l,variant:`invisible`,size:`small`,className:`copyable-text-input__button`,onClick:()=>void u()})]}),(0,U.jsx)(le,{"aria-live":`polite`,"aria-atomic":`true`,children:c===`copied`?r:``}),c===`failed`?(0,U.jsx)(`span`,{role:`alert`,className:`copyable-text-input__error`,children:i}):null]})}function _e({children:e}){return(0,U.jsx)(`div`,{className:`prototype-workspace__body`,children:e})}function ve({title:e,description:t,trailing:n,headingAs:r=`h2`,headingRef:i}){return(0,U.jsxs)(`header`,{className:`hub-content-page-header`,children:[(0,U.jsxs)(`div`,{className:`hub-content-page-header__top`,children:[(0,U.jsx)(H.Heading,{as:r,size:`4`,ref:i,tabIndex:i?-1:void 0,children:e}),n]}),t?(0,U.jsx)(H.Text,{as:`p`,className:`hub-content-page-header__description`,children:t}):null]})}function ye({labels:e,headingRef:t,headingTrailing:n,feedback:r,form:i,formUnavailable:a,links:o,hasLinks:s,showEmpty:c=!0,listRef:l,listBusy:u,beforeLinks:d,afterLinks:f}){return(0,U.jsxs)(H.Stack,{gap:`normal`,children:[(0,U.jsx)(ve,{title:e.heading,description:e.description,headingRef:t,trailing:n}),r,i||(a===void 0?(0,U.jsxs)(`section`,{className:`share-links__empty`,children:[(0,U.jsx)(H.Heading,{as:`h2`,size:`5`,children:e.noBuildHeading}),(0,U.jsx)(H.Text,{as:`p`,className:`share-links__empty-description`,children:e.noBuildLabel})]}):a),d,s?(0,U.jsx)(`ul`,{className:`share-links__list`,ref:l,"aria-busy":u,children:o}):c?(0,U.jsxs)(`section`,{className:`share-links__empty`,children:[(0,U.jsx)(H.Heading,{as:`h2`,size:`5`,children:e.emptyHeading}),(0,U.jsx)(H.Text,{as:`p`,className:`share-links__empty-description`,children:e.emptyLabel})]}):null,f]})}function be({shareLink:e,className:t,copiedLabel:n,copyErrorLabel:r,copyLabel:i,urlLabel:a,unavailableLabel:o,highlighted:s,children:c}){return(0,U.jsx)(`li`,{"data-share-id":e.id,className:`share-link-item${s?` share-link-item--created`:``}${t?` ${t}`:``}`,children:(0,U.jsxs)(`div`,{className:`share-link-item__layout`,children:[(0,U.jsxs)(`div`,{className:`share-link-item__details`,children:[(0,U.jsx)(`h3`,{children:e.label}),(0,U.jsxs)(`span`,{className:`share-link-item__metadata`,children:[e.buildLabel,e.createdLabel?(0,U.jsxs)(U.Fragment,{children:[` · `,(0,U.jsx)(`time`,{dateTime:e.createdAt,children:e.createdLabel})]}):null,` · `,e.expiresAt?(0,U.jsx)(`time`,{dateTime:e.expiresAt,children:e.expiresLabel}):e.expiresLabel]})]}),(0,U.jsxs)(`div`,{className:`share-link-item__actions`,children:[o?(0,U.jsx)(`p`,{children:o}):(0,U.jsx)(ge,{value:e.url,label:a||e.label,copyLabel:i,copiedLabel:n,copyErrorLabel:r}),c]})]})})}function xe({data:e,action:t,hiddenFields:n,details:r,afterFields:i,onSubmit:a,label:o,onLabelChange:s,expiration:c,onExpirationChange:l,disabled:u,fieldsDisabled:d,busy:f,error:p}){let m=(0,V.useId)(),h=(0,V.useId)();return(0,U.jsxs)(`div`,{className:`share-links-form`,children:[e.buildLabel?(0,U.jsx)(H.Heading,{as:`h2`,size:`5`,children:e.buildLabel}):null,r,(0,U.jsxs)(`form`,{action:t,method:`post`,onSubmit:a,"aria-busy":f,className:`share-links__form`,children:[n,(0,U.jsxs)(`div`,{className:`share-links__form-row`,children:[(0,U.jsxs)(H.FormControl,{id:m,required:!0,fullWidth:!0,className:`share-links__field`,children:[(0,U.jsx)(H.FormControl.Label,{children:e.labelLabel}),(0,U.jsx)(H.TextInput,{"aria-label":e.labelLabel,"aria-invalid":!!p,name:`share_link[label]`,placeholder:e.labelPlaceholder,maxLength:e.labelMaximumBytes,value:o,onChange:s,disabled:d,fullWidth:!0}),p?(0,U.jsx)(H.FormControl.Validation,{validationStatus:`error`,className:`share-links__validation`,children:p}):null]}),p?(0,U.jsx)(le,{role:`alert`,children:p}):null,(0,U.jsxs)(H.FormControl,{id:h,fullWidth:!0,className:`share-links__field`,children:[(0,U.jsx)(H.FormControl.Label,{children:e.expirationLabel}),(0,U.jsx)(H.Select,{"aria-label":e.expirationLabel,name:`share_link[expiration]`,defaultValue:c===void 0?e.expirationOptions.find(e=>e.value===`seven_days`)?.value??e.expirationOptions[0]?.value:void 0,value:c,onChange:l,disabled:d,fullWidth:!0,children:e.expirationOptions.map(e=>(0,U.jsx)(H.Select.Option,{value:e.value,children:e.label},e.value))})]}),(0,U.jsx)(`div`,{className:`share-links__form-actions`,children:(0,U.jsx)(H.Button,{type:`submit`,variant:`primary`,leadingVisual:v,disabled:u,children:e.submitLabel})})]}),i?(0,U.jsx)(`div`,{className:`share-links__form-options`,children:i}):null]})]})}var q={title:`Share prototype`,internal:`Internal prototype link`,internalDescription:`Requires GitHub sign-in and repository access.`,internalUnavailable:`Internal prototype link unavailable.`,internalCopy:`Copy internal prototype link`,internalOpen:`Open internal prototype link`,public:`Public share links`,permissionUnknown:`Hub has not confirmed permission to manage public share links.`,group:`Publish and share`,back:`Back to preview`,warning:`Anyone with a link can view its Build without signing in. The prototype may expose sensitive or customer information. Check its content before sharing. Local and uncommitted changes are not included.`,target:`New links share this published Build:`,oldBuild:`This is the last published Build, not the current local preview.`,includeControlSettings:`Include current control settings`,controlSettingsDescription:`Adds settings for all configured pages to the links you copy or open. Saved share links stay unchanged.`,controlSettingsWarning:`Settings for controls that have not been published will not take effect for shared links.`,controlSettingsWarningTitle:`Local changes are not in the shared Build`,label:`Label`,labelPlaceholder:`Usability review`,labelInvalid:`Enter a label containing no more than 100 UTF-8 bytes.`,expiry:`Expires after`,expirations:[{value:`one_day`,label:`1 day`},{value:`seven_days`,label:`7 days`},{value:`thirty_days`,label:`30 days`},{value:`never`,label:`Never`}],create:`Create share link`,creating:`Working...`,active:`Active share links`,empty:`Create a link when someone needs signed-out access.`,emptyHeading:`No active share links`,loading:`Loading share links...`,refresh:`Refresh links`,authorize:`Verify with GitHub`,authorizationRetry:`Complete authorization in your browser, then refresh links and submit the action again. No action is replayed automatically.`,paginationFailed:`Hub returned a repeated share-link page. Refresh links to try again.`,noBuild:`A successful published Build is required before creating a share link.`,noBuildHeading:`No successful Build`,build:e=>`Build ${e}`,buildDetails:(e,t,n)=>`Commit: ${e}\nAuthor: @${t}\nPublished: ${n}`,denied:`Managing public share links requires repository admin access or authorship of any successful Build for this Prototype, with current read access. Write access alone is not sufficient.`,disabled:`Public sharing is disabled for this Hub. A Hub administrator must explicitly enable it. Previously revoked links never return.`,disconnected:`Connect to Hub before managing share links.`,connect:`Connect to Hub`,unavailable:`Hub is unavailable. Restore the connection and reopen Share prototype.`,branch:`Open a named prototype branch discovered by Hub before sharing.`,stale:`Hub or checkout changed. Return to preview and reopen Share prototype.`,deleted:`Share link deleted. Its public URL no longer works.`,never:`Never expires`,expires:e=>`Expires ${e}`,createdBy:(e,t)=>`Created by @${e} ${t}`,copy:(e,t)=>`Copy ${e}, Build #${t}`,copied:`Link copied`,copyError:`Could not copy the link. Select the URL and copy it manually.`,open:(e,t)=>`Open ${e}, Build #${t}`,delete:(e,t)=>`Delete ${e}, Build #${t}`,deletePrompt:e=>`Delete "${e}"? Anyone with this link will lose access to its Build.`,deletedError:`Could not delete the link.`,failed:`The sharing request failed.`,unknown:`The sharing request may have completed. Refresh active links before trying again. A matching label does not prove which request created a link.`,expired:`This link has expired. Refresh links.`};function Se({included:e,onChange:t,publishedVersionDiffers:n,disabled:r=!1,error:i,copy:a}){let o=(0,V.useId)(),s=e&&n;return(0,U.jsxs)(`div`,{className:`share-control-settings`,children:[(0,U.jsxs)(H.FormControl,{id:o,fullWidth:!0,children:[(0,U.jsx)(H.Checkbox,{checked:e,onChange:e=>t(e.target.checked),disabled:r}),(0,U.jsx)(H.FormControl.Label,{children:a?.label??q.includeControlSettings}),(0,U.jsx)(H.FormControl.Hint,{className:`share-control-settings__hint`,children:(0,U.jsx)(`span`,{className:`share-control-settings__description`,children:a?.description??q.controlSettingsDescription})})]}),i?(0,U.jsx)(me,{title:i,variant:`critical`,layout:`compact`}):null,s?(0,U.jsx)(me,{title:q.controlSettingsWarningTitle,description:q.controlSettingsWarning,variant:`warning`,layout:`compact`,className:`share-control-settings__warning`}):null]})}function Ce(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.entries(e).every(([e,t])=>/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e)&&(typeof t==`string`||typeof t==`boolean`||typeof t==`number`&&Number.isFinite(t)||Array.isArray(t)&&t.length<=100&&t.every(e=>typeof e==`string`)))}var we=`replica:controls:url`,Te=/^rc\.([a-zA-Z][a-zA-Z0-9_-]{0,63})\.([a-zA-Z][a-zA-Z0-9_-]{0,63})$/;function Ee(e){let t=new URLSearchParams;for(let n of Object.keys(e).sort()){let r=e[n];if(!Ce(r))throw Error(`Invalid control settings.`);for(let e of Object.keys(r).sort()){let i=`rc.${n}.${e}`;if(!Te.test(i))throw Error(`Invalid control settings identifier.`);t.set(i,JSON.stringify(r[e]))}}let n=t.toString();if(new Blob([n]).size>8192)throw Error(`Control settings exceed the 8 KB URL limit. Reduce the settings before sharing.`);return n}function De(e){let t=new URLSearchParams(e),n=[...t].filter(([e])=>e.startsWith(`rc.`));if(new Blob([new URLSearchParams(n).toString()]).size>8192)return{scopes:{},notice:`Control settings in this URL exceed 8 KB. Defaults were used.`};let r=new Map,i=!1;for(let[e,a]of n){let n=Te.exec(e);if(!n||t.getAll(e).length!==1){i=!0;continue}let o=n[1],s=n[2],c;try{c=JSON.parse(a)}catch{c=a}if(!Ce({[s]:c})){i=!0;continue}let l=r.get(o)??new Map;l.set(s,c),r.set(o,l)}let a=Object.fromEntries([...r].map(([e,t])=>[e,Object.fromEntries(t)]));try{Ee(a)}catch{return{scopes:{},notice:`Control settings in this URL exceed 8 KB. Defaults were used.`}}return{scopes:a,notice:i?`Some URL control settings were invalid. Defaults were used instead.`:``}}function Oe(e,t){let n=new URL(e,window.location.href),r=De(t);if(r.notice)throw Error(r.notice);for(let e of[...n.searchParams.keys()])e.startsWith(`rc.`)&&n.searchParams.delete(e);for(let[e,t]of new URLSearchParams(Ee(r.scopes)))n.searchParams.set(e,t);return n.toString()}function ke({state:e,buildDetails:t,currentCommit:n,hasLocalChanges:r=!1,shareButtonRef:i,onClose:a,onConnect:o,onRefresh:s,onCreate:c,onDelete:l,onOpen:u,controlSettings:d,onAuthorize:f}){let[p,m]=(0,V.useState)(``),[h,g]=(0,V.useState)(`seven_days`),[_,v]=(0,V.useState)(``),[y,b]=(0,V.useState)(Date.now),x=(0,V.useRef)(null),S=(0,V.useRef)(null),C=(0,V.useRef)(null),w=e.context?.prototype,T=q.expirations.filter(e=>!w?.shareLinkExpirationOptions||w.shareLinkExpirationOptions.includes(e.value)),E=T.some(e=>e.value===h)?h:T.find(e=>e.value===`seven_days`)?.value??T[0]?.value??``,D=w?.published?w.build:null,k=D?.url,A=k&&URL.canParse(k)?new URL(k):null,j=A&&A.origin===e.context?.hubOrigin&&[`http:`,`https:`].includes(A.protocol)&&!A.username&&!A.password?k:null,M=!!(D&&n&&n!==D.commitSha)||r,N=w?.canManageShareLinks===!0,P=!e.sharingDisabled&&w?.publicSharingEnabled!==!1,F=e.busy||e.loading||e.stale||!N||!P,I=d?.included?d.query??``:``,L=!!d?.blocked;function R(e){return Oe(e,I)}let z=P&&e.stale&&!e.loading&&e.created&&!e.links.some(t=>t.id===e.created?.id)?e.created:null;(0,V.useEffect)(()=>{let e=i.current;S.current?.focus();let t=window.setInterval(()=>b(Date.now()),1e4);return()=>{window.clearInterval(t),e?.focus()}},[i]),(0,V.useEffect)(()=>{if(e.busy||!C.current)return;let t=C.current;C.current=null,(t.map(e=>x.current?.querySelector(`[data-share-id="${e}"] button`)).find(e=>e&&!e.disabled)||S.current)?.focus()},[e.busy,e.links]);async function B(t,n){if(!window.confirm(q.deletePrompt(n)))return;let r=e.links.findIndex(e=>e.id===t),i=[...e.links.slice(r+1),...e.links.slice(0,r).reverse()].map(e=>e.id);await l(t)&&(C.current=i,(i.map(e=>x.current?.querySelector(`[data-share-id="${e}"] button`)).find(e=>e&&!e.disabled)||S.current)?.focus())}function ee(e){return new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(new Date(e))}return(0,U.jsx)(`main`,{className:`canvas-share-page`,"aria-label":q.title,children:(0,U.jsx)(_e,{children:(0,U.jsx)(ye,{labels:{heading:q.title,noBuildHeading:q.noBuildHeading,noBuildLabel:q.noBuild,emptyHeading:q.emptyHeading,emptyLabel:q.empty},headingRef:S,headingTrailing:(0,U.jsx)(`div`,{className:`canvas-share-close`,children:(0,U.jsx)(W,{icon:te,variant:`invisible`,"aria-label":q.back,description:q.back,onClick:a})}),feedback:(0,U.jsxs)(U.Fragment,{children:[d?(0,U.jsx)(Se,{included:d.included,onChange:d.onChange,publishedVersionDiffers:M,disabled:e.busy||d.pending,error:d.error}):null,(0,U.jsxs)(`section`,{className:`canvas-share-internal`,"aria-label":q.internal,children:[(0,U.jsx)(H.Heading,{as:`h2`,size:`6`,children:q.internal}),(0,U.jsx)(`p`,{children:q.internalDescription}),j&&!L?(0,U.jsxs)(`div`,{className:`share-link-item__actions canvas-share-internal-actions`,children:[(0,U.jsx)(ge,{value:R(j),label:q.internal,copyLabel:q.internalCopy,copiedLabel:q.copied,copyErrorLabel:q.copyError}),(0,U.jsx)(W,{as:`a`,href:R(j),target:`_blank`,rel:`noopener`,icon:re,"aria-label":q.internalOpen,description:q.internalOpen})]}):j?null:(0,U.jsx)(`p`,{role:`status`,children:q.internalUnavailable})]}),(0,U.jsxs)(`div`,{className:`canvas-share-public-header`,children:[(0,U.jsx)(H.Heading,{as:`h2`,size:`6`,children:q.public}),(0,U.jsx)(`p`,{children:q.warning})]}),w&&!N?(0,U.jsx)(`p`,{role:`status`,children:w.canManageShareLinks===!1?q.denied:q.permissionUnknown}):null,P?null:(0,U.jsx)(`p`,{role:`status`,children:q.disabled}),e.error?(0,U.jsx)(me,{title:e.error,variant:`critical`,layout:`compact`}):null,e.authorization&&f?(0,U.jsx)(H.Button,{variant:`secondary`,size:`small`,onClick:f,disabled:e.busy,children:q.authorize}):null,o&&!e.context?(0,U.jsx)(H.Button,{variant:`secondary`,size:`small`,onClick:o,children:q.connect}):null]}),form:D&&N&&P?(0,U.jsx)(xe,{data:{buildLabel:null,labelLabel:q.label,labelPlaceholder:q.labelPlaceholder,labelMaximumBytes:100,expirationLabel:q.expiry,expirationOptions:T,submitLabel:e.busy?q.creating:q.create},label:p,onLabelChange:e=>{m(e.target.value),v(``)},expiration:E,onExpirationChange:e=>g(e.target.value),onSubmit:e=>{e.preventDefault(),!p.trim()||new TextEncoder().encode(p.trim()).length>100?v(q.labelInvalid):(v(``),c(p,E))},disabled:F,fieldsDisabled:e.busy,busy:e.busy,error:_,details:(0,U.jsxs)(`div`,{className:`canvas-share-build-details`,children:[(0,U.jsxs)(`p`,{children:[q.target,` `,(0,U.jsx)(`strong`,{children:q.build(D.number)}),` - `,(0,U.jsx)(`code`,{children:D.commitSha.slice(0,7)}),` - `,(0,U.jsx)(`time`,{dateTime:D.publishedAt,children:ee(D.publishedAt)})]}),M?(0,U.jsx)(`p`,{children:q.oldBuild}):null]})}):null,formUnavailable:N&&P&&!D?void 0:null,beforeLinks:(0,U.jsxs)(U.Fragment,{children:[e.notice?(0,U.jsx)(`p`,{role:`status`,children:e.notice}):null,z&&!L?(0,U.jsx)(ge,{value:R(z.url),label:z.label,copyLabel:q.copy(z.label,z.buildNumber),copiedLabel:q.copied,copyErrorLabel:q.copyError}):null,e.loading?(0,U.jsx)(`p`,{role:`status`,children:q.loading}):null]}),hasLinks:N&&P&&!L&&e.links.length>0,showEmpty:N&&P&&!L&&!e.loading&&!e.stale,listRef:x,listBusy:e.loading,links:(!N||!P||L?[]:e.links).map(e=>{let n=e.expiresAt!==null&&Date.parse(e.expiresAt)<=y,r=t?.[e.buildNumber];return(0,U.jsxs)(be,{className:D&&e.buildNumberI?u(e.id,I):u(e.id)}),(0,U.jsx)(W,{icon:O,variant:`danger`,"aria-label":q.delete(e.label,e.buildNumber),description:q.delete(e.label,e.buildNumber),disabled:F||n,onClick:()=>void B(e.id,e.label)})]},e.id)}),afterLinks:(0,U.jsx)(`div`,{className:`canvas-share-list-actions`,children:N||!e.context&&!o?(0,U.jsx)(H.Button,{size:`small`,variant:`subtle`,onClick:s,disabled:e.busy||e.loading,children:q.refresh}):null})})})})}var J={checking:`Checking sharing readiness`,checkingDetail:`Checking Hub for a successful published Build and repository access.`,connect:`Connect before sharing`,connectDetail:`Connect to Hub before sharing this prototype.`,connectAction:`Connect to Hub`,publish:`Publish before sharing`,publishDetail:`To create a share link, publish this prototype to Hub first. Your local preview stays private.`,publishPermissionUnverified:`This Hub has not confirmed publishing permission. Copilot will check access when publishing and report any permission errors.`,preparing:`Preparing your prototype`,ready:`Ready to share`,readyDetail:`Your prototype is ready to share.`,manage:`Share prototype`,unavailable:`Sharing status unavailable`,unavailableDetail:`Hub could not verify sharing readiness. Retry before continuing.`,permissionUnknown:`This Hub cannot verify sharing or publishing permission. Update Hub and retry.`,restricted:`Sharing unavailable`,publishDenied:`Publishing requires repository write access. Ask a prototype author to publish a Build.`,local:`Local development prototypes cannot create public share links.`,changed:`Sharing target changed`,changedDetail:`The repository, branch, or Hub changed. Close this dialog and reopen Share for the intended prototype.`,boundary:`Internal review requires repository access. Public share links let anyone view a published Build, not your local preview.`,close:`Close sharing readiness`},Ae=`Branch not eligible for Hub registration`,Y={heading:`Branch publication`,checking:`Checking...`,retry:`Retry status`,retryPublish:`Retry publish`,requested:`Requested`,awaitingCopilot:`Waiting for Copilot`,publishBranch:`Publish`,publishChanges:`Publish changes`,registration:`Publishing`,registrationFailed:`Publication delayed`,published:`Published`,alreadyPublished:`Latest changes already published`,queued:`Build queued`,building:`Building`,awaitingHub:`Awaiting Hub`,awaitingBuild:`Awaiting build`,connect:`Connect to the hub`,workflowLink:`View workflow run`,initial:`Checking branch publication.`,checkingRemote:`Checking the exact branch on the origin repository.`,detached:`Open a named branch before publishing.`,changed:`The checkout changed. Refresh publication status.`,unknown:e=>`Remote branch status is unknown. ${e||`Check GitHub access and retry.`}`,pending:`Copilot received the publish request in chat and has not pushed this branch yet. Follow its progress in chat.`,checkingHub:`Checking the Hub connection.`,disconnected:`Connect to the hub before publishing this prototype.`,hubUnavailable:`Hub verification is unavailable. Restore access and retry.`,hubUnavailableTitle:`Hub verification unavailable`,staleHub:`The Hub status belongs to a different checkout. Refresh to continue.`,workflowMissing:`This checkout has no .github/workflows/replica.yml. Set up the repository's Replica build workflow before publishing.`,dispatchFailed:`Copilot could not receive the publish request.`,absent:`This branch won't appear in the hub until you publish.`,needsPush:`The remote branch points to a different commit. Publish pushes this branch without force.`,localChanges:`Local changes are not in the published prototype. Choose how to publish them.`,needsRegistration:`Hub imported this commit. The canvas is publishing it automatically.`,registrationDenied:`Hub could not register this branch. Check repository access and branch eligibility.`,registrationErrorTitle:`Hub registration failed`,registrationReasons:new Map([[`write_access_required`,{title:Ae,description:`You lack write access to this repository.`}],[`branch_not_reviewable`,{title:Ae,description:`Default, reserved, and internal branches cannot be registered in Hub.`}],[`remote_branch_missing`,{title:Ae,description:`The branch no longer exists on the remote repository.`}],[`branch_authorship_required`,{title:Ae,description:`You have not authored a commit unique to this branch.`}],[`repository_mismatch`,{title:Ae,description:`The branch belongs to a different repository.`}],[`already_registered`,{title:`Branch already registered in Hub`,description:`This branch is already registered in Hub. Refresh its status.`}],[`successful_build_required`,{title:`Hub registration delayed`,description:`Hub has not imported this checkout's successful Build yet.`}]]),ready:`Hub imported this commit and the prototype is registered.`,importFailed:`Hub could not import or build this commit. Pushing this unchanged commit does not rerun the failed work. Inspect the Build failure in Hub and repair the cause before publishing again.`,workflowUnavailable:`Workflow status is unavailable. Check GitHub access and retry.`,staleWorkflow:`Workflow status belongs to a different branch or commit.`,workflowQueued:`The Replica workflow for this commit is queued or waiting.`,workflowBuilding:`The Replica workflow is building this commit.`,workflowFailed:e=>`The Replica workflow finished with ${e||`an unsuccessful result`}. Pushing this unchanged commit does not rerun the failed work. Inspect the run and repair the cause before publishing again.`,importing:`The workflow succeeded. Waiting for Hub discovery and artifact import; this is not published yet.`,noBuild:`The exact branch and commit are on GitHub, but no matching Replica workflow run has appeared yet.`};function je({publication:e,busy:t,onPublish:n,onRetry:r}){if(e.kind===`ready`)return null;let i=e.kind===`requested`,a=t||i;return(0,U.jsxs)(`section`,{className:`canvas-branch-publication`,"aria-label":Y.heading,children:[e.error?(0,U.jsx)(me,{variant:`critical`,layout:`compact`,title:e.error.title,description:e.error.description}):(0,U.jsx)(`p`,{role:`status`,children:e.detail}),e.runUrl?(0,U.jsx)(`p`,{children:(0,U.jsx)(H.InlineLink,{className:`canvas-branch-publication__workflow-link`,href:e.runUrl,target:`_blank`,rel:`noopener noreferrer`,children:Y.workflowLink})}):null,(e.action!==`none`||i)&&e.kind!==`disconnected`?(0,U.jsx)(`div`,{className:`canvas-branch-publication__actions`,children:(0,U.jsx)(H.Button,{variant:`primary`,size:`small`,disabled:a,"aria-busy":a,leadingVisual:a?(0,U.jsx)(L,{size:16}):void 0,onClick:e.action===`retry`?r:n,children:e.label})}):null]})}function X({readiness:e,busy:t,shareButtonRef:n,onClose:r,onConnect:i,onPublish:a,onRetry:o,onManage:s}){let c=(0,V.useId)();return(0,U.jsxs)(ue,{title:e.title,closeLabel:J.close,onClose:r,returnFocusRef:n,descriptionId:c,children:[(0,U.jsx)(`p`,{id:c,role:`status`,children:e.detail}),[`connect`,`publish`,`ready`].includes(e.kind)?(0,U.jsx)(`p`,{children:J.boundary}):null,e.publication?(0,U.jsx)(je,{publication:e.publication,dirty:!1,busy:t,onPublish:a,onRetry:o}):null,[`connect`,`ready`,`retry`].includes(e.kind)?(0,U.jsx)(H.Button,{variant:`primary`,size:`small`,disabled:t,"aria-busy":t,onClick:e.kind===`connect`?i:e.kind===`ready`?s:o,children:e.kind===`connect`?J.connectAction:e.kind===`ready`?J.manage:Y.retry}):null]})}function Me({hub:e,connection:t,publication:n,sharing:r,shareIntent:i,controlSettings:a,readiness:o,state:s,hubOpen:c,buildDetailsOpen:l,onCloseBuildDetails:u,shareButtonRef:d,hubButtonRef:f,connectionButtonRef:p,publishButtonRef:m,titleButtonRef:h}){let{intent:g,targetChanged:_}=i,v=n.presentedState;return(0,U.jsxs)(U.Fragment,{children:[t.open&&(!g||g.connecting&&!_)?(0,U.jsx)(pe,{status:e.status,pairing:t.pairing,connecting:t.connecting,error:t.error,onConnect:t.connect,onSelectHub:e.select,onResetHub:e.reset,onClose:()=>{t.close(),i.setConnecting(!1)},hubButtonRef:g?d:c?p:f}):null,g&&!n.publishDialog&&(_||!g.connecting||!t.open)?(0,U.jsx)(X,{readiness:_?{kind:`restricted`,title:J.changed,detail:J.changedDetail}:o,busy:n.busy,shareButtonRef:d,onClose:()=>{i.close(),t.close()},onConnect:()=>{_||o.kind!==`connect`||(i.setConnecting(!0),t.showAndConnect())},onPublish:()=>{!_&&o.kind===`publish`&&n.publish()},onRetry:()=>void n.retry(),onManage:()=>{_||o.kind!==`ready`||(i.close(),r.open())}}):null,n.publishDialog?(0,U.jsx)(he,{busy:n.busy,error:n.publishDialogError,changes:n.publishDialog.preparation.changes,checkError:n.publishDialog.preparation.workingTree===`unavailable`?n.publishDialog.preparation.workingTreeError||K.checkFailed:void 0,remembered:n.publishDialog.preparation.remember,returnFocusRef:g?d:m,onClose:n.closePublishDialog,onChoose:(e,t)=>void n.choosePublish(e,t),onRetry:()=>void n.retryPublishCheck()},n.publishDialog.preparation.workingTree===`unavailable`?`unchecked`:`checked`):null,r.state.open?(0,U.jsx)(ke,{state:r.state,currentCommit:s?.stats.commitSha,hasLocalChanges:s?.stats.workingTree===`changed`,shareButtonRef:d,onClose:r.close,onConnect:!e.status||[`disconnected`,`pairing`,`unconfigured`].includes(e.status.state)?()=>{r.close(),t.show()}:void 0,onRefresh:()=>void r.refresh(),onCreate:r.create,onDelete:r.remove,onOpen:(e,t)=>void r.openLink(e,t),controlSettings:a,onAuthorize:()=>void r.authorize()}):null,l&&v?(0,U.jsx)(de,{state:v,titleButtonRef:h,onClose:u}):null]})}function Ne({address:e,addressRef:t,canGoBack:n,canGoForward:r,appearance:a,onAppearanceChange:o,onBack:s,onForward:c,onNavigate:l,onOpenTab:u,onReload:d}){let[f,p]=(0,V.useState)(null),m=f?.address===e?f.value:e,h=f?.address===e?f.error:``;function g(t){t.preventDefault();try{let t=new URL(m.trim(),e);if(![`http:`,`https:`].includes(t.protocol)||t.origin!==new URL(e).origin||t.username||t.password){p({address:e,value:m,error:G.browserAddressOrigin});return}p(null),l(t.href)}catch{p({address:e,value:m,error:G.browserAddressInvalid})}}return(0,U.jsx)(H.ThemeProvider,{colorMode:`auto`,className:`canvas-browser-theme`,children:(0,U.jsxs)(`nav`,{className:`canvas-browser-bar`,"aria-label":G.browserNavigation,children:[(0,U.jsxs)(`div`,{className:`canvas-browser-bar__navigation`,children:[(0,U.jsx)(`button`,{type:`button`,"aria-label":G.browserBack,disabled:!n,onClick:s,children:(0,U.jsx)(x,{size:16})}),(0,U.jsx)(`button`,{type:`button`,"aria-label":G.browserForward,disabled:!r,onClick:c,children:(0,U.jsx)(y,{size:16})}),(0,U.jsx)(`button`,{type:`button`,"aria-label":G.browserReload,onClick:d,children:(0,U.jsx)(L,{size:16})})]}),(0,U.jsxs)(`form`,{className:`canvas-browser-bar__address`,onSubmit:g,children:[(0,U.jsx)(`input`,{ref:t,"aria-label":G.browserAddress,"aria-invalid":!!h,"aria-describedby":h?`canvas-browser-address-error`:void 0,spellCheck:!1,value:m,onChange:t=>{p({address:e,value:t.target.value,error:``})},onFocus:e=>e.currentTarget.select(),onKeyDown:e=>{e.key===`Escape`&&(p(null),e.currentTarget.blur())}}),h?(0,U.jsx)(`span`,{id:`canvas-browser-address-error`,className:`canvas-browser-bar__error`,role:`alert`,children:h}):null]}),(0,U.jsxs)(`div`,{className:`canvas-browser-bar__tools`,children:[(0,U.jsx)(`button`,{type:`button`,"aria-label":G.browserOpenTab,title:G.browserOpenTab,onClick:()=>{u().catch(t=>{p({address:e,value:m,error:t instanceof Error?t.message:String(t)})})},children:(0,U.jsx)(re,{size:16})}),(0,U.jsxs)(`div`,{className:`canvas-browser-bar__appearance`,role:`group`,"aria-label":G.browserAppearance,children:[(0,U.jsx)(`button`,{type:`button`,"aria-label":G.browserLight,"aria-pressed":a===`light`,onClick:()=>o(`light`),children:(0,U.jsx)(P,{size:16})}),(0,U.jsx)(`button`,{type:`button`,"aria-label":G.browserDark,"aria-pressed":a===`dark`,onClick:()=>o(`dark`),children:(0,U.jsx)(i,{size:16})})]})]})]})})}var Pe=e(t((e=>{var t=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),n=t((e=>{Object.defineProperty(e,"__esModule",{value:!0});function t(e){let t=e.length,n=0,r=0,i;for(;r=55296&&i<=56319&&r{t.exports=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t==`object`&&typeof n==`object`){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if(!e(t[o],n[o]))return!1}return!0}return t!==t&&n!==n}})),i=t((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=r();t.code=`require("ajv/dist/runtime/equal").default`,e.default=t}));e.validateShape=P;var a={type:`object`,additionalProperties:!1,required:[`version`,`scope`,`controls`],properties:{$schema:{type:`string`},version:{const:1},scope:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},role:{enum:[`shared`,`page`]},container:{$ref:`#/$defs/selector`},panel:{type:`object`,additionalProperties:!1,required:[`width`],properties:{width:{type:`integer`,minimum:160,maximum:4096}}},groups:{type:`array`,maxItems:100,items:{type:`object`,additionalProperties:!1,required:[`id`,`label`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},when:{$ref:`#/$defs/condition`}}}},controls:{type:`array`,maxItems:500,items:{oneOf:[{$ref:`#/$defs/boolean`},{$ref:`#/$defs/number`},{$ref:`#/$defs/slider`},{$ref:`#/$defs/choice`},{$ref:`#/$defs/checkboxGroup`},{$ref:`#/$defs/text`},{$ref:`#/$defs/color`},{$ref:`#/$defs/button`}]}}}},o=Object.prototype.hasOwnProperty,s=n().default,c=RegExp(`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`,`u`),l={type:[`string`,`number`,`boolean`]},u=i().default,d={validate:f};function f(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0,s=o,p=!1,m=null,h=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.control===void 0){let e={instancePath:t,schemaPath:`#/oneOf/0/required`,keyword:`required`,params:{missingProperty:`control`},message:`must have required property 'control'`};a===null?a=[e]:a.push(e),o++}if(e.equals===void 0){let e={instancePath:t,schemaPath:`#/oneOf/0/required`,keyword:`required`,params:{missingProperty:`equals`},message:`must have required property 'equals'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`control`&&n!==`equals`){let e={instancePath:t,schemaPath:`#/oneOf/0/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.control!==void 0){let n=e.control;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.equals!==void 0){let n=e.equals;if(typeof n!=`string`&&!(typeof n==`number`&&isFinite(n))&&typeof n!=`boolean`){let e={instancePath:t+`/equals`,schemaPath:`#/$defs/scalar/type`,keyword:`type`,params:{type:l.type},message:`must be string,number,boolean`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/0/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var g=h===o;g&&(p=!0,m=0);let _=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.control===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`control`},message:`must have required property 'control'`};a===null?a=[e]:a.push(e),o++}if(e.in===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`in`},message:`must have required property 'in'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`control`&&n!==`in`){let e={instancePath:t,schemaPath:`#/oneOf/1/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.control!==void 0){let n=e.control;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.in!==void 0){let n=e.in;if(Array.isArray(n)){if(n.length>20){let e={instancePath:t+`/in`,schemaPath:`#/oneOf/1/properties/in/maxItems`,keyword:`maxItems`,params:{limit:20},message:`must NOT have more than 20 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/in`,schemaPath:`#/oneOf/1/properties/in/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r1){outer0:for(;r--;)for(i=r;i--;)if(u(n[r],n[i])){let e={instancePath:t+`/in`,schemaPath:`#/oneOf/1/properties/in/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[e]:a.push(e),o++;break outer0}}}else{let e={instancePath:t+`/in`,schemaPath:`#/oneOf/1/properties/in/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/1/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var g=_===o;if(g&&p)p=!1,m=[m,1];else{g&&(p=!0,m=1);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.control===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`control`},message:`must have required property 'control'`};a===null?a=[e]:a.push(e),o++}if(e.includes===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`includes`},message:`must have required property 'includes'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`control`&&n!==`includes`){let e={instancePath:t,schemaPath:`#/oneOf/2/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.control!==void 0){let n=e.control;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.includes!==void 0&&typeof e.includes!=`string`){let e={instancePath:t+`/includes`,schemaPath:`#/oneOf/2/properties/includes/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t,schemaPath:`#/oneOf/2/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var g=n===o;if(g&&p)p=!1,m=[m,2];else{g&&(p=!0,m=2);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.all===void 0){let e={instancePath:t,schemaPath:`#/oneOf/3/required`,keyword:`required`,params:{missingProperty:`all`},message:`must have required property 'all'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`all`){let e={instancePath:t,schemaPath:`#/oneOf/3/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.all!==void 0){let n=e.all;if(Array.isArray(n)){if(n.length>10){let e={instancePath:t+`/all`,schemaPath:`#/oneOf/3/properties/all/maxItems`,keyword:`maxItems`,params:{limit:10},message:`must NOT have more than 10 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/all`,schemaPath:`#/oneOf/3/properties/all/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r10){let e={instancePath:t+`/any`,schemaPath:`#/oneOf/4/properties/any/maxItems`,keyword:`maxItems`,params:{limit:10},message:`must NOT have more than 10 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/any`,schemaPath:`#/oneOf/4/properties/any/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r512){let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/maxLength`,keyword:`maxLength`,params:{limit:512},message:`must NOT have more than 512 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/0/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=d===o;f&&(l=!0,u=0);let v=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.selector===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`selector`},message:`must have required property 'selector'`};a===null?a=[e]:a.push(e),o++}if(e.property===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`property`},message:`must have required property 'property'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`type`&&n!==`selector`&&n!==`property`){let e={instancePath:t,schemaPath:`#/oneOf/1/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.type!==void 0&&e.type!==`style`){let e={instancePath:t+`/type`,schemaPath:`#/oneOf/1/properties/type/const`,keyword:`const`,params:{allowedValue:`style`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.selector!==void 0){let n=e.selector;if(typeof n==`string`){if(s(n)>512){let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/maxLength`,keyword:`maxLength`,params:{limit:512},message:`must NOT have more than 512 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.property!==void 0){let n=e.property;if(typeof n==`string`){if(s(n)>100){let e={instancePath:t+`/property`,schemaPath:`#/oneOf/1/properties/property/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};a===null?a=[e]:a.push(e),o++}if(!m.test(n)){let e={instancePath:t+`/property`,schemaPath:`#/oneOf/1/properties/property/pattern`,keyword:`pattern`,params:{pattern:`^(--[a-zA-Z0-9_-]+|[a-z][a-z-]*)$`},message:`must match pattern "^(--[a-zA-Z0-9_-]+|[a-z][a-z-]*)$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/property`,schemaPath:`#/oneOf/1/properties/property/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/1/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=v===o;if(f&&l)l=!1,u=[u,1];else{f&&(l=!0,u=1);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.key===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`key`},message:`must have required property 'key'`};a===null?a=[e]:a.push(e),o++}if(e.mode===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`mode`},message:`must have required property 'mode'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`type`&&n!==`key`&&n!==`mode`){let e={instancePath:t,schemaPath:`#/oneOf/2/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.type!==void 0&&e.type!==`query`){let e={instancePath:t+`/type`,schemaPath:`#/oneOf/2/properties/type/const`,keyword:`const`,params:{allowedValue:`query`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.key!==void 0){let n=e.key;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/key`,schemaPath:`#/oneOf/2/properties/key/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/key`,schemaPath:`#/oneOf/2/properties/key/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/key`,schemaPath:`#/oneOf/2/properties/key/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.mode!==void 0){let n=e.mode;if(n!==`in-place`&&n!==`navigate`){let e={instancePath:t+`/mode`,schemaPath:`#/oneOf/2/properties/mode/enum`,keyword:`enum`,params:{allowedValues:p.oneOf[2].properties.mode.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/2/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=n===o;if(f&&l)l=!1,u=[u,2];else{f&&(l=!0,u=2);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={instancePath:t,schemaPath:`#/oneOf/3/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.mode===void 0){let e={instancePath:t,schemaPath:`#/oneOf/3/required`,keyword:`required`,params:{missingProperty:`mode`},message:`must have required property 'mode'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`type`&&n!==`mode`){let e={instancePath:t,schemaPath:`#/oneOf/3/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.type!==void 0&&e.type!==`hash`){let e={instancePath:t+`/type`,schemaPath:`#/oneOf/3/properties/type/const`,keyword:`const`,params:{allowedValue:`hash`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.mode!==void 0){let n=e.mode;if(n!==`in-place`&&n!==`navigate`){let e={instancePath:t+`/mode`,schemaPath:`#/oneOf/3/properties/mode/enum`,keyword:`enum`,params:{allowedValues:p.oneOf[3].properties.mode.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/3/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=n===o;if(f&&l)l=!1,u=[u,3];else{f&&(l=!0,u=3);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={instancePath:t,schemaPath:`#/oneOf/4/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.object===void 0){let e={instancePath:t,schemaPath:`#/oneOf/4/required`,keyword:`required`,params:{missingProperty:`object`},message:`must have required property 'object'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`type`&&n!==`object`&&n!==`read`&&n!==`write`&&n!==`action`&&n!==`subscribe`&&n!==`pollMs`){let e={instancePath:t,schemaPath:`#/oneOf/4/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.type!==void 0&&e.type!==`api`){let e={instancePath:t+`/type`,schemaPath:`#/oneOf/4/properties/type/const`,keyword:`const`,params:{allowedValue:`api`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.object!==void 0){let n=e.object;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/object`,schemaPath:`#/oneOf/4/properties/object/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(!h.test(n)){let e={instancePath:t+`/object`,schemaPath:`#/oneOf/4/properties/object/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z_$][a-zA-Z0-9_$]*(\\.[a-zA-Z_$][a-zA-Z0-9_$]*)*$`},message:`must match pattern "^[a-zA-Z_$][a-zA-Z0-9_$]*(\\.[a-zA-Z_$][a-zA-Z0-9_$]*)*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/object`,schemaPath:`#/oneOf/4/properties/object/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.read!==void 0){let n=e.read;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/read`,schemaPath:`#/$defs/method/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};a===null?a=[e]:a.push(e),o++}if(!g.test(n)){let e={instancePath:t+`/read`,schemaPath:`#/$defs/method/pattern`,keyword:`pattern`,params:{pattern:`^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$`},message:`must match pattern "^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/read`,schemaPath:`#/$defs/method/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.write!==void 0){let n=e.write;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/write`,schemaPath:`#/$defs/method/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};a===null?a=[e]:a.push(e),o++}if(!g.test(n)){let e={instancePath:t+`/write`,schemaPath:`#/$defs/method/pattern`,keyword:`pattern`,params:{pattern:`^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$`},message:`must match pattern "^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/write`,schemaPath:`#/$defs/method/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.action!==void 0){let n=e.action;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/action`,schemaPath:`#/$defs/method/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};a===null?a=[e]:a.push(e),o++}if(!g.test(n)){let e={instancePath:t+`/action`,schemaPath:`#/$defs/method/pattern`,keyword:`pattern`,params:{pattern:`^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$`},message:`must match pattern "^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/action`,schemaPath:`#/$defs/method/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.subscribe!==void 0){let n=e.subscribe;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/subscribe`,schemaPath:`#/$defs/method/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};a===null?a=[e]:a.push(e),o++}if(!g.test(n)){let e={instancePath:t+`/subscribe`,schemaPath:`#/$defs/method/pattern`,keyword:`pattern`,params:{pattern:`^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$`},message:`must match pattern "^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/subscribe`,schemaPath:`#/$defs/method/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.pollMs!==void 0){let n=e.pollMs;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/pollMs`,schemaPath:`#/oneOf/4/properties/pollMs/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),o++}if(typeof n==`number`&&isFinite(n)){if(n>6e4||isNaN(n)){let e={instancePath:t+`/pollMs`,schemaPath:`#/oneOf/4/properties/pollMs/maximum`,keyword:`maximum`,params:{comparison:`<=`,limit:6e4},message:`must be <= 60000`};a===null?a=[e]:a.push(e),o++}if(n<100||isNaN(n)){let e={instancePath:t+`/pollMs`,schemaPath:`#/oneOf/4/properties/pollMs/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:100},message:`must be >= 100`};a===null?a=[e]:a.push(e),o++}}}}else{let e={instancePath:t,schemaPath:`#/oneOf/4/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=n===o;f&&l?(l=!1,u=[u,4]):f&&(l=!0,u=4)}}}if(l)o=c,a!==null&&(c?a.length=c:a=null);else{let e={instancePath:t,schemaPath:`#/oneOf`,keyword:`oneOf`,params:{passingSchemas:u},message:`must match exactly one schema in oneOf`};a===null?a=[e]:a.push(e),o++}return _.errors=a,o===0}function v(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`boolean`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`boolean`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.default!==void 0&&typeof e.default!=`boolean`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return v.errors=a,o===0}var y={type:`object`,additionalProperties:!1,required:[`id`,`label`,`type`,`default`,`min`,`max`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},type:{const:`number`},default:{type:`number`},binding:{$ref:`#/$defs/binding`},min:{type:`number`},max:{type:`number`},step:{type:`number`,exclusiveMinimum:0},group:{$ref:`#/$defs/id`},when:{$ref:`#/$defs/condition`}}};function b(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}if(e.min===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`min`},message:`must have required property 'min'`};a===null?a=[e]:a.push(e),l++}if(e.max===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`max`},message:`must have required property 'max'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(y.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0&&e.type!==`number`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`number`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),l++}if(e.default!==void 0){let n=e.default;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.min!==void 0){let n=e.min;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/min`,schemaPath:`#/properties/min/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.max!==void 0){let n=e.max;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/max`,schemaPath:`#/properties/max/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.step!==void 0){let n=e.step;if(typeof n==`number`&&isFinite(n)){if(n<=0||isNaN(n)){let e={instancePath:t+`/step`,schemaPath:`#/properties/step/exclusiveMinimum`,keyword:`exclusiveMinimum`,params:{comparison:`>`,limit:0},message:`must be > 0`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/step`,schemaPath:`#/properties/step/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return b.errors=a,l===0}var x={type:`object`,additionalProperties:!1,required:[`id`,`label`,`type`,`default`,`min`,`max`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},type:{const:`slider`},default:{type:`number`},binding:{$ref:`#/$defs/binding`},min:{type:`number`},max:{type:`number`},step:{type:`number`,exclusiveMinimum:0},group:{$ref:`#/$defs/id`},when:{$ref:`#/$defs/condition`}}};function S(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}if(e.min===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`min`},message:`must have required property 'min'`};a===null?a=[e]:a.push(e),l++}if(e.max===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`max`},message:`must have required property 'max'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(x.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0&&e.type!==`slider`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`slider`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),l++}if(e.default!==void 0){let n=e.default;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.min!==void 0){let n=e.min;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/min`,schemaPath:`#/properties/min/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.max!==void 0){let n=e.max;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/max`,schemaPath:`#/properties/max/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.step!==void 0){let n=e.step;if(typeof n==`number`&&isFinite(n)){if(n<=0||isNaN(n)){let e={instancePath:t+`/step`,schemaPath:`#/properties/step/exclusiveMinimum`,keyword:`exclusiveMinimum`,params:{comparison:`>`,limit:0},message:`must be > 0`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/step`,schemaPath:`#/properties/step/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return S.errors=a,l===0}var C={type:`object`,additionalProperties:!1,required:[`id`,`label`,`type`,`default`,`options`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},type:{enum:[`select`,`radio`,`segmented`]},default:{type:`string`},binding:{$ref:`#/$defs/binding`},options:{$ref:`#/$defs/options`},group:{$ref:`#/$defs/id`},when:{$ref:`#/$defs/condition`}}};function w(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}if(e.options===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`options`},message:`must have required property 'options'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`options`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0){let n=e.type;if(n!==`select`&&n!==`radio`&&n!==`segmented`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/enum`,keyword:`enum`,params:{allowedValues:C.properties.type.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),o++}}if(e.default!==void 0&&typeof e.default!=`string`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.options!==void 0){let n=e.options;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(e)<1){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}let r=n.length,i;if(r>1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/options`,schemaPath:`#/$defs/options/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return w.errors=a,o===0}function T(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}if(e.options===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`options`},message:`must have required property 'options'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!==`binding`&&n!=="default"&&n!==`options`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`checkboxGroup`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`checkboxGroup`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.default!==void 0){let n=e.default;if(Array.isArray(n)){let e=n.length;for(let r=0;r1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/default`,schemaPath:`#/properties/default/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.options!==void 0){let n=e.options;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(e)<1){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}let r=n.length,i;if(r>1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/options`,schemaPath:`#/$defs/options/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return T.errors=a,o===0}var E={type:`object`,additionalProperties:!1,required:[`id`,`label`,`type`,`default`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},type:{enum:[`text`,`textarea`]},default:{type:`string`},binding:{$ref:`#/$defs/binding`},minLength:{type:`integer`,minimum:0},maxLength:{type:`integer`,minimum:0},group:{$ref:`#/$defs/id`},when:{$ref:`#/$defs/condition`}}};function D(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(E.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0){let n=e.type;if(n!==`text`&&n!==`textarea`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/enum`,keyword:`enum`,params:{allowedValues:E.properties.type.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),l++}}if(e.default!==void 0&&typeof e.default!=`string`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.minLength!==void 0){let n=e.minLength;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/minLength`,schemaPath:`#/properties/minLength/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),l++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/minLength`,schemaPath:`#/properties/minLength/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};a===null?a=[e]:a.push(e),l++}}if(e.maxLength!==void 0){let n=e.maxLength;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/maxLength`,schemaPath:`#/properties/maxLength/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),l++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/maxLength`,schemaPath:`#/properties/maxLength/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return D.errors=a,l===0}var O=RegExp(`^#[0-9a-fA-F]{6}$`,`u`);function k(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`color`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`color`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.default!==void 0){let n=e.default;if(typeof n==`string`){if(!O.test(n)){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/pattern`,keyword:`pattern`,params:{pattern:`^#[0-9a-fA-F]{6}$`},message:`must match pattern "^#[0-9a-fA-F]{6}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return k.errors=a,o===0}function A(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`button`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`button`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return A.errors=a,o===0}function j(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let l=null,u=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.version===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`version`},message:`must have required property 'version'`};l===null?l=[e]:l.push(e),u++}if(e.scope===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`scope`},message:`must have required property 'scope'`};l===null?l=[e]:l.push(e),u++}if(e.controls===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`controls`},message:`must have required property 'controls'`};l===null?l=[e]:l.push(e),u++}for(let n in e)if(!o.call(a.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.$schema!==void 0&&typeof e.$schema!=`string`){let e={instancePath:t+`/$schema`,schemaPath:`#/properties/%24schema/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}if(e.version!==void 0&&e.version!==1){let e={instancePath:t+`/version`,schemaPath:`#/properties/version/const`,keyword:`const`,params:{allowedValue:1},message:`must be equal to constant`};l===null?l=[e]:l.push(e),u++}if(e.scope!==void 0){let n=e.scope;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/scope`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/scope`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.role!==void 0){let n=e.role;if(n!==`shared`&&n!==`page`){let e={instancePath:t+`/role`,schemaPath:`#/properties/role/enum`,keyword:`enum`,params:{allowedValues:a.properties.role.enum},message:`must be equal to one of the allowed values`};l===null?l=[e]:l.push(e),u++}}if(e.container!==void 0){let n=e.container;if(typeof n==`string`){if(s(n)>512){let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/maxLength`,keyword:`maxLength`,params:{limit:512},message:`must NOT have more than 512 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.panel!==void 0){let n=e.panel;if(n&&typeof n==`object`&&!Array.isArray(n)){if(n.width===void 0){let e={instancePath:t+`/panel`,schemaPath:`#/properties/panel/required`,keyword:`required`,params:{missingProperty:`width`},message:`must have required property 'width'`};l===null?l=[e]:l.push(e),u++}for(let e in n)if(e!==`width`){let n={instancePath:t+`/panel`,schemaPath:`#/properties/panel/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e},message:`must NOT have additional properties`};l===null?l=[n]:l.push(n),u++}if(n.width!==void 0){let e=n.width;if(typeof e!=`number`||e%1||isNaN(e)||!isFinite(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};l===null?l=[e]:l.push(e),u++}if(typeof e==`number`&&isFinite(e)){if(e>4096||isNaN(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/maximum`,keyword:`maximum`,params:{comparison:`<=`,limit:4096},message:`must be <= 4096`};l===null?l=[e]:l.push(e),u++}if(e<160||isNaN(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:160},message:`must be >= 160`};l===null?l=[e]:l.push(e),u++}}}}else{let e={instancePath:t+`/panel`,schemaPath:`#/properties/panel/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.groups!==void 0){let n=e.groups;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/groups`,schemaPath:`#/properties/groups/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/groups/`+r+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(l=l===null?f.errors:l.concat(f.errors),u=l.length))}else{let e={instancePath:t+`/groups/`+r,schemaPath:`#/properties/groups/items/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t+`/groups`,schemaPath:`#/properties/groups/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.controls!==void 0){let n=e.controls;if(Array.isArray(n)){if(n.length>500){let e={instancePath:t+`/controls`,schemaPath:`#/properties/controls/maxItems`,keyword:`maxItems`,params:{limit:500},message:`must NOT have more than 500 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r100){let e={instancePath:t+`/sets`,schemaPath:`#/properties/sets/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/sets`,schemaPath:`#/properties/sets/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.role!==void 0){let n=e.role;if(n!==`shared`&&n!==`page`){let e={instancePath:t+`/role`,schemaPath:`#/properties/role/enum`,keyword:`enum`,params:{allowedValues:a.properties.role.enum},message:`must be equal to one of the allowed values`};l===null?l=[e]:l.push(e),u++}}if(e.container!==void 0){let n=e.container;if(typeof n==`string`){if(s(n)>512){let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/maxLength`,keyword:`maxLength`,params:{limit:512},message:`must NOT have more than 512 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.panel!==void 0){let n=e.panel;if(n&&typeof n==`object`&&!Array.isArray(n)){if(n.width===void 0){let e={instancePath:t+`/panel`,schemaPath:`#/properties/panel/required`,keyword:`required`,params:{missingProperty:`width`},message:`must have required property 'width'`};l===null?l=[e]:l.push(e),u++}for(let e in n)if(e!==`width`){let n={instancePath:t+`/panel`,schemaPath:`#/properties/panel/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e},message:`must NOT have additional properties`};l===null?l=[n]:l.push(n),u++}if(n.width!==void 0){let e=n.width;if(typeof e!=`number`||e%1||isNaN(e)||!isFinite(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};l===null?l=[e]:l.push(e),u++}if(typeof e==`number`&&isFinite(e)){if(e>4096||isNaN(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/maximum`,keyword:`maximum`,params:{comparison:`<=`,limit:4096},message:`must be <= 4096`};l===null?l=[e]:l.push(e),u++}if(e<160||isNaN(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:160},message:`must be >= 160`};l===null?l=[e]:l.push(e),u++}}}}else{let e={instancePath:t+`/panel`,schemaPath:`#/properties/panel/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.groups!==void 0){let n=e.groups;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/groups`,schemaPath:`#/properties/groups/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/groups/`+r+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(l=l===null?f.errors:l.concat(f.errors),u=l.length))}else{let e={instancePath:t+`/groups/`+r,schemaPath:`#/properties/groups/items/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t+`/groups`,schemaPath:`#/properties/groups/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.controls!==void 0){let n=e.controls;if(Array.isArray(n)){if(n.length>500){let e={instancePath:t+`/controls`,schemaPath:`#/properties/controls/maxItems`,keyword:`maxItems`,params:{limit:500},message:`must NOT have more than 500 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r100){let e={instancePath:t+`/sets`,schemaPath:`#/properties/sets/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/sets`,schemaPath:`#/properties/sets/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`boolean`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`boolean`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.default!==void 0&&typeof e.default!=`boolean`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return L.errors=a,o===0}e.number=R;function R(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}if(e.min===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`min`},message:`must have required property 'min'`};a===null?a=[e]:a.push(e),l++}if(e.max===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`max`},message:`must have required property 'max'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(y.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0&&e.type!==`number`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`number`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),l++}if(e.default!==void 0){let n=e.default;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.min!==void 0){let n=e.min;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/min`,schemaPath:`#/properties/min/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.max!==void 0){let n=e.max;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/max`,schemaPath:`#/properties/max/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.step!==void 0){let n=e.step;if(typeof n==`number`&&isFinite(n)){if(n<=0||isNaN(n)){let e={instancePath:t+`/step`,schemaPath:`#/properties/step/exclusiveMinimum`,keyword:`exclusiveMinimum`,params:{comparison:`>`,limit:0},message:`must be > 0`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/step`,schemaPath:`#/properties/step/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return R.errors=a,l===0}e.slider=z;function z(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}if(e.min===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`min`},message:`must have required property 'min'`};a===null?a=[e]:a.push(e),l++}if(e.max===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`max`},message:`must have required property 'max'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(x.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0&&e.type!==`slider`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`slider`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),l++}if(e.default!==void 0){let n=e.default;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.min!==void 0){let n=e.min;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/min`,schemaPath:`#/properties/min/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.max!==void 0){let n=e.max;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/max`,schemaPath:`#/properties/max/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.step!==void 0){let n=e.step;if(typeof n==`number`&&isFinite(n)){if(n<=0||isNaN(n)){let e={instancePath:t+`/step`,schemaPath:`#/properties/step/exclusiveMinimum`,keyword:`exclusiveMinimum`,params:{comparison:`>`,limit:0},message:`must be > 0`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/step`,schemaPath:`#/properties/step/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return z.errors=a,l===0}e.choice=B;function B(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}if(e.options===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`options`},message:`must have required property 'options'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`options`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0){let n=e.type;if(n!==`select`&&n!==`radio`&&n!==`segmented`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/enum`,keyword:`enum`,params:{allowedValues:C.properties.type.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),o++}}if(e.default!==void 0&&typeof e.default!=`string`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.options!==void 0){let n=e.options;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(e)<1){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}let r=n.length,i;if(r>1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/options`,schemaPath:`#/$defs/options/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return B.errors=a,o===0}e.checkboxGroup=ee;function ee(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}if(e.options===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`options`},message:`must have required property 'options'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!==`binding`&&n!=="default"&&n!==`options`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`checkboxGroup`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`checkboxGroup`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.default!==void 0){let n=e.default;if(Array.isArray(n)){let e=n.length;for(let r=0;r1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/default`,schemaPath:`#/properties/default/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.options!==void 0){let n=e.options;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(e)<1){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}let r=n.length,i;if(r>1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/options`,schemaPath:`#/$defs/options/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return ee.errors=a,o===0}e.text=te;function te(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(E.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0){let n=e.type;if(n!==`text`&&n!==`textarea`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/enum`,keyword:`enum`,params:{allowedValues:E.properties.type.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),l++}}if(e.default!==void 0&&typeof e.default!=`string`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.minLength!==void 0){let n=e.minLength;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/minLength`,schemaPath:`#/properties/minLength/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),l++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/minLength`,schemaPath:`#/properties/minLength/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};a===null?a=[e]:a.push(e),l++}}if(e.maxLength!==void 0){let n=e.maxLength;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/maxLength`,schemaPath:`#/properties/maxLength/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),l++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/maxLength`,schemaPath:`#/properties/maxLength/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return te.errors=a,l===0}e.color=ne;function ne(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`color`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`color`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.default!==void 0){let n=e.default;if(typeof n==`string`){if(!O.test(n)){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/pattern`,keyword:`pattern`,params:{pattern:`^#[0-9a-fA-F]{6}$`},message:`must match pattern "^#[0-9a-fA-F]{6}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return ne.errors=a,o===0}e.button=re;function re(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`button`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`button`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return re.errors=a,o===0}}))(),1),{validateDocumentShape:Fe,validateDeclaration:Ie}=Pe.default,Le={boolean:`boolean`,number:`number`,slider:`slider`,select:`choice`,radio:`choice`,segmented:`choice`,checkboxGroup:`checkboxGroup`,text:`text`,textarea:`text`,color:`color`,button:`button`};function Re(e){let t=[...Ie.errors].filter(e=>!/^\/controls\/\d+(?:\/|$)/.test(e.instancePath)).map(e=>({...e}));return Array.isArray(e?.controls)&&e.controls.forEach((e,n)=>{let r=Object.hasOwn(Le,e?.type)?Le[e.type]:void 0,i=r&&Pe.default[r];i?i(e)||t.push(...i.errors.map(e=>({...e,instancePath:`/controls/${n}${e.instancePath}`}))):t.push({instancePath:`/controls/${n}/type`,message:`must name a supported control type`})}),t.map(e=>({path:e.instancePath,message:e.keyword===`additionalProperties`?`${e.message}: "${e.params.additionalProperty}"`:e.message,keyword:e.keyword,params:e.params}))}var ze=class extends Error{constructor(e){super(`Invalid controls.replica.json:\n${e.map(e=>` ${e.path||`/`}: ${e.message}`).join(` -`)}`),this.name=`ControlsValidationError`,this.issues=e}};function Be(e,t){switch(e.type){case`boolean`:return typeof t==`boolean`?null:`must be a boolean`;case`number`:case`slider`:{if(typeof t!=`number`||!Number.isFinite(t))return`must be a finite number`;if(e.min!==void 0&&t= min`;if(e.max!==void 0&&t>e.max)return`must be <= max`;let n=(t-e.min)/(e.step??1);return!Number.isFinite(n)||Math.abs(n-Math.round(n))>1e-8?`must align with step (anchored at min)`:null}case`select`:case`radio`:case`segmented`:return e.options.includes(t)?null:`must be a declared option`;case`checkboxGroup`:return Array.isArray(t)&&new Set(t).size===t.length&&t.every(t=>e.options.includes(t))?null:`must be unique declared options`;case`text`:case`textarea`:return typeof t==`string`?e.minLength!==void 0&&[...t].lengthe.maxLength?`longer than maxLength`:null:`must be a string`;case`color`:return typeof t==`string`&&/^#[0-9a-fA-F]{6}$/.test(t)?null:`must be a six-digit hex color`;default:return`button controls have no value`}}function Ve(e){return e?e.control?[e.control]:(e.all??e.any).flatMap(Ve):[]}function He(e){let t=new Map((e.groups??[]).map(e=>[e.id,e])),n=new Map(e.controls.map(e=>[e.id,e])),r=new Set,i=new Set,a=[];function o(e){if(r.has(e))return;if(i.has(e))throw new ze([{path:`/controls/${e}/when`,message:`conditional dependency cycle (including groups)`}]);i.add(e);let s=n.get(e);for(let e of[...Ve(s.when),...Ve(t.get(s.group)?.when)])o(e);i.delete(e),r.add(e),a.push(e)}for(let e of n.keys())o(e);return a}function Ue(e){let t=new Set;function n(e,r=0){if(r>24)throw new ze([{path:`/`,message:`document nesting exceeds 24`}]);if(typeof e==`number`&&!Number.isFinite(e))throw new ze([{path:`/`,message:`numbers must be finite`}]);if(![`string`,`number`,`boolean`,`object`].includes(typeof e))throw new ze([{path:`/`,message:`must contain only JSON values`}]);if(e&&typeof e==`object`){if(!Array.isArray(e)&&Object.getPrototypeOf(e)!==Object.prototype&&Object.getPrototypeOf(e)!==null)throw new ze([{path:`/`,message:`must contain only JSON objects`}]);if(t.has(e))throw new ze([{path:`/`,message:`must be an acyclic JSON document`}]);t.add(e);for(let t of Object.values(e))n(t,r+1);t.delete(e)}}n(e)}function We(e){if(Ue(e),!Ie(e))throw new ze(Re(e));let t=[];function n(e,n){t.push({path:e,message:n})}let r=new Set,i=new Map((e.groups??[]).map(e=>[e.id,e])),a=new Map(e.controls.map(e=>[e.id,e]));for(let[t,i]of[[`groups`,e.groups??[]],[`controls`,e.controls]])i.forEach((e,i)=>{r.has(e.id)&&n(`/${t}/${i}/id`,`duplicate ID ${e.id}`),r.add(e.id)});function o(e,t,r=0){if(!e)return;if(r>4){n(t,`conditions support at most five levels`);return}if(e.all||e.any){let n=e.all?`all`:`any`;e[n].forEach((e,i)=>o(e,`${t}/${n}/${i}`,r+1));return}let i=a.get(e.control);if(!i||i.type===`button`)n(t,`condition must reference a value control`);else if(`includes`in e)(i.type!==`checkboxGroup`||!i.options.includes(e.includes))&&n(t,`includes requires a declared checkboxGroup option`);else if(i.type===`checkboxGroup`)n(t,`checkboxGroup conditions must use includes`);else for(let r of`in`in e?e.in:[e.equals]){let e=Be(i,r);e&&n(t,`invalid condition for ${i.id}: ${e}`)}}if(e.controls.forEach((e,t)=>{let r=`/controls/${t}`;if(e.group&&!i.has(e.group)&&n(`${r}/group`,`unknown group`),e.min!==void 0&&e.max!==void 0&&e.min>e.max&&n(r,`min must not exceed max`),e.minLength!==void 0&&e.maxLength!==void 0&&e.minLength>e.maxLength&&n(r,`minLength must not exceed maxLength`),e.type===`segmented`&&e.options.length>3&&n(`${r}/options`,`segmented supports at most three options`),e.type!==`button`){let t=Be(e,e.default);t&&n(`${r}/default`,t)}o(e.when,`${r}/when`)}),(e.groups??[]).forEach((e,t)=>o(e.when,`/groups/${t}/when`)),t.length)throw new ze(t);return He(e),e}function Ge(e,t){let[n,r]=(0,V.useState)(e),[i,a]=(0,V.useState)(null),o=(0,V.useRef)(e),s=(0,V.useRef)(e),c=(0,V.useRef)(0),l=(0,V.useRef)(!1);(0,V.useLayoutEffect)(()=>{s.current=e,l.current||(o.current=e,r(e))},[e]),(0,V.useLayoutEffect)(()=>()=>{c.current++},[]);function u(e){c.current++,l.current=!0,o.current=e,r(e),a(null)}function d(){c.current++,l.current=!1,o.current=s.current,r(s.current),a(null)}function f(e,n=e){u(e);let i=c.current;Promise.resolve().then(()=>t(n)).then(e=>{c.current===i&&(l.current=!1,o.current=e&&`value`in e?e.value:s.current,r(o.current))}).catch(()=>{c.current===i&&(d(),a(G.controlsValueNotApplied))})}return{draft:n,error:i,current:()=>o.current,stage:u,commit:f,reset:d}}function Ke(e){let t=e.step??1,n=Math.max(...[e.min,e.max,t].map(e=>{let[t=``,n=`0`]=String(e).split(`e`);return Math.max(0,(t.split(`.`)[1]?.length??0)-Number(n))})),r=Math.max(...[e.min,e.max].map(e=>n<=100?e.toFixed(n).length:String(e).length),String(e.default).length,String(t).length);return e.type===`slider`?`calc(${r}ch + var(--hub-space-8) * 2)`:`calc(${r}ch + var(--hub-space-8) * 2 + 1.25rem)`}function qe({id:e,control:t,value:n,disabled:r,message:i,onCommit:a}){let o=Ge(n,a),[s,c]=(0,V.useState)(null);function l(e){let n=e.target.value,r=t.type===`number`||t.type===`slider`?n===``?NaN:Number(n):n,i=Be(t,r);c(i),i?o.stage(n):o.commit(n,r)}let u=s||o.error,d=t.type===`number`||t.type===`slider`,f=t.type===`slider`?{"--controls-slider-progress":`${t.min===t.max?100:(Number(n)-t.min)/(t.max-t.min)*100}%`}:void 0,p=[i?`${e}-hint`:void 0,u?`${e}-validation`:void 0].filter(Boolean).join(` `)||void 0,m={id:e,disabled:r,value:String(o.draft),onChange:l,"aria-invalid":u?!0:void 0,"aria-describedby":p,onBlur:()=>{s&&(o.reset(),c(null))}},h;return h=t.type===`textarea`?(0,U.jsx)(H.Textarea,{...m,rows:2,resize:`vertical`}):d?(0,U.jsx)(H.TextInput,{...m,className:t.type===`slider`?`controls-number-input controls-number-input--slider`:`controls-number-input`,type:`number`,min:t.min,max:t.max,step:t.step??1,validationStatus:u?`error`:void 0,"aria-labelledby":`${e}-label`,style:{width:Ke(t)}}):t.type===`color`?(0,U.jsx)(`input`,{...m,className:`controls-native-color`,type:`color`}):(0,U.jsx)(H.TextInput,{...m,type:`text`}),(0,U.jsxs)(H.FormControl,{id:e,className:d?`controls-field controls-field--${t.type}`:`controls-field`,fullWidth:!d||t.type===`slider`,validationStatus:u?`error`:void 0,children:[d?(0,U.jsxs)(`div`,{className:`controls-field-heading`,children:[(0,U.jsx)(H.FormControl.Label,{id:`${e}-label`,htmlFor:e,className:`controls-field-label`,children:t.label}),t.type===`slider`?(0,U.jsxs)(`div`,{className:`controls-slider-row`,children:[(0,U.jsx)(`input`,{...m,id:`${e}-slider`,value:String(n),className:`controls-native-slider`,type:`range`,style:f,min:t.min,max:t.max,step:t.step??1,"aria-labelledby":`${e}-label`}),h]}):h]}):(0,U.jsx)(H.FormControl.Label,{className:`controls-field-label`,children:t.label}),d?null:h,i?(0,U.jsx)(H.FormControl.Hint,{children:(0,U.jsx)(`span`,{role:`status`,children:i})}):null,u?(0,U.jsx)(H.FormControl.Validation,{className:`controls-field-validation`,"aria-live":`polite`,children:u}):null]})}function Je({id:e,control:t,value:n,disabled:r,message:i,onCommit:a}){let o=Ge(n,a),s=[i?`${e}-unavailable`:void 0,o.error?`${e}-validation`:void 0].filter(Boolean).join(` `)||void 0;if(t.type===`boolean`||t.type===`select`)return(0,U.jsxs)(H.FormControl,{id:e,className:t.type===`boolean`?`controls-field controls-choice-row`:`controls-field controls-field--select`,fullWidth:t.type===`boolean`,validationStatus:o.error?`error`:void 0,children:[t.type===`select`?(0,U.jsx)(H.FormControl.Label,{className:`controls-field-label`,children:t.label}):null,t.type===`boolean`?(0,U.jsx)(H.Checkbox,{className:`controls-choice-mark`,disabled:r,"aria-describedby":s,checked:o.draft===!0,onChange:e=>o.commit(e.target.checked)}):(0,U.jsx)(H.Select,{className:`controls-select-input`,disabled:r,"aria-describedby":s,value:o.draft,onChange:e=>o.commit(e.target.value),children:t.options.map(e=>(0,U.jsx)(H.Select.Option,{value:e,children:e},e))}),t.type===`boolean`?(0,U.jsx)(H.FormControl.Label,{className:`controls-choice-label`,children:t.label}):null,i?(0,U.jsx)(H.FormControl.Hint,{children:(0,U.jsx)(`span`,{role:`status`,children:i})}):null,o.error?(0,U.jsx)(H.FormControl.Validation,{className:`controls-field-validation`,"aria-live":`polite`,children:o.error}):null]});let c=t.type===`checkboxGroup`,l=t.type===`segmented`,u=c?H.CheckboxGroup:H.RadioGroup,d=c?H.Checkbox:H.Radio;return(0,U.jsxs)(u,{id:e,className:`controls-field`,"aria-disabled":r||void 0,"aria-describedby":s,children:[(0,U.jsx)(u.Label,{className:`controls-choice-group-label`,children:t.label}),(0,U.jsx)(`div`,{className:l?`controls-segments`:`controls-options`,children:t.options.map((t,n)=>{let i=`${e}-${n}`,a=c?o.draft.includes(t):o.draft===t,u=(0,U.jsx)(d,{className:c?`controls-choice-mark`:`controls-choice-mark controls-choice-mark--radio`,id:i,name:e,value:t,checked:a,disabled:r,"aria-describedby":s,onChange:e=>{let n=o.current();o.commit(c?e.target.checked?[...n,t]:n.filter(e=>e!==t):t)}});return l?(0,U.jsxs)(`label`,{htmlFor:i,className:`controls-segment`,title:t,children:[(0,U.jsx)(le,{children:u}),(0,U.jsx)(H.Text,{as:`span`,size:`100`,weight:`medium`,children:t})]},t):(0,U.jsxs)(H.FormControl,{id:i,className:`controls-field controls-choice-row`,children:[u,(0,U.jsx)(H.FormControl.Label,{className:`controls-choice-label`,children:t})]},t)})}),i?(0,U.jsx)(H.Text,{as:`span`,id:`${e}-unavailable`,size:`100`,variant:`muted`,role:`status`,children:i}):null,o.error?(0,U.jsx)(u.Validation,{variant:`error`,role:`status`,children:o.error}):null]})}function Ye(e,t){let n=e.snapshot.bindings?.[t.id],r=e.snapshot.actions[t.id];return{scope:e.declaration.scope,id:t.id,visible:e.snapshot.visible[t.id]===!0,available:(t.type!==`button`||r?.available===!0)&&(!n?.error||n.available===!0),busy:n?.busy===!0||r?.busy===!0,error:n?.error||(t.type===`button`&&!r?.available?G.controlsActionUnavailable:``)}}function Xe({scopes:e,disabled:t=!1,onCommand:n,collapsedGroups:r,onGroupCollapse:i}){let a=(0,V.useId)(),o=(0,V.useRef)(null),s=(0,V.useRef)(null),[c,l]=(0,V.useState)({});(0,V.useLayoutEffect)(()=>{s.current&&!s.current.isConnected&&(document.activeElement===document.body&&o.current?.focus(),s.current=null)},[e]);function u(e,r){if(!e.snapshot.visible[r.id])return null;let i=`${a}-${e.declaration.scope}-${r.id}`,o=e.snapshot.values[r.id];function s(t){return n(`update`,e.declaration.scope,r.id,t)}let c=e.snapshot.bindings?.[r.id],l=Ye(e,r),u={id:i,message:l.error?l.available?G.controlsNotApplied(r.label):G.controlsUnavailable(r.label):void 0,disabled:t||!!c?.error&&c?.available!==!0||c?.busy===!0};switch(r.type){case`button`:{let t=e.snapshot.actions[r.id];return(0,U.jsx)(`div`,{className:`controls-field controls-action-field`,children:(0,U.jsxs)(H.Button,{type:`button`,size:`small`,variant:`secondary`,className:`controls-action-button`,disabled:u.disabled||!t?.available||t.busy,"aria-describedby":u.message?`${i}-unavailable`:void 0,"aria-busy":t?.busy,onClick:()=>{n(`action`,e.declaration.scope,r.id)},children:[r.label,t?.busy?G.controlsActionBusy:``]})},r.id)}case`boolean`:case`select`:case`radio`:case`segmented`:case`checkboxGroup`:return(0,U.jsx)(Je,{...u,control:r,value:o,onCommit:s},r.id);case`number`:case`slider`:case`text`:case`textarea`:case`color`:return(0,U.jsx)(qe,{...u,control:r,value:o,onCommit:s},r.id)}}function d(e,t){if(!e.snapshot.visible[t.id])return null;let n=Ye(e,t);return(0,U.jsxs)(V.Fragment,{children:[u(e,t),t.type===`button`&&n.error?(0,U.jsx)(H.Text,{as:`p`,id:`${a}-${e.declaration.scope}-${t.id}-unavailable`,size:`100`,variant:`muted`,role:`status`,children:n.available?G.controlsNotApplied(t.label):G.controlsUnavailable(t.label)}):null]},t.id)}let f=[...e.filter(e=>e.declaration.role===`shared`),...e.filter(e=>e.declaration.role!==`shared`)].filter(e=>e.declaration.controls.some(t=>t.group?e.snapshot.groups[t.group]:e.snapshot.visible[t.id]));return(0,U.jsx)(`div`,{ref:o,tabIndex:-1,role:`region`,"aria-label":G.controlsRegion,className:`controls-fields`,onFocusCapture:e=>{s.current=e.target},children:f.map((e,t)=>{let n=new Set;return(0,U.jsxs)(`section`,{className:`controls-scope`,"aria-label":e.declaration.label??e.declaration.scope,children:[t>0?(0,U.jsx)(`hr`,{className:`controls-scope-divider`}):null,e.declaration.controls.map(t=>{if(!t.group)return d(e,t);if(n.has(t.group))return null;n.add(t.group);let o=e.declaration.groups?.find(e=>e.id===t.group);if(!o||!e.snapshot.groups[o.id])return null;let s=`${e.declaration.scope}/${o.id}`,u=(r??c)[s]===!0,f=`${a}-${e.declaration.scope}-${o.id}-group`;return(0,U.jsxs)(`fieldset`,{className:`controls-group`,"aria-label":o.label,children:[(0,U.jsx)(`legend`,{children:(0,U.jsx)(H.Button,{size:`small`,variant:`subtle`,type:`button`,block:!0,className:`controls-group-toggle controls-ghost-button`,"aria-label":u?G.controlsExpandGroup(o.label):G.controlsCollapseGroup(o.label),"aria-controls":f,"aria-expanded":!u,trailingVisual:u?(0,U.jsx)(p,{size:16}):(0,U.jsx)(g,{size:16}),onClick:t=>{t.currentTarget.focus(),i?i(e.declaration.scope,o.id,!u):l(e=>({...e,[s]:!u}))},children:(0,U.jsx)(H.Text,{as:`span`,size:`100`,weight:`bold`,variant:`muted`,className:`controls-group-label`,children:o.label})})}),(0,U.jsx)(`div`,{id:f,className:`controls-group-body`,hidden:u,children:e.declaration.controls.filter(e=>e.group===o.id).map(t=>d(e,t))})]},o.id)})]},e.declaration.scope)})})}function Ze(e){return Object.fromEntries(e.declaration.controls.filter(t=>t.type!==`button`&&e.snapshot.visible[t.id]&&JSON.stringify(e.snapshot.values[t.id])!==JSON.stringify(t.default)).map(t=>[t.id,e.snapshot.values[t.id]]))}function Qe(e,t){let n=(0,V.useRef)(null),r=(0,V.useRef)(null),i=(0,V.useRef)(null),a=(0,V.useRef)({position:e,onChange:t}),o=(0,V.useRef)(null),[s,c]=(0,V.useState)(!1);(0,V.useLayoutEffect)(()=>{a.current={position:e,onChange:t}});let l=(0,V.useCallback)(e=>{let t=n.current?.getBoundingClientRect(),i=r.current?.getBoundingClientRect();if(!t||!i||!t.width||!t.height)return;let o={x:Math.max(0,Math.min(e.x,Math.max(0,t.width-i.width))),y:Math.max(0,Math.min(e.y,Math.max(0,t.height-i.height)))};(a.current.position?.x!==o.x||a.current.position?.y!==o.y)&&a.current.onChange(o)},[]);(0,V.useLayoutEffect)(()=>{let e=n.current,t=r.current;if(!e||!t)return;function i(){let n=e?.getBoundingClientRect(),r=t?.getBoundingClientRect();if(!n||!r||!n.width||!n.height)return;let i=r.left-n.left,a=r.top-n.top;(i<0||a<0||i>Math.max(0,n.width-r.width)||a>Math.max(0,n.height-r.height))&&l({x:i,y:a})}let a=new ResizeObserver(i);return a.observe(e),a.observe(t),window.addEventListener(`resize`,i),i(),()=>{a.disconnect(),window.removeEventListener(`resize`,i)}},[l]);function u(e=!1){let t=o.current;o.current=null,c(!1),t&&(e&&l(t.origin),i.current?.hasPointerCapture(t.pointerId)&&i.current.releasePointerCapture(t.pointerId))}return{boundsRef:n,panelRef:r,handleRef:i,dragging:s,onPointerDown:e=>{if(e.button!==0||o.current)return;let t=n.current?.getBoundingClientRect(),i=r.current?.getBoundingClientRect();t&&i&&(o.current={pointerId:e.pointerId,x:e.clientX,y:e.clientY,origin:{x:i.left-t.left,y:i.top-t.top}},e.currentTarget.setPointerCapture(e.pointerId),e.currentTarget.focus(),e.preventDefault(),c(!0))},onPointerMove:e=>{let t=o.current;t&&t.pointerId===e.pointerId&&l({x:t.origin.x+e.clientX-t.x,y:t.origin.y+e.clientY-t.y})},onPointerUp:e=>{o.current?.pointerId===e.pointerId&&u()},onPointerCancel:e=>{o.current?.pointerId===e.pointerId&&u(!0)},onLostPointerCapture:()=>{o.current&&u()},onKeyDown:e=>{if(e.key===`Escape`&&o.current){e.preventDefault(),u(!0);return}if(![`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`].includes(e.key))return;let t=n.current?.getBoundingClientRect(),i=r.current?.getBoundingClientRect();if(!t||!i)return;e.preventDefault();let a=e.shiftKey?1:10;l({x:i.left-t.left+(e.key===`ArrowLeft`?-a:e.key===`ArrowRight`?a:0),y:i.top-t.top+(e.key===`ArrowUp`?-a:e.key===`ArrowDown`?a:0)})}}}function $e(e){let t=e.filter(e=>e.declaration.role!==`shared`),n=t.length?t:e;return n.length?Math.max(...n.map(e=>e.declaration.panel?.width??288)):288}function et({state:e,connection:t,layout:n,onLayoutChange:r,onDiagnose:i,diagnosisTarget:a=``}){let o=e.loading?[]:e.scopes.flatMap(e=>e.declaration.controls.flatMap(t=>{let n=Ye(e,t);return n.visible&&n.error?[{...n,label:t.label}]:[]})),s=!!(i&&!e.loading&&(!e.runtimeAvailable&&e.error||e.storageError||o.length||e.reconnectRequired||e.status===`missing-runtime`||e.status===`unsupported-runtime`||e.status===`invalid-config`)),c=s?JSON.stringify([a,e.status,e.runtimeAvailable,e.reconnectRequired,e.error,e.storageError,o.map(({scope:e,id:t,error:n})=>[e,t,n])]):``,[l,d]=(0,V.useState)(()=>({episode:c,identity:{},busy:!1,requested:!1,error:``}));l.episode!==c&&d({episode:c,identity:{},busy:!1,requested:!1,error:``});async function f(){if(!i||!s||l.busy||l.requested)return;let e=l.identity;d(t=>t.identity===e?{...t,busy:!0,error:``}:t);try{await i(),d(t=>t.identity===e?{...t,requested:!0}:t)}catch(t){d(n=>n.identity===e?{...n,error:t instanceof Error?t.message:G.controlsDiagnosisFailed}:n)}finally{d(t=>t.identity===e?{...t,busy:!1}:t)}}let p=(0,V.useId)(),m=(0,V.useId)(),_=(0,V.useRef)(null),{boundsRef:v,panelRef:y,handleRef:b,dragging:x,onPointerDown:S,onPointerMove:C,onPointerUp:w,onPointerCancel:T,onLostPointerCapture:E,onKeyDown:D}=Qe(n.position,e=>r(t=>({...t,position:e})));(0,V.useEffect)(()=>{b.current?.focus()},[b]),(0,V.useLayoutEffect)(()=>{_.current&&!_.current.isConnected&&(document.activeElement===document.body&&b.current?.focus(),_.current=null)},[e,b]);let O=e.loading?G.controlsConnecting:e.status===`no-controls`?G.controlsEmpty:e.status===`missing-runtime`?i?G.controlsLocalMissingRuntime:G.controlsMissingRuntime:e.status===`unsupported-runtime`?G.controlsUnsupportedRuntime:e.status===`invalid-config`?G.controlsInvalid:``,k=!e.loading&&(e.storageError||e.reconnectRequired||!e.runtimeAvailable&&e.error),A=!e.loading&&e.status===`no-controls`&&!e.error&&!e.storageError&&!e.reconnectRequired&&!e.scopeErrors?.length&&!e.scopes.length;return(0,U.jsx)(`div`,{ref:v,className:`canvas-controls-layer`,children:(0,U.jsxs)(`aside`,{ref:y,className:`canvas-controls-panel`,"aria-label":G.controls,onFocusCapture:e=>{e.target instanceof HTMLElement&&(_.current=e.target)},"data-collapsed":n.collapsed,"data-dragging":x||void 0,style:{left:n.position?.x,top:n.position?.y,width:`min(${$e(e.scopes)}px, calc(100% - var(--hub-space-16) * 2))`},children:[(0,U.jsxs)(`header`,{className:`canvas-controls-header`,children:[(0,U.jsx)(W,{icon:h,ref:b,size:`small`,variant:`invisible`,className:`canvas-controls-grab controls-ghost-button`,"aria-label":G.controlsMove,"aria-describedby":m,title:``,onPointerDown:S,onPointerMove:C,onPointerUp:w,onPointerCancel:T,onLostPointerCapture:E,onKeyDown:D}),(0,U.jsx)(le,{id:m,children:G.controlsMoveHint}),(0,U.jsx)(H.Button,{type:`button`,size:`small`,variant:`subtle`,block:!0,className:`canvas-controls-title controls-ghost-button`,"aria-label":n.collapsed?G.controlsExpand:G.controlsCollapse,"aria-expanded":!n.collapsed,"aria-controls":p,trailingVisual:n.collapsed?(0,U.jsx)(g,{size:16}):(0,U.jsx)(u,{size:16}),onClick:()=>r(e=>({...e,collapsed:!e.collapsed})),children:G.controls}),(0,U.jsx)(W,{icon:L,size:`small`,variant:`invisible`,className:`controls-ghost-button`,"aria-label":G.controlsResetAll,disabled:!e.runtimeAvailable||e.reconnectRequired||e.loading||e.resetting||!e.storageError&&!e.hasResettableValues&&!e.scopes.some(e=>Object.keys(Ze(e)).length>0)||e.scopes.some(e=>Object.values(e.snapshot.actions).some(e=>e.busy))||e.status!==`ready`&&e.status!==`no-controls`&&!e.storageError,onClick:()=>{t.resetAll()}})]}),(0,U.jsxs)(`div`,{id:p,className:`canvas-controls-body`,hidden:n.collapsed,children:[(0,U.jsxs)(`div`,{className:`canvas-controls-content`,children:[O||e.notice?(0,U.jsx)(`div`,{role:`status`,"aria-live":`polite`,children:(0,U.jsx)(H.Text,{as:`p`,size:`100`,variant:`muted`,children:[O,e.notice].filter(Boolean).join(` `)})}):null,!e.loading&&e.error?(0,U.jsx)(H.Text,{as:`p`,size:`100`,role:`alert`,children:e.error}):null,!e.loading&&e.scopeErrors?.map(e=>(0,U.jsx)(H.Text,{as:`p`,size:`100`,role:`alert`,children:G.controlsScopeError(e.scope,e.error)},e.scope)),!e.loading&&e.storageError?(0,U.jsx)(H.Text,{as:`p`,size:`100`,role:`alert`,children:e.storageError}):null,l.error?(0,U.jsx)(H.Text,{as:`p`,size:`100`,role:`alert`,children:l.error}):null,(0,U.jsx)(Xe,{scopes:e.loading?[]:e.scopes,disabled:e.resetting||e.reconnectRequired,collapsedGroups:n.collapsedGroups,onGroupCollapse:(e,t,n)=>r(r=>({...r,collapsedGroups:{...r.collapsedGroups,[`${e}/${t}`]:n}})),onCommand:(e,n,r,i)=>t.command(e,n,r,i)}),o.length?(0,U.jsxs)(H.Accordion,{className:`canvas-controls-diagnostics`,disableAnimation:!0,children:[(0,U.jsx)(H.Accordion.Heading,{children:G.controlsDiagnostics}),(0,U.jsx)(H.Accordion.Content,{children:o.map(({scope:e,id:t,label:n,error:r})=>(0,U.jsxs)(H.Text,{as:`p`,size:`100`,children:[n,`: `,r]},`${e}/${t}`))})]}):null]}),s||k||A?(0,U.jsxs)(`footer`,{className:`canvas-controls-footer`,children:[A?(0,U.jsxs)(H.InlineLink,{className:`canvas-controls-learn-more`,href:`https://github.com/github/replica/blob/main/starter/README.md#prototype-controls`,target:`_blank`,rel:`noopener noreferrer`,children:[G.controlsLearnMore,(0,U.jsx)(re,{size:16,"aria-hidden":`true`})]}):null,s?(0,U.jsx)(H.Button,{size:`small`,variant:`secondary`,type:`button`,disabled:l.busy||l.requested||e.resetting,onClick:()=>void f(),children:l.requested?G.controlsDiagnosisRequested:o.length?G.controlsFix:G.controlsDiagnose}):null,k?(0,U.jsx)(H.Button,{size:`small`,variant:`secondary`,type:`button`,disabled:e.resetting,onClick:()=>t.retry(),children:e.storageError?G.controlsRetryStorage:G.controlsRetry}):null]}):null]})]})})}var tt=C();function nt({children:e,className:t,...n}){return(0,U.jsx)(`span`,{...n,className:`hub-counter${t?` ${t}`:``}`,children:e})}var rt=(0,V.createContext)(null);function it({source:e,children:t}){return(0,U.jsx)(rt,{value:e,children:t})}function at({title:e,label:t=e,open:n,closeLabel:r,closeDisabled:i=!1,closeShortcut:a,closeRef:o,onClose:s,headerAccessory:c,className:l,contentClassName:u,children:d}){return(0,U.jsxs)(`aside`,{className:`hub-sidebar${l?` ${l}`:``}`,"aria-label":t,"aria-hidden":!n,"data-open":n,inert:!n,children:[(0,U.jsxs)(`header`,{className:`hub-sidebar__header`,children:[(0,U.jsxs)(`div`,{className:`hub-sidebar__heading`,children:[(0,U.jsx)(H.Heading,{as:`h2`,size:`subhead-medium`,weight:`normal`,children:e}),c]}),(0,U.jsx)(W,{ref:o,icon:te,"aria-label":r,"aria-keyshortcuts":a,title:r,description:r,variant:`invisible`,size:`small`,className:`hub-sidebar__close`,disabled:i,onClick:s})]}),(0,U.jsx)(`div`,{className:`hub-sidebar__content${u?` ${u}`:``}`,children:d})]})}function ot({src:e,size:t=32,className:n}){return(0,U.jsx)(H.Avatar,{src:e||`/avatar-placeholder.svg`,alt:``,size:32,className:`hub-user-avatar hub-user-avatar--${t}${n?` ${n}`:``}`})}function st({participants:e,size:t}){let n=e.slice(0,4),r=e.length-3;return(0,U.jsxs)(`span`,{className:`review-participant-stack review-participant-stack--${t}`,"data-avatar-count":n.length,"data-participant-count":e.length,"aria-hidden":`true`,children:[(r>1?n.slice(0,3):n).map(e=>(0,U.jsx)(`span`,{className:`review-participant-stack__avatar`,children:(0,U.jsx)(ot,{src:e.avatarUrl,size:24})},e.login)),r>1?(0,U.jsxs)(`span`,{className:`review-participant-stack__avatar review-participant-stack__avatar--overflow`,children:[`+`,r]}):null]})}function ct(e,t){let n=e.path.map(e=>({x:t.x+e.x*t.width,y:t.y+e.y*t.height})),r={x:t.x+t.width,y:t.y};return{path:n,point:n.reduce((e,t)=>{let n=(t.x-r.x)**2+(t.y-r.y)**2;return n{let e=c.current;if(!e)return;function t(){let t=e?.clientWidth??0;if(t)for(let e of l.current.values()){let n=Number.parseFloat(e.style.left),r=e.offsetWidth;if(!Number.isFinite(n)||!r)continue;let i=n-16,a=Math.max(0,Math.min(i,t-r))-i;e.style.setProperty(`--review-marker-offset-x`,`${a}px`)}}t();let n=typeof ResizeObserver>`u`?null:new ResizeObserver(t);n?.observe(e);for(let e of l.current.values())n?.observe(e);return window.addEventListener(`resize`,t),()=>{n?.disconnect(),window.removeEventListener(`resize`,t)}},[t,e]),(0,V.useEffect)(()=>{!i||n===null||u!==`resolved`&&u!==`moved`||l.current.get(n)?.focus({preventScroll:!0})},[i,u,n]),(0,U.jsx)(`div`,{ref:c,className:`review-comment-markers`,role:`group`,"aria-label":o.heading,children:e.map(e=>{let{root:i}=e,c=t.get(i.id);if(!c||c.status!==`resolved`&&c.status!==`moved`)return null;let u=e.replies.length>0,d=(e.unread?u?o.unreadMarkerWithRepliesLabel:o.unreadMarkerLabel:u?o.markerWithRepliesLabel:o.markerLabel).replace(`%{author}`,`@${i.author.login}`).replace(`%{count}`,(e.replies.length+1).toString()),f=i.anchor.kind===`area`?ct(i.anchor,c.rect):null,p=e.participants.slice(3),m=p.length>1?p.map(({login:e})=>`@${e}`).join(`, `):d;return(0,U.jsxs)(V.Fragment,{children:[f&&(!a||n===i.id)?(0,U.jsx)(`svg`,{className:`review-comment-area`,"aria-hidden":`true`,width:`100%`,height:`100%`,children:(0,U.jsx)(`polyline`,{className:n===i.id?`review-comment-area__path review-comment-area__path--selected`:`review-comment-area__path`,points:f.path.map(e=>`${e.x},${e.y}`).join(` `),vectorEffect:`non-scaling-stroke`})}):null,(0,U.jsx)(H.Tooltip,{text:m,type:`description`,ref:e=>{e instanceof HTMLButtonElement?l.current.set(i.id,e):l.current.delete(i.id)},children:(0,U.jsx)(`button`,{type:`button`,"data-review-thread-id":i.id,className:`review-comment-marker${n===i.id?` review-comment-marker--selected`:``}${i.resolvedAt?` review-comment-marker--resolved`:``}${e.unread?` review-comment-marker--unread`:``}${r&&n!==i.id?` review-comment-marker--blocked`:``}`,style:{left:f?.point.x??c.point.x,top:f?.point.y??c.point.y},"aria-label":d,disabled:r&&n!==i.id,onClick:()=>s(e),children:(0,U.jsx)(st,{participants:e.participants,size:`small`})})})]},i.id)})})}function Z({checked:e,onChange:t,size:n=`medium`,className:r,...i}){let{value:a,...o}=i;return(0,U.jsxs)(`label`,{className:`hub-switch hub-switch--${n}${r?` ${r}`:``}`,"data-disabled":i.disabled||void 0,children:[(0,U.jsx)(`span`,{className:`hub-switch__native-control`,children:(0,U.jsx)(H.Checkbox,{...o,value:a===void 0?void 0:String(a),role:`switch`,checked:e,onChange:e=>{i.disabled||t(e.currentTarget.checked)}})}),(0,U.jsx)(`span`,{className:`hub-switch__track`,"data-checked":e,"aria-hidden":`true`,children:(0,U.jsx)(`span`,{className:`hub-switch__thumb`})})]})}function Q(e){(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),e.stopPropagation(),e.currentTarget.click())}function ut({filters:e,participants:t,showPins:r,copy:i,onFiltersChange:a,onShowPinsChange:o}){let[s,c]=(0,V.useState)(!1),l=e.currentBuildOnly||e.currentPageOnly||e.showResolved||!e.showRead||e.onlyMine||e.participant!==null||!r,u=t.find(t=>t.login===e.participant),d=e.participant===null?i.allParticipantsLabel:u?.name?`${u.name} (@${u.login})`:`@${e.participant}`;return(0,U.jsxs)(`div`,{className:`review-comment-filter-controls`,children:[(0,U.jsxs)(`div`,{className:`review-comment-filter-controls__search`,children:[(0,U.jsxs)(`div`,{className:`review-comment-filter-controls__search-field`,children:[(0,U.jsx)(ae,{className:`review-comment-filter-controls__search-icon`,size:16,"aria-hidden":`true`}),(0,U.jsx)(`input`,{type:`search`,className:`review-comment-filter-controls__input`,"aria-label":i.searchLabel,placeholder:i.searchPlaceholder,value:e.search,onChange:t=>a({...e,search:t.target.value})})]}),(0,U.jsx)(W,{icon:n,"aria-label":i.filterLabel,description:i.filterLabel,"aria-expanded":s,variant:`invisible`,className:`review-comment-filter-controls__button${s||l?` review-comment-filter-controls__button--active`:``}`,onClick:()=>c(e=>!e)})]}),s?(0,U.jsxs)(`div`,{className:`review-comment-filter-controls__filters`,children:[(0,U.jsxs)(`div`,{className:`review-comment-filter-controls__participant`,children:[(0,U.jsx)(`span`,{children:i.participantFilterLabel}),(0,U.jsxs)(H.ActionMenu,{size:`small`,selectionVariant:`single`,menuAlignment:`end`,onSelect:t=>a({...e,participant:t===``?null:t}),children:[(0,U.jsx)(H.ActionMenu.Button,{className:`review-comment-filter-controls__participant-trigger`,variant:`secondary`,size:`small`,"aria-label":`${i.participantFilterLabel}: ${d}`,children:(0,U.jsx)(`span`,{className:`review-comment-filter-controls__participant-name`,children:d})}),(0,U.jsxs)(H.ActionMenu.Overlay,{"aria-label":i.participantFilterLabel,children:[(0,U.jsx)(H.ActionMenu.Item,{value:``,selected:e.participant===null,role:`menuitemradio`,onKeyDownCapture:Q,children:i.allParticipantsLabel}),t.map(t=>(0,U.jsx)(H.ActionMenu.Item,{value:t.login,selected:e.participant===t.login,role:`menuitemradio`,onKeyDownCapture:Q,children:t.name?`${t.name} (@${t.login})`:`@${t.login}`},t.login))]})]})]}),(0,U.jsxs)(`div`,{className:`review-comment-filter-controls__toggle`,children:[(0,U.jsx)(`span`,{id:`review-comments-current-build`,children:i.currentBuildFilterLabel}),(0,U.jsx)(Z,{"aria-labelledby":`review-comments-current-build`,checked:e.currentBuildOnly,size:`small`,onChange:t=>a({...e,currentBuildOnly:t})})]}),(0,U.jsxs)(`div`,{className:`review-comment-filter-controls__toggle`,children:[(0,U.jsx)(`span`,{id:`review-comments-current-page`,children:i.currentPageFilterLabel}),(0,U.jsx)(Z,{"aria-labelledby":`review-comments-current-page`,checked:e.currentPageOnly,size:`small`,onChange:t=>a({...e,currentPageOnly:t})})]}),(0,U.jsxs)(`div`,{className:`review-comment-filter-controls__toggle`,children:[(0,U.jsx)(`span`,{id:`review-comments-show-resolved`,children:i.showResolvedLabel}),(0,U.jsx)(Z,{"aria-labelledby":`review-comments-show-resolved`,checked:e.showResolved,size:`small`,onChange:t=>a({...e,showResolved:t})})]}),(0,U.jsxs)(`div`,{className:`review-comment-filter-controls__toggle`,children:[(0,U.jsx)(`span`,{id:`review-comments-unread-only`,children:i.unreadOnlyLabel}),(0,U.jsx)(Z,{"aria-labelledby":`review-comments-unread-only`,checked:!e.showRead,size:`small`,onChange:t=>a({...e,showRead:!t})})]}),(0,U.jsxs)(`div`,{className:`review-comment-filter-controls__toggle`,children:[(0,U.jsx)(`span`,{id:`review-comments-only-mine`,children:i.onlyMineLabel}),(0,U.jsx)(Z,{"aria-labelledby":`review-comments-only-mine`,checked:e.onlyMine,size:`small`,onChange:t=>a({...e,onlyMine:t})})]}),(0,U.jsxs)(`div`,{className:`review-comment-filter-controls__toggle`,children:[(0,U.jsx)(`span`,{id:`review-comments-show-pins`,children:i.showPinsLabel}),(0,U.jsx)(Z,{"aria-labelledby":`review-comments-show-pins`,checked:r,size:`small`,onChange:o})]})]}):null]})}var dt=[[31536e3,`y`],[2592e3,`mo`],[604800,`w`],[86400,`d`],[3600,`h`],[60,`m`]];function ft(e){let t=window.setInterval(e,6e4);return()=>window.clearInterval(t)}function pt(){return Math.floor(Date.now()/6e4)*6e4}function mt(){return null}function ht({value:e,showTitle:t=!0}){let n=Date.parse(e),r=Number.isNaN(n)?e:new Date(n).toUTCString(),i=(0,V.useSyncExternalStore)(ft,pt,mt),a=r;if(i!==null&&!Number.isNaN(n)){let e=Math.round((i-n)/1e3),t=dt.find(([t])=>Math.abs(e)>=t);a=t?`${e<0?`in `:``}${Math.round(Math.abs(e)/t[0])}${t[1]}${e<0?``:` ago`}`:`just now`}return(0,U.jsx)(`time`,{dateTime:e,title:t?r:void 0,"aria-label":r,children:a})}function gt({thread:e,currentBuildNumber:t,resolution:n,anchorStatusLabel:r,selected:i,selectionBlocked:a,copy:o,onSelect:s,buildHref:c}){let l=(0,V.useId)(),{root:u}=e,d=u.author.name||`@${u.author.login}`,f=a&&!i,p=o.buildLabel.replace(`%{number}`,u.buildNumber.toString()),m=u.buildNumber!==t,h=e.replies.length===1?o.replyCountOneLabel:o.replyCountOtherLabel.replace(`%{count}`,e.replies.length.toString()),g=o.missingAnchorLabel;return u.resolvedAt?g=o.resolvedLabel:r===void 0?n?n.status===`resolved`?g=null:n.status===`moved`?g=o.movedAnchorLabel:n.status===`changed`?g=o.changedAnchorLabel:n.status===`route-mismatch`&&(g=o.routeMismatchLabel):g=null:g=r,(0,U.jsx)(`article`,{className:`review-comment-row${i?` review-comment-row--selected`:``}${e.unread?` review-comment-row--unread`:``}`,onClick:t=>{f||t.target instanceof Element&&t.target.closest(`a`)||s(e)},children:(0,U.jsx)(`div`,{className:`review-comment-row__layout`,children:(0,U.jsxs)(`div`,{className:`review-comment-row__content`,children:[(0,U.jsxs)(`div`,{className:`review-comment-row__copy`,children:[(0,U.jsxs)(`div`,{className:`review-comment-row__metadata`,children:[(0,U.jsxs)(`span`,{className:`review-comment-row__author-and-build`,children:[(0,U.jsx)(ot,{src:u.author.avatarUrl,size:20,className:`review-comment-row__avatar`}),(0,U.jsx)(`span`,{id:`${l}-author`,className:`review-comment-row__author`,children:d}),m?(0,U.jsxs)(`span`,{className:`review-comment-row__build`,children:[`(`,(0,U.jsx)(`a`,{href:c||u.buildPath,target:c?`_blank`:void 0,rel:c?`noopener noreferrer`:void 0,children:p}),`)`]}):null]}),(0,U.jsx)(ht,{value:e.lastActivityAt})]}),(0,U.jsx)(`button`,{type:`button`,className:`review-comment-row__button`,"aria-labelledby":`${l}-author ${l}-body${e.unread?` ${l}-unread`:``}`,"aria-pressed":i,disabled:f,title:f?o.selectionBlockedLabel:void 0,children:(0,U.jsxs)(`span`,{className:`review-comment-row__body-container`,children:[e.unread?(0,U.jsx)(`span`,{role:`img`,id:`${l}-unread`,"aria-label":o.unreadLabel,title:o.unreadLabel,className:`review-comment-row__unread`}):null,(0,U.jsx)(`span`,{id:`${l}-body`,className:`review-comment-row__body`,children:u.body??o.deletedCommentLabel})]})})]}),g||e.replies.length>0?(0,U.jsxs)(`div`,{className:`review-comment-row__context`,children:[e.replies.length>0?(0,U.jsx)(`span`,{className:`review-comment-row__replies`,children:h}):null,g?(0,U.jsx)(H.Label,{size:`small`,className:`review-comment-row__status`,children:g}):null]}):null]})})})}function _t({frame:e,threads:t,currentBuildNumber:n,buildLinkOrigin:r,totalCount:i,hasThreads:a,filters:o,participants:s,resolutions:c,selectedThreadId:l,selectionBlocked:u,closeBlocked:d,showPins:f,loading:p,loadFailed:m,notice:h,copy:g,onClose:_,onFiltersChange:v,onShowPinsChange:y,onRetry:b,onSelect:x}){let S=a?g.noMatchesLabel:g.emptyLabel,C=(0,U.jsxs)(U.Fragment,{children:[h,(0,U.jsx)(ut,{filters:o,participants:s,showPins:f,copy:g,onFiltersChange:v,onShowPinsChange:y}),(0,U.jsxs)(`div`,{className:`review-comments-sidebar__body`,"aria-live":`polite`,children:[m?(0,U.jsxs)(`div`,{className:`review-comments-sidebar__state`,role:`alert`,children:[(0,U.jsx)(`span`,{children:g.loadErrorLabel}),(0,U.jsx)(H.Button,{size:`small`,onClick:b,children:g.retryLabel})]}):t.length===0&&!p?(0,U.jsx)(`div`,{className:`review-comments-sidebar__state`,children:S}):(0,U.jsx)(`div`,{className:`review-comments-sidebar__threads`,children:t.map(e=>(0,U.jsx)(gt,{thread:e,currentBuildNumber:n,buildHref:r?new URL(e.root.buildPath,r).href:void 0,resolution:c.get(e.root.id),selected:l===e.root.id,selectionBlocked:u,copy:g,onSelect:x},e.root.id))}),p?(0,U.jsxs)(`div`,{className:`review-comments-sidebar__loading`,children:[(0,U.jsx)(ce,{decorative:!0,size:`small`}),(0,U.jsx)(`span`,{children:g.loadingLabel})]}):null]})]});return e?(0,U.jsx)(at,{...e,title:g.heading,closeLabel:g.closeLabel,closeDisabled:d,closeShortcut:`Shift+C`,onClose:_,headerAccessory:(0,U.jsx)(nt,{children:i}),children:C}):(0,U.jsxs)(`aside`,{className:`review-comments-sidebar`,"aria-label":g.heading,children:[(0,U.jsxs)(`header`,{className:`review-comments-sidebar__header`,children:[(0,U.jsxs)(`span`,{className:`review-comments-sidebar__heading`,children:[(0,U.jsx)(H.Heading,{as:`h2`,size:`6`,children:g.heading}),(0,U.jsx)(nt,{children:i})]}),(0,U.jsx)(W,{icon:te,"aria-label":g.closeLabel,"aria-keyshortcuts":`Shift+C`,description:g.closeLabel,size:`small`,variant:`invisible`,className:`review-comments-sidebar__close`,disabled:d,onClick:_})]}),C]})}function vt({bridgeReady:e,copy:t,selectionBlocked:n,selecting:r,onCancelSelection:i,onStartAreaSelection:a,onStartElementSelection:o}){let c=(0,V.useId)(),l=!e||n,u=e?n?t.selectionBlockedLabel:t.commentMenuLabel:t.bridgeUnavailableLabel;if(r)return(0,U.jsx)(W,{icon:te,"aria-label":t.cancelSelectionLabel,description:t.cancelSelectionLabel,"aria-pressed":!0,size:`small`,variant:`default`,className:`review-comment-control__trigger`,onClick:i});let d=(0,U.jsxs)(H.ActionMenu,{selectionVariant:`none`,size:`small`,menuAlignment:`start`,disabled:l,children:[(0,U.jsx)(H.ActionMenu.Button,{className:`review-comment-control__trigger`,variant:`secondary`,"aria-label":t.commentMenuLabel,"aria-describedby":c,leadingVisual:(0,U.jsx)(b,{size:16}),onClick:e=>{let t=e.currentTarget,n=t.closest(`.repository-workspace__content`)?.getBoundingClientRect(),r=Math.min(window.innerHeight,n?.bottom??window.innerHeight),i=Math.max(0,r-t.getBoundingClientRect().bottom-8);t.closest(`[data-testid="ActionMenu"]`)?.style.setProperty(`--review-comment-control-menu-height`,`${i}px`)},children:``}),(0,U.jsxs)(H.ActionMenu.Overlay,{"aria-label":t.commentMenuLabel,children:[(0,U.jsx)(H.ActionMenu.Item,{className:`review-comment-control__menu-item`,value:`element`,leadingVisual:(0,U.jsx)(s,{size:16}),"aria-keyshortcuts":`C`,onClick:o,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o())},children:t.commentOnElementLabel}),(0,U.jsx)(H.ActionMenu.Item,{className:`review-comment-control__menu-item`,value:`area`,leadingVisual:(0,U.jsx)(_,{size:16}),"aria-keyshortcuts":`H`,onClick:a,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),a())},children:t.highlightRegionLabel})]})]});return l?(0,U.jsxs)(`div`,{title:u,children:[d,(0,U.jsx)(le,{id:c,children:u})]}):(0,U.jsx)(H.Tooltip,{id:c,text:u,type:`description`,children:(0,U.jsx)(`div`,{children:d})})}var yt={search:``,currentBuildOnly:!1,currentPageOnly:!1,showResolved:!1,showRead:!0,onlyMine:!1,participant:null},bt={heading:`Comments`,closeLabel:`Close comments`,commentMenuLabel:`Add a comment`,commentOnElementLabel:`Comment on element`,highlightRegionLabel:`Highlight a region`,cancelSelectionLabel:`Cancel selection`,bridgeUnavailableLabel:`Adding comments needs the review bridge.`,selectionBlockedLabel:`Close or submit the open draft.`,selectionFailedLabel:`Hub could not anchor a comment to that element.`,areaTooSmallLabel:`Draw a larger region to add a comment.`,areaUnavailableLabel:`Hub could not save that region.`,searchLabel:`Search comments`,searchPlaceholder:`Search comments`,filterLabel:`Filters`,currentBuildFilterLabel:`Current build only`,currentPageFilterLabel:`Current page only`,participantFilterLabel:`Participant`,allParticipantsLabel:`All participants`,showResolvedLabel:`Show resolved`,unreadOnlyLabel:`Unread only`,onlyMineLabel:`Only your threads`,showPinsLabel:`Show pins`,sidebarShortcutLabel:`Shift+C`,loadingLabel:`Loading comments`,loadErrorLabel:`Comments could not be loaded.`,retryLabel:`Retry`,emptyLabel:`No comments have been added.`,noMatchesLabel:`No comments match these filters.`,buildLabel:`build %{number}`,movedAnchorLabel:`Moved`,changedAnchorLabel:`Context changed`,missingAnchorLabel:`Not found`,routeMismatchLabel:`Saved on another page`,resolvedLabel:`Resolved`,markerLabel:`Thread started by %{author}`,markerWithRepliesLabel:`Thread started by %{author}, %{count} comments`,unreadLabel:`Unread`,unreadMarkerLabel:`Unread thread started by %{author}`,unreadMarkerWithRepliesLabel:`Unread thread started by %{author}, %{count} comments`,replyCountOneLabel:`1 reply`,replyCountOtherLabel:`%{count} replies`,threadHeading:`Conversation`,backToCommentsLabel:`Back to comments`,resolvedByLabel:`Resolved by %{author}. Reopen this thread to reply.`,editedLabel:`Edited`,deletedCommentLabel:`Comment deleted`,addReactionLabel:`Add reaction`,reactionCountOneLabel:`%{reaction}, 1 reaction`,reactionCountOtherLabel:`%{reaction}, %{count} reactions`,reactionErrorLabel:`The reaction could not be changed.`,readErrorLabel:`Hub could not mark this conversation as read.`,markUnreadLabel:`Mark as unread`,markUnreadErrorLabel:`Hub could not mark this conversation as unread. Try again.`,reactionLabels:{"+1":`Thumbs up`,"-1":`Thumbs down`,laugh:`Laugh`,hooray:`Hooray`,confused:`Confused`,heart:`Heart`,rocket:`Rocket`,eyes:`Eyes`},commentActionsLabel:`Actions for comment by %{author}`,editLabel:`Edit`,deleteLabel:`Delete`,editCommentLabel:`Edit comment`,saveEditLabel:`Save`,savingEditLabel:`Saving comment`,cancelEditLabel:`Cancel`,editErrorLabel:`The comment could not be updated.`,deleteHeading:`Delete this comment?`,deletePromptLabel:`Deleted comment text cannot be recovered.`,confirmDeleteLabel:`Delete`,deletingLabel:`Deleting comment`,deleteErrorLabel:`The comment could not be deleted.`,replyLabel:`Reply`,replyPlaceholder:`Reply to this conversation`,replySubmitLabel:`Reply`,replySubmitTooltipMacLabel:`Reply (Cmd+Return)`,replySubmitTooltipOtherLabel:`Reply (Ctrl+Enter)`,replyingLabel:`Saving reply`,replyErrorLabel:`The reply could not be saved.`,resolveLabel:`Resolve`,resolvingLabel:`Resolving thread`,reopenLabel:`Reopen`,reopeningLabel:`Reopening thread`,resolutionErrorLabel:`The thread state could not be changed.`,resolvedReplyBlockedLabel:`Reopen this thread to reply.`,deletedReplyBlockedLabel:`Replies are closed.`,threadDiscardPromptLabel:`Your reply or edit has not been saved.`,composerHeading:`New comment`,composerLabel:`Comment`,composerPlaceholder:`Leave a review comment`,submitLabel:`Comment`,submitTooltipMacLabel:`Comment (Cmd+Return)`,submitTooltipOtherLabel:`Comment (Ctrl+Enter)`,submittingLabel:`Saving comment`,closeComposerLabel:`Cancel`,discardHeading:`Keep this draft?`,discardPromptLabel:`This comment has not been submitted.`,keepLabel:`Keep`,discardButtonLabel:`Discard`,bodyTooLongLabel:`Comments must be 10000 UTF-8 bytes or fewer.`,createErrorLabel:`The comment could not be saved.`};function xt(e,t){let n=new Map;n.set(e.login.toLowerCase(),e);for(let e of t.toReversed()){let t=e.login.toLowerCase();n.has(t)||n.set(t,e)}return Array.from(n.values())}function St(e){let t=new Map,n=new Map;for(let r of e){if(r.kind===`root`){t.set(r.id,r);continue}let e=n.get(r.rootId)??[];e.push(r),n.set(r.rootId,e)}return Array.from(t.values()).flatMap(e=>{let t=(n.get(e.id)??[]).filter(e=>e.deletedAt===null).sort((e,t)=>Date.parse(e.createdAt)-Date.parse(t.createdAt)||e.id-t.id);return e.deletedAt!==null&&t.length===0?[]:[{root:e,replies:t,participants:xt(e.author,t.map(e=>e.author)),lastActivityAt:t.at(-1)?.createdAt??e.createdAt,unread:e.viewerLastSeenActivityVersion===null||e.viewerLastSeenActivityVersionDate.parse(t.lastActivityAt)-Date.parse(e.lastActivityAt)||t.root.id-e.root.id)}var Ct=new TextEncoder;function wt(e,{prefix:t,required:n=!1}={}){return N().refine(r=>(!n||r!==``)&&(!t||r===``||r.startsWith(t))&&Ct.encode(r).length<=e)}var Tt=16384,Et=2048,Dt=2048,Ot=1024,kt=4096,At=1e3,jt=2e3,Mt=1e6,Nt=1e5,Pt=new TextEncoder,Ft=B().min(0).max(Mt),It=B().min(-Mt).max(Mt),Lt=B().min(0).max(Mt),Rt=E({x:B().min(0).max(1),y:B().min(0).max(1)}).strict(),zt=E({pathname:wt(Et,{prefix:`/`,required:!0}),search:wt(Dt,{prefix:`?`}),hash:wt(Ot,{prefix:`#`})}).strict(),Bt=E({x:Ft,y:Ft,width:Lt,height:Lt}).strict();E({x:It,y:It}).strict();var Vt=E({width:B().min(1).max(Nt),height:B().min(1).max(Nt),scrollX:Ft,scrollY:Ft}).strict(),Ht=E({schemaVersion:I(1),kind:I(`element`),route:zt,selector:wt(kt,{required:!0}),accessibleName:wt(At),tagName:wt(64,{required:!0}).regex(/^[a-z][a-z0-9-]*$/),selectedText:wt(jt),rect:Bt,viewport:Vt,elementOffset:Rt}).strict().refine(e=>Pt.encode(JSON.stringify(e)).length<=Tt),Ut=E({selector:wt(kt,{required:!0}),accessibleName:wt(At),tagName:wt(64,{required:!0}).regex(/^[a-z][a-z0-9-]*$/),role:wt(64),textExcerpt:wt(500),rect:Bt}).strict(),Wt=E({schemaVersion:I(1),kind:I(`area`),route:zt,path:z(Rt).min(2).max(160),rect:Bt,viewport:Vt,elements:z(Ut).max(8)}).strict().refine(e=>Math.hypot(e.rect.width,e.rect.height)>=8).refine(e=>Pt.encode(JSON.stringify(e)).length<=Tt),Gt=T(`kind`,[Ht,Wt]),Kt=T(`status`,[E({commentId:B().int().positive().max(2**53-1),status:ee([`resolved`,`moved`]),rect:E({x:It,y:It,width:Lt,height:Lt}).strict(),point:E({x:It,y:It}).strict()}).strict(),E({commentId:B().int().positive().max(2**53-1),status:ee([`changed`,`missing`,`route-mismatch`])}).strict()]),qt=B().int().positive().max(2**53-1),Jt=N().refine(e=>!Number.isNaN(Date.parse(e))),Yt=Jt.nullable(),Xt=E({login:N().min(1),name:N().nullable(),avatarUrl:N().nullable()}),Zt=ee([`+1`,`-1`,`laugh`,`hooray`,`confused`,`heart`,`rocket`,`eyes`]),Qt=E({content:Zt,count:qt,viewerHasReacted:A()}),$t={id:qt,body:N().nullable(),mentions:z(E({login:N().min(1),githubId:qt})).optional(),createdAt:Jt,updatedAt:Jt,editedAt:Yt,deletedAt:Yt,author:Xt,viewerCanEdit:A(),viewerCanDelete:A(),reactions:z(Qt)},en=E({...$t,kind:I(`root`),buildNumber:qt,buildPath:N().startsWith(`/`),anchor:Gt,resolvedAt:Yt,resolvedBy:Xt.nullable(),activityVersion:qt,viewerLastSeenActivityVersion:qt.nullable()}),tn=E({...$t,kind:I(`reply`),rootId:qt}),nn=T(`kind`,[en,tn]),rn=T(`hasMore`,[E({comments:z(nn),nextCursor:N().min(1),hasMore:I(!0)}),E({comments:z(nn),nextCursor:F(),hasMore:I(!1)})]),an=E({comments:z(nn).min(1).max(2)});function on(e,t){let{root:n}=e,{filters:r}=t;if(!r.showResolved&&n.resolvedAt!==null||!r.showRead&&!e.unread||r.onlyMine&&![n,...e.replies].some(e=>e.author.login.toLowerCase()===t.viewerLogin.toLowerCase())||r.currentBuildOnly&&n.buildNumber!==t.selectedBuildNumber||r.participant!==null&&!e.participants.some(e=>e.login.toLowerCase()===r.participant?.toLowerCase())||r.currentPageOnly&&t.route!==null&&(n.anchor.route.pathname!==t.route.pathname||n.anchor.route.search!==t.route.search||n.anchor.route.hash!==t.route.hash))return!1;let i=r.search.trim().toLowerCase();if(!i)return!0;let a=n.anchor.kind===`element`?[n.anchor.accessibleName,n.anchor.selectedText,n.anchor.tagName]:n.anchor.elements.flatMap(e=>[e.accessibleName,e.textExcerpt,e.tagName,e.role]);return[n.body??``,n.author.login,n.author.name??``,n.buildNumber.toString(),...e.replies.flatMap(e=>[e.body??``,e.author.login,e.author.name??``]),...a].join(` -`).toLowerCase().includes(i)}var sn=E({candidates:z(E({githubId:B().int().positive().max(2**53-1),login:N().min(1).max(39),avatarUrl:N().nullable()}))});async function $(e,t,n={}){let r=await fetch(e,{...n,headers:{"Content-Type":`application/json`,"X-Replica-Canvas-Token":t,...n.headers}}),i=await r.json().catch(()=>({error:G.invalidResponse}));if(!r.ok)throw Object.assign(Error(i.error||G.requestFailed),{code:i.code,statusCode:r.status,authorization:i.authorization});return i}function cn({error:e,busy:t,requested:n,onFix:r,onDismiss:i}){let a=(0,V.useId)();return(0,U.jsxs)(ue,{title:G.commentingUnavailable,descriptionId:a,closeLabel:G.closeCommentingDialog,onClose:i,children:[(0,U.jsx)(`p`,{id:a,children:G.commentingDescription}),e?(0,U.jsx)(`p`,{role:`alert`,children:e}):null,(0,U.jsxs)(`div`,{className:`canvas-commenting-recovery__actions`,children:[(0,U.jsx)(H.Button,{variant:`primary`,disabled:t||n,onClick:r,children:n?G.commentingFixRequested:G.commentingFix}),(0,U.jsx)(H.Button,{variant:`subtle`,onClick:i,children:G.commentingDismiss})]})]})}function ln({cancelLabel:e,confirmLabel:t,description:n,errorLabel:r,heading:i,loading:a=!1,loadingAnnouncement:o,compact:s=!1,condensed:c=!1,onCancel:l,onConfirm:u}){let d=(0,U.jsx)(H.Button,{type:`button`,size:`small`,variant:c?`primary`:void 0,className:`review-confirmation-panel__cancel`,onClick:l,children:e}),f=(0,U.jsx)(H.Button,{type:`button`,size:`small`,variant:c?`secondary`:`primary`,className:c?void 0:`review-confirmation-panel__danger`,disabled:a,"aria-busy":a,onClick:u,children:t});return(0,U.jsxs)(`div`,{className:`review-confirmation-panel${s||c?` review-confirmation-panel--compact`:``}${c?` review-confirmation-panel--condensed`:``}`,role:`alert`,children:[(0,U.jsxs)(`div`,{className:`review-confirmation-panel__copy`,children:[(0,U.jsx)(`strong`,{children:i}),c?(0,U.jsx)(le,{children:n}):(0,U.jsx)(`span`,{children:n})]}),r?(0,U.jsx)(`span`,{className:`review-confirmation-panel__error`,children:r}):null,(0,U.jsxs)(`div`,{className:`review-confirmation-panel__actions`,children:[c?f:d,c?d:f,a&&o?(0,U.jsx)(le,{role:`status`,children:o}):null]})]})}function un(){return(0,V.useContext)(rt)}function dn(e){let t=e.matchAll(/(?e[1]?[e[1].toLowerCase()]:[])))}function fn({value:e,onValueChange:t,onKeyDown:n,ref:r,...i}){let a=un(),o=(0,V.useRef)(null),s=(0,V.useRef)(null),c=(0,V.useRef)(null),l=(0,V.useId)(),[u,d]=(0,V.useState)(e.length),[f,p]=(0,V.useState)(!1),[m,h]=(0,V.useState)(null),[g,_]=(0,V.useState)(!1),[v,y]=(0,V.useState)(0),[b,x]=(0,V.useState)(0),[S,C]=(0,V.useState)({left:0,top:0,width:0}),w=e.slice(0,u).match(/(?:^|[\s(])@([a-zA-Z0-9-]*)$/)?.[1]?.toLowerCase(),T=a!==null&&w!==void 0&&!f&&!i.disabled,E=dn(e).length>10,D=m?.source===a&&m?.failed,O=g||m?.source!==a,k=(m?.source===a?m.candidates:[]).filter(e=>e.login.toLowerCase().includes(w??``)).slice(0,8),A=Math.min(b,Math.max(0,k.length-1));(0,V.useEffect)(()=>{o.current?.setCustomValidity(E?a?.copy.limit??``:``)},[a?.copy.limit,E]),(0,V.useEffect)(()=>{if(!T||!a)return;let e=!0,t=window.setTimeout(()=>{_(!0),a.load().then(t=>{e&&h({source:a,candidates:t,failed:!1})},()=>{e&&h({source:a,candidates:[],failed:!0})}).finally(()=>{e&&_(!1)})},150);return()=>{e=!1,window.clearTimeout(t)}},[T,v,a]),(0,V.useLayoutEffect)(()=>{if(!T)return;function e(){let e=o.current?.getBoundingClientRect();e&&C({left:e.left,width:e.width,top:Math.max(4,window.innerHeight-e.bottom<224?e.top-224:e.bottom)})}return e(),window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[T]);function j(n){if(w===void 0)return;let r=u-w.length-1,i=`@${n.login} `;t(e.slice(0,r)+i+e.slice(u)),p(!0);let a=r+i.length;window.requestAnimationFrame(()=>{o.current?.focus(),o.current?.setSelectionRange(a,a),d(a)})}function M(e,t){o.current=e,typeof t==`function`?t(e):t&&(t.current=e)}return(0,U.jsxs)(`div`,{className:`mention-input`,children:[(0,U.jsx)(`textarea`,{...i,ref:e=>M(e,r),value:e,"aria-autocomplete":a?`list`:void 0,"aria-controls":T?l:void 0,"aria-activedescendant":T&&k.length?`${l}-${A}`:void 0,onChange:e=>{d(e.currentTarget.selectionStart),p(!1),x(0),t(e.currentTarget.value)},onSelect:e=>d(e.currentTarget.selectionStart),onBlur:e=>{s.current?.contains(e.relatedTarget)||p(!0)},onKeyDown:e=>{if(T&&e.key===`Escape`)e.preventDefault(),e.stopPropagation(),p(!0);else if(T&&D&&!O&&e.key===`Tab`&&!e.shiftKey)e.preventDefault(),c.current?.focus();else{if(T&&!O&&!D&&k.length){if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),x((A+(e.key===`ArrowDown`?1:-1)+k.length)%k.length);return}if((e.key===`Enter`||e.key===`Tab`)&&!e.nativeEvent.isComposing&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey){e.preventDefault();let t=k[A];t&&j(t);return}}n?.(e)}}}),E&&a?.copy.limit?(0,U.jsx)(`span`,{role:`alert`,children:a.copy.limit}):null,T&&a?(0,tt.createPortal)((0,U.jsx)(`div`,{ref:s,id:l,className:`mention-input__suggestions`,style:S,onBlur:e=>{e.relatedTarget!==o.current&&!e.currentTarget.contains(e.relatedTarget)&&p(!0)},onKeyDown:e=>{e.key===`Escape`?(e.preventDefault(),e.stopPropagation(),p(!0),o.current?.focus()):e.key===`Tab`&&e.shiftKey&&(e.preventDefault(),o.current?.focus())},children:O?(0,U.jsx)(`span`,{role:`status`,children:a.copy.loading}):D?(0,U.jsxs)(`div`,{role:`alert`,children:[a.copy.error,` `,(0,U.jsx)(`button`,{ref:c,type:`button`,onMouseDown:e=>e.preventDefault(),onClick:()=>{y(v+1),o.current?.focus()},children:a.copy.retry})]}):(0,U.jsxs)(`ul`,{role:`listbox`,"aria-label":a.copy.suggestions,children:[k.map((e,t)=>(0,U.jsx)(`li`,{id:`${l}-${t}`,role:`option`,"aria-selected":t===A,children:(0,U.jsxs)(`button`,{type:`button`,tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:()=>j(e),children:[`@`,e.login]})},e.githubId)),k.length?null:(0,U.jsx)(`li`,{role:`presentation`,children:a.copy.empty})]})}),document.body):null]})}function pn({anchorPoint:e,anchorRectangle:t,anchorSelector:n,layoutKey:r,preserveVerticalSide:i=!1}){let a=(0,V.useRef)(null),o=(0,V.useRef)(null),[s,c]=(0,V.useState)({left:e.x+12,top:e.y+12}),l=(0,V.useCallback)(()=>{let r=a.current,s=r?.parentElement;if(!r||!s)return;let l=r.offsetWidth,u=r.offsetHeight,d=s.clientWidth-l-8,f=s.clientHeight-u-8,p,m,h=(n?s.querySelector(n)??s.parentElement?.querySelector(n):null)?.getBoundingClientRect(),g=s.getBoundingClientRect(),_=h?{x:h.left-g.left,y:h.top-g.top,width:h.height,height:h.height}:t;if(_){let e=_.x+_.width+12,t=_.x-12-l,n=e+l<=s.clientWidth-8,r=t>=8,i=s.clientWidth-8-_.x-_.width,a=_.x-8;p=n?e:r?t:i>=a?e:t,m=_.y}else{let t=e.x+12,n=e.y+12;p=t+l<=s.clientWidth-8?t:e.x-12-l;let r=o.current,a=i&&r?.x===e.x&&r.y===e.y?r.side:n+u<=s.clientHeight-8?`below`:`above`;i&&(o.current={x:e.x,y:e.y,side:a}),m=a===`below`?n:e.y-12-u}let v={left:Math.max(8,Math.min(p,d)),top:Math.max(8,Math.min(m,f))};c(e=>e.left===v.left&&e.top===v.top?e:v)},[e,t,n,i]);return(0,V.useLayoutEffect)(()=>{l();let e=a.current,t=e?.parentElement;if(!e||!t||typeof ResizeObserver!=`function`)return;let r=new ResizeObserver(l);r.observe(e),r.observe(t);let i=n?t.querySelector(n)??t.parentElement?.querySelector(n):null;return i&&r.observe(i),window.addEventListener(`resize`,l),()=>{r.disconnect(),window.removeEventListener(`resize`,l)}},[n,r,l]),{cardRef:a,position:s}}function mn(){return typeof navigator<`u`&&/Mac/i.test(navigator.platform)}function hn(e,{allowPlainEnter:t=!1}={}){let n=e.isComposing||e.keyCode===229,r=mn()?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey,i=t&&!e.metaKey&&!e.ctrlKey;return e.key===`Enter`&&!e.shiftKey&&!e.altKey&&!n&&!e.repeat&&(r||i)}var gn=new TextEncoder;function _n({anchorPoint:e,bodyMaximumBytes:t,copy:n,creating:r,onSubmit:i,onDiscard:a}){let o=(0,V.useId)(),[s,c]=(0,V.useState)(``),[l,u]=(0,V.useState)(!1),[d,f]=(0,V.useState)(!1),p=(0,V.useRef)(!1),{cardRef:m,position:h}=pn({anchorPoint:e,layoutKey:`${l}:${d}`,preserveVerticalSide:!0}),g=gn.encode(s).length>t,_=s.trim()!==``&&!g&&!r&&!l,v=mn()?n.submitTooltipMacLabel:n.submitTooltipOtherLabel;(0,V.useEffect)(()=>{l?m.current?.querySelector(`.review-confirmation-panel__cancel`)?.focus({preventScroll:!0}):p.current&&m.current?.querySelector(`textarea`)?.focus({preventScroll:!0}),p.current=l},[m,l]);function y(){r||(s.trim()===``?a():u(!0))}async function b(e){e.preventDefault(),_&&(await i(s)||f(!0))}return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`button`,{type:`button`,tabIndex:-1,"aria-hidden":`true`,className:`review-comment-composer-backdrop`,onClick:y}),(0,U.jsx)(`section`,{ref:m,role:`dialog`,"aria-labelledby":o,className:`review-comment-composer`,style:{left:h.left,top:h.top},children:(0,U.jsxs)(`form`,{className:`review-comment-composer__form`,onSubmit:e=>{b(e)},onKeyDown:e=>{e.key!==`Escape`||e.defaultPrevented||(e.preventDefault(),l?u(!1):y())},children:[(0,U.jsxs)(`header`,{className:`review-comment-composer__header`,children:[(0,U.jsx)(H.Heading,{as:`h2`,size:`6`,id:o,children:n.composerHeading}),(0,U.jsx)(W,{icon:te,"aria-label":n.closeComposerLabel,description:n.closeComposerLabel,variant:`invisible`,type:`button`,disabled:r,onClick:y})]}),(0,U.jsx)(fn,{autoFocus:!0,"aria-label":n.composerLabel,placeholder:n.composerPlaceholder,value:s,rows:4,onValueChange:e=>{c(e),u(!1),f(!1)},onKeyDown:e=>{_&&hn(e.nativeEvent)&&(e.preventDefault(),e.currentTarget.form?.requestSubmit())}}),g?(0,U.jsx)(`span`,{role:`alert`,className:`review-comment-composer__error`,children:n.bodyTooLongLabel}):null,d?(0,U.jsx)(me,{variant:`critical`,title:n.createErrorLabel,className:`review-comment-composer__banner`}):null,l?(0,U.jsx)(ln,{heading:n.discardHeading,description:n.discardPromptLabel,cancelLabel:n.keepLabel,confirmLabel:n.discardButtonLabel,condensed:!0,onCancel:()=>u(!1),onConfirm:a}):(0,U.jsxs)(`footer`,{className:`review-comment-composer__actions`,children:[(0,U.jsx)(H.Button,{type:`button`,size:`small`,disabled:r,onClick:y,children:n.closeComposerLabel}),(0,U.jsx)(H.Tooltip,{text:v,type:`description`,children:(0,U.jsx)(H.Button,{type:`submit`,size:`small`,variant:`primary`,disabled:!_,"aria-busy":r,children:n.submitLabel})}),r?(0,U.jsx)(le,{role:`status`,children:n.submittingLabel}):null]})]})})]})}function vn({blockedLabel:e,confirmingDiscard:t,replyDraft:n,replyBodyTooLong:r,replyFailed:i,replyDisabled:a,replying:o,submitDisabled:s=!1,copy:c,onKeepDraft:u,onDiscardDraft:d,onSubmit:f,onDraftChange:p}){let m=(0,V.useRef)(null),h=n.trim()!==``&&!r&&!a&&!o&&!s&&!t&&!e,g=mn()?c.replySubmitTooltipMacLabel:c.replySubmitTooltipOtherLabel;return(0,V.useLayoutEffect)(()=>{m.current&&(m.current.style.height=`auto`,m.current.style.height=n?`${Math.min(m.current.scrollHeight,120)}px`:`2.5rem`)},[n]),t?(0,U.jsx)(ln,{heading:c.discardHeading,description:c.threadDiscardPromptLabel,cancelLabel:c.keepLabel,confirmLabel:c.discardButtonLabel,compact:!0,onCancel:u,onConfirm:d}):e?(0,U.jsx)(`span`,{className:`review-thread-reply-form__blocked`,children:e}):(0,U.jsxs)(`form`,{className:`review-thread-reply-form`,onSubmit:e=>{e.preventDefault(),h&&f()},children:[(0,U.jsxs)(`div`,{className:`review-thread-reply-form__composer`,children:[(0,U.jsx)(fn,{ref:m,"aria-label":c.replyLabel,placeholder:c.replyPlaceholder,value:n,rows:1,disabled:a,onValueChange:p,onKeyDown:e=>{h&&hn(e.nativeEvent,{allowPlainEnter:!0})&&(e.preventDefault(),e.currentTarget.form?.requestSubmit())}}),(0,U.jsx)(H.Tooltip,{text:g,type:`description`,children:(0,U.jsx)(`button`,{type:`submit`,className:`review-thread-reply-form__submit`,disabled:!h,"aria-label":c.replySubmitLabel,"aria-busy":o,children:(0,U.jsx)(l,{size:16})})})]}),r?(0,U.jsx)(`span`,{role:`alert`,className:`review-thread-reply-form__error`,children:c.bodyTooLongLabel}):null,i?(0,U.jsx)(`span`,{role:`alert`,className:`review-thread-reply-form__error`,children:c.replyErrorLabel}):null,o?(0,U.jsx)(le,{role:`status`,children:c.replyingLabel}):null]})}function yn({comment:e}){let t=e.body??``,n=new Set(e.mentions?.map(e=>e.login.toLowerCase())??[]),r=t.matchAll(/(?({content:e,emoji:Sn(e)}));function wn(e,t=0,n=0){if(t!==0||n!==0)return{x:t,y:n};let r=e.getBoundingClientRect();return{x:r.left+r.width/2,y:r.top+r.height/2}}function Tn({comment:e,mutation:t,actionsDisabled:n,controlsHidden:r=!1,copy:i,onAdd:a,onRemove:o,onBurst:s}){let c=(0,V.useId)(),[l,u]=(0,V.useState)(!1),[d,f]=(0,V.useState)(!1),p=(0,V.useRef)(!1),[m,h]=(0,V.useState)(null),[g,_]=(0,V.useState)(`outside-bottom`),v=t!==null&&(t.kind===`add-reaction`||t.kind===`remove-reaction`)&&t.commentId===e.id,y=e.reactions.flatMap(e=>{if(!m||e.content!==m.content)return[e];let t=e.count+Number(m.viewerHasReacted)-Number(e.viewerHasReacted);return t>0?[{...e,count:t,viewerHasReacted:m.viewerHasReacted}]:[]});m?.viewerHasReacted&&!e.reactions.some(({content:e})=>e===m.content)&&y.push({content:m.content,count:1,viewerHasReacted:!0});async function b(r,i){if(n||t!==null||p.current)return;let c=e.reactions.find(e=>e.content===r)?.viewerHasReacted??!1;p.current=!0,u(!1),h({content:r,viewerHasReacted:!c});try{if(!c){let e=Cn.find(e=>e.content===r);e&&s(e.emoji,i.x,i.y)}let e=c?await o(r):await a(r);u(!e)}catch{u(!0)}finally{p.current=!1,h(null)}}function x(e,t){b(e,wn(t.currentTarget,t.clientX,t.clientY))}let S=(0,U.jsxs)(H.ActionMenu,{selectionVariant:`none`,size:`small`,menuAlignment:`end`,menuSide:g,disabled:n,children:[(0,U.jsx)(H.ActionMenu.Button,{className:`review-comment-reactions__menu-trigger`,variant:`subtle`,"aria-label":i.addReactionLabel,"aria-describedby":c,"aria-busy":v||m!==null,leadingVisual:(0,U.jsx)(w,{size:16}),onClick:e=>{f(!0);let t=e.currentTarget.getBoundingClientRect(),n=e.currentTarget.closest(`.review-shell`)?.getBoundingClientRect(),r=Math.min(window.innerHeight,n?.bottom??1/0)-t.bottom,i=t.top-Math.max(0,n?.top??0),a=Cn.length*36+16;_(rr?`outside-top`:`outside-bottom`)},children:``}),(0,U.jsx)(H.ActionMenu.Overlay,{"aria-label":i.addReactionLabel,children:Cn.map(e=>(0,U.jsx)(H.ActionMenu.Item,{value:e.content,leadingVisual:(0,U.jsx)(`span`,{className:`review-comment-reactions__picker-emoji`,children:e.emoji}),onClick:t=>x(e.content,t),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),b(e.content,wn(t.currentTarget)))},children:i.reactionLabels[e.content]},e.content))})]});return r&&!l?null:(0,U.jsxs)(`div`,{className:`review-comment-reactions__layout`,children:[r?null:(0,U.jsxs)(`div`,{className:`review-comment-reactions`,children:[y.map(e=>{let r=Cn.find(({content:t})=>t===e.content);if(!r)return null;let a=(e.count===1?i.reactionCountOneLabel:i.reactionCountOtherLabel).replace(`%{reaction}`,i.reactionLabels[e.content]).replace(`%{count}`,e.count.toString());return(0,U.jsxs)(H.Button,{size:`small`,"aria-label":a,title:a,"aria-pressed":e.viewerHasReacted,disabled:n,"aria-busy":m?.content===e.content||v&&`content`in t&&t.content===e.content,className:e.viewerHasReacted?`review-comment-reaction--selected`:void 0,onClick:t=>x(e.content,t),children:[(0,U.jsx)(`span`,{"aria-hidden":`true`,children:r.emoji}),(0,U.jsx)(nt,{"aria-hidden":`true`,children:e.count})]},e.content)}),n?(0,U.jsxs)(`div`,{title:i.addReactionLabel,children:[S,(0,U.jsx)(le,{id:c,children:i.addReactionLabel})]}):(0,U.jsx)(H.Tooltip,{id:c,text:i.addReactionLabel,type:`description`,className:`review-comment-reactions__tooltip${d?` review-comment-reactions__tooltip--suppressed`:``}`,children:(0,U.jsx)(`div`,{onMouseEnter:e=>{e.currentTarget.querySelector(`[aria-expanded="true"]`)||f(!1)},onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||f(!1)},children:S})})]}),l?(0,U.jsx)(`span`,{role:`alert`,className:`review-comment-reactions__error`,children:i.reactionErrorLabel}):null]})}function En({comment:e,mutation:t,copy:n,editing:r,editDraft:i,editBodyTooLong:a,editFailed:s,confirmingEditDiscard:c,saving:l,confirmingDelete:u,deleting:d,deleteFailed:f,actionsDisabled:p,onStartEdit:m,onEditDraftChange:h,onSaveEdit:g,onCancelEdit:_,onKeepEdit:v,onDiscardEdit:y,onRequestDelete:b,onCancelDelete:x,onDelete:S,onAddReaction:C,onRemoveReaction:w,onBurstReaction:T,onMarkUnread:E,markUnreadDisabled:D=!1}){let k=(0,V.useId)(),A=(0,V.useRef)(null),M=(0,V.useRef)(!1),[N,P]=(0,V.useState)(`outside-bottom`),F=e.author.name||`@${e.author.login}`,I=n.commentActionsLabel.replace(`%{author}`,`@${e.author.login}`),L=p&&(!E||D),R=!!(e.body&&e.viewerCanEdit),z=!!(e.body&&e.viewerCanDelete);return(0,V.useEffect)(()=>{c?A.current?.querySelector(`.review-confirmation-panel button`)?.focus({preventScroll:!0}):M.current&&A.current?.querySelector(`textarea`)?.focus({preventScroll:!0}),M.current=c},[c]),(0,U.jsxs)(`article`,{className:`review-thread-message`,"data-review-message-id":e.id,children:[(0,U.jsx)(bn,{visual:(0,U.jsx)(ot,{src:e.author.avatarUrl,size:28}),author:F,metadata:(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(ht,{value:e.createdAt}),e.editedAt?(0,U.jsx)(`span`,{children:n.editedLabel}):null]}),children:E||R||z?L?(0,U.jsxs)(`div`,{title:I,children:[(0,U.jsx)(H.ActionMenu,{selectionVariant:`none`,size:`small`,menuAlignment:`end`,disabled:!0,children:(0,U.jsx)(H.ActionMenu.Button,{className:`review-thread-message__menu-trigger`,variant:`subtle`,"aria-label":I,"aria-describedby":k,leadingVisual:(0,U.jsx)(o,{size:16}),children:``})}),(0,U.jsx)(le,{id:k,children:I})]}):(0,U.jsx)(H.Tooltip,{id:k,text:I,type:`description`,children:(0,U.jsx)(`div`,{children:(0,U.jsxs)(H.ActionMenu,{selectionVariant:`none`,size:`small`,menuAlignment:`end`,menuSide:N,children:[(0,U.jsx)(H.ActionMenu.Button,{className:`review-thread-message__menu-trigger`,variant:`subtle`,"aria-label":I,"aria-describedby":k,leadingVisual:(0,U.jsx)(o,{size:16}),onClick:e=>{let t=e.currentTarget.getBoundingClientRect(),n=e.currentTarget.closest(`.review-shell`)?.getBoundingClientRect(),r=Math.min(window.innerHeight,n?.bottom??1/0)-t.bottom,i=t.top-Math.max(0,n?.top??0);P(r<(E?128:88)&&i>r?`outside-top`:`outside-bottom`)},children:``}),(0,U.jsxs)(H.ActionMenu.Overlay,{"aria-label":I,children:[E?(0,U.jsx)(H.ActionMenu.Item,{value:`mark-unread`,disabled:D,leadingVisual:(0,U.jsx)(j,{size:16}),onClick:()=>{D||E()},onKeyDown:e=>{!D&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),E())},children:n.markUnreadLabel}):null,R?(0,U.jsx)(H.ActionMenu.Item,{value:`edit`,disabled:p,leadingVisual:(0,U.jsx)(ie,{size:16}),onClick:m,onKeyDown:e=>{!p&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),m())},children:n.editLabel}):null,z&&(E||R)?(0,U.jsx)(`li`,{role:`separator`,className:`review-thread-message__menu-divider`}):null,z?(0,U.jsx)(H.ActionMenu.Item,{value:`delete`,disabled:p||t!==null,className:`review-thread-message__delete-item`,leadingVisual:(0,U.jsx)(O,{size:16}),onClick:b,onKeyDown:e=>{!p&&t===null&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),b())},children:n.deleteLabel}):null]})]})})}):null}),r?(0,U.jsxs)(`form`,{ref:A,className:`review-thread-message__edit`,onSubmit:e=>{e.preventDefault(),c||g()},children:[(0,U.jsx)(fn,{autoFocus:!0,"aria-label":n.editCommentLabel,value:i,rows:3,onValueChange:h}),a?(0,U.jsx)(`span`,{role:`alert`,className:`review-thread-message__error`,children:n.bodyTooLongLabel}):null,s?(0,U.jsx)(`span`,{role:`alert`,className:`review-thread-message__error`,children:n.editErrorLabel}):null,c?(0,U.jsx)(ln,{heading:n.discardHeading,description:n.threadDiscardPromptLabel,cancelLabel:n.keepLabel,confirmLabel:n.discardButtonLabel,compact:!0,onCancel:v,onConfirm:y}):(0,U.jsxs)(`div`,{className:`review-thread-message__actions`,children:[(0,U.jsx)(H.Button,{type:`button`,size:`small`,disabled:l,onClick:_,children:n.cancelEditLabel}),(0,U.jsx)(H.Button,{type:`submit`,size:`small`,variant:`primary`,disabled:i.trim()===``||a||t!==null||l,"aria-busy":l,children:n.saveEditLabel}),l?(0,U.jsx)(le,{role:`status`,children:n.savingEditLabel}):null]})]}):u?(0,U.jsx)(ln,{heading:n.deleteHeading,description:n.deletePromptLabel,errorLabel:f?n.deleteErrorLabel:void 0,cancelLabel:n.cancelEditLabel,confirmLabel:n.confirmDeleteLabel,loading:d,loadingAnnouncement:n.deletingLabel,compact:!0,onCancel:x,onConfirm:S}):(0,U.jsx)(`p`,{className:e.body?`review-thread-message__body`:`review-thread-message__body review-thread-message__body--deleted`,children:e.body?(0,U.jsx)(yn,{comment:e}):n.deletedCommentLabel}),e.body?(0,U.jsx)(Tn,{comment:e,mutation:t,actionsDisabled:p,controlsHidden:r||u,copy:n,onAdd:C,onRemove:w,onBurst:T}):null]})}function Dn({position:e,anchored:t,className:n,style:r,...i}){return(0,U.jsx)(`section`,{...i,role:`dialog`,className:`review-thread-conversation review-thread-conversation--${t?`anchored`:`docked`}${n?` ${n}`:``}`,style:{"--review-thread-left":`${e.left}px`,"--review-thread-top":`${e.top}px`,...r}})}function On(){let e=(0,V.useRef)(null),t=(0,V.useRef)([]),n=(0,V.useRef)(new Map),[r,i]=(0,V.useState)(!1),a=(0,V.useCallback)((e,n,r)=>{if(window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches)return;let a=4+Math.floor(Math.random()*5),o=performance.now();for(let i=0;i{if(!r)return;let a=e.current,o=a?.getContext(`2d`);if(!a||!o){console.error(`Emoji reaction burst could not create a canvas context.`),t.current=[];let e=requestAnimationFrame(()=>i(!1));return()=>cancelAnimationFrame(e)}let s=a,c=o,l;function u(){let e=window.devicePixelRatio||1;s.width=Math.round(window.innerWidth*e),s.height=Math.round(window.innerHeight*e),c.setTransform(e,0,0,e,0,0)}function d(e,t){let r=Math.round(t),i=`${e}_${r}`;if(n.current.has(i))return n.current.get(i)??null;let a=document.createElement(`canvas`);a.width=r*2,a.height=r*2;let o=a.getContext(`2d`);return o?(o.font=`${r}px serif`,o.textAlign=`center`,o.textBaseline=`middle`,o.fillText(e,r,r),n.current.set(i,a),a):(console.error(`Emoji reaction burst could not draw an emoji.`),n.current.set(i,null),null)}function f(e){c.clearRect(0,0,window.innerWidth,window.innerHeight);let n=[];for(let r of t.current){if(e10&&(r.opacity-=.04),r.opacity<=0)continue;let t=d(r.emoji,r.size);t&&(c.globalAlpha=r.opacity,c.drawImage(t,r.x-t.width/2,r.y-t.height/2)),n.push(r)}c.globalAlpha=1,t.current=n,n.length>0?l=requestAnimationFrame(f):i(!1)}return u(),window.addEventListener(`resize`,u),l=requestAnimationFrame(f),()=>{cancelAnimationFrame(l),window.removeEventListener(`resize`,u)}},[r]),{burst:a,canvas:r?(0,tt.createPortal)((0,U.jsx)(`canvas`,{ref:e,className:`review-emoji-burst`,"aria-hidden":`true`}),document.body):null}}var kn=new TextEncoder;function An({thread:e,bodyMaximumBytes:t,mutation:n,onClose:r,onDraftStateChange:i,onReply:a,onEdit:o,onDelete:s,onResolve:c,onReopen:l}){let[u,d]=(0,V.useState)(``),[f,p]=(0,V.useState)(!1),[m,h]=(0,V.useState)(null),[g,_]=(0,V.useState)(``),[v,y]=(0,V.useState)(``),[b,x]=(0,V.useState)(!1),[S,C]=(0,V.useState)(!1),[w,T]=(0,V.useState)(null),[E,D]=(0,V.useState)(!1),[O,k]=(0,V.useState)(!1),[A,j]=(0,V.useState)(!1),M=u.trim()!==``||m!==null,N=kn.encode(u).length>t,P=kn.encode(g).length>t,F=e.root.resolvedAt!==null,I=e.root.deletedAt!==null||F;(0,V.useEffect)(()=>(i(M),()=>i(!1)),[M,i]);function L(){n||(u.trim()===``&&g===v?r():(C(!1),j(!0)))}function R(){d(``),h(null),_(``),y(``),C(!1),j(!1),i(!1),r()}async function z(){u.trim()===``||N||n||(await a(u)?(d(``),p(!1)):p(!0))}function B(e){d(e),p(!1),j(!1)}function ee(e){e.body&&(h(e.id),_(e.body),y(e.body),x(!1),T(null),D(!1))}function te(e){_(e),x(!1),C(!1),j(!1)}async function ne(e){g.trim()===``||P||n||(await o(e,g)?(h(null),_(``),y(``),C(!1),x(!1)):x(!0))}function re(){g===v?ie():C(!0)}function ie(){h(null),_(``),y(``),x(!1),C(!1),j(!1)}function ae(e){T(e),D(!1)}function oe(){T(null),D(!1)}async function se(e){n||(await s(e)?oe():D(!0))}async function H(){if(n||M)return;let e=F?await l():await c();k(!e)}return{state:{replyDraft:u,replyFailed:f,editingCommentId:m,editDraft:g,editFailed:b,confirmingEditDiscard:S,confirmingDeleteId:w,deleteFailed:E,resolutionFailed:O,confirmingDiscard:A,draftActive:M,replyBodyTooLong:N,editBodyTooLong:P,resolved:F,replyBlocked:I},actions:{requestDismissal:L,discardAndClose:R,keepDraft:()=>j(!1),submitReply:z,changeReplyDraft:B,startEdit:ee,changeEditDraft:te,saveEdit:ne,cancelEdit:re,keepEdit:()=>C(!1),discardEdit:ie,requestDelete:ae,cancelDelete:oe,deleteComment:se,changeResolution:H}}}function jn(e){let t=e.closest(`[data-testid="ActionMenu"]`);if(!t)return;let n=e.getBoundingClientRect(),r=e.closest(`.review-shell`)?.getBoundingClientRect(),i=Math.max(0,r?.top??0),a=Math.min(window.innerHeight,r?.bottom??window.innerHeight);t.style.setProperty(`--review-thread-menu-room-top`,`${Math.max(0,n.top-i-8)}px`),t.style.setProperty(`--review-thread-menu-room-bottom`,`${Math.max(0,a-n.bottom-8)}px`)}function Mn({thread:e,anchorPoint:t,bodyMaximumBytes:n,mutation:r,copy:i,onClose:a,onDraftStateChange:o,onReply:s,onEdit:c,onDelete:l,onResolve:u,onReopen:d,onAddReaction:f,onRemoveReaction:p,onMarkRead:m,onMarkUnread:h}){let g=(0,V.useId)(),_=(0,V.useRef)(null),v=(0,V.useRef)(0),y=(0,V.useRef)(e.root.activityVersion),b=(0,V.useRef)(null),x=(0,V.useRef)(!1),S=(0,V.useRef)(!1),C=(0,V.useRef)(!1),[w,T]=(0,V.useState)(!1),[E,D]=(0,V.useState)(!1),[O,k]=(0,V.useState)(!1),[A,j]=(0,V.useState)(!1),{burst:M,canvas:N}=On(),{state:P,actions:F}=An({thread:e,bodyMaximumBytes:n,mutation:r,onClose:a,onDraftStateChange:o,onReply:s,onEdit:c,onDelete:l,onResolve:u,onReopen:d}),I={x:12,y:12},L=[e.root,...e.replies],{cardRef:R,position:z}=pn({anchorPoint:t??I,...t?{anchorSelector:`[data-review-thread-id="${e.root.id}"]`,anchorRectangle:{x:t.x-16,y:t.y-16,width:32,height:32}}:{},layoutKey:[P.confirmingDiscard,P.confirmingEditDiscard,P.replyFailed,P.editFailed,P.deleteFailed,P.resolutionFailed,P.editingCommentId,P.confirmingDeleteId,P.resolved,w,O,e.replies.length,e.participants.length,L.map(e=>e.reactions.length).join(`,`)].join(`:`)}),B=P.replyBlocked?e.root.deletedAt?i.deletedReplyBlockedLabel:e.root.resolvedBy?i.resolvedByLabel.replace(`%{author}`,e.root.resolvedBy.name||`@${e.root.resolvedBy.login}`):i.resolvedReplyBlockedLabel:null,ee=(0,V.useCallback)(()=>{R.current?.querySelector(`.review-thread-conversation__close`)?.focus({preventScroll:!0})},[R]);(0,V.useEffect)(()=>{if(P.confirmingDiscard)R.current?.querySelector(`.review-thread-conversation__footer button`)?.focus({preventScroll:!0});else if(C.current){let e=P.editingCommentId===null?`.review-thread-reply-form textarea`:`.review-thread-message__edit textarea`;R.current?.querySelector(e)?.focus({preventScroll:!0})}C.current=P.confirmingDiscard},[R,P.confirmingDiscard,P.editingCommentId]),(0,V.useEffect)(()=>{let e=document.activeElement;return _.current=e instanceof HTMLElement?e:null,ee(),()=>{_.current?.isConnected&&_.current.focus()}},[ee]),(0,V.useEffect)(()=>{let t=y.current;e.unread&&b.current!==t&&(b.current=t,x.current=!0,D(!0),m(t).then(e=>T(!e)).catch(()=>T(!0)).finally(()=>{x.current=!1,D(!1)}))},[m,e.unread]);async function ne(){if(!(x.current||S.current||r!==null)){b.current=y.current,S.current=!0,j(!0),k(!1);try{let e=await h();k(!e),e&&T(!1)}catch{k(!0)}finally{S.current=!1,j(!1)}}}return(0,V.useEffect)(()=>{function e(){P.confirmingDiscard?F.keepDraft():P.confirmingEditDiscard?F.keepEdit():F.requestDismissal()}function t(t){t.key!==`Escape`||t.defaultPrevented||t.isComposing||R.current?.querySelector(`[role="menu"]`)||t.target instanceof Element&&t.target.closest(`[role="menu"], [role="dialog"], dialog`)||(t.preventDefault(),e())}function n(){let t=document.activeElement;R.current?.querySelector(`[role="menu"]`)||t instanceof Element&&(t.closest(`[role="menu"]`)||t.closest(`[role="dialog"], dialog`)&&!R.current?.contains(t))||e()}return document.addEventListener(`keydown`,t),window.addEventListener(`replica:review-dismiss`,n),()=>{document.removeEventListener(`keydown`,t),window.removeEventListener(`replica:review-dismiss`,n)}},[F,R,P.confirmingDiscard,P.confirmingEditDiscard]),(0,U.jsxs)(Dn,{ref:R,"aria-labelledby":g,anchored:!!t,position:z,onKeyDown:e=>{e.key!==`Escape`||e.defaultPrevented||e.nativeEvent.isComposing||e.target instanceof Element&&e.target.closest(`[role="menu"]`)||(e.preventDefault(),P.confirmingDiscard?F.keepDraft():P.confirmingEditDiscard?F.keepEdit():F.requestDismissal())},children:[(0,U.jsxs)(`div`,{className:`review-thread-conversation__layout`,children:[(0,U.jsxs)(`header`,{className:`review-thread-conversation__header`,children:[(0,U.jsx)(H.Heading,{as:`h2`,size:`6`,id:g,children:i.threadHeading}),(0,U.jsx)(H.Button,{size:`small`,disabled:P.draftActive||r!==null,"aria-busy":r!==null&&`commentId`in r&&r.commentId===e.root.id&&(r.kind===`resolve`||r.kind===`reopen`),onClick:()=>{F.changeResolution()},children:P.resolved?i.reopenLabel:i.resolveLabel}),r&&`commentId`in r&&r.commentId===e.root.id&&(r.kind===`resolve`||r.kind===`reopen`)?(0,U.jsx)(le,{role:`status`,children:P.resolved?i.reopeningLabel:i.resolvingLabel}):null,(0,U.jsx)(W,{icon:te,"aria-label":i.backToCommentsLabel,title:i.backToCommentsLabel,variant:`invisible`,className:`review-thread-conversation__close`,onClick:F.requestDismissal})]}),P.resolutionFailed?(0,U.jsx)(me,{variant:`critical`,title:i.resolutionErrorLabel,className:`review-thread-conversation__banner`}):null,w?(0,U.jsx)(me,{variant:`critical`,title:i.readErrorLabel,className:`review-thread-conversation__banner`}):null,O?(0,U.jsx)(me,{variant:`critical`,title:i.markUnreadErrorLabel,className:`review-thread-conversation__banner`}):null,(0,U.jsx)(`div`,{className:`review-thread-conversation__messages`,onClickCapture:e=>{if(!(e.target instanceof Element))return;let t=e.target.closest(`button[data-testid="ActionMenu-button"]`);t&&e.currentTarget.contains(t)&&(v.current=e.currentTarget.scrollTop,jn(t))},onScroll:e=>{let t=e.currentTarget.scrollTop,n=t-v.current;if(v.current=t,n===0)return;let r=e.currentTarget.getBoundingClientRect();e.currentTarget.querySelectorAll(`[role="menu"]`).forEach(e=>{let t=e.closest(`[data-testid="ActionMenu"]`)?.querySelector(`button[data-testid="ActionMenu-button"]`);if(!t)return;let i=t.getBoundingClientRect();if(r.height>0&&(i.bottom<=r.top||i.top>=r.bottom)){let n=e.contains(document.activeElement);t.click(),n&&ee();return}let a=Number.parseFloat(e.style.top);Number.isFinite(a)&&(e.style.top=`${a-n}px`),jn(t)})},children:L.map(e=>(0,U.jsx)(En,{comment:e,mutation:r,copy:i,editing:P.editingCommentId===e.id,editDraft:P.editingCommentId===e.id?P.editDraft:``,editBodyTooLong:P.editingCommentId===e.id&&P.editBodyTooLong,editFailed:P.editingCommentId===e.id&&P.editFailed,confirmingEditDiscard:P.editingCommentId===e.id&&P.confirmingEditDiscard,saving:r?.kind===`edit`&&r.commentId===e.id,confirmingDelete:P.confirmingDeleteId===e.id,deleting:r?.kind===`delete`&&r.commentId===e.id,deleteFailed:P.confirmingDeleteId===e.id&&P.deleteFailed,actionsDisabled:r!==null&&r.kind!==`add-reaction`&&r.kind!==`remove-reaction`||P.confirmingDiscard||P.confirmingDeleteId!==null||P.replyDraft.trim()!==``||P.editingCommentId!==null&&P.editingCommentId!==e.id,onStartEdit:()=>F.startEdit(e),onEditDraftChange:F.changeEditDraft,onSaveEdit:()=>{F.saveEdit(e.id)},onCancelEdit:F.cancelEdit,onKeepEdit:F.keepEdit,onDiscardEdit:F.discardEdit,onRequestDelete:()=>F.requestDelete(e.id),onCancelDelete:F.cancelDelete,onDelete:()=>{F.deleteComment(e.id)},onAddReaction:t=>f(e.id,t),onRemoveReaction:t=>p(e.id,t),onBurstReaction:M,onMarkUnread:e.kind===`root`?()=>void ne():void 0,markUnreadDisabled:E||A||r!==null},e.id))}),(0,U.jsx)(`div`,{className:`review-thread-conversation__footer${B&&!P.confirmingDiscard?` review-thread-conversation__footer--blocked`:``}`,children:(0,U.jsx)(vn,{blockedLabel:B,confirmingDiscard:P.confirmingDiscard,replyDraft:P.replyDraft,replyBodyTooLong:P.replyBodyTooLong,replyFailed:P.replyFailed,replyDisabled:r!==null||P.editingCommentId!==null,replying:r?.kind===`reply`&&r.commentId===e.root.id,copy:i,onKeepDraft:F.keepDraft,onDiscardDraft:F.discardAndClose,onSubmit:()=>{F.submitReply()},onDraftChange:F.changeReplyDraft})})]}),N]})}function Nn({selectionNotice:e,rateLimitNotice:t,composer:n,conversation:r}){return(0,U.jsxs)(U.Fragment,{children:[e||t?(0,U.jsxs)(`div`,{className:`canvas-selection-notice`,role:`alert`,children:[e?(0,U.jsx)(`div`,{children:e}):null,t?(0,U.jsx)(`div`,{children:t}):null]}):null,n?(0,U.jsx)(`div`,{className:`canvas-composer-shell`,children:(0,U.jsx)(_n,{...n})}):null,r?(0,U.jsx)(`div`,{className:`canvas-conversation-shell`,children:(0,U.jsx)(Mn,{...r},r.thread.root.id)}):null]})}function Pn({identity:e,enabled:t,ready:n,bridgeProblem:r,token:i}){let[a,o]=(0,V.useState)(``),[s,c]=(0,V.useState)(!1),[l,u]=(0,V.useState)(!1),[d,f]=(0,V.useState)(!1),p=(0,V.useRef)(e);(0,V.useLayoutEffect)(()=>(p.current=e,()=>{p.current=``}),[e]),(0,V.useEffect)(()=>{let e=window.setTimeout(()=>{o(``),c(!1),u(!1),f(!1)},0);return()=>{window.clearTimeout(e)}},[e,t]);async function m(){let t=e;o(``),c(!0);try{await $(`/api/commenting/fix`,i,{method:`POST`}),p.current===t&&f(!0)}catch(e){p.current===t&&o(e instanceof Error?e.message:String(e))}finally{p.current===t&&c(!1)}}return{visible:t&&!n&&!l&&!!r,error:a,busy:s,requested:d,onFix:()=>void m(),onDismiss:()=>u(!0)}}function Fn({preference:e,disabled:t=!1}){let n=(0,V.useId)(),r=(0,V.useId)(),i=(0,V.useId)(),a=(0,V.useId)();return(0,U.jsxs)(`section`,{className:`canvas-hub-section`,"aria-labelledby":n,children:[(0,U.jsx)(H.Heading,{as:`h3`,size:`subhead-medium`,id:n,children:K.settings}),(0,U.jsxs)(`div`,{className:`canvas-publish-settings__option`,children:[(0,U.jsx)(`label`,{id:r,htmlFor:i,children:K.alwaysCommit}),(0,U.jsx)(Z,{className:`canvas-publish-settings__toggle`,id:i,"aria-labelledby":r,"aria-describedby":e.error?a:void 0,checked:e.remember===!0,disabled:e.loading||e.remember===null,"aria-disabled":e.saving||t||void 0,onChange:n=>{!e.saving&&!t&&e.save(n)},size:`small`})]}),e.error?(0,U.jsxs)(`div`,{id:a,className:`canvas-publish-settings__error`,children:[(0,U.jsx)(me,{title:e.error,variant:`critical`,layout:`compact`}),(0,U.jsx)(H.Button,{size:`small`,disabled:e.loading||e.saving,onClick:()=>void e.retry(),children:K.retrySettings})]}):null]})}function In(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ln(e){return!In(e)||typeof e.pathname!=`string`||typeof e.search!=`string`||typeof e.hash!=`string`?null:{pathname:e.pathname,search:e.search,hash:e.hash}}function Rn({config:e,frameRef:t,onRouteChange:n,status:r,onStatusChange:i,onSelectHub:a,onConnect:o,onDisconnected:s,connectionButtonRef:c,connecting:l=!1,publication:u,publicationBusy:d=!1,dirty:f=!1,onPublish:p,onRetryPublication:m,publishPreference:h,open:g,onClose:_}){let[v,y]=(0,V.useState)({identity:``,items:[]}),b=r?.prototype?.repositoryId,x=r?.prototype?.id,S=r?.state===`connected`,C=r?.hubOrigin,w=(0,V.useMemo)(()=>({load:async()=>{if(!S||!C)throw Error(G.mentionSuggestionsError);return sn.parse(await $(`/api/hub/mention-candidates?repositoryId=${b}&prototypeId=${x}`,e.token)).candidates},copy:{suggestions:G.mentionSuggestions,error:G.mentionSuggestionsError,loading:G.mentionSuggestionsLoading,empty:G.mentionSuggestionsEmpty,retry:bt.retryLabel,limit:G.mentionLimit}}),[e.token,S,C,b,x]),[T,E]=(0,V.useState)(!1),[D,O]=(0,V.useState)(yt),[k,A]=(0,V.useState)(!0),[j,N]=(0,V.useState)(null),[P,F]=(0,V.useState)(null),[I,R]=(0,V.useState)(``),[z,B]=(0,V.useState)(``),[ee,te]=(0,V.useState)(``),[ne,re]=(0,V.useState)(!1),[ie,ae]=(0,V.useState)(!1),[oe,se]=(0,V.useState)(!1),[ce,le]=(0,V.useState)(r?.discovery?.mismatch&&r.discovery.origin||r?.hubOrigin||``),[W,ue]=(0,V.useState)(!1),[de,fe]=(0,V.useState)(!1),[pe,K]=(0,V.useState)(``),[he,ge]=(0,V.useState)(``),[_e,ve]=(0,V.useState)(``),[ye,be]=(0,V.useState)(!1),[xe,q]=(0,V.useState)(null),[Se,Ce]=(0,V.useState)(!1),[we,Te]=(0,V.useState)(new Map),[Ee,De]=(0,V.useState)(!1),[Oe,ke]=(0,V.useState)(``),[J,Ae]=(0,V.useState)(null),[X,Me]=(0,V.useState)(null),[Ne,Pe]=(0,V.useState)(null),[Fe,Ie]=(0,V.useState)(!1),[Le,Re]=(0,V.useState)(null),ze=(0,V.useRef)(!1),Be=(0,V.useRef)(0),Ve=(0,V.useRef)(!1),He=(0,V.useRef)(``),Ue=(0,V.useRef)(null),We=(0,V.useRef)(``),Ge=(0,V.useRef)(g),Ke=(0,V.useRef)(void 0),qe=`${r?.hubOrigin??``}/${r?.repository??``}/${r?.branch??``}/${r?.state===`connected`?r.prototype?.id??``:``}`,Je=r?r.discovery?.mismatch&&r.discovery.origin||r.hubOrigin||``:null,Ye=(0,V.useRef)(Je),Xe=r?.state,Ze=Xe===`unavailable`||Xe===`denied`,Qe=(0,V.useRef)(Xe);(0,V.useEffect)(()=>{if(Je===null||Ye.current===Je)return;let e=window.setTimeout(()=>{le(Je),Ye.current=Je},0);return()=>window.clearTimeout(e)},[Je]),(0,V.useEffect)(()=>{if(!Xe||Qe.current===Xe)return;if(Xe!==`connected`&&Xe!==`undiscovered`){Qe.current=Xe;return}let e=window.setTimeout(()=>{se(!1),Qe.current=Xe},0);return()=>window.clearTimeout(e)},[Xe]);let $e=Pn({identity:qe,enabled:r?.repositoryAuthorized===!0,ready:Ee,bridgeProblem:Oe,token:e.token}),et=(0,V.useMemo)(()=>v.identity===qe?v.items:[],[v,qe]),rt=(0,V.useMemo)(()=>St(et),[et]),ot=(0,V.useMemo)(()=>{let e=new Map(rt.flatMap(e=>e.participants.map(e=>[e.login.toLowerCase(),e])));return Array.from(e.values()).sort((e,t)=>(e.name||e.login).localeCompare(t.name||t.login))},[rt]),st=(0,V.useMemo)(()=>{let e=new Map;for(let t of rt){let n=t.root.id,r=we.get(n);if(r)e.set(n,{commentId:n,status:`resolved`,point:r,rect:r.rect});else if(Ee){let r=t.root.anchor.route;e.set(n,{commentId:n,status:j&&(r.pathname!==j.pathname||r.search!==j.search||r.hash!==j.hash)?`route-mismatch`:`missing`})}}return e},[Ee,we,j,rt]),Z=r?.state===`connected`?rt.find(e=>e.root.id===P):null,Q=r?.state===`connected`?r.prototype:null,ut=r?.state===`disconnected`||r?.state===`pairing`||r?.state===`unconfigured`,dt=Q?.build?.author.login,ft=dt&&/^[a-z\d](?:[a-z\d]|-(?=[a-z\d])){0,38}(?:\[bot\])?$/i.test(dt)?`https://github.com/${encodeURIComponent(dt)}`:null,pt=Q?.build?.author.name?.trim()||(ft?dt:null)||G.unknownCommitAuthor,mt=Q?.canEdit&&Q.registered,ht=Q?.id,gt=Q?.build??null,xt=(0,V.useMemo)(()=>Q?rt.filter(e=>on(e,{filters:D,viewerLogin:Q.viewerLogin,selectedBuildNumber:gt?.number,route:j})):rt,[gt?.number,D,j,Q,rt]),Ct=xt.length,wt=xt.some(e=>e.unread),Tt=!!(gt&&r?.commitSha&&r.commitSha===gt.commitSha),Et=X!==null||Se||Le!==null,Dt=g&&!T,Ot=typeof document>`u`?null:document.getElementById(`canvas-review-controls`),kt=X?X.kind===`element`?{x:X.rect.x-X.viewport.scrollX+X.rect.width*X.elementOffset.x,y:X.rect.y-X.viewport.scrollY+X.rect.height*X.elementOffset.y}:ct(X,{x:X.rect.x-X.viewport.scrollX,y:X.rect.y-X.viewport.scrollY,width:X.rect.width,height:X.rect.height}).point:null;(0,V.useLayoutEffect)(()=>(We.current=qe,()=>window.clearTimeout(Ke.current)),[qe]),(0,V.useLayoutEffect)(()=>{g&&Ue.current?.focus({preventScroll:!0})},[g]),(0,V.useEffect)(()=>{let e=Ge.current;if(Ge.current=g,!g||e||!T)return;if(Se){_();return}let t=window.setTimeout(()=>{E(!1),F(null)},0);return()=>window.clearTimeout(t)},[T,Se,_,g]),(0,V.useEffect)(()=>{if(!g)return;function e(e){e.key!==`Escape`||e.defaultPrevented||e.target instanceof Element&&e.target.closest(`[role="dialog"], dialog, [role="menu"]`)||(e.preventDefault(),_())}return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[g,_]);let At=ye&&xe===qe,jt=JSON.stringify(e.pickAndPolish||e.improvementNotesDemo?[]:rt.slice(0,200).map(({root:e})=>({id:e.id,anchor:e.anchor}))),Mt=(0,V.useCallback)(async()=>{if(!ht||Ve.current)return;let t=qe,n=Be.current;re(!0);try{let r=[],i=null;for(let t=0;t<100;t+=1){let n=rn.parse(await $(`/api/hub/comments${i?`?cursor=${encodeURIComponent(i)}`:``}`,e.token));if(r.push(...n.comments),i=n.nextCursor,!i)break;if(t===99)throw Error(`Too many review comment pages.`)}if(We.current!==t||Be.current!==n)return;y({identity:t,items:r}),ae(!1),R(``)}catch(e){We.current===t&&Be.current===n&&(ae(!0),R(e instanceof Error?e.message:String(e)))}finally{We.current===t&&Be.current===n&&re(!1)}},[e.token,ht,qe]);(0,V.useEffect)(()=>{let e=window.setTimeout(()=>{y({identity:qe,items:[]}),E(!1),O(yt),A(!0),N(null),F(null),Ce(!1),be(!1),q(null),K(``),ge(``),Re(null),ze.current=!1,Ve.current=!1,Be.current+=1,Te(new Map),De(!1),Ae(null),Me(null),Pe(null),B(``),ae(!1),ht&&Mt()},0);return()=>window.clearTimeout(e)},[qe,ht,Mt]),(0,V.useEffect)(()=>{if(!ht)return;let e=window.setInterval(()=>void Mt(),3e4);return()=>window.clearInterval(e)},[ht,Mt]),(0,V.useEffect)(()=>{if(!ht)return;let t=new AbortController,n,r=5e3;async function i(){let a=Date.now();try{let n=await fetch(`/api/hub/events`,{headers:{"X-Replica-Canvas-Token":e.token},signal:t.signal});if(!n.ok||!n.body)throw Error(`Live review connection unavailable.`);Ie(!1);let r=n.body.getReader(),i=new TextDecoder,a=``;for(;!t.signal.aborted;){let{value:e,done:t}=await r.read();if(t)throw Error(`Live review connection closed.`);a+=i.decode(e,{stream:!0});let n=a.split(` +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["renderer-improvement-notes-prototype.js","renderer-rolldown-runtime.js","renderer-vendor.js","renderer-prototype-canvas-improvement-threads.js","renderer-improvement-notes-vendor.js","renderer-prototype-canvas-thread-sample.js"])))=>i.map(i=>d[i]); +import{r as e,t}from"./renderer-rolldown-runtime.js";import{A as n,B as r,C as i,D as a,E as o,F as s,G as c,H as l,I as u,J as d,K as f,L as p,N as m,O as h,R as g,S as _,T as v,U as y,V as b,W as x,X as S,Y as C,_ as w,a as T,c as E,d as D,f as O,h as k,i as A,j,k as M,l as N,m as P,n as F,o as I,p as L,q as R,r as z,s as B,t as ee,u as V,v as te,w as ne,x as re,y as ie,z as ae}from"./renderer-vendor.js";var H=e(S(),1),oe=d(),U=f(),W=R();function se({size:e=`medium`,className:t,label:n}){return(0,W.jsx)(`span`,{role:n?`status`:void 0,"aria-label":n,"aria-hidden":!n||void 0,className:`hub-spinner hub-spinner--${e}${t?` ${t}`:``}`})}function G({className:e,...t}){return(0,W.jsx)(`span`,{...t,className:`hub-visually-hidden${e?` ${e}`:``}`})}function K(e){let t=(0,H.useId)(),{as:n,href:r,ref:i,icon:a,description:o,loading:s=!1,size:c=`medium`,variant:l=`default`,className:u,...d}=e,f=`hub-icon-button${c===`small`?` hub-icon-button--small`:``}${l===`invisible`?` hub-icon-button--invisible`:``}${l===`danger`?` hub-icon-button--danger`:``}${u?` ${u}`:``}`,p=l===`invisible`?`subtle`:`secondary`,m=!(!o||d.title||d[`aria-describedby`]||`disabled`in d&&d.disabled),h=[d[`aria-describedby`],o&&!m?t:void 0].filter(Boolean).join(` `)||void 0,g=d.title??(m?void 0:o??d[`aria-label`]),_=o&&!m?(0,W.jsx)(G,{id:t,children:o}):null,v=s?(0,W.jsx)(se,{decorative:!0,size:`small`}):(0,W.jsx)(a,{size:16}),y=s?!0:d[`aria-busy`];if(n===`a`){let e=i,t=(0,W.jsx)(U.Button,{...d,ref:e,as:`a`,href:r,leadingVisual:v,variant:p,size:c,className:f,"aria-busy":y,"aria-describedby":h,title:g,children:_});return m&&o?(0,W.jsx)(U.Tooltip,{ref:i,text:o,type:`description`,children:t}):t}let b=(0,W.jsx)(U.Button,{...d,ref:i,type:d.type??`button`,leadingVisual:v,variant:p,size:c,className:f,"aria-busy":y,"aria-describedby":h,title:g,children:_});return m&&o?(0,W.jsx)(U.Tooltip,{ref:i,text:o,type:`description`,children:b}):b}function ce({title:e,closeLabel:t,onClose:n,returnFocusRef:r,descriptionId:i,className:a,children:o}){let s=(0,H.useRef)(null),c=(0,H.useId)();return(0,H.useLayoutEffect)(()=>{let e=s.current,t=r?.current??(document.activeElement instanceof HTMLElement?document.activeElement:null);return e?.showModal(),()=>{e?.close(),(r?.current??t)?.focus()}},[r]),(0,W.jsxs)(`dialog`,{ref:s,"aria-labelledby":c,"aria-describedby":i,className:a?`canvas-dialog ${a}`:`canvas-dialog`,onCancel:e=>{e.preventDefault(),n()},onClick:e=>{if(e.target!==e.currentTarget)return;let{left:t,right:r,top:i,bottom:a}=e.currentTarget.getBoundingClientRect();(e.clientXr||e.clientYa)&&n()},children:[(0,W.jsxs)(`header`,{className:`canvas-dialog-header`,children:[(0,W.jsx)(U.Heading,{as:`h2`,size:`5`,id:c,children:e}),(0,W.jsx)(K,{variant:`default`,size:`small`,icon:V,"aria-label":t,onClick:n})]}),o]})}var q={improvementNotesLoading:`Loading improvement notes...`,localCommentsSaved:`Comments stay on this device until a Build with matching content is published and the canvas syncs them to Hub.`,commentPagesExceeded:`Too many review comment pages.`,commentPreparationFailed:`Hub could not prepare this comment.`,commentRefreshFailed:e=>`The comment was saved, but Hub could not be refreshed: ${e}`,commentLiveUpdatesPaused:`Live updates paused; checking every 30 seconds.`,mentionSuggestions:`Mention suggestions`,mentionSuggestionsError:`Mention suggestions are unavailable. Try again.`,mentionSuggestionsLoading:`Loading people...`,mentionSuggestionsEmpty:`No matching people. You can type a GitHub login to check it when sending.`,mentionLimit:`Each message can mention at most 10 distinct people.`,controls:`Controls`,controlsMove:`Move controls`,controlsMoveHint:`Drag to move. Use arrow keys, or Shift and arrow keys for smaller steps.`,controlsCollapse:`Collapse controls`,controlsExpand:`Expand controls`,controlsCollapseGroup:e=>`Collapse ${e}`,controlsExpandGroup:e=>`Expand ${e}`,controlsDescription:`Settings stay in this prototype's URL. The app may paint before Controls apply declared defaults.`,controlsConnecting:`Connecting controls...`,controlsEmpty:`No active controls. This prototype may have no declaration or this route may not mount controls.`,controlsLearnMore:`Learn more`,controlsMissingRuntime:`No supported controls runtime found.`,controlsLocalMissingRuntime:`Local controls couldn't connect.`,controlsLocalConnectionFailed:`The preview has not responded to controls. Retry the connection or ask Copilot to diagnose the cause.`,controlsLocalStorageFailed:`Controls could not be saved in the prototype URL. Changes remain in memory.`,controlsDiagnose:`Diagnose with Copilot`,controlsFix:`Fix with Copilot`,controlsDiagnostics:`Technical details`,controlsUnavailable:e=>`${e} is unavailable`,controlsNotApplied:e=>`${e} could not be applied`,controlsDiagnosisRequested:`Requested in chat`,controlsDiagnosisFailed:`Could not request a diagnosis. Try again.`,controlsUnsupportedRuntime:`This controls runtime version is unsupported. Upgrade only after an approved release.`,controlsInvalid:`The Controls definitions are invalid. Fix controls.replica.json and reload.`,controlsScopeError:(e,t)=>`Controls scope "${e}" did not connect. ${t}`,controlsRetry:`Retry connection`,controlsRetryStorage:`Retry saving`,controlsResetAll:`Reset all controls`,controlsRegion:`Prototype controls`,controlsActionBusy:` - Working...`,controlsActionUnavailable:`No mounted action handler.`,controlsValueNotApplied:`This value was not applied.`,browserNavigation:`Prototype navigation`,browserBack:`Back`,browserForward:`Forward`,browserReload:`Reload preview`,browserAddress:`Prototype address`,browserAddressInvalid:`Enter a valid URL or route.`,browserAddressOrigin:`The address must stay on this prototype's origin.`,browserOpenTab:`Open preview in browser`,browserAppearance:`Preview appearance`,browserLight:`Light appearance`,browserDark:`Dark appearance`,commentingUnavailable:`Commenting needs attention`,commentingDescription:`The canvas could not connect to the preview's commenting bridge.`,closeCommentingDialog:`Close commenting dialog`,commentingFix:`Fix with Copilot`,commentingFixRequested:`Requested in chat`,commentingDismiss:`Dismiss`,commentingMissing:`The preview has not responded through its local proxy. Check that the selected server is running, then reopen the canvas. Script or framing policies, certificate errors, and origin-dependent apps can prevent connection. A Vite plugin or server restart is not required to connect.`,commentingIncompatible:`The preview responded with an incompatible commenting protocol. Update the installed Replica extension and reopen the canvas, or use Fix with Copilot to check the preview connection.`,connectToHub:`Connect to the Hub`,closeConnectionDialog:`Close connection dialog`,connectionDescription:`Connecting to the hub lets you share the prototype with others and enables commenting.`,connectionBeforePublishing:`Connect to the hub before publishing this prototype.`,connectionRepositoryRequired:`Open a repository with a GitHub origin before connecting.`,connectionHubRequired:`Enter and save a Hub URL before connecting.`,connectionOpeningBrowser:`Opening browser...`,connectionApproval:`Browser approval`,connectionWaiting:`Make sure your browser shows the same code`,connectionApprovalExpired:`The approval expired or was declined. Connect again to retry.`,connectionBrowserFailed:e=>`Could not open your browser. Open or copy the approval link below. ${e}`,hubUrl:`Hub URL`,editHubUrl:`Edit Hub URL`,saveHub:`Save Hub`,disconnectFailed:(e,t)=>`Could not disconnect from ${e}: ${t} The previous connection may still be active. Save another Hub URL to switch this canvas locally, or retry Disconnect Hub.`,resetHubUrl:`Reset to repository Hub URL`,resetHubUnavailable:`No repository Hub URL is available. Enter a URL manually or retry reset.`,hubHttpsHint:`Remote Hubs require HTTPS`,copyApprovalLink:`Copy Hub approval link`,approvalLinkCopied:`Approval link copied`,approvalCopyFailed:`Could not copy the link. Copy the Connect to the hub link manually.`,invalidResponse:`The extension returned an invalid response.`,startPage:`Start page`,prototypeFrameTitle:e=>`${e} prototype`,startPageOrigin:`Hub returned a start page outside the prototype.`,hubStatusUnavailable:e=>`Hub status unavailable: ${e}`,hubBuildImported:`Hub imported this Build.`,hubBuildMissing:`Hub has not imported a successful registered Build.`,hubPublicationUnavailable:`Connect to Hub to verify publication.`,editDetails:`Edit details`,startPageHint:`Paste a prototype URL or route. Leave blank to start at /.`,requestFailed:`The request failed.`,statusUnavailable:`Publish status unavailable.`,publishRequestPending:`Waiting for the current commit to run through the publish workflow.`,waitingForHubImport:`The workflow completed. Waiting for Hub to import this Build.`,workingTreeChanged:`Uncommitted changes`,workingTreeClean:`Working tree clean`,buildDetails:`Build details`,latestBuild:`Latest Build`,buildTitle:e=>`Build #${e}`,buildCommit:`Commit`,unknownCommitAuthor:`Unknown`,showBuildHistory:`Show build history`,closeBuildDetails:`Close build details`,branch:`Branch`,sessionId:`Session ID`,comparison:`Branch comparison`,comparisonNeedsRefresh:`Branch comparison unavailable until Git stats refresh.`,upToDate:`Up to date`,commitsBehind:e=>`${e} ${e===1?`commit`:`commits`} behind`,copyBranch:`Copy branch`,copySessionId:`Copy session ID`,branchCopied:`Branch copied`,sessionIdCopied:`Session ID copied`,buildDetailsCopyFailed:e=>`${e} could not be copied. Select it and copy it manually.`,unavailable:`Unavailable`,publishLabels:{succeeded:`Awaiting Hub`,failed:`Retry`,in_progress:`Publishing`,not_published:`Publish`,published:`Published`,requested:`Requested`,unavailable:`Publish`}};function le({onClose:e,state:t,titleButtonRef:n}){let[i,a]=(0,H.useState)(null),[o,s]=(0,H.useState)(null),c=t.stats.branchError?void 0:t.stats.branch,l=t.sessionId,u=t.stats.comparison;async function d(e,t){try{await navigator.clipboard.writeText(e),a(t),s(null)}catch{a(null),s(t===`branch`?q.branch:q.sessionId)}}function f(e,t){if(!e)return null;let n=t===`branch`?q.copyBranch:q.copySessionId,a=t===`branch`?q.branchCopied:q.sessionIdCopied;return(0,W.jsx)(U.Button,{type:`button`,className:`canvas-icon-button`,variant:`subtle`,size:`small`,leadingVisual:i===t?(0,W.jsx)(r,{size:16}):(0,W.jsx)(m,{size:16}),"aria-label":i===t?a:n,title:i===t?a:n,onClick:()=>void d(e,t),children:(0,W.jsx)(`span`,{className:`visually-hidden`,children:n})})}return(0,W.jsxs)(ce,{title:q.buildDetails,closeLabel:q.closeBuildDetails,className:`build-details-dialog`,returnFocusRef:n,onClose:e,children:[(0,W.jsxs)(`dl`,{className:`build-details-list`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`dt`,{children:q.branch}),(0,W.jsxs)(`dd`,{children:[(0,W.jsx)(M,{size:16,"aria-hidden":`true`}),(0,W.jsx)(`code`,{children:c||t.stats.branchError||q.unavailable}),f(c,`branch`)]})]}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`dt`,{children:q.sessionId}),(0,W.jsxs)(`dd`,{children:[(0,W.jsx)(`code`,{children:l||q.unavailable}),f(l,`sessionId`)]})]}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`dt`,{children:u?.branch?`Behind ${u.branch}${u.source===`local`?` (local)`:``}`:q.comparison}),(0,W.jsx)(`dd`,{children:u?.error||(u?.behind===0?q.upToDate:u?.behind==null?q.unavailable:q.commitsBehind(u.behind))})]})]}),(0,W.jsx)(`span`,{role:`status`,"aria-live":`polite`,className:`visually-hidden`,children:i===`branch`?`${q.branchCopied}.`:i===`sessionId`?`${q.sessionIdCopied}.`:``}),o?(0,W.jsx)(`span`,{role:`alert`,className:`build-details-copy-error`,children:q.buildDetailsCopyFailed(o)}):null]})}function ue({pairing:e}){let[t,n]=(0,H.useState)(`idle`),i=(0,H.useRef)(null);(0,H.useEffect)(()=>{i.current?.querySelector(`a`)?.focus()},[]);async function a(){try{await navigator.clipboard.writeText(e.verificationUrl),n(`copied`)}catch{n(`failed`)}}return(0,W.jsxs)(`section`,{className:`hub-connection-approval`,"aria-label":q.connectionApproval,children:[(0,W.jsxs)(`p`,{role:`status`,children:[q.connectionWaiting,` `,(0,W.jsx)(`strong`,{children:e.userCode}),`.`]}),(0,W.jsxs)(`div`,{ref:i,className:`hub-connection-approval-actions`,role:`group`,"aria-label":q.connectionApproval,children:[(0,W.jsx)(U.Button,{as:`a`,variant:`primary`,size:`medium`,href:e.verificationUrl,target:`_blank`,rel:`noopener noreferrer`,children:q.connectToHub}),(0,W.jsx)(K,{icon:t===`copied`?r:m,size:`medium`,className:`hub-connection-approval-copy`,"aria-label":t===`copied`?q.approvalLinkCopied:q.copyApprovalLink,onClick:()=>void a()})]}),(0,W.jsx)(G,{role:`status`,children:t===`copied`?q.approvalLinkCopied:``}),t===`failed`?(0,W.jsx)(`p`,{role:`alert`,children:q.approvalCopyFailed}):null]})}function de({status:e,pairing:t,connecting:n,error:r,onConnect:i,onSelectHub:a,onResetHub:o,onClose:s,hubButtonRef:c}){let l=(0,H.useId)(),[u,d]=(0,H.useState)(null),[f,p]=(0,H.useState)(!1),[m,h]=(0,H.useState)(!1),[g,_]=(0,H.useState)(!1),[v,y]=(0,H.useState)(!1),[b,x]=(0,H.useState)(``),S=(0,H.useRef)(null),C=(0,H.useRef)(null),w=f||!e?.hubOrigin||u!==null&&!m,T=(0,H.useRef)(w),E=u??e?.hubOrigin??``,D=n||g||v,O=!!t||n;(0,H.useEffect)(()=>{w&&!O?S.current?.focus():T.current&&!O&&C.current?.focus(),T.current=w},[w,O]),(0,H.useEffect)(()=>{if(f||u===null||!m||!e?.hubOrigin)return;let t=window.setTimeout(()=>d(null),0);return()=>window.clearTimeout(t)},[u,f,m,e?.hubOrigin]);async function k(){if(!D){_(!0),x(``);try{await a(E),d(null),p(!1)}catch(e){x(e instanceof Error?e.message:String(e))}finally{_(!1)}}}async function A(){if(!D&&o){y(!0),x(``);try{d(await o()),p(!!e?.hubOrigin)}catch(e){x(e instanceof Error?e.message:String(e))}finally{y(!1)}}}return(0,W.jsxs)(ce,{title:q.connectToHub,closeLabel:q.closeConnectionDialog,onClose:s,returnFocusRef:c,children:[(0,W.jsx)(`p`,{children:q.connectionDescription}),b||r?(0,W.jsx)(`p`,{role:`alert`,children:b||r}):null,(0,W.jsxs)(`form`,{onSubmit:t=>{t.preventDefault(),!D&&(!O&&w&&(f||e?.hubOrigin)?k():(x(``),e?.hubOrigin||h(!0),i(e?.hubOrigin?void 0:E)))},children:[!O&&(w?(0,W.jsxs)(`div`,{className:`hub-connection-origin-field`,children:[(0,W.jsx)(`label`,{htmlFor:l,children:q.hubUrl}),(0,W.jsxs)(`div`,{className:`hub-connection-origin-input`,children:[(0,W.jsx)(U.TextInput,{ref:S,id:l,type:`url`,value:E,onChange:e=>{h(!1),d(e.target.value)},required:!0,fullWidth:!0,disabled:D,placeholder:`https://hub.example.com`}),o?(0,W.jsx)(K,{icon:L,variant:`invisible`,size:`small`,"aria-label":q.resetHubUrl,disabled:D,"aria-busy":v,onClick:()=>void A()}):null]}),f||e?.hubOrigin?(0,W.jsx)(U.Button,{type:`submit`,variant:`subtle`,size:`small`,disabled:D,children:q.saveHub}):null]}):(0,W.jsxs)(`div`,{className:`hub-connection-origin`,children:[(0,W.jsx)(`a`,{href:e?.hubOrigin&&new URL(e.hubOrigin).origin,target:`_blank`,rel:`noopener noreferrer`,children:e?.hubOrigin}),(0,W.jsx)(K,{ref:C,icon:re,variant:`invisible`,size:`small`,"aria-label":q.editHubUrl,disabled:D,onClick:()=>{x(``),p(!0),d(e?.hubOrigin??``)}})]})),t?(0,W.jsx)(ue,{pairing:t},t.verificationUrl):null,t?null:(0,W.jsx)(U.Button,{type:`submit`,variant:`primary`,disabled:D||!e?.repository||!O&&w&&(f||!!e?.hubOrigin),children:n?q.connectionOpeningBrowser:q.connectToHub})]})]})}function fe({title:e,description:t,children:n,action:r,variant:i,layout:o,onDismiss:s,dismissLabel:l,className:u,...d}){let f=i===`critical`?k:i===`success`?ae:i===`info`?a:c;return(0,W.jsxs)(`div`,{...d,role:i===`critical`||i===`warning`?`alert`:`status`,className:`hub-alert hub-alert--${i}${o===`compact`?` hub-alert--compact`:``}${u?` ${u}`:``}`,children:[(0,W.jsx)(f,{className:`hub-alert__icon`,size:20,"aria-hidden":`true`}),(0,W.jsxs)(`div`,{className:`hub-alert__content`,children:[(0,W.jsxs)(U.Text,{as:`p`,size:`100`,className:`hub-alert__message`,children:[(0,W.jsx)(`strong`,{className:`hub-alert__title`,children:e}),t?(0,W.jsx)(`span`,{className:`hub-alert__description`,children:t}):null]}),n]}),r||s?(0,W.jsxs)(`div`,{className:`hub-alert__action`,children:[r,s&&l?(0,W.jsx)(K,{icon:V,"aria-label":l,title:l,variant:`invisible`,size:`small`,onClick:s}):null]}):null]})}var pe={title:`Publish uncommitted changes?`,description:`Do you want to commit changes before publishing? Publishing the committed version only excludes your local uncommitted edits.`,checkFailedTitle:`Could not check local changes`,checkFailed:`Git could not check local changes.`,retryCheck:`Retry check`,commit:`Commit changes & publish`,committed:`Publish committed version only`,close:`Close publishing dialog`,changedFiles:`Uncommitted changes`,moreChanges:e=>`${e} more`,localSkills:e=>`${e} local agent skill ${e===1?`file stays`:`files stay`} uncommitted.`,selection:`Copilot commits only changes related to this prototype task and asks if it cannot tell which changes belong.`,remember:`Always commit changes before publishing for this prototype`,settings:`Settings`,alwaysCommit:`Always commit changes before publishing`,retrySettings:`Retry settings`,preferenceTargetChanged:`The checkout changed. Refresh Settings and try again.`,invalidPreference:`Publishing settings returned an invalid response. Retry settings.`};function me({busy:e,error:t,changes:n,checkError:r,remembered:i,returnFocusRef:a,onClose:o,onChoose:s,onRetry:c}){let[l,u]=(0,H.useState)(i),d=(0,H.useId)(),f=(0,H.useId)();return(0,W.jsx)(ce,{title:r?pe.checkFailedTitle:pe.title,closeLabel:pe.close,descriptionId:r?void 0:d,returnFocusRef:a,onClose:()=>{e||o()},className:`publish-changes-dialog`,children:(0,W.jsxs)(U.Stack,{gap:`normal`,padding:`none`,children:[r?null:(0,W.jsx)(`p`,{id:d,children:pe.description}),r?(0,W.jsx)(fe,{title:r,variant:`critical`,layout:`compact`}):null,n?.files.total?(0,W.jsx)(`section`,{"aria-label":pe.changedFiles,children:(0,W.jsxs)(`ul`,{className:`publish-changes-dialog__files`,children:[n.files.paths.map(e=>(0,W.jsx)(`li`,{children:(0,W.jsx)(`code`,{children:e})},e)),n.files.total>n.files.paths.length?(0,W.jsx)(`li`,{children:pe.moreChanges(n.files.total-n.files.paths.length)}):null]})}):null,r?null:(0,W.jsxs)(`p`,{children:[n?.localSkills.total?`${pe.localSkills(n.localSkills.total)} `:null,pe.selection]}),r?null:(0,W.jsxs)(U.FormControl,{id:f,fullWidth:!0,children:[(0,W.jsx)(U.Checkbox,{checked:l,disabled:e,onChange:e=>u(e.target.checked)}),(0,W.jsx)(U.FormControl.Label,{children:pe.remember})]}),t?(0,W.jsx)(fe,{title:t,variant:`critical`,layout:`compact`}):null,(0,W.jsxs)(`footer`,{className:`publish-changes-dialog__actions`,children:[r?(0,W.jsx)(U.Button,{variant:`primary`,size:`small`,disabled:e,"aria-busy":e,onClick:c,children:pe.retryCheck}):null,r?null:(0,W.jsx)(U.Button,{variant:`primary`,size:`small`,disabled:e,"aria-busy":e,onClick:()=>s(`commit-changes`,l),children:pe.commit}),(0,W.jsx)(U.Button,{size:`small`,disabled:e,onClick:()=>s(`committed-only`,!1),children:pe.committed})]})]})})}function he({value:e,label:t,copyLabel:n,copiedLabel:r,copyErrorLabel:i,compact:a=!1}){let[o,s]=(0,H.useState)(null),c=o?.value===e?o.status:null,l=c===`copied`?r:n;async function u(){try{await navigator.clipboard.writeText(e),s({value:e,status:`copied`})}catch{s({value:e,status:`failed`})}}return(0,W.jsxs)(`div`,{className:`copyable-text-input${a?` copyable-text-input--compact`:``}`,children:[(0,W.jsxs)(`div`,{className:`copyable-text-input__control`,children:[a?(0,W.jsx)(`input`,{type:`text`,value:e,"aria-label":t,readOnly:!0,className:`copyable-text-input__input`}):(0,W.jsx)(U.TextInput,{value:e,"aria-label":t,readOnly:!0,fullWidth:!0,className:`copyable-text-input__input`}),(0,W.jsx)(K,{icon:m,"aria-label":l,description:a?l:void 0,title:a?void 0:l,variant:`invisible`,size:`small`,className:`copyable-text-input__button`,onClick:()=>void u()})]}),(0,W.jsx)(G,{"aria-live":`polite`,"aria-atomic":`true`,children:c===`copied`?r:``}),c===`failed`?(0,W.jsx)(`span`,{role:`alert`,className:`copyable-text-input__error`,children:i}):null]})}function ge({children:e}){return(0,W.jsx)(`div`,{className:`prototype-workspace__body`,children:e})}function _e({title:e,description:t,trailing:n,headingAs:r=`h2`,headingRef:i}){return(0,W.jsxs)(`header`,{className:`hub-content-page-header`,children:[(0,W.jsxs)(`div`,{className:`hub-content-page-header__top`,children:[(0,W.jsx)(U.Heading,{as:r,size:`4`,ref:i,tabIndex:i?-1:void 0,children:e}),n]}),t?(0,W.jsx)(U.Text,{as:`p`,className:`hub-content-page-header__description`,children:t}):null]})}function ve({labels:e,headingRef:t,headingTrailing:n,feedback:r,form:i,formUnavailable:a,links:o,hasLinks:s,showEmpty:c=!0,listRef:l,listBusy:u,beforeLinks:d,afterLinks:f}){return(0,W.jsxs)(U.Stack,{gap:`normal`,children:[(0,W.jsx)(_e,{title:e.heading,description:e.description,headingRef:t,trailing:n}),r,i||(a===void 0?(0,W.jsxs)(`section`,{className:`share-links__empty`,children:[(0,W.jsx)(U.Heading,{as:`h2`,size:`5`,children:e.noBuildHeading}),(0,W.jsx)(U.Text,{as:`p`,className:`share-links__empty-description`,children:e.noBuildLabel})]}):a),d,s?(0,W.jsx)(`ul`,{className:`share-links__list`,ref:l,"aria-busy":u,children:o}):c?(0,W.jsxs)(`section`,{className:`share-links__empty`,children:[(0,W.jsx)(U.Heading,{as:`h2`,size:`5`,children:e.emptyHeading}),(0,W.jsx)(U.Text,{as:`p`,className:`share-links__empty-description`,children:e.emptyLabel})]}):null,f]})}function ye({shareLink:e,className:t,copiedLabel:n,copyErrorLabel:r,copyLabel:i,urlLabel:a,unavailableLabel:o,highlighted:s,children:c}){return(0,W.jsx)(`li`,{"data-share-id":e.id,className:`share-link-item${s?` share-link-item--created`:``}${t?` ${t}`:``}`,children:(0,W.jsxs)(`div`,{className:`share-link-item__layout`,children:[(0,W.jsxs)(`div`,{className:`share-link-item__details`,children:[(0,W.jsx)(`h3`,{children:e.label}),(0,W.jsxs)(`span`,{className:`share-link-item__metadata`,children:[e.buildLabel,e.createdLabel?(0,W.jsxs)(W.Fragment,{children:[` · `,(0,W.jsx)(`time`,{dateTime:e.createdAt,children:e.createdLabel})]}):null,` · `,e.expiresAt?(0,W.jsx)(`time`,{dateTime:e.expiresAt,children:e.expiresLabel}):e.expiresLabel]})]}),(0,W.jsxs)(`div`,{className:`share-link-item__actions`,children:[o?(0,W.jsx)(`p`,{children:o}):(0,W.jsx)(he,{value:e.url,label:a||e.label,copyLabel:i,copiedLabel:n,copyErrorLabel:r}),c]})]})})}function be({data:e,action:t,hiddenFields:n,details:r,afterFields:i,onSubmit:a,label:o,onLabelChange:s,expiration:c,onExpirationChange:l,disabled:u,fieldsDisabled:d,busy:f,error:p}){let m=(0,H.useId)(),h=(0,H.useId)();return(0,W.jsxs)(`div`,{className:`share-links-form`,children:[e.buildLabel?(0,W.jsx)(U.Heading,{as:`h2`,size:`5`,children:e.buildLabel}):null,r,(0,W.jsxs)(`form`,{action:t,method:`post`,onSubmit:a,"aria-busy":f,className:`share-links__form`,children:[n,(0,W.jsxs)(`div`,{className:`share-links__form-row`,children:[(0,W.jsxs)(U.FormControl,{id:m,required:!0,fullWidth:!0,className:`share-links__field`,children:[(0,W.jsx)(U.FormControl.Label,{children:e.labelLabel}),(0,W.jsx)(U.TextInput,{"aria-label":e.labelLabel,"aria-invalid":!!p,name:`share_link[label]`,placeholder:e.labelPlaceholder,maxLength:e.labelMaximumBytes,value:o,onChange:s,disabled:d,fullWidth:!0}),p?(0,W.jsx)(U.FormControl.Validation,{validationStatus:`error`,className:`share-links__validation`,children:p}):null]}),p?(0,W.jsx)(G,{role:`alert`,children:p}):null,(0,W.jsxs)(U.FormControl,{id:h,fullWidth:!0,className:`share-links__field`,children:[(0,W.jsx)(U.FormControl.Label,{children:e.expirationLabel}),(0,W.jsx)(U.Select,{"aria-label":e.expirationLabel,name:`share_link[expiration]`,defaultValue:c===void 0?e.expirationOptions.find(e=>e.value===`seven_days`)?.value??e.expirationOptions[0]?.value:void 0,value:c,onChange:l,disabled:d,fullWidth:!0,children:e.expirationOptions.map(e=>(0,W.jsx)(U.Select.Option,{value:e.value,children:e.label},e.value))})]}),(0,W.jsx)(`div`,{className:`share-links__form-actions`,children:(0,W.jsx)(U.Button,{type:`submit`,variant:`primary`,leadingVisual:v,disabled:u,children:e.submitLabel})})]}),i?(0,W.jsx)(`div`,{className:`share-links__form-options`,children:i}):null]})]})}var J={title:`Share prototype`,internal:`Internal prototype link`,internalDescription:`Requires GitHub sign-in and repository access.`,internalUnavailable:`Internal prototype link unavailable.`,internalCopy:`Copy internal prototype link`,internalOpen:`Open internal prototype link`,public:`Public share links`,permissionUnknown:`Hub has not confirmed permission to manage public share links.`,group:`Publish and share`,back:`Back to preview`,warning:`Anyone with a link can view its Build without signing in. The prototype may expose sensitive or customer information. Check its content before sharing. Local and uncommitted changes are not included.`,target:`New links share this published Build:`,oldBuild:`This is the last published Build, not the current local preview.`,includeControlSettings:`Include current control settings`,controlSettingsDescription:`Adds settings for all configured pages to the links you copy or open. Saved share links stay unchanged.`,controlSettingsWarning:`Settings for controls that have not been published will not take effect for shared links.`,controlSettingsWarningTitle:`Local changes are not in the shared Build`,label:`Label`,labelPlaceholder:`Usability review`,labelInvalid:`Enter a label containing no more than 100 UTF-8 bytes.`,expiry:`Expires after`,expirations:[{value:`one_day`,label:`1 day`},{value:`seven_days`,label:`7 days`},{value:`thirty_days`,label:`30 days`},{value:`never`,label:`Never`}],create:`Create share link`,creating:`Working...`,active:`Active share links`,empty:`Create a link when someone needs signed-out access.`,emptyHeading:`No active share links`,loading:`Loading share links...`,refresh:`Refresh links`,authorize:`Verify with GitHub`,authorizationRetry:`Complete authorization in your browser, then refresh links and submit the action again. No action is replayed automatically.`,paginationFailed:`Hub returned a repeated share-link page. Refresh links to try again.`,noBuild:`A successful published Build is required before creating a share link.`,noBuildHeading:`No successful Build`,build:e=>`Build ${e}`,buildDetails:(e,t,n)=>`Commit: ${e}\nAuthor: @${t}\nPublished: ${n}`,denied:`Managing public share links requires repository admin access or authorship of any successful Build for this Prototype, with current read access. Write access alone is not sufficient.`,disabled:`Public sharing is disabled for this Hub. A Hub administrator must explicitly enable it. Previously revoked links never return.`,disconnected:`Connect to Hub before managing share links.`,connect:`Connect to Hub`,unavailable:`Hub is unavailable. Restore the connection and reopen Share prototype.`,branch:`Open a named prototype branch discovered by Hub before sharing.`,stale:`Hub or checkout changed. Return to preview and reopen Share prototype.`,deleted:`Share link deleted. Its public URL no longer works.`,never:`Never expires`,expires:e=>`Expires ${e}`,createdBy:(e,t)=>`Created by @${e} ${t}`,copy:(e,t)=>`Copy ${e}, Build #${t}`,copied:`Link copied`,copyError:`Could not copy the link. Select the URL and copy it manually.`,open:(e,t)=>`Open ${e}, Build #${t}`,delete:(e,t)=>`Delete ${e}, Build #${t}`,deletePrompt:e=>`Delete "${e}"? Anyone with this link will lose access to its Build.`,deletedError:`Could not delete the link.`,failed:`The sharing request failed.`,unknown:`The sharing request may have completed. Refresh active links before trying again. A matching label does not prove which request created a link.`,expired:`This link has expired. Refresh links.`};function xe({included:e,onChange:t,publishedVersionDiffers:n,disabled:r=!1,error:i,copy:a}){let o=(0,H.useId)(),s=e&&n;return(0,W.jsxs)(`div`,{className:`share-control-settings`,children:[(0,W.jsxs)(U.FormControl,{id:o,fullWidth:!0,children:[(0,W.jsx)(U.Checkbox,{checked:e,onChange:e=>t(e.target.checked),disabled:r}),(0,W.jsx)(U.FormControl.Label,{children:a?.label??J.includeControlSettings}),(0,W.jsx)(U.FormControl.Hint,{className:`share-control-settings__hint`,children:(0,W.jsx)(`span`,{className:`share-control-settings__description`,children:a?.description??J.controlSettingsDescription})})]}),i?(0,W.jsx)(fe,{title:i,variant:`critical`,layout:`compact`}):null,s?(0,W.jsx)(fe,{title:J.controlSettingsWarningTitle,description:J.controlSettingsWarning,variant:`warning`,layout:`compact`,className:`share-control-settings__warning`}):null]})}function Se(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.entries(e).every(([e,t])=>/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e)&&(typeof t==`string`||typeof t==`boolean`||typeof t==`number`&&Number.isFinite(t)||Array.isArray(t)&&t.length<=100&&t.every(e=>typeof e==`string`)))}var Ce=`replica:controls:url`,we=/^rc\.([a-zA-Z][a-zA-Z0-9_-]{0,63})\.([a-zA-Z][a-zA-Z0-9_-]{0,63})$/;function Te(e){let t=new URLSearchParams;for(let n of Object.keys(e).sort()){let r=e[n];if(!Se(r))throw Error(`Invalid control settings.`);for(let e of Object.keys(r).sort()){let i=`rc.${n}.${e}`;if(!we.test(i))throw Error(`Invalid control settings identifier.`);t.set(i,JSON.stringify(r[e]))}}let n=t.toString();if(new Blob([n]).size>8192)throw Error(`Control settings exceed the 8 KB URL limit. Reduce the settings before sharing.`);return n}function Ee(e){let t=new URLSearchParams(e),n=[...t].filter(([e])=>e.startsWith(`rc.`));if(new Blob([new URLSearchParams(n).toString()]).size>8192)return{scopes:{},notice:`Control settings in this URL exceed 8 KB. Defaults were used.`};let r=new Map,i=!1;for(let[e,a]of n){let n=we.exec(e);if(!n||t.getAll(e).length!==1){i=!0;continue}let o=n[1],s=n[2],c;try{c=JSON.parse(a)}catch{c=a}if(!Se({[s]:c})){i=!0;continue}let l=r.get(o)??new Map;l.set(s,c),r.set(o,l)}let a=Object.fromEntries([...r].map(([e,t])=>[e,Object.fromEntries(t)]));try{Te(a)}catch{return{scopes:{},notice:`Control settings in this URL exceed 8 KB. Defaults were used.`}}return{scopes:a,notice:i?`Some URL control settings were invalid. Defaults were used instead.`:``}}function De(e,t){let n=new URL(e,window.location.href),r=Ee(t);if(r.notice)throw Error(r.notice);for(let e of[...n.searchParams.keys()])e.startsWith(`rc.`)&&n.searchParams.delete(e);for(let[e,t]of new URLSearchParams(Te(r.scopes)))n.searchParams.set(e,t);return n.toString()}function Oe({state:e,buildDetails:t,currentCommit:n,hasLocalChanges:r=!1,shareButtonRef:i,onClose:a,onConnect:o,onRefresh:s,onCreate:c,onDelete:l,onOpen:u,controlSettings:d,onAuthorize:f}){let[p,m]=(0,H.useState)(``),[h,g]=(0,H.useState)(`seven_days`),[_,v]=(0,H.useState)(``),[y,b]=(0,H.useState)(Date.now),x=(0,H.useRef)(null),S=(0,H.useRef)(null),C=(0,H.useRef)(null),w=e.context?.prototype,T=J.expirations.filter(e=>!w?.shareLinkExpirationOptions||w.shareLinkExpirationOptions.includes(e.value)),E=T.some(e=>e.value===h)?h:T.find(e=>e.value===`seven_days`)?.value??T[0]?.value??``,D=w?.published?w.build:null,k=D?.url,A=k&&URL.canParse(k)?new URL(k):null,j=A&&A.origin===e.context?.hubOrigin&&[`http:`,`https:`].includes(A.protocol)&&!A.username&&!A.password?k:null,M=!!(D&&n&&n!==D.commitSha)||r,N=w?.canManageShareLinks===!0,P=!e.sharingDisabled&&w?.publicSharingEnabled!==!1,F=e.busy||e.loading||e.stale||!N||!P,I=d?.included?d.query??``:``,L=!!d?.blocked;function R(e){return De(e,I)}let z=P&&e.stale&&!e.loading&&e.created&&!e.links.some(t=>t.id===e.created?.id)?e.created:null;(0,H.useEffect)(()=>{let e=i.current;S.current?.focus();let t=window.setInterval(()=>b(Date.now()),1e4);return()=>{window.clearInterval(t),e?.focus()}},[i]),(0,H.useEffect)(()=>{if(e.busy||!C.current)return;let t=C.current;C.current=null,(t.map(e=>x.current?.querySelector(`[data-share-id="${e}"] button`)).find(e=>e&&!e.disabled)||S.current)?.focus()},[e.busy,e.links]);async function B(t,n){if(!window.confirm(J.deletePrompt(n)))return;let r=e.links.findIndex(e=>e.id===t),i=[...e.links.slice(r+1),...e.links.slice(0,r).reverse()].map(e=>e.id);await l(t)&&(C.current=i,(i.map(e=>x.current?.querySelector(`[data-share-id="${e}"] button`)).find(e=>e&&!e.disabled)||S.current)?.focus())}function ee(e){return new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(new Date(e))}return(0,W.jsx)(`main`,{className:`canvas-share-page`,"aria-label":J.title,children:(0,W.jsx)(ge,{children:(0,W.jsx)(ve,{labels:{heading:J.title,noBuildHeading:J.noBuildHeading,noBuildLabel:J.noBuild,emptyHeading:J.emptyHeading,emptyLabel:J.empty},headingRef:S,headingTrailing:(0,W.jsx)(`div`,{className:`canvas-share-close`,children:(0,W.jsx)(K,{icon:V,variant:`invisible`,"aria-label":J.back,description:J.back,onClick:a})}),feedback:(0,W.jsxs)(W.Fragment,{children:[d?(0,W.jsx)(xe,{included:d.included,onChange:d.onChange,publishedVersionDiffers:M,disabled:e.busy||d.pending,error:d.error}):null,(0,W.jsxs)(`section`,{className:`canvas-share-internal`,"aria-label":J.internal,children:[(0,W.jsx)(U.Heading,{as:`h2`,size:`6`,children:J.internal}),(0,W.jsx)(`p`,{children:J.internalDescription}),j&&!L?(0,W.jsxs)(`div`,{className:`share-link-item__actions canvas-share-internal-actions`,children:[(0,W.jsx)(he,{value:R(j),label:J.internal,copyLabel:J.internalCopy,copiedLabel:J.copied,copyErrorLabel:J.copyError}),(0,W.jsx)(K,{as:`a`,href:R(j),target:`_blank`,rel:`noopener`,icon:ne,"aria-label":J.internalOpen,description:J.internalOpen})]}):j?null:(0,W.jsx)(`p`,{role:`status`,children:J.internalUnavailable})]}),(0,W.jsxs)(`div`,{className:`canvas-share-public-header`,children:[(0,W.jsx)(U.Heading,{as:`h2`,size:`6`,children:J.public}),(0,W.jsx)(`p`,{children:J.warning})]}),w&&!N?(0,W.jsx)(`p`,{role:`status`,children:w.canManageShareLinks===!1?J.denied:J.permissionUnknown}):null,P?null:(0,W.jsx)(`p`,{role:`status`,children:J.disabled}),e.error?(0,W.jsx)(fe,{title:e.error,variant:`critical`,layout:`compact`}):null,e.authorization&&f?(0,W.jsx)(U.Button,{variant:`secondary`,size:`small`,onClick:f,disabled:e.busy,children:J.authorize}):null,o&&!e.context?(0,W.jsx)(U.Button,{variant:`secondary`,size:`small`,onClick:o,children:J.connect}):null]}),form:D&&N&&P?(0,W.jsx)(be,{data:{buildLabel:null,labelLabel:J.label,labelPlaceholder:J.labelPlaceholder,labelMaximumBytes:100,expirationLabel:J.expiry,expirationOptions:T,submitLabel:e.busy?J.creating:J.create},label:p,onLabelChange:e=>{m(e.target.value),v(``)},expiration:E,onExpirationChange:e=>g(e.target.value),onSubmit:e=>{e.preventDefault(),!p.trim()||new TextEncoder().encode(p.trim()).length>100?v(J.labelInvalid):(v(``),c(p,E))},disabled:F,fieldsDisabled:e.busy,busy:e.busy,error:_,details:(0,W.jsxs)(`div`,{className:`canvas-share-build-details`,children:[(0,W.jsxs)(`p`,{children:[J.target,` `,(0,W.jsx)(`strong`,{children:J.build(D.number)}),` - `,(0,W.jsx)(`code`,{children:D.commitSha.slice(0,7)}),` - `,(0,W.jsx)(`time`,{dateTime:D.publishedAt,children:ee(D.publishedAt)})]}),M?(0,W.jsx)(`p`,{children:J.oldBuild}):null]})}):null,formUnavailable:N&&P&&!D?void 0:null,beforeLinks:(0,W.jsxs)(W.Fragment,{children:[e.notice?(0,W.jsx)(`p`,{role:`status`,children:e.notice}):null,z&&!L?(0,W.jsx)(he,{value:R(z.url),label:z.label,copyLabel:J.copy(z.label,z.buildNumber),copiedLabel:J.copied,copyErrorLabel:J.copyError}):null,e.loading?(0,W.jsx)(`p`,{role:`status`,children:J.loading}):null]}),hasLinks:N&&P&&!L&&e.links.length>0,showEmpty:N&&P&&!L&&!e.loading&&!e.stale,listRef:x,listBusy:e.loading,links:(!N||!P||L?[]:e.links).map(e=>{let n=e.expiresAt!==null&&Date.parse(e.expiresAt)<=y,r=t?.[e.buildNumber];return(0,W.jsxs)(ye,{className:D&&e.buildNumberI?u(e.id,I):u(e.id)}),(0,W.jsx)(K,{icon:O,variant:`danger`,"aria-label":J.delete(e.label,e.buildNumber),description:J.delete(e.label,e.buildNumber),disabled:F||n,onClick:()=>void B(e.id,e.label)})]},e.id)}),afterLinks:(0,W.jsx)(`div`,{className:`canvas-share-list-actions`,children:N||!e.context&&!o?(0,W.jsx)(U.Button,{size:`small`,variant:`subtle`,onClick:s,disabled:e.busy||e.loading,children:J.refresh}):null})})})})}var Y={checking:`Checking sharing readiness`,checkingDetail:`Checking Hub for a successful published Build and repository access.`,connect:`Connect before sharing`,connectDetail:`Connect to Hub before sharing this prototype.`,connectAction:`Connect to Hub`,publish:`Publish before sharing`,publishDetail:`To create a share link, publish this prototype to Hub first. Your local preview stays private.`,publishPermissionUnverified:`This Hub has not confirmed publishing permission. Copilot will check access when publishing and report any permission errors.`,preparing:`Preparing your prototype`,ready:`Ready to share`,readyDetail:`Your prototype is ready to share.`,manage:`Share prototype`,unavailable:`Sharing status unavailable`,unavailableDetail:`Hub could not verify sharing readiness. Retry before continuing.`,permissionUnknown:`This Hub cannot verify sharing or publishing permission. Update Hub and retry.`,restricted:`Sharing unavailable`,publishDenied:`Publishing requires repository write access. Ask a prototype author to publish a Build.`,local:`Local development prototypes cannot create public share links.`,changed:`Sharing target changed`,changedDetail:`The repository, branch, or Hub changed. Close this dialog and reopen Share for the intended prototype.`,boundary:`Internal review requires repository access. Public share links let anyone view a published Build, not your local preview.`,close:`Close sharing readiness`},ke=`Branch not eligible for Hub registration`,X={heading:`Branch publication`,checking:`Checking...`,retry:`Retry status`,retryPublish:`Retry publish`,requested:`Requested`,awaitingCopilot:`Waiting for Copilot`,publishBranch:`Publish`,publishChanges:`Publish changes`,registration:`Publishing`,registrationFailed:`Publication delayed`,published:`Published`,alreadyPublished:`Latest changes already published`,queued:`Build queued`,building:`Building`,awaitingHub:`Awaiting Hub`,awaitingBuild:`Awaiting build`,connect:`Connect to the hub`,workflowLink:`View workflow run`,initial:`Checking branch publication.`,checkingRemote:`Checking the exact branch on the origin repository.`,detached:`Open a named branch before publishing.`,changed:`The checkout changed. Refresh publication status.`,unknown:e=>`Remote branch status is unknown. ${e||`Check GitHub access and retry.`}`,pending:`Copilot received the publish request in chat and has not pushed this branch yet. Follow its progress in chat.`,checkingHub:`Checking the Hub connection.`,disconnected:`Connect to the hub before publishing this prototype.`,hubUnavailable:`Hub verification is unavailable. Restore access and retry.`,hubUnavailableTitle:`Hub verification unavailable`,staleHub:`The Hub status belongs to a different checkout. Refresh to continue.`,workflowMissing:`This checkout has no .github/workflows/replica.yml. Set up the repository's Replica build workflow before publishing.`,dispatchFailed:`Copilot could not receive the publish request.`,absent:`This branch won't appear in the hub until you publish.`,needsPush:`The remote branch points to a different commit. Publish pushes this branch without force.`,localChanges:`Local changes are not in the published prototype. Choose how to publish them.`,needsRegistration:`Hub imported this commit. The canvas is publishing it automatically.`,registrationDenied:`Hub could not register this branch. Check repository access and branch eligibility.`,registrationErrorTitle:`Hub registration failed`,registrationReasons:new Map([[`write_access_required`,{title:ke,description:`You lack write access to this repository.`}],[`branch_not_reviewable`,{title:ke,description:`Default, reserved, and internal branches cannot be registered in Hub.`}],[`remote_branch_missing`,{title:ke,description:`The branch no longer exists on the remote repository.`}],[`branch_authorship_required`,{title:ke,description:`You have not authored a commit unique to this branch.`}],[`repository_mismatch`,{title:ke,description:`The branch belongs to a different repository.`}],[`already_registered`,{title:`Branch already registered in Hub`,description:`This branch is already registered in Hub. Refresh its status.`}],[`successful_build_required`,{title:`Hub registration delayed`,description:`Hub has not imported this checkout's successful Build yet.`}]]),ready:`Hub imported this commit and the prototype is registered.`,importFailed:`Hub could not import or build this commit. Pushing this unchanged commit does not rerun the failed work. Inspect the Build failure in Hub and repair the cause before publishing again.`,workflowUnavailable:`Workflow status is unavailable. Check GitHub access and retry.`,staleWorkflow:`Workflow status belongs to a different branch or commit.`,workflowQueued:`The Replica workflow for this commit is queued or waiting.`,workflowBuilding:`The Replica workflow is building this commit.`,workflowFailed:e=>`The Replica workflow finished with ${e||`an unsuccessful result`}. Pushing this unchanged commit does not rerun the failed work. Inspect the run and repair the cause before publishing again.`,importing:`The workflow succeeded. Waiting for Hub discovery and artifact import; this is not published yet.`,noBuild:`The exact branch and commit are on GitHub, but no matching Replica workflow run has appeared yet.`};function Ae({publication:e,busy:t,onPublish:n,onRetry:r}){if(e.kind===`ready`)return null;let i=e.kind===`requested`,a=t||i;return(0,W.jsxs)(`section`,{className:`canvas-branch-publication`,"aria-label":X.heading,children:[e.error?(0,W.jsx)(fe,{variant:`critical`,layout:`compact`,title:e.error.title,description:e.error.description}):(0,W.jsx)(`p`,{role:`status`,children:e.detail}),e.runUrl?(0,W.jsx)(`p`,{children:(0,W.jsx)(U.InlineLink,{className:`canvas-branch-publication__workflow-link`,href:e.runUrl,target:`_blank`,rel:`noopener noreferrer`,children:X.workflowLink})}):null,(e.action!==`none`||i)&&e.kind!==`disconnected`?(0,W.jsx)(`div`,{className:`canvas-branch-publication__actions`,children:(0,W.jsx)(U.Button,{variant:`primary`,size:`small`,disabled:a,"aria-busy":a,leadingVisual:a?(0,W.jsx)(L,{size:16}):void 0,onClick:e.action===`retry`?r:n,children:e.label})}):null]})}function je({readiness:e,busy:t,shareButtonRef:n,onClose:r,onConnect:i,onPublish:a,onRetry:o,onManage:s}){let c=(0,H.useId)();return(0,W.jsxs)(ce,{title:e.title,closeLabel:Y.close,onClose:r,returnFocusRef:n,descriptionId:c,children:[(0,W.jsx)(`p`,{id:c,role:`status`,children:e.detail}),[`connect`,`publish`,`ready`].includes(e.kind)?(0,W.jsx)(`p`,{children:Y.boundary}):null,e.publication?(0,W.jsx)(Ae,{publication:e.publication,dirty:!1,busy:t,onPublish:a,onRetry:o}):null,[`connect`,`ready`,`retry`].includes(e.kind)?(0,W.jsx)(U.Button,{variant:`primary`,size:`small`,disabled:t,"aria-busy":t,onClick:e.kind===`connect`?i:e.kind===`ready`?s:o,children:e.kind===`connect`?Y.connectAction:e.kind===`ready`?Y.manage:X.retry}):null]})}function Me({hub:e,connection:t,publication:n,sharing:r,shareIntent:i,controlSettings:a,readiness:o,state:s,hubOpen:c,buildDetailsOpen:l,onCloseBuildDetails:u,shareButtonRef:d,hubButtonRef:f,connectionButtonRef:p,publishButtonRef:m,titleButtonRef:h}){let{intent:g,targetChanged:_}=i,v=n.presentedState;return(0,W.jsxs)(W.Fragment,{children:[t.open&&(!g||g.connecting&&!_)?(0,W.jsx)(de,{status:e.status,pairing:t.pairing,connecting:t.connecting,error:t.error,onConnect:t.connect,onSelectHub:e.select,onResetHub:e.reset,onClose:()=>{t.close(),i.setConnecting(!1)},hubButtonRef:g?d:c?p:f}):null,g&&!n.publishDialog&&(_||!g.connecting||!t.open)?(0,W.jsx)(je,{readiness:_?{kind:`restricted`,title:Y.changed,detail:Y.changedDetail}:o,busy:n.busy,shareButtonRef:d,onClose:()=>{i.close(),t.close()},onConnect:()=>{_||o.kind!==`connect`||(i.setConnecting(!0),t.showAndConnect())},onPublish:()=>{!_&&o.kind===`publish`&&n.publish()},onRetry:()=>void n.retry(),onManage:()=>{_||o.kind!==`ready`||(i.close(),r.open())}}):null,n.publishDialog?(0,W.jsx)(me,{busy:n.busy,error:n.publishDialogError,changes:n.publishDialog.preparation.changes,checkError:n.publishDialog.preparation.workingTree===`unavailable`?n.publishDialog.preparation.workingTreeError||pe.checkFailed:void 0,remembered:n.publishDialog.preparation.remember,returnFocusRef:g?d:m,onClose:n.closePublishDialog,onChoose:(e,t)=>void n.choosePublish(e,t),onRetry:()=>void n.retryPublishCheck()},n.publishDialog.preparation.workingTree===`unavailable`?`unchecked`:`checked`):null,r.state.open?(0,W.jsx)(Oe,{state:r.state,currentCommit:s?.stats.commitSha,hasLocalChanges:s?.stats.workingTree===`changed`,shareButtonRef:d,onClose:r.close,onConnect:!e.status||[`disconnected`,`pairing`,`unconfigured`].includes(e.status.state)?()=>{r.close(),t.show()}:void 0,onRefresh:()=>void r.refresh(),onCreate:r.create,onDelete:r.remove,onOpen:(e,t)=>void r.openLink(e,t),controlSettings:a,onAuthorize:()=>void r.authorize()}):null,l&&v?(0,W.jsx)(le,{state:v,titleButtonRef:h,onClose:u}):null]})}function Ne({address:e,addressRef:t,canGoBack:n,canGoForward:r,appearance:a,onAppearanceChange:o,onBack:s,onForward:c,onNavigate:l,onOpenTab:u,onReload:d}){let[f,p]=(0,H.useState)(null),m=f?.address===e?f.value:e,h=f?.address===e?f.error:``;function g(t){t.preventDefault();try{let t=new URL(m.trim(),e);if(![`http:`,`https:`].includes(t.protocol)||t.origin!==new URL(e).origin||t.username||t.password){p({address:e,value:m,error:q.browserAddressOrigin});return}p(null),l(t.href)}catch{p({address:e,value:m,error:q.browserAddressInvalid})}}return(0,W.jsx)(U.ThemeProvider,{colorMode:`auto`,className:`canvas-browser-theme`,children:(0,W.jsxs)(`nav`,{className:`canvas-browser-bar`,"aria-label":q.browserNavigation,children:[(0,W.jsxs)(`div`,{className:`canvas-browser-bar__navigation`,children:[(0,W.jsx)(`button`,{type:`button`,"aria-label":q.browserBack,disabled:!n,onClick:s,children:(0,W.jsx)(x,{size:16})}),(0,W.jsx)(`button`,{type:`button`,"aria-label":q.browserForward,disabled:!r,onClick:c,children:(0,W.jsx)(y,{size:16})}),(0,W.jsx)(`button`,{type:`button`,"aria-label":q.browserReload,onClick:d,children:(0,W.jsx)(L,{size:16})})]}),(0,W.jsxs)(`form`,{className:`canvas-browser-bar__address`,onSubmit:g,children:[(0,W.jsx)(`input`,{ref:t,"aria-label":q.browserAddress,"aria-invalid":!!h,"aria-describedby":h?`canvas-browser-address-error`:void 0,spellCheck:!1,value:m,onChange:t=>{p({address:e,value:t.target.value,error:``})},onFocus:e=>e.currentTarget.select(),onKeyDown:e=>{e.key===`Escape`&&(p(null),e.currentTarget.blur())}}),h?(0,W.jsx)(`span`,{id:`canvas-browser-address-error`,className:`canvas-browser-bar__error`,role:`alert`,children:h}):null]}),(0,W.jsxs)(`div`,{className:`canvas-browser-bar__tools`,children:[(0,W.jsx)(`button`,{type:`button`,"aria-label":q.browserOpenTab,title:q.browserOpenTab,onClick:()=>{u().catch(t=>{p({address:e,value:m,error:t instanceof Error?t.message:String(t)})})},children:(0,W.jsx)(ne,{size:16})}),(0,W.jsxs)(`div`,{className:`canvas-browser-bar__appearance`,role:`group`,"aria-label":q.browserAppearance,children:[(0,W.jsx)(`button`,{type:`button`,"aria-label":q.browserLight,"aria-pressed":a===`light`,onClick:()=>o(`light`),children:(0,W.jsx)(P,{size:16})}),(0,W.jsx)(`button`,{type:`button`,"aria-label":q.browserDark,"aria-pressed":a===`dark`,onClick:()=>o(`dark`),children:(0,W.jsx)(i,{size:16})})]})]})]})})}var Pe=e(t((e=>{var t=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),n=t((e=>{Object.defineProperty(e,"__esModule",{value:!0});function t(e){let t=e.length,n=0,r=0,i;for(;r=55296&&i<=56319&&r{t.exports=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t==`object`&&typeof n==`object`){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if(!e(t[o],n[o]))return!1}return!0}return t!==t&&n!==n}})),i=t((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=r();t.code=`require("ajv/dist/runtime/equal").default`,e.default=t}));e.validateShape=P;var a={type:`object`,additionalProperties:!1,required:[`version`,`scope`,`controls`],properties:{$schema:{type:`string`},version:{const:1},scope:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},role:{enum:[`shared`,`page`]},container:{$ref:`#/$defs/selector`},panel:{type:`object`,additionalProperties:!1,required:[`width`],properties:{width:{type:`integer`,minimum:160,maximum:4096}}},groups:{type:`array`,maxItems:100,items:{type:`object`,additionalProperties:!1,required:[`id`,`label`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},when:{$ref:`#/$defs/condition`}}}},controls:{type:`array`,maxItems:500,items:{oneOf:[{$ref:`#/$defs/boolean`},{$ref:`#/$defs/number`},{$ref:`#/$defs/slider`},{$ref:`#/$defs/choice`},{$ref:`#/$defs/checkboxGroup`},{$ref:`#/$defs/text`},{$ref:`#/$defs/color`},{$ref:`#/$defs/button`}]}}}},o=Object.prototype.hasOwnProperty,s=n().default,c=RegExp(`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`,`u`),l={type:[`string`,`number`,`boolean`]},u=i().default,d={validate:f};function f(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0,s=o,p=!1,m=null,h=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.control===void 0){let e={instancePath:t,schemaPath:`#/oneOf/0/required`,keyword:`required`,params:{missingProperty:`control`},message:`must have required property 'control'`};a===null?a=[e]:a.push(e),o++}if(e.equals===void 0){let e={instancePath:t,schemaPath:`#/oneOf/0/required`,keyword:`required`,params:{missingProperty:`equals`},message:`must have required property 'equals'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`control`&&n!==`equals`){let e={instancePath:t,schemaPath:`#/oneOf/0/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.control!==void 0){let n=e.control;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.equals!==void 0){let n=e.equals;if(typeof n!=`string`&&!(typeof n==`number`&&isFinite(n))&&typeof n!=`boolean`){let e={instancePath:t+`/equals`,schemaPath:`#/$defs/scalar/type`,keyword:`type`,params:{type:l.type},message:`must be string,number,boolean`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/0/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var g=h===o;g&&(p=!0,m=0);let _=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.control===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`control`},message:`must have required property 'control'`};a===null?a=[e]:a.push(e),o++}if(e.in===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`in`},message:`must have required property 'in'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`control`&&n!==`in`){let e={instancePath:t,schemaPath:`#/oneOf/1/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.control!==void 0){let n=e.control;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.in!==void 0){let n=e.in;if(Array.isArray(n)){if(n.length>20){let e={instancePath:t+`/in`,schemaPath:`#/oneOf/1/properties/in/maxItems`,keyword:`maxItems`,params:{limit:20},message:`must NOT have more than 20 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/in`,schemaPath:`#/oneOf/1/properties/in/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r1){outer0:for(;r--;)for(i=r;i--;)if(u(n[r],n[i])){let e={instancePath:t+`/in`,schemaPath:`#/oneOf/1/properties/in/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[e]:a.push(e),o++;break outer0}}}else{let e={instancePath:t+`/in`,schemaPath:`#/oneOf/1/properties/in/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/1/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var g=_===o;if(g&&p)p=!1,m=[m,1];else{g&&(p=!0,m=1);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.control===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`control`},message:`must have required property 'control'`};a===null?a=[e]:a.push(e),o++}if(e.includes===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`includes`},message:`must have required property 'includes'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`control`&&n!==`includes`){let e={instancePath:t,schemaPath:`#/oneOf/2/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.control!==void 0){let n=e.control;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.includes!==void 0&&typeof e.includes!=`string`){let e={instancePath:t+`/includes`,schemaPath:`#/oneOf/2/properties/includes/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t,schemaPath:`#/oneOf/2/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var g=n===o;if(g&&p)p=!1,m=[m,2];else{g&&(p=!0,m=2);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.all===void 0){let e={instancePath:t,schemaPath:`#/oneOf/3/required`,keyword:`required`,params:{missingProperty:`all`},message:`must have required property 'all'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`all`){let e={instancePath:t,schemaPath:`#/oneOf/3/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.all!==void 0){let n=e.all;if(Array.isArray(n)){if(n.length>10){let e={instancePath:t+`/all`,schemaPath:`#/oneOf/3/properties/all/maxItems`,keyword:`maxItems`,params:{limit:10},message:`must NOT have more than 10 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/all`,schemaPath:`#/oneOf/3/properties/all/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r10){let e={instancePath:t+`/any`,schemaPath:`#/oneOf/4/properties/any/maxItems`,keyword:`maxItems`,params:{limit:10},message:`must NOT have more than 10 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/any`,schemaPath:`#/oneOf/4/properties/any/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r512){let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/maxLength`,keyword:`maxLength`,params:{limit:512},message:`must NOT have more than 512 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/0/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=d===o;f&&(l=!0,u=0);let v=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.selector===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`selector`},message:`must have required property 'selector'`};a===null?a=[e]:a.push(e),o++}if(e.property===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`property`},message:`must have required property 'property'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`type`&&n!==`selector`&&n!==`property`){let e={instancePath:t,schemaPath:`#/oneOf/1/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.type!==void 0&&e.type!==`style`){let e={instancePath:t+`/type`,schemaPath:`#/oneOf/1/properties/type/const`,keyword:`const`,params:{allowedValue:`style`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.selector!==void 0){let n=e.selector;if(typeof n==`string`){if(s(n)>512){let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/maxLength`,keyword:`maxLength`,params:{limit:512},message:`must NOT have more than 512 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.property!==void 0){let n=e.property;if(typeof n==`string`){if(s(n)>100){let e={instancePath:t+`/property`,schemaPath:`#/oneOf/1/properties/property/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};a===null?a=[e]:a.push(e),o++}if(!m.test(n)){let e={instancePath:t+`/property`,schemaPath:`#/oneOf/1/properties/property/pattern`,keyword:`pattern`,params:{pattern:`^(--[a-zA-Z0-9_-]+|[a-z][a-z-]*)$`},message:`must match pattern "^(--[a-zA-Z0-9_-]+|[a-z][a-z-]*)$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/property`,schemaPath:`#/oneOf/1/properties/property/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/1/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=v===o;if(f&&l)l=!1,u=[u,1];else{f&&(l=!0,u=1);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.key===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`key`},message:`must have required property 'key'`};a===null?a=[e]:a.push(e),o++}if(e.mode===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`mode`},message:`must have required property 'mode'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`type`&&n!==`key`&&n!==`mode`){let e={instancePath:t,schemaPath:`#/oneOf/2/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.type!==void 0&&e.type!==`query`){let e={instancePath:t+`/type`,schemaPath:`#/oneOf/2/properties/type/const`,keyword:`const`,params:{allowedValue:`query`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.key!==void 0){let n=e.key;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/key`,schemaPath:`#/oneOf/2/properties/key/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/key`,schemaPath:`#/oneOf/2/properties/key/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/key`,schemaPath:`#/oneOf/2/properties/key/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.mode!==void 0){let n=e.mode;if(n!==`in-place`&&n!==`navigate`){let e={instancePath:t+`/mode`,schemaPath:`#/oneOf/2/properties/mode/enum`,keyword:`enum`,params:{allowedValues:p.oneOf[2].properties.mode.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/2/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=n===o;if(f&&l)l=!1,u=[u,2];else{f&&(l=!0,u=2);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={instancePath:t,schemaPath:`#/oneOf/3/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.mode===void 0){let e={instancePath:t,schemaPath:`#/oneOf/3/required`,keyword:`required`,params:{missingProperty:`mode`},message:`must have required property 'mode'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`type`&&n!==`mode`){let e={instancePath:t,schemaPath:`#/oneOf/3/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.type!==void 0&&e.type!==`hash`){let e={instancePath:t+`/type`,schemaPath:`#/oneOf/3/properties/type/const`,keyword:`const`,params:{allowedValue:`hash`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.mode!==void 0){let n=e.mode;if(n!==`in-place`&&n!==`navigate`){let e={instancePath:t+`/mode`,schemaPath:`#/oneOf/3/properties/mode/enum`,keyword:`enum`,params:{allowedValues:p.oneOf[3].properties.mode.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/3/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=n===o;if(f&&l)l=!1,u=[u,3];else{f&&(l=!0,u=3);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={instancePath:t,schemaPath:`#/oneOf/4/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.object===void 0){let e={instancePath:t,schemaPath:`#/oneOf/4/required`,keyword:`required`,params:{missingProperty:`object`},message:`must have required property 'object'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`type`&&n!==`object`&&n!==`read`&&n!==`write`&&n!==`action`&&n!==`subscribe`&&n!==`pollMs`){let e={instancePath:t,schemaPath:`#/oneOf/4/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.type!==void 0&&e.type!==`api`){let e={instancePath:t+`/type`,schemaPath:`#/oneOf/4/properties/type/const`,keyword:`const`,params:{allowedValue:`api`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.object!==void 0){let n=e.object;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/object`,schemaPath:`#/oneOf/4/properties/object/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(!h.test(n)){let e={instancePath:t+`/object`,schemaPath:`#/oneOf/4/properties/object/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z_$][a-zA-Z0-9_$]*(\\.[a-zA-Z_$][a-zA-Z0-9_$]*)*$`},message:`must match pattern "^[a-zA-Z_$][a-zA-Z0-9_$]*(\\.[a-zA-Z_$][a-zA-Z0-9_$]*)*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/object`,schemaPath:`#/oneOf/4/properties/object/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.read!==void 0){let n=e.read;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/read`,schemaPath:`#/$defs/method/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};a===null?a=[e]:a.push(e),o++}if(!g.test(n)){let e={instancePath:t+`/read`,schemaPath:`#/$defs/method/pattern`,keyword:`pattern`,params:{pattern:`^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$`},message:`must match pattern "^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/read`,schemaPath:`#/$defs/method/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.write!==void 0){let n=e.write;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/write`,schemaPath:`#/$defs/method/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};a===null?a=[e]:a.push(e),o++}if(!g.test(n)){let e={instancePath:t+`/write`,schemaPath:`#/$defs/method/pattern`,keyword:`pattern`,params:{pattern:`^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$`},message:`must match pattern "^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/write`,schemaPath:`#/$defs/method/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.action!==void 0){let n=e.action;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/action`,schemaPath:`#/$defs/method/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};a===null?a=[e]:a.push(e),o++}if(!g.test(n)){let e={instancePath:t+`/action`,schemaPath:`#/$defs/method/pattern`,keyword:`pattern`,params:{pattern:`^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$`},message:`must match pattern "^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/action`,schemaPath:`#/$defs/method/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.subscribe!==void 0){let n=e.subscribe;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/subscribe`,schemaPath:`#/$defs/method/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};a===null?a=[e]:a.push(e),o++}if(!g.test(n)){let e={instancePath:t+`/subscribe`,schemaPath:`#/$defs/method/pattern`,keyword:`pattern`,params:{pattern:`^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$`},message:`must match pattern "^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/subscribe`,schemaPath:`#/$defs/method/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.pollMs!==void 0){let n=e.pollMs;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/pollMs`,schemaPath:`#/oneOf/4/properties/pollMs/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),o++}if(typeof n==`number`&&isFinite(n)){if(n>6e4||isNaN(n)){let e={instancePath:t+`/pollMs`,schemaPath:`#/oneOf/4/properties/pollMs/maximum`,keyword:`maximum`,params:{comparison:`<=`,limit:6e4},message:`must be <= 60000`};a===null?a=[e]:a.push(e),o++}if(n<100||isNaN(n)){let e={instancePath:t+`/pollMs`,schemaPath:`#/oneOf/4/properties/pollMs/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:100},message:`must be >= 100`};a===null?a=[e]:a.push(e),o++}}}}else{let e={instancePath:t,schemaPath:`#/oneOf/4/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=n===o;f&&l?(l=!1,u=[u,4]):f&&(l=!0,u=4)}}}if(l)o=c,a!==null&&(c?a.length=c:a=null);else{let e={instancePath:t,schemaPath:`#/oneOf`,keyword:`oneOf`,params:{passingSchemas:u},message:`must match exactly one schema in oneOf`};a===null?a=[e]:a.push(e),o++}return _.errors=a,o===0}function v(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`boolean`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`boolean`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.default!==void 0&&typeof e.default!=`boolean`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return v.errors=a,o===0}var y={type:`object`,additionalProperties:!1,required:[`id`,`label`,`type`,`default`,`min`,`max`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},type:{const:`number`},default:{type:`number`},binding:{$ref:`#/$defs/binding`},min:{type:`number`},max:{type:`number`},step:{type:`number`,exclusiveMinimum:0},group:{$ref:`#/$defs/id`},when:{$ref:`#/$defs/condition`}}};function b(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}if(e.min===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`min`},message:`must have required property 'min'`};a===null?a=[e]:a.push(e),l++}if(e.max===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`max`},message:`must have required property 'max'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(y.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0&&e.type!==`number`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`number`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),l++}if(e.default!==void 0){let n=e.default;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.min!==void 0){let n=e.min;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/min`,schemaPath:`#/properties/min/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.max!==void 0){let n=e.max;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/max`,schemaPath:`#/properties/max/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.step!==void 0){let n=e.step;if(typeof n==`number`&&isFinite(n)){if(n<=0||isNaN(n)){let e={instancePath:t+`/step`,schemaPath:`#/properties/step/exclusiveMinimum`,keyword:`exclusiveMinimum`,params:{comparison:`>`,limit:0},message:`must be > 0`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/step`,schemaPath:`#/properties/step/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return b.errors=a,l===0}var x={type:`object`,additionalProperties:!1,required:[`id`,`label`,`type`,`default`,`min`,`max`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},type:{const:`slider`},default:{type:`number`},binding:{$ref:`#/$defs/binding`},min:{type:`number`},max:{type:`number`},step:{type:`number`,exclusiveMinimum:0},group:{$ref:`#/$defs/id`},when:{$ref:`#/$defs/condition`}}};function S(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}if(e.min===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`min`},message:`must have required property 'min'`};a===null?a=[e]:a.push(e),l++}if(e.max===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`max`},message:`must have required property 'max'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(x.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0&&e.type!==`slider`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`slider`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),l++}if(e.default!==void 0){let n=e.default;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.min!==void 0){let n=e.min;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/min`,schemaPath:`#/properties/min/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.max!==void 0){let n=e.max;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/max`,schemaPath:`#/properties/max/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.step!==void 0){let n=e.step;if(typeof n==`number`&&isFinite(n)){if(n<=0||isNaN(n)){let e={instancePath:t+`/step`,schemaPath:`#/properties/step/exclusiveMinimum`,keyword:`exclusiveMinimum`,params:{comparison:`>`,limit:0},message:`must be > 0`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/step`,schemaPath:`#/properties/step/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return S.errors=a,l===0}var C={type:`object`,additionalProperties:!1,required:[`id`,`label`,`type`,`default`,`options`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},type:{enum:[`select`,`radio`,`segmented`]},default:{type:`string`},binding:{$ref:`#/$defs/binding`},options:{$ref:`#/$defs/options`},group:{$ref:`#/$defs/id`},when:{$ref:`#/$defs/condition`}}};function w(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}if(e.options===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`options`},message:`must have required property 'options'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`options`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0){let n=e.type;if(n!==`select`&&n!==`radio`&&n!==`segmented`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/enum`,keyword:`enum`,params:{allowedValues:C.properties.type.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),o++}}if(e.default!==void 0&&typeof e.default!=`string`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.options!==void 0){let n=e.options;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(e)<1){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}let r=n.length,i;if(r>1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/options`,schemaPath:`#/$defs/options/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return w.errors=a,o===0}function T(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}if(e.options===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`options`},message:`must have required property 'options'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!==`binding`&&n!=="default"&&n!==`options`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`checkboxGroup`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`checkboxGroup`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.default!==void 0){let n=e.default;if(Array.isArray(n)){let e=n.length;for(let r=0;r1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/default`,schemaPath:`#/properties/default/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.options!==void 0){let n=e.options;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(e)<1){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}let r=n.length,i;if(r>1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/options`,schemaPath:`#/$defs/options/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return T.errors=a,o===0}var E={type:`object`,additionalProperties:!1,required:[`id`,`label`,`type`,`default`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},type:{enum:[`text`,`textarea`]},default:{type:`string`},binding:{$ref:`#/$defs/binding`},minLength:{type:`integer`,minimum:0},maxLength:{type:`integer`,minimum:0},group:{$ref:`#/$defs/id`},when:{$ref:`#/$defs/condition`}}};function D(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(E.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0){let n=e.type;if(n!==`text`&&n!==`textarea`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/enum`,keyword:`enum`,params:{allowedValues:E.properties.type.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),l++}}if(e.default!==void 0&&typeof e.default!=`string`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.minLength!==void 0){let n=e.minLength;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/minLength`,schemaPath:`#/properties/minLength/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),l++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/minLength`,schemaPath:`#/properties/minLength/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};a===null?a=[e]:a.push(e),l++}}if(e.maxLength!==void 0){let n=e.maxLength;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/maxLength`,schemaPath:`#/properties/maxLength/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),l++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/maxLength`,schemaPath:`#/properties/maxLength/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return D.errors=a,l===0}var O=RegExp(`^#[0-9a-fA-F]{6}$`,`u`);function k(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`color`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`color`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.default!==void 0){let n=e.default;if(typeof n==`string`){if(!O.test(n)){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/pattern`,keyword:`pattern`,params:{pattern:`^#[0-9a-fA-F]{6}$`},message:`must match pattern "^#[0-9a-fA-F]{6}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return k.errors=a,o===0}function A(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`button`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`button`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return A.errors=a,o===0}function j(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let l=null,u=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.version===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`version`},message:`must have required property 'version'`};l===null?l=[e]:l.push(e),u++}if(e.scope===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`scope`},message:`must have required property 'scope'`};l===null?l=[e]:l.push(e),u++}if(e.controls===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`controls`},message:`must have required property 'controls'`};l===null?l=[e]:l.push(e),u++}for(let n in e)if(!o.call(a.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.$schema!==void 0&&typeof e.$schema!=`string`){let e={instancePath:t+`/$schema`,schemaPath:`#/properties/%24schema/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}if(e.version!==void 0&&e.version!==1){let e={instancePath:t+`/version`,schemaPath:`#/properties/version/const`,keyword:`const`,params:{allowedValue:1},message:`must be equal to constant`};l===null?l=[e]:l.push(e),u++}if(e.scope!==void 0){let n=e.scope;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/scope`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/scope`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.role!==void 0){let n=e.role;if(n!==`shared`&&n!==`page`){let e={instancePath:t+`/role`,schemaPath:`#/properties/role/enum`,keyword:`enum`,params:{allowedValues:a.properties.role.enum},message:`must be equal to one of the allowed values`};l===null?l=[e]:l.push(e),u++}}if(e.container!==void 0){let n=e.container;if(typeof n==`string`){if(s(n)>512){let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/maxLength`,keyword:`maxLength`,params:{limit:512},message:`must NOT have more than 512 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.panel!==void 0){let n=e.panel;if(n&&typeof n==`object`&&!Array.isArray(n)){if(n.width===void 0){let e={instancePath:t+`/panel`,schemaPath:`#/properties/panel/required`,keyword:`required`,params:{missingProperty:`width`},message:`must have required property 'width'`};l===null?l=[e]:l.push(e),u++}for(let e in n)if(e!==`width`){let n={instancePath:t+`/panel`,schemaPath:`#/properties/panel/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e},message:`must NOT have additional properties`};l===null?l=[n]:l.push(n),u++}if(n.width!==void 0){let e=n.width;if(typeof e!=`number`||e%1||isNaN(e)||!isFinite(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};l===null?l=[e]:l.push(e),u++}if(typeof e==`number`&&isFinite(e)){if(e>4096||isNaN(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/maximum`,keyword:`maximum`,params:{comparison:`<=`,limit:4096},message:`must be <= 4096`};l===null?l=[e]:l.push(e),u++}if(e<160||isNaN(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:160},message:`must be >= 160`};l===null?l=[e]:l.push(e),u++}}}}else{let e={instancePath:t+`/panel`,schemaPath:`#/properties/panel/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.groups!==void 0){let n=e.groups;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/groups`,schemaPath:`#/properties/groups/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/groups/`+r+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(l=l===null?f.errors:l.concat(f.errors),u=l.length))}else{let e={instancePath:t+`/groups/`+r,schemaPath:`#/properties/groups/items/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t+`/groups`,schemaPath:`#/properties/groups/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.controls!==void 0){let n=e.controls;if(Array.isArray(n)){if(n.length>500){let e={instancePath:t+`/controls`,schemaPath:`#/properties/controls/maxItems`,keyword:`maxItems`,params:{limit:500},message:`must NOT have more than 500 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r100){let e={instancePath:t+`/sets`,schemaPath:`#/properties/sets/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/sets`,schemaPath:`#/properties/sets/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.role!==void 0){let n=e.role;if(n!==`shared`&&n!==`page`){let e={instancePath:t+`/role`,schemaPath:`#/properties/role/enum`,keyword:`enum`,params:{allowedValues:a.properties.role.enum},message:`must be equal to one of the allowed values`};l===null?l=[e]:l.push(e),u++}}if(e.container!==void 0){let n=e.container;if(typeof n==`string`){if(s(n)>512){let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/maxLength`,keyword:`maxLength`,params:{limit:512},message:`must NOT have more than 512 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.panel!==void 0){let n=e.panel;if(n&&typeof n==`object`&&!Array.isArray(n)){if(n.width===void 0){let e={instancePath:t+`/panel`,schemaPath:`#/properties/panel/required`,keyword:`required`,params:{missingProperty:`width`},message:`must have required property 'width'`};l===null?l=[e]:l.push(e),u++}for(let e in n)if(e!==`width`){let n={instancePath:t+`/panel`,schemaPath:`#/properties/panel/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e},message:`must NOT have additional properties`};l===null?l=[n]:l.push(n),u++}if(n.width!==void 0){let e=n.width;if(typeof e!=`number`||e%1||isNaN(e)||!isFinite(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};l===null?l=[e]:l.push(e),u++}if(typeof e==`number`&&isFinite(e)){if(e>4096||isNaN(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/maximum`,keyword:`maximum`,params:{comparison:`<=`,limit:4096},message:`must be <= 4096`};l===null?l=[e]:l.push(e),u++}if(e<160||isNaN(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:160},message:`must be >= 160`};l===null?l=[e]:l.push(e),u++}}}}else{let e={instancePath:t+`/panel`,schemaPath:`#/properties/panel/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.groups!==void 0){let n=e.groups;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/groups`,schemaPath:`#/properties/groups/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/groups/`+r+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(l=l===null?f.errors:l.concat(f.errors),u=l.length))}else{let e={instancePath:t+`/groups/`+r,schemaPath:`#/properties/groups/items/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t+`/groups`,schemaPath:`#/properties/groups/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.controls!==void 0){let n=e.controls;if(Array.isArray(n)){if(n.length>500){let e={instancePath:t+`/controls`,schemaPath:`#/properties/controls/maxItems`,keyword:`maxItems`,params:{limit:500},message:`must NOT have more than 500 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r100){let e={instancePath:t+`/sets`,schemaPath:`#/properties/sets/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/sets`,schemaPath:`#/properties/sets/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`boolean`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`boolean`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.default!==void 0&&typeof e.default!=`boolean`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return L.errors=a,o===0}e.number=R;function R(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}if(e.min===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`min`},message:`must have required property 'min'`};a===null?a=[e]:a.push(e),l++}if(e.max===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`max`},message:`must have required property 'max'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(y.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0&&e.type!==`number`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`number`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),l++}if(e.default!==void 0){let n=e.default;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.min!==void 0){let n=e.min;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/min`,schemaPath:`#/properties/min/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.max!==void 0){let n=e.max;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/max`,schemaPath:`#/properties/max/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.step!==void 0){let n=e.step;if(typeof n==`number`&&isFinite(n)){if(n<=0||isNaN(n)){let e={instancePath:t+`/step`,schemaPath:`#/properties/step/exclusiveMinimum`,keyword:`exclusiveMinimum`,params:{comparison:`>`,limit:0},message:`must be > 0`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/step`,schemaPath:`#/properties/step/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return R.errors=a,l===0}e.slider=z;function z(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}if(e.min===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`min`},message:`must have required property 'min'`};a===null?a=[e]:a.push(e),l++}if(e.max===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`max`},message:`must have required property 'max'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(x.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0&&e.type!==`slider`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`slider`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),l++}if(e.default!==void 0){let n=e.default;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.min!==void 0){let n=e.min;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/min`,schemaPath:`#/properties/min/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.max!==void 0){let n=e.max;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/max`,schemaPath:`#/properties/max/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.step!==void 0){let n=e.step;if(typeof n==`number`&&isFinite(n)){if(n<=0||isNaN(n)){let e={instancePath:t+`/step`,schemaPath:`#/properties/step/exclusiveMinimum`,keyword:`exclusiveMinimum`,params:{comparison:`>`,limit:0},message:`must be > 0`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/step`,schemaPath:`#/properties/step/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return z.errors=a,l===0}e.choice=B;function B(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}if(e.options===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`options`},message:`must have required property 'options'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`options`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0){let n=e.type;if(n!==`select`&&n!==`radio`&&n!==`segmented`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/enum`,keyword:`enum`,params:{allowedValues:C.properties.type.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),o++}}if(e.default!==void 0&&typeof e.default!=`string`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.options!==void 0){let n=e.options;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(e)<1){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}let r=n.length,i;if(r>1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/options`,schemaPath:`#/$defs/options/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return B.errors=a,o===0}e.checkboxGroup=ee;function ee(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}if(e.options===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`options`},message:`must have required property 'options'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!==`binding`&&n!=="default"&&n!==`options`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`checkboxGroup`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`checkboxGroup`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.default!==void 0){let n=e.default;if(Array.isArray(n)){let e=n.length;for(let r=0;r1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/default`,schemaPath:`#/properties/default/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.options!==void 0){let n=e.options;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(e)<1){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}let r=n.length,i;if(r>1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/options`,schemaPath:`#/$defs/options/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return ee.errors=a,o===0}e.text=V;function V(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(E.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0){let n=e.type;if(n!==`text`&&n!==`textarea`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/enum`,keyword:`enum`,params:{allowedValues:E.properties.type.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),l++}}if(e.default!==void 0&&typeof e.default!=`string`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.minLength!==void 0){let n=e.minLength;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/minLength`,schemaPath:`#/properties/minLength/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),l++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/minLength`,schemaPath:`#/properties/minLength/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};a===null?a=[e]:a.push(e),l++}}if(e.maxLength!==void 0){let n=e.maxLength;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/maxLength`,schemaPath:`#/properties/maxLength/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),l++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/maxLength`,schemaPath:`#/properties/maxLength/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return V.errors=a,l===0}e.color=te;function te(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`color`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`color`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.default!==void 0){let n=e.default;if(typeof n==`string`){if(!O.test(n)){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/pattern`,keyword:`pattern`,params:{pattern:`^#[0-9a-fA-F]{6}$`},message:`must match pattern "^#[0-9a-fA-F]{6}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return te.errors=a,o===0}e.button=ne;function ne(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`button`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`button`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return ne.errors=a,o===0}}))(),1),{validateDocumentShape:Z,validateDeclaration:Fe}=Pe.default,Ie={boolean:`boolean`,number:`number`,slider:`slider`,select:`choice`,radio:`choice`,segmented:`choice`,checkboxGroup:`checkboxGroup`,text:`text`,textarea:`text`,color:`color`,button:`button`};function Le(e){let t=[...Fe.errors].filter(e=>!/^\/controls\/\d+(?:\/|$)/.test(e.instancePath)).map(e=>({...e}));return Array.isArray(e?.controls)&&e.controls.forEach((e,n)=>{let r=Object.hasOwn(Ie,e?.type)?Ie[e.type]:void 0,i=r&&Pe.default[r];i?i(e)||t.push(...i.errors.map(e=>({...e,instancePath:`/controls/${n}${e.instancePath}`}))):t.push({instancePath:`/controls/${n}/type`,message:`must name a supported control type`})}),t.map(e=>({path:e.instancePath,message:e.keyword===`additionalProperties`?`${e.message}: "${e.params.additionalProperty}"`:e.message,keyword:e.keyword,params:e.params}))}var Re=class extends Error{constructor(e){super(`Invalid controls.replica.json:\n${e.map(e=>` ${e.path||`/`}: ${e.message}`).join(` +`)}`),this.name=`ControlsValidationError`,this.issues=e}};function ze(e,t){switch(e.type){case`boolean`:return typeof t==`boolean`?null:`must be a boolean`;case`number`:case`slider`:{if(typeof t!=`number`||!Number.isFinite(t))return`must be a finite number`;if(e.min!==void 0&&t= min`;if(e.max!==void 0&&t>e.max)return`must be <= max`;let n=(t-e.min)/(e.step??1);return!Number.isFinite(n)||Math.abs(n-Math.round(n))>1e-8?`must align with step (anchored at min)`:null}case`select`:case`radio`:case`segmented`:return e.options.includes(t)?null:`must be a declared option`;case`checkboxGroup`:return Array.isArray(t)&&new Set(t).size===t.length&&t.every(t=>e.options.includes(t))?null:`must be unique declared options`;case`text`:case`textarea`:return typeof t==`string`?e.minLength!==void 0&&[...t].lengthe.maxLength?`longer than maxLength`:null:`must be a string`;case`color`:return typeof t==`string`&&/^#[0-9a-fA-F]{6}$/.test(t)?null:`must be a six-digit hex color`;default:return`button controls have no value`}}function Be(e){return e?e.control?[e.control]:(e.all??e.any).flatMap(Be):[]}function Ve(e){let t=new Map((e.groups??[]).map(e=>[e.id,e])),n=new Map(e.controls.map(e=>[e.id,e])),r=new Set,i=new Set,a=[];function o(e){if(r.has(e))return;if(i.has(e))throw new Re([{path:`/controls/${e}/when`,message:`conditional dependency cycle (including groups)`}]);i.add(e);let s=n.get(e);for(let e of[...Be(s.when),...Be(t.get(s.group)?.when)])o(e);i.delete(e),r.add(e),a.push(e)}for(let e of n.keys())o(e);return a}function He(e){let t=new Set;function n(e,r=0){if(r>24)throw new Re([{path:`/`,message:`document nesting exceeds 24`}]);if(typeof e==`number`&&!Number.isFinite(e))throw new Re([{path:`/`,message:`numbers must be finite`}]);if(![`string`,`number`,`boolean`,`object`].includes(typeof e))throw new Re([{path:`/`,message:`must contain only JSON values`}]);if(e&&typeof e==`object`){if(!Array.isArray(e)&&Object.getPrototypeOf(e)!==Object.prototype&&Object.getPrototypeOf(e)!==null)throw new Re([{path:`/`,message:`must contain only JSON objects`}]);if(t.has(e))throw new Re([{path:`/`,message:`must be an acyclic JSON document`}]);t.add(e);for(let t of Object.values(e))n(t,r+1);t.delete(e)}}n(e)}function Ue(e){if(He(e),!Fe(e))throw new Re(Le(e));let t=[];function n(e,n){t.push({path:e,message:n})}let r=new Set,i=new Map((e.groups??[]).map(e=>[e.id,e])),a=new Map(e.controls.map(e=>[e.id,e]));for(let[t,i]of[[`groups`,e.groups??[]],[`controls`,e.controls]])i.forEach((e,i)=>{r.has(e.id)&&n(`/${t}/${i}/id`,`duplicate ID ${e.id}`),r.add(e.id)});function o(e,t,r=0){if(!e)return;if(r>4){n(t,`conditions support at most five levels`);return}if(e.all||e.any){let n=e.all?`all`:`any`;e[n].forEach((e,i)=>o(e,`${t}/${n}/${i}`,r+1));return}let i=a.get(e.control);if(!i||i.type===`button`)n(t,`condition must reference a value control`);else if(`includes`in e)(i.type!==`checkboxGroup`||!i.options.includes(e.includes))&&n(t,`includes requires a declared checkboxGroup option`);else if(i.type===`checkboxGroup`)n(t,`checkboxGroup conditions must use includes`);else for(let r of`in`in e?e.in:[e.equals]){let e=ze(i,r);e&&n(t,`invalid condition for ${i.id}: ${e}`)}}if(e.controls.forEach((e,t)=>{let r=`/controls/${t}`;if(e.group&&!i.has(e.group)&&n(`${r}/group`,`unknown group`),e.min!==void 0&&e.max!==void 0&&e.min>e.max&&n(r,`min must not exceed max`),e.minLength!==void 0&&e.maxLength!==void 0&&e.minLength>e.maxLength&&n(r,`minLength must not exceed maxLength`),e.type===`segmented`&&e.options.length>3&&n(`${r}/options`,`segmented supports at most three options`),e.type!==`button`){let t=ze(e,e.default);t&&n(`${r}/default`,t)}o(e.when,`${r}/when`)}),(e.groups??[]).forEach((e,t)=>o(e.when,`/groups/${t}/when`)),t.length)throw new Re(t);return Ve(e),e}function We(e,t){let[n,r]=(0,H.useState)(e),[i,a]=(0,H.useState)(null),o=(0,H.useRef)(e),s=(0,H.useRef)(e),c=(0,H.useRef)(0),l=(0,H.useRef)(!1);(0,H.useLayoutEffect)(()=>{s.current=e,l.current||(o.current=e,r(e))},[e]),(0,H.useLayoutEffect)(()=>()=>{c.current++},[]);function u(e){c.current++,l.current=!0,o.current=e,r(e),a(null)}function d(){c.current++,l.current=!1,o.current=s.current,r(s.current),a(null)}function f(e,n=e){u(e);let i=c.current;Promise.resolve().then(()=>t(n)).then(e=>{c.current===i&&(l.current=!1,o.current=e&&`value`in e?e.value:s.current,r(o.current))}).catch(()=>{c.current===i&&(d(),a(q.controlsValueNotApplied))})}return{draft:n,error:i,current:()=>o.current,stage:u,commit:f,reset:d}}function Ge(e){let t=e.step??1,n=Math.max(...[e.min,e.max,t].map(e=>{let[t=``,n=`0`]=String(e).split(`e`);return Math.max(0,(t.split(`.`)[1]?.length??0)-Number(n))})),r=Math.max(...[e.min,e.max].map(e=>n<=100?e.toFixed(n).length:String(e).length),String(e.default).length,String(t).length);return e.type===`slider`?`calc(${r}ch + var(--hub-space-8) * 2)`:`calc(${r}ch + var(--hub-space-8) * 2 + 1.25rem)`}function Ke({id:e,control:t,value:n,disabled:r,message:i,onCommit:a}){let o=We(n,a),[s,c]=(0,H.useState)(null);function l(e){let n=e.target.value,r=t.type===`number`||t.type===`slider`?n===``?NaN:Number(n):n,i=ze(t,r);c(i),i?o.stage(n):o.commit(n,r)}let u=s||o.error,d=t.type===`number`||t.type===`slider`,f=t.type===`slider`?{"--controls-slider-progress":`${t.min===t.max?100:(Number(n)-t.min)/(t.max-t.min)*100}%`}:void 0,p=[i?`${e}-hint`:void 0,u?`${e}-validation`:void 0].filter(Boolean).join(` `)||void 0,m={id:e,disabled:r,value:String(o.draft),onChange:l,"aria-invalid":u?!0:void 0,"aria-describedby":p,onBlur:()=>{s&&(o.reset(),c(null))}},h;return h=t.type===`textarea`?(0,W.jsx)(U.Textarea,{...m,rows:2,resize:`vertical`}):d?(0,W.jsx)(U.TextInput,{...m,className:t.type===`slider`?`controls-number-input controls-number-input--slider`:`controls-number-input`,type:`number`,min:t.min,max:t.max,step:t.step??1,validationStatus:u?`error`:void 0,"aria-labelledby":`${e}-label`,style:{width:Ge(t)}}):t.type===`color`?(0,W.jsx)(`input`,{...m,className:`controls-native-color`,type:`color`}):(0,W.jsx)(U.TextInput,{...m,type:`text`}),(0,W.jsxs)(U.FormControl,{id:e,className:d?`controls-field controls-field--${t.type}`:`controls-field`,fullWidth:!d||t.type===`slider`,validationStatus:u?`error`:void 0,children:[d?(0,W.jsxs)(`div`,{className:`controls-field-heading`,children:[(0,W.jsx)(U.FormControl.Label,{id:`${e}-label`,htmlFor:e,className:`controls-field-label`,children:t.label}),t.type===`slider`?(0,W.jsxs)(`div`,{className:`controls-slider-row`,children:[(0,W.jsx)(`input`,{...m,id:`${e}-slider`,value:String(n),className:`controls-native-slider`,type:`range`,style:f,min:t.min,max:t.max,step:t.step??1,"aria-labelledby":`${e}-label`}),h]}):h]}):(0,W.jsx)(U.FormControl.Label,{className:`controls-field-label`,children:t.label}),d?null:h,i?(0,W.jsx)(U.FormControl.Hint,{children:(0,W.jsx)(`span`,{role:`status`,children:i})}):null,u?(0,W.jsx)(U.FormControl.Validation,{className:`controls-field-validation`,"aria-live":`polite`,children:u}):null]})}function qe({id:e,control:t,value:n,disabled:r,message:i,onCommit:a}){let o=We(n,a),s=[i?`${e}-unavailable`:void 0,o.error?`${e}-validation`:void 0].filter(Boolean).join(` `)||void 0;if(t.type===`boolean`||t.type===`select`)return(0,W.jsxs)(U.FormControl,{id:e,className:t.type===`boolean`?`controls-field controls-choice-row`:`controls-field controls-field--select`,fullWidth:t.type===`boolean`,validationStatus:o.error?`error`:void 0,children:[t.type===`select`?(0,W.jsx)(U.FormControl.Label,{className:`controls-field-label`,children:t.label}):null,t.type===`boolean`?(0,W.jsx)(U.Checkbox,{className:`controls-choice-mark`,disabled:r,"aria-describedby":s,checked:o.draft===!0,onChange:e=>o.commit(e.target.checked)}):(0,W.jsx)(U.Select,{className:`controls-select-input`,disabled:r,"aria-describedby":s,value:o.draft,onChange:e=>o.commit(e.target.value),children:t.options.map(e=>(0,W.jsx)(U.Select.Option,{value:e,children:e},e))}),t.type===`boolean`?(0,W.jsx)(U.FormControl.Label,{className:`controls-choice-label`,children:t.label}):null,i?(0,W.jsx)(U.FormControl.Hint,{children:(0,W.jsx)(`span`,{role:`status`,children:i})}):null,o.error?(0,W.jsx)(U.FormControl.Validation,{className:`controls-field-validation`,"aria-live":`polite`,children:o.error}):null]});let c=t.type===`checkboxGroup`,l=t.type===`segmented`,u=c?U.CheckboxGroup:U.RadioGroup,d=c?U.Checkbox:U.Radio;return(0,W.jsxs)(u,{id:e,className:`controls-field`,"aria-disabled":r||void 0,"aria-describedby":s,children:[(0,W.jsx)(u.Label,{className:`controls-choice-group-label`,children:t.label}),(0,W.jsx)(`div`,{className:l?`controls-segments`:`controls-options`,children:t.options.map((t,n)=>{let i=`${e}-${n}`,a=c?o.draft.includes(t):o.draft===t,u=(0,W.jsx)(d,{className:c?`controls-choice-mark`:`controls-choice-mark controls-choice-mark--radio`,id:i,name:e,value:t,checked:a,disabled:r,"aria-describedby":s,onChange:e=>{let n=o.current();o.commit(c?e.target.checked?[...n,t]:n.filter(e=>e!==t):t)}});return l?(0,W.jsxs)(`label`,{htmlFor:i,className:`controls-segment`,title:t,children:[(0,W.jsx)(G,{children:u}),(0,W.jsx)(U.Text,{as:`span`,size:`100`,weight:`medium`,children:t})]},t):(0,W.jsxs)(U.FormControl,{id:i,className:`controls-field controls-choice-row`,children:[u,(0,W.jsx)(U.FormControl.Label,{className:`controls-choice-label`,children:t})]},t)})}),i?(0,W.jsx)(U.Text,{as:`span`,id:`${e}-unavailable`,size:`100`,variant:`muted`,role:`status`,children:i}):null,o.error?(0,W.jsx)(u.Validation,{variant:`error`,role:`status`,children:o.error}):null]})}function Je(e,t){let n=e.snapshot.bindings?.[t.id],r=e.snapshot.actions[t.id];return{scope:e.declaration.scope,id:t.id,visible:e.snapshot.visible[t.id]===!0,available:(t.type!==`button`||r?.available===!0)&&(!n?.error||n.available===!0),busy:n?.busy===!0||r?.busy===!0,error:n?.error||(t.type===`button`&&!r?.available?q.controlsActionUnavailable:``)}}function Ye({scopes:e,disabled:t=!1,onCommand:n,collapsedGroups:r,onGroupCollapse:i}){let a=(0,H.useId)(),o=(0,H.useRef)(null),s=(0,H.useRef)(null),[c,l]=(0,H.useState)({});(0,H.useLayoutEffect)(()=>{s.current&&!s.current.isConnected&&(document.activeElement===document.body&&o.current?.focus(),s.current=null)},[e]);function u(e,r){if(!e.snapshot.visible[r.id])return null;let i=`${a}-${e.declaration.scope}-${r.id}`,o=e.snapshot.values[r.id];function s(t){return n(`update`,e.declaration.scope,r.id,t)}let c=e.snapshot.bindings?.[r.id],l=Je(e,r),u={id:i,message:l.error?l.available?q.controlsNotApplied(r.label):q.controlsUnavailable(r.label):void 0,disabled:t||!!c?.error&&c?.available!==!0||c?.busy===!0};switch(r.type){case`button`:{let t=e.snapshot.actions[r.id];return(0,W.jsx)(`div`,{className:`controls-field controls-action-field`,children:(0,W.jsxs)(U.Button,{type:`button`,size:`small`,variant:`secondary`,className:`controls-action-button`,disabled:u.disabled||!t?.available||t.busy,"aria-describedby":u.message?`${i}-unavailable`:void 0,"aria-busy":t?.busy,onClick:()=>{n(`action`,e.declaration.scope,r.id)},children:[r.label,t?.busy?q.controlsActionBusy:``]})},r.id)}case`boolean`:case`select`:case`radio`:case`segmented`:case`checkboxGroup`:return(0,W.jsx)(qe,{...u,control:r,value:o,onCommit:s},r.id);case`number`:case`slider`:case`text`:case`textarea`:case`color`:return(0,W.jsx)(Ke,{...u,control:r,value:o,onCommit:s},r.id)}}function d(e,t){if(!e.snapshot.visible[t.id])return null;let n=Je(e,t);return(0,W.jsxs)(H.Fragment,{children:[u(e,t),t.type===`button`&&n.error?(0,W.jsx)(U.Text,{as:`p`,id:`${a}-${e.declaration.scope}-${t.id}-unavailable`,size:`100`,variant:`muted`,role:`status`,children:n.available?q.controlsNotApplied(t.label):q.controlsUnavailable(t.label)}):null]},t.id)}let f=[...e.filter(e=>e.declaration.role===`shared`),...e.filter(e=>e.declaration.role!==`shared`)].filter(e=>e.declaration.controls.some(t=>t.group?e.snapshot.groups[t.group]:e.snapshot.visible[t.id]));return(0,W.jsx)(`div`,{ref:o,tabIndex:-1,role:`region`,"aria-label":q.controlsRegion,className:`controls-fields`,onFocusCapture:e=>{s.current=e.target},children:f.map((e,t)=>{let n=new Set;return(0,W.jsxs)(`section`,{className:`controls-scope`,"aria-label":e.declaration.label??e.declaration.scope,children:[t>0?(0,W.jsx)(`hr`,{className:`controls-scope-divider`}):null,e.declaration.controls.map(t=>{if(!t.group)return d(e,t);if(n.has(t.group))return null;n.add(t.group);let o=e.declaration.groups?.find(e=>e.id===t.group);if(!o||!e.snapshot.groups[o.id])return null;let s=`${e.declaration.scope}/${o.id}`,u=(r??c)[s]===!0,f=`${a}-${e.declaration.scope}-${o.id}-group`;return(0,W.jsxs)(`fieldset`,{className:`controls-group`,"aria-label":o.label,children:[(0,W.jsx)(`legend`,{children:(0,W.jsx)(U.Button,{size:`small`,variant:`subtle`,type:`button`,block:!0,className:`controls-group-toggle controls-ghost-button`,"aria-label":u?q.controlsExpandGroup(o.label):q.controlsCollapseGroup(o.label),"aria-controls":f,"aria-expanded":!u,trailingVisual:u?(0,W.jsx)(p,{size:16}):(0,W.jsx)(g,{size:16}),onClick:t=>{t.currentTarget.focus(),i?i(e.declaration.scope,o.id,!u):l(e=>({...e,[s]:!u}))},children:(0,W.jsx)(U.Text,{as:`span`,size:`100`,weight:`bold`,variant:`muted`,className:`controls-group-label`,children:o.label})})}),(0,W.jsx)(`div`,{id:f,className:`controls-group-body`,hidden:u,children:e.declaration.controls.filter(e=>e.group===o.id).map(t=>d(e,t))})]},o.id)})]},e.declaration.scope)})})}function Xe(e){return Object.fromEntries(e.declaration.controls.filter(t=>t.type!==`button`&&e.snapshot.visible[t.id]&&JSON.stringify(e.snapshot.values[t.id])!==JSON.stringify(t.default)).map(t=>[t.id,e.snapshot.values[t.id]]))}function Ze(e,t){let n=(0,H.useRef)(null),r=(0,H.useRef)(null),i=(0,H.useRef)(null),a=(0,H.useRef)({position:e,onChange:t}),o=(0,H.useRef)(null),[s,c]=(0,H.useState)(!1);(0,H.useLayoutEffect)(()=>{a.current={position:e,onChange:t}});let l=(0,H.useCallback)(e=>{let t=n.current?.getBoundingClientRect(),i=r.current?.getBoundingClientRect();if(!t||!i||!t.width||!t.height)return;let o={x:Math.max(0,Math.min(e.x,Math.max(0,t.width-i.width))),y:Math.max(0,Math.min(e.y,Math.max(0,t.height-i.height)))};(a.current.position?.x!==o.x||a.current.position?.y!==o.y)&&a.current.onChange(o)},[]);(0,H.useLayoutEffect)(()=>{let e=n.current,t=r.current;if(!e||!t)return;function i(){let n=e?.getBoundingClientRect(),r=t?.getBoundingClientRect();if(!n||!r||!n.width||!n.height)return;let i=r.left-n.left,a=r.top-n.top;(i<0||a<0||i>Math.max(0,n.width-r.width)||a>Math.max(0,n.height-r.height))&&l({x:i,y:a})}let a=new ResizeObserver(i);return a.observe(e),a.observe(t),window.addEventListener(`resize`,i),i(),()=>{a.disconnect(),window.removeEventListener(`resize`,i)}},[l]);function u(e=!1){let t=o.current;o.current=null,c(!1),t&&(e&&l(t.origin),i.current?.hasPointerCapture(t.pointerId)&&i.current.releasePointerCapture(t.pointerId))}return{boundsRef:n,panelRef:r,handleRef:i,dragging:s,onPointerDown:e=>{if(e.button!==0||o.current)return;let t=n.current?.getBoundingClientRect(),i=r.current?.getBoundingClientRect();t&&i&&(o.current={pointerId:e.pointerId,x:e.clientX,y:e.clientY,origin:{x:i.left-t.left,y:i.top-t.top}},e.currentTarget.setPointerCapture(e.pointerId),e.currentTarget.focus(),e.preventDefault(),c(!0))},onPointerMove:e=>{let t=o.current;t&&t.pointerId===e.pointerId&&l({x:t.origin.x+e.clientX-t.x,y:t.origin.y+e.clientY-t.y})},onPointerUp:e=>{o.current?.pointerId===e.pointerId&&u()},onPointerCancel:e=>{o.current?.pointerId===e.pointerId&&u(!0)},onLostPointerCapture:()=>{o.current&&u()},onKeyDown:e=>{if(e.key===`Escape`&&o.current){e.preventDefault(),u(!0);return}if(![`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`].includes(e.key))return;let t=n.current?.getBoundingClientRect(),i=r.current?.getBoundingClientRect();if(!t||!i)return;e.preventDefault();let a=e.shiftKey?1:10;l({x:i.left-t.left+(e.key===`ArrowLeft`?-a:e.key===`ArrowRight`?a:0),y:i.top-t.top+(e.key===`ArrowUp`?-a:e.key===`ArrowDown`?a:0)})}}}function Qe(e){let t=e.filter(e=>e.declaration.role!==`shared`),n=t.length?t:e;return n.length?Math.max(...n.map(e=>e.declaration.panel?.width??288)):288}function $e({state:e,connection:t,layout:n,onLayoutChange:r,onDiagnose:i,diagnosisTarget:a=``}){let o=e.loading?[]:e.scopes.flatMap(e=>e.declaration.controls.flatMap(t=>{let n=Je(e,t);return n.visible&&n.error?[{...n,label:t.label}]:[]})),s=!!(i&&!e.loading&&(!e.runtimeAvailable&&e.error||e.storageError||o.length||e.reconnectRequired||e.status===`missing-runtime`||e.status===`unsupported-runtime`||e.status===`invalid-config`)),c=s?JSON.stringify([a,e.status,e.runtimeAvailable,e.reconnectRequired,e.error,e.storageError,o.map(({scope:e,id:t,error:n})=>[e,t,n])]):``,[l,d]=(0,H.useState)(()=>({episode:c,identity:{},busy:!1,requested:!1,error:``}));l.episode!==c&&d({episode:c,identity:{},busy:!1,requested:!1,error:``});async function f(){if(!i||!s||l.busy||l.requested)return;let e=l.identity;d(t=>t.identity===e?{...t,busy:!0,error:``}:t);try{await i(),d(t=>t.identity===e?{...t,requested:!0}:t)}catch(t){d(n=>n.identity===e?{...n,error:t instanceof Error?t.message:q.controlsDiagnosisFailed}:n)}finally{d(t=>t.identity===e?{...t,busy:!1}:t)}}let p=(0,H.useId)(),m=(0,H.useId)(),_=(0,H.useRef)(null),{boundsRef:v,panelRef:y,handleRef:b,dragging:x,onPointerDown:S,onPointerMove:C,onPointerUp:w,onPointerCancel:T,onLostPointerCapture:E,onKeyDown:D}=Ze(n.position,e=>r(t=>({...t,position:e})));(0,H.useEffect)(()=>{b.current?.focus()},[b]),(0,H.useLayoutEffect)(()=>{_.current&&!_.current.isConnected&&(document.activeElement===document.body&&b.current?.focus(),_.current=null)},[e,b]);let O=e.loading?q.controlsConnecting:e.status===`no-controls`?q.controlsEmpty:e.status===`missing-runtime`?i?q.controlsLocalMissingRuntime:q.controlsMissingRuntime:e.status===`unsupported-runtime`?q.controlsUnsupportedRuntime:e.status===`invalid-config`?q.controlsInvalid:``,k=!e.loading&&(e.storageError||e.reconnectRequired||!e.runtimeAvailable&&e.error),A=!e.loading&&e.status===`no-controls`&&!e.error&&!e.storageError&&!e.reconnectRequired&&!e.scopeErrors?.length&&!e.scopes.length;return(0,W.jsx)(`div`,{ref:v,className:`canvas-controls-layer`,children:(0,W.jsxs)(`aside`,{ref:y,className:`canvas-controls-panel`,"aria-label":q.controls,onFocusCapture:e=>{e.target instanceof HTMLElement&&(_.current=e.target)},"data-collapsed":n.collapsed,"data-dragging":x||void 0,style:{left:n.position?.x,top:n.position?.y,width:`min(${Qe(e.scopes)}px, calc(100% - var(--hub-space-16) * 2))`},children:[(0,W.jsxs)(`header`,{className:`canvas-controls-header`,children:[(0,W.jsx)(K,{icon:h,ref:b,size:`small`,variant:`invisible`,className:`canvas-controls-grab controls-ghost-button`,"aria-label":q.controlsMove,"aria-describedby":m,title:``,onPointerDown:S,onPointerMove:C,onPointerUp:w,onPointerCancel:T,onLostPointerCapture:E,onKeyDown:D}),(0,W.jsx)(G,{id:m,children:q.controlsMoveHint}),(0,W.jsx)(U.Button,{type:`button`,size:`small`,variant:`subtle`,block:!0,className:`canvas-controls-title controls-ghost-button`,"aria-label":n.collapsed?q.controlsExpand:q.controlsCollapse,"aria-expanded":!n.collapsed,"aria-controls":p,trailingVisual:n.collapsed?(0,W.jsx)(g,{size:16}):(0,W.jsx)(u,{size:16}),onClick:()=>r(e=>({...e,collapsed:!e.collapsed})),children:q.controls}),(0,W.jsx)(K,{icon:L,size:`small`,variant:`invisible`,className:`controls-ghost-button`,"aria-label":q.controlsResetAll,disabled:!e.runtimeAvailable||e.reconnectRequired||e.loading||e.resetting||!e.storageError&&!e.hasResettableValues&&!e.scopes.some(e=>Object.keys(Xe(e)).length>0)||e.scopes.some(e=>Object.values(e.snapshot.actions).some(e=>e.busy))||e.status!==`ready`&&e.status!==`no-controls`&&!e.storageError,onClick:()=>{t.resetAll()}})]}),(0,W.jsxs)(`div`,{id:p,className:`canvas-controls-body`,hidden:n.collapsed,children:[(0,W.jsxs)(`div`,{className:`canvas-controls-content`,children:[O||e.notice?(0,W.jsx)(`div`,{role:`status`,"aria-live":`polite`,children:(0,W.jsx)(U.Text,{as:`p`,size:`100`,variant:`muted`,children:[O,e.notice].filter(Boolean).join(` `)})}):null,!e.loading&&e.error?(0,W.jsx)(U.Text,{as:`p`,size:`100`,role:`alert`,children:e.error}):null,!e.loading&&e.scopeErrors?.map(e=>(0,W.jsx)(U.Text,{as:`p`,size:`100`,role:`alert`,children:q.controlsScopeError(e.scope,e.error)},e.scope)),!e.loading&&e.storageError?(0,W.jsx)(U.Text,{as:`p`,size:`100`,role:`alert`,children:e.storageError}):null,l.error?(0,W.jsx)(U.Text,{as:`p`,size:`100`,role:`alert`,children:l.error}):null,(0,W.jsx)(Ye,{scopes:e.loading?[]:e.scopes,disabled:e.resetting||e.reconnectRequired,collapsedGroups:n.collapsedGroups,onGroupCollapse:(e,t,n)=>r(r=>({...r,collapsedGroups:{...r.collapsedGroups,[`${e}/${t}`]:n}})),onCommand:(e,n,r,i)=>t.command(e,n,r,i)}),o.length?(0,W.jsxs)(U.Accordion,{className:`canvas-controls-diagnostics`,disableAnimation:!0,children:[(0,W.jsx)(U.Accordion.Heading,{children:q.controlsDiagnostics}),(0,W.jsx)(U.Accordion.Content,{children:o.map(({scope:e,id:t,label:n,error:r})=>(0,W.jsxs)(U.Text,{as:`p`,size:`100`,children:[n,`: `,r]},`${e}/${t}`))})]}):null]}),s||k||A?(0,W.jsxs)(`footer`,{className:`canvas-controls-footer`,children:[A?(0,W.jsxs)(U.InlineLink,{className:`canvas-controls-learn-more`,href:`https://github.com/github/replica/blob/main/starter/README.md#prototype-controls`,target:`_blank`,rel:`noopener noreferrer`,children:[q.controlsLearnMore,(0,W.jsx)(ne,{size:16,"aria-hidden":`true`})]}):null,s?(0,W.jsx)(U.Button,{size:`small`,variant:`secondary`,type:`button`,disabled:l.busy||l.requested||e.resetting,onClick:()=>void f(),children:l.requested?q.controlsDiagnosisRequested:o.length?q.controlsFix:q.controlsDiagnose}):null,k?(0,W.jsx)(U.Button,{size:`small`,variant:`secondary`,type:`button`,disabled:e.resetting,onClick:()=>t.retry(),children:e.storageError?q.controlsRetryStorage:q.controlsRetry}):null]}):null]})]})})}var et=C();function tt({children:e,className:t,...n}){return(0,W.jsx)(`span`,{...n,className:`hub-counter${t?` ${t}`:``}`,children:e})}var nt=(0,H.createContext)(null);function rt({source:e,children:t}){return(0,W.jsx)(nt,{value:e,children:t})}function it({title:e,label:t=e,open:n,closeLabel:r,closeDisabled:i=!1,closeShortcut:a,closeRef:o,onClose:s,headerAccessory:c,className:l,contentClassName:u,children:d}){return(0,W.jsxs)(`aside`,{className:`hub-sidebar${l?` ${l}`:``}`,"aria-label":t,"aria-hidden":!n,"data-open":n,inert:!n,children:[(0,W.jsxs)(`header`,{className:`hub-sidebar__header`,children:[(0,W.jsxs)(`div`,{className:`hub-sidebar__heading`,children:[(0,W.jsx)(U.Heading,{as:`h2`,size:`subhead-medium`,weight:`normal`,children:e}),c]}),(0,W.jsx)(K,{ref:o,icon:V,"aria-label":r,"aria-keyshortcuts":a,title:r,description:r,variant:`invisible`,size:`small`,className:`hub-sidebar__close`,disabled:i,onClick:s})]}),(0,W.jsx)(`div`,{className:`hub-sidebar__content${u?` ${u}`:``}`,children:d})]})}function at({src:e,size:t=32,className:n}){return(0,W.jsx)(U.Avatar,{src:e||`/avatar-placeholder.svg`,alt:``,size:32,className:`hub-user-avatar hub-user-avatar--${t}${n?` ${n}`:``}`})}function ot({participants:e,size:t}){let n=e.slice(0,4),r=e.length-3;return(0,W.jsxs)(`span`,{className:`review-participant-stack review-participant-stack--${t}`,"data-avatar-count":n.length,"data-participant-count":e.length,"aria-hidden":`true`,children:[(r>1?n.slice(0,3):n).map(e=>(0,W.jsx)(`span`,{className:`review-participant-stack__avatar`,children:(0,W.jsx)(at,{src:e.avatarUrl,size:24})},e.login)),r>1?(0,W.jsxs)(`span`,{className:`review-participant-stack__avatar review-participant-stack__avatar--overflow`,children:[`+`,r]}):null]})}function st(e,t){let n=e.path.map(e=>({x:t.x+e.x*t.width,y:t.y+e.y*t.height})),r={x:t.x+t.width,y:t.y};return{path:n,point:n.reduce((e,t)=>{let n=(t.x-r.x)**2+(t.y-r.y)**2;return n{let e=c.current;if(!e)return;function t(){let t=e?.clientWidth??0;if(t)for(let e of l.current.values()){let n=Number.parseFloat(e.style.left),r=e.offsetWidth;if(!Number.isFinite(n)||!r)continue;let i=n-16,a=Math.max(0,Math.min(i,t-r))-i;e.style.setProperty(`--review-marker-offset-x`,`${a}px`)}}t();let n=typeof ResizeObserver>`u`?null:new ResizeObserver(t);n?.observe(e);for(let e of l.current.values())n?.observe(e);return window.addEventListener(`resize`,t),()=>{n?.disconnect(),window.removeEventListener(`resize`,t)}},[t,e]),(0,H.useEffect)(()=>{!i||n===null||u!==`resolved`&&u!==`moved`||l.current.get(n)?.focus({preventScroll:!0})},[i,u,n]),(0,W.jsx)(`div`,{ref:c,className:`review-comment-markers`,role:`group`,"aria-label":o.heading,children:e.map(e=>{let{root:i}=e,c=t.get(i.id);if(!c||c.status!==`resolved`&&c.status!==`moved`)return null;let u=e.replies.length>0,d=(e.unread?u?o.unreadMarkerWithRepliesLabel:o.unreadMarkerLabel:u?o.markerWithRepliesLabel:o.markerLabel).replace(`%{author}`,`@${i.author.login}`).replace(`%{count}`,(e.replies.length+1).toString()),f=i.anchor.kind===`area`?st(i.anchor,c.rect):null,p=e.participants.slice(3),m=p.length>1?p.map(({login:e})=>`@${e}`).join(`, `):d;return(0,W.jsxs)(H.Fragment,{children:[f&&(!a||n===i.id)?(0,W.jsx)(`svg`,{className:`review-comment-area`,"aria-hidden":`true`,width:`100%`,height:`100%`,children:(0,W.jsx)(`polyline`,{className:n===i.id?`review-comment-area__path review-comment-area__path--selected`:`review-comment-area__path`,points:f.path.map(e=>`${e.x},${e.y}`).join(` `),vectorEffect:`non-scaling-stroke`})}):null,(0,W.jsx)(U.Tooltip,{text:m,type:`description`,ref:e=>{e instanceof HTMLButtonElement?l.current.set(i.id,e):l.current.delete(i.id)},children:(0,W.jsx)(`button`,{type:`button`,"data-review-thread-id":i.id,className:`review-comment-marker${n===i.id?` review-comment-marker--selected`:``}${i.resolvedAt?` review-comment-marker--resolved`:``}${e.unread?` review-comment-marker--unread`:``}${r&&n!==i.id?` review-comment-marker--blocked`:``}`,style:{left:f?.point.x??c.point.x,top:f?.point.y??c.point.y},"aria-label":d,disabled:r&&n!==i.id,onClick:()=>s(e),children:(0,W.jsx)(ot,{participants:e.participants,size:`small`})})})]},i.id)})})}function lt({checked:e,onChange:t,size:n=`medium`,className:r,...i}){let{value:a,...o}=i;return(0,W.jsxs)(`label`,{className:`hub-switch hub-switch--${n}${r?` ${r}`:``}`,"data-disabled":i.disabled||void 0,children:[(0,W.jsx)(`span`,{className:`hub-switch__native-control`,children:(0,W.jsx)(U.Checkbox,{...o,value:a===void 0?void 0:String(a),role:`switch`,checked:e,onChange:e=>{i.disabled||t(e.currentTarget.checked)}})}),(0,W.jsx)(`span`,{className:`hub-switch__track`,"data-checked":e,"aria-hidden":`true`,children:(0,W.jsx)(`span`,{className:`hub-switch__thumb`})})]})}function ut(e){(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),e.stopPropagation(),e.currentTarget.click())}function dt({filters:e,participants:t,showPins:r,copy:i,onFiltersChange:a,onShowPinsChange:o}){let[s,c]=(0,H.useState)(!1),l=e.currentBuildOnly||e.currentPageOnly||e.showResolved||!e.showRead||e.onlyMine||e.participant!==null||!r,u=t.find(t=>t.login===e.participant),d=e.participant===null?i.allParticipantsLabel:u?.name?`${u.name} (@${u.login})`:`@${e.participant}`;return(0,W.jsxs)(`div`,{className:`review-comment-filter-controls`,children:[(0,W.jsxs)(`div`,{className:`review-comment-filter-controls__search`,children:[(0,W.jsxs)(`div`,{className:`review-comment-filter-controls__search-field`,children:[(0,W.jsx)(ie,{className:`review-comment-filter-controls__search-icon`,size:16,"aria-hidden":`true`}),(0,W.jsx)(`input`,{type:`search`,className:`review-comment-filter-controls__input`,"aria-label":i.searchLabel,placeholder:i.searchPlaceholder,value:e.search,onChange:t=>a({...e,search:t.target.value})})]}),(0,W.jsx)(K,{icon:n,"aria-label":i.filterLabel,description:i.filterLabel,"aria-expanded":s,variant:`invisible`,className:`review-comment-filter-controls__button${s||l?` review-comment-filter-controls__button--active`:``}`,onClick:()=>c(e=>!e)})]}),s?(0,W.jsxs)(`div`,{className:`review-comment-filter-controls__filters`,children:[(0,W.jsxs)(`div`,{className:`review-comment-filter-controls__participant`,children:[(0,W.jsx)(`span`,{children:i.participantFilterLabel}),(0,W.jsxs)(U.ActionMenu,{size:`small`,selectionVariant:`single`,menuAlignment:`end`,onSelect:t=>a({...e,participant:t===``?null:t}),children:[(0,W.jsx)(U.ActionMenu.Button,{className:`review-comment-filter-controls__participant-trigger`,variant:`secondary`,size:`small`,"aria-label":`${i.participantFilterLabel}: ${d}`,children:(0,W.jsx)(`span`,{className:`review-comment-filter-controls__participant-name`,children:d})}),(0,W.jsxs)(U.ActionMenu.Overlay,{"aria-label":i.participantFilterLabel,children:[(0,W.jsx)(U.ActionMenu.Item,{value:``,selected:e.participant===null,role:`menuitemradio`,onKeyDownCapture:ut,children:i.allParticipantsLabel}),t.map(t=>(0,W.jsx)(U.ActionMenu.Item,{value:t.login,selected:e.participant===t.login,role:`menuitemradio`,onKeyDownCapture:ut,children:t.name?`${t.name} (@${t.login})`:`@${t.login}`},t.login))]})]})]}),(0,W.jsxs)(`div`,{className:`review-comment-filter-controls__toggle`,children:[(0,W.jsx)(`span`,{id:`review-comments-current-build`,children:i.currentBuildFilterLabel}),(0,W.jsx)(lt,{"aria-labelledby":`review-comments-current-build`,checked:e.currentBuildOnly,size:`small`,onChange:t=>a({...e,currentBuildOnly:t})})]}),(0,W.jsxs)(`div`,{className:`review-comment-filter-controls__toggle`,children:[(0,W.jsx)(`span`,{id:`review-comments-current-page`,children:i.currentPageFilterLabel}),(0,W.jsx)(lt,{"aria-labelledby":`review-comments-current-page`,checked:e.currentPageOnly,size:`small`,onChange:t=>a({...e,currentPageOnly:t})})]}),(0,W.jsxs)(`div`,{className:`review-comment-filter-controls__toggle`,children:[(0,W.jsx)(`span`,{id:`review-comments-show-resolved`,children:i.showResolvedLabel}),(0,W.jsx)(lt,{"aria-labelledby":`review-comments-show-resolved`,checked:e.showResolved,size:`small`,onChange:t=>a({...e,showResolved:t})})]}),(0,W.jsxs)(`div`,{className:`review-comment-filter-controls__toggle`,children:[(0,W.jsx)(`span`,{id:`review-comments-unread-only`,children:i.unreadOnlyLabel}),(0,W.jsx)(lt,{"aria-labelledby":`review-comments-unread-only`,checked:!e.showRead,size:`small`,onChange:t=>a({...e,showRead:!t})})]}),(0,W.jsxs)(`div`,{className:`review-comment-filter-controls__toggle`,children:[(0,W.jsx)(`span`,{id:`review-comments-only-mine`,children:i.onlyMineLabel}),(0,W.jsx)(lt,{"aria-labelledby":`review-comments-only-mine`,checked:e.onlyMine,size:`small`,onChange:t=>a({...e,onlyMine:t})})]}),(0,W.jsxs)(`div`,{className:`review-comment-filter-controls__toggle`,children:[(0,W.jsx)(`span`,{id:`review-comments-show-pins`,children:i.showPinsLabel}),(0,W.jsx)(lt,{"aria-labelledby":`review-comments-show-pins`,checked:r,size:`small`,onChange:o})]})]}):null]})}var ft=[[31536e3,`y`],[2592e3,`mo`],[604800,`w`],[86400,`d`],[3600,`h`],[60,`m`]];function pt(e){let t=window.setInterval(e,6e4);return()=>window.clearInterval(t)}function mt(){return Math.floor(Date.now()/6e4)*6e4}function ht(){return null}function gt({value:e,showTitle:t=!0}){let n=Date.parse(e),r=Number.isNaN(n)?e:new Date(n).toUTCString(),i=(0,H.useSyncExternalStore)(pt,mt,ht),a=r;if(i!==null&&!Number.isNaN(n)){let e=Math.round((i-n)/1e3),t=ft.find(([t])=>Math.abs(e)>=t);a=t?`${e<0?`in `:``}${Math.round(Math.abs(e)/t[0])}${t[1]}${e<0?``:` ago`}`:`just now`}return(0,W.jsx)(`time`,{dateTime:e,title:t?r:void 0,"aria-label":r,children:a})}function _t({thread:e,currentBuildNumber:t,resolution:n,anchorStatusLabel:r,selected:i,selectionBlocked:a,copy:o,onSelect:s,buildHref:c}){let l=(0,H.useId)(),{root:u}=e,d=u.author.name||`@${u.author.login}`,f=a&&!i,p=o.buildLabel.replace(`%{number}`,u.buildNumber?.toString()??``),m=u.buildNumber!==null&&u.buildPath!==null&&u.buildNumber!==t,h=e.replies.length===1?o.replyCountOneLabel:o.replyCountOtherLabel.replace(`%{count}`,e.replies.length.toString()),g=o.missingAnchorLabel;return u.resolvedAt?g=o.resolvedLabel:r===void 0?n?n.status===`resolved`?g=null:n.status===`moved`?g=o.movedAnchorLabel:n.status===`changed`?g=o.changedAnchorLabel:n.status===`route-mismatch`&&(g=o.routeMismatchLabel):g=null:g=r,(0,W.jsx)(`article`,{className:`review-comment-row${i?` review-comment-row--selected`:``}${e.unread?` review-comment-row--unread`:``}`,onClick:t=>{f||t.target instanceof Element&&t.target.closest(`a`)||s(e)},children:(0,W.jsx)(`div`,{className:`review-comment-row__layout`,children:(0,W.jsxs)(`div`,{className:`review-comment-row__content`,children:[(0,W.jsxs)(`div`,{className:`review-comment-row__copy`,children:[(0,W.jsxs)(`div`,{className:`review-comment-row__metadata`,children:[(0,W.jsxs)(`span`,{className:`review-comment-row__author-and-build`,children:[(0,W.jsx)(at,{src:u.author.avatarUrl,size:20,className:`review-comment-row__avatar`}),(0,W.jsx)(`span`,{id:`${l}-author`,className:`review-comment-row__author`,children:d}),m?(0,W.jsxs)(`span`,{className:`review-comment-row__build`,children:[`(`,(0,W.jsx)(`a`,{href:c||u.buildPath||void 0,target:c?`_blank`:void 0,rel:c?`noopener noreferrer`:void 0,children:p}),`)`]}):null]}),(0,W.jsx)(gt,{value:e.lastActivityAt})]}),(0,W.jsx)(`button`,{type:`button`,className:`review-comment-row__button`,"aria-labelledby":`${l}-author ${l}-body${e.unread?` ${l}-unread`:``}`,"aria-pressed":i,disabled:f,title:f?o.selectionBlockedLabel:void 0,children:(0,W.jsxs)(`span`,{className:`review-comment-row__body-container`,children:[e.unread?(0,W.jsx)(`span`,{role:`img`,id:`${l}-unread`,"aria-label":o.unreadLabel,title:o.unreadLabel,className:`review-comment-row__unread`}):null,(0,W.jsx)(`span`,{id:`${l}-body`,className:`review-comment-row__body`,children:u.body??o.deletedCommentLabel})]})})]}),g||e.replies.length>0?(0,W.jsxs)(`div`,{className:`review-comment-row__context`,children:[e.replies.length>0?(0,W.jsx)(`span`,{className:`review-comment-row__replies`,children:h}):null,g?(0,W.jsx)(U.Label,{size:`small`,className:`review-comment-row__status`,children:g}):null]}):null]})})})}function vt({frame:e,threads:t,currentBuildNumber:n,buildLinkOrigin:r,totalCount:i,hasThreads:a,filters:o,participants:s,resolutions:c,selectedThreadId:l,selectionBlocked:u,closeBlocked:d,showPins:f,loading:p,loadFailed:m,notice:h,copy:g,onClose:_,onFiltersChange:v,onShowPinsChange:y,onRetry:b,onSelect:x}){let S=a?g.noMatchesLabel:g.emptyLabel,C=(0,W.jsxs)(W.Fragment,{children:[h,(0,W.jsx)(dt,{filters:o,participants:s,showPins:f,copy:g,onFiltersChange:v,onShowPinsChange:y}),(0,W.jsxs)(`div`,{className:`review-comments-sidebar__body`,"aria-live":`polite`,children:[m?(0,W.jsxs)(`div`,{className:`review-comments-sidebar__state`,role:`alert`,children:[(0,W.jsx)(`span`,{children:g.loadErrorLabel}),(0,W.jsx)(U.Button,{size:`small`,onClick:b,children:g.retryLabel})]}):t.length===0&&!p?(0,W.jsx)(`div`,{className:`review-comments-sidebar__state`,children:S}):(0,W.jsx)(`div`,{className:`review-comments-sidebar__threads`,children:t.map(e=>(0,W.jsx)(_t,{thread:e,currentBuildNumber:n,buildHref:r&&e.root.buildPath?new URL(e.root.buildPath,r).href:void 0,resolution:c.get(e.root.id),selected:l===e.root.id,selectionBlocked:u,copy:g,onSelect:x},e.root.id))}),p?(0,W.jsxs)(`div`,{className:`review-comments-sidebar__loading`,children:[(0,W.jsx)(se,{decorative:!0,size:`small`}),(0,W.jsx)(`span`,{children:g.loadingLabel})]}):null]})]});return e?(0,W.jsx)(it,{...e,title:g.heading,closeLabel:g.closeLabel,closeDisabled:d,closeShortcut:`Shift+C`,onClose:_,headerAccessory:(0,W.jsx)(tt,{children:i}),children:C}):(0,W.jsxs)(`aside`,{className:`review-comments-sidebar`,"aria-label":g.heading,children:[(0,W.jsxs)(`header`,{className:`review-comments-sidebar__header`,children:[(0,W.jsxs)(`span`,{className:`review-comments-sidebar__heading`,children:[(0,W.jsx)(U.Heading,{as:`h2`,size:`6`,children:g.heading}),(0,W.jsx)(tt,{children:i})]}),(0,W.jsx)(K,{icon:V,"aria-label":g.closeLabel,"aria-keyshortcuts":`Shift+C`,description:g.closeLabel,size:`small`,variant:`invisible`,className:`review-comments-sidebar__close`,disabled:d,onClick:_})]}),C]})}function yt({bridgeReady:e,copy:t,selectionBlocked:n,selecting:r,onCancelSelection:i,onStartAreaSelection:a,onStartElementSelection:o}){let c=(0,H.useId)(),l=!e||n,u=e?n?t.selectionBlockedLabel:t.commentMenuLabel:t.bridgeUnavailableLabel;if(r)return(0,W.jsx)(K,{icon:V,"aria-label":t.cancelSelectionLabel,description:t.cancelSelectionLabel,"aria-pressed":!0,size:`small`,variant:`default`,className:`review-comment-control__trigger`,onClick:i});let d=(0,W.jsxs)(U.ActionMenu,{selectionVariant:`none`,size:`small`,menuAlignment:`start`,disabled:l,children:[(0,W.jsx)(U.ActionMenu.Button,{className:`review-comment-control__trigger`,variant:`secondary`,"aria-label":t.commentMenuLabel,"aria-describedby":c,leadingVisual:(0,W.jsx)(b,{size:16}),onClick:e=>{let t=e.currentTarget,n=t.closest(`.repository-workspace__content`)?.getBoundingClientRect(),r=Math.min(window.innerHeight,n?.bottom??window.innerHeight),i=Math.max(0,r-t.getBoundingClientRect().bottom-8);t.closest(`[data-testid="ActionMenu"]`)?.style.setProperty(`--review-comment-control-menu-height`,`${i}px`)},children:``}),(0,W.jsxs)(U.ActionMenu.Overlay,{"aria-label":t.commentMenuLabel,children:[(0,W.jsx)(U.ActionMenu.Item,{className:`review-comment-control__menu-item`,value:`element`,leadingVisual:(0,W.jsx)(s,{size:16}),"aria-keyshortcuts":`C`,onClick:o,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o())},children:t.commentOnElementLabel}),(0,W.jsx)(U.ActionMenu.Item,{className:`review-comment-control__menu-item`,value:`area`,leadingVisual:(0,W.jsx)(_,{size:16}),"aria-keyshortcuts":`H`,onClick:a,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),a())},children:t.highlightRegionLabel})]})]});return l?(0,W.jsxs)(`div`,{title:u,children:[d,(0,W.jsx)(G,{id:c,children:u})]}):(0,W.jsx)(U.Tooltip,{id:c,text:u,type:`description`,children:(0,W.jsx)(`div`,{children:d})})}var bt={search:``,currentBuildOnly:!1,currentPageOnly:!1,showResolved:!1,showRead:!0,onlyMine:!1,participant:null},xt={heading:`Comments`,closeLabel:`Close comments`,commentMenuLabel:`Add a comment`,commentOnElementLabel:`Comment on element`,highlightRegionLabel:`Highlight a region`,cancelSelectionLabel:`Cancel selection`,bridgeUnavailableLabel:`Adding comments needs the review bridge.`,selectionBlockedLabel:`Close or submit the open draft.`,selectionFailedLabel:`Hub could not anchor a comment to that element.`,areaTooSmallLabel:`Draw a larger region to add a comment.`,areaUnavailableLabel:`Hub could not save that region.`,searchLabel:`Search comments`,searchPlaceholder:`Search comments`,filterLabel:`Filters`,currentBuildFilterLabel:`Current build only`,currentPageFilterLabel:`Current page only`,participantFilterLabel:`Participant`,allParticipantsLabel:`All participants`,showResolvedLabel:`Show resolved`,unreadOnlyLabel:`Unread only`,onlyMineLabel:`Only your threads`,showPinsLabel:`Show pins`,sidebarShortcutLabel:`Shift+C`,loadingLabel:`Loading comments`,loadErrorLabel:`Comments could not be loaded.`,retryLabel:`Retry`,emptyLabel:`No comments have been added.`,noMatchesLabel:`No comments match these filters.`,buildLabel:`build %{number}`,movedAnchorLabel:`Moved`,changedAnchorLabel:`Context changed`,missingAnchorLabel:`Not found`,routeMismatchLabel:`Saved on another page`,resolvedLabel:`Resolved`,markerLabel:`Thread started by %{author}`,markerWithRepliesLabel:`Thread started by %{author}, %{count} comments`,unreadLabel:`Unread`,unreadMarkerLabel:`Unread thread started by %{author}`,unreadMarkerWithRepliesLabel:`Unread thread started by %{author}, %{count} comments`,replyCountOneLabel:`1 reply`,replyCountOtherLabel:`%{count} replies`,threadHeading:`Conversation`,backToCommentsLabel:`Back to comments`,resolvedByLabel:`Resolved by %{author}. Reopen this thread to reply.`,editedLabel:`Edited`,deletedCommentLabel:`Comment deleted`,addReactionLabel:`Add reaction`,reactionCountOneLabel:`%{reaction}, 1 reaction`,reactionCountOtherLabel:`%{reaction}, %{count} reactions`,reactionErrorLabel:`The reaction could not be changed.`,readErrorLabel:`Hub could not mark this conversation as read.`,markUnreadLabel:`Mark as unread`,markUnreadErrorLabel:`Hub could not mark this conversation as unread. Try again.`,reactionLabels:{"+1":`Thumbs up`,"-1":`Thumbs down`,laugh:`Laugh`,hooray:`Hooray`,confused:`Confused`,heart:`Heart`,rocket:`Rocket`,eyes:`Eyes`},commentActionsLabel:`Actions for comment by %{author}`,editLabel:`Edit`,deleteLabel:`Delete`,editCommentLabel:`Edit comment`,saveEditLabel:`Save`,savingEditLabel:`Saving comment`,cancelEditLabel:`Cancel`,editErrorLabel:`The comment could not be updated.`,deleteHeading:`Delete this comment?`,deletePromptLabel:`Deleted comment text cannot be recovered.`,confirmDeleteLabel:`Delete`,deletingLabel:`Deleting comment`,deleteErrorLabel:`The comment could not be deleted.`,replyLabel:`Reply`,replyPlaceholder:`Reply to this conversation`,replySubmitLabel:`Reply`,replySubmitTooltipMacLabel:`Reply (Cmd+Return)`,replySubmitTooltipOtherLabel:`Reply (Ctrl+Enter)`,replyingLabel:`Saving reply`,replyErrorLabel:`The reply could not be saved.`,resolveLabel:`Resolve`,resolvingLabel:`Resolving thread`,reopenLabel:`Reopen`,reopeningLabel:`Reopening thread`,resolutionErrorLabel:`The thread state could not be changed.`,resolvedReplyBlockedLabel:`Reopen this thread to reply.`,deletedReplyBlockedLabel:`Replies are closed.`,threadDiscardPromptLabel:`Your reply or edit has not been saved.`,composerHeading:`New comment`,composerLabel:`Comment`,composerPlaceholder:`Leave a review comment`,submitLabel:`Comment`,submitTooltipMacLabel:`Comment (Cmd+Return)`,submitTooltipOtherLabel:`Comment (Ctrl+Enter)`,submittingLabel:`Saving comment`,closeComposerLabel:`Cancel`,discardHeading:`Keep this draft?`,discardPromptLabel:`This comment has not been submitted.`,keepLabel:`Keep`,discardButtonLabel:`Discard`,bodyTooLongLabel:`Comments must be 10000 UTF-8 bytes or fewer.`,createErrorLabel:`The comment could not be saved.`};function St(e,t){let n=new Map;n.set(e.login.toLowerCase(),e);for(let e of t.toReversed()){let t=e.login.toLowerCase();n.has(t)||n.set(t,e)}return Array.from(n.values())}function Ct(e){let t=new Map,n=new Map;for(let r of e){if(r.kind===`root`){t.set(r.id,r);continue}let e=n.get(r.rootId)??[];e.push(r),n.set(r.rootId,e)}return Array.from(t.values()).flatMap(e=>{let t=(n.get(e.id)??[]).filter(e=>e.deletedAt===null).sort((e,t)=>Date.parse(e.createdAt)-Date.parse(t.createdAt)||e.id-t.id);return e.deletedAt!==null&&t.length===0?[]:[{root:e,replies:t,participants:St(e.author,t.map(e=>e.author)),lastActivityAt:t.at(-1)?.createdAt??e.createdAt,unread:e.viewerLastSeenActivityVersion===null||e.viewerLastSeenActivityVersionDate.parse(t.lastActivityAt)-Date.parse(e.lastActivityAt)||t.root.id-e.root.id)}var wt=new TextEncoder;function Tt(e,{prefix:t,required:n=!1}={}){return N().refine(r=>(!n||r!==``)&&(!t||r===``||r.startsWith(t))&&wt.encode(r).length<=e)}var Et=16384,Dt=2048,Q=2048,Ot=1024,kt=4096,At=1e3,jt=2e3,Mt=1e6,Nt=1e5,Pt=new TextEncoder,Ft=B().min(0).max(Mt),It=B().min(-Mt).max(Mt),Lt=B().min(0).max(Mt),Rt=E({x:B().min(0).max(1),y:B().min(0).max(1)}).strict(),zt=E({pathname:Tt(Dt,{prefix:`/`,required:!0}),search:Tt(Q,{prefix:`?`}),hash:Tt(Ot,{prefix:`#`})}).strict(),Bt=E({x:Ft,y:Ft,width:Lt,height:Lt}).strict();E({x:It,y:It}).strict();var Vt=E({width:B().min(1).max(Nt),height:B().min(1).max(Nt),scrollX:Ft,scrollY:Ft}).strict(),Ht=E({schemaVersion:I(1),kind:I(`element`),route:zt,selector:Tt(kt,{required:!0}),accessibleName:Tt(At),tagName:Tt(64,{required:!0}).regex(/^[a-z][a-z0-9-]*$/),selectedText:Tt(jt),rect:Bt,viewport:Vt,elementOffset:Rt}).strict().refine(e=>Pt.encode(JSON.stringify(e)).length<=Et),Ut=E({selector:Tt(kt,{required:!0}),accessibleName:Tt(At),tagName:Tt(64,{required:!0}).regex(/^[a-z][a-z0-9-]*$/),role:Tt(64),textExcerpt:Tt(500),rect:Bt}).strict(),Wt=E({schemaVersion:I(1),kind:I(`area`),route:zt,path:z(Rt).min(2).max(160),rect:Bt,viewport:Vt,elements:z(Ut).max(8)}).strict().refine(e=>Math.hypot(e.rect.width,e.rect.height)>=8).refine(e=>Pt.encode(JSON.stringify(e)).length<=Et),Gt=T(`kind`,[Ht,Wt]),Kt=T(`status`,[E({commentId:B().int().positive().max(2**53-1),status:ee([`resolved`,`moved`]),rect:E({x:It,y:It,width:Lt,height:Lt}).strict(),point:E({x:It,y:It}).strict()}).strict(),E({commentId:B().int().positive().max(2**53-1),status:ee([`changed`,`missing`,`route-mismatch`])}).strict()]),qt=B().int().positive().max(2**53-1),Jt=N().refine(e=>!Number.isNaN(Date.parse(e))),Yt=Jt.nullable(),Xt=E({login:N().min(1),name:N().nullable(),avatarUrl:N().nullable()}),Zt=ee([`+1`,`-1`,`laugh`,`hooray`,`confused`,`heart`,`rocket`,`eyes`]),Qt=E({content:Zt,count:qt,viewerHasReacted:A()}),$t={id:qt,body:N().nullable(),mentions:z(E({login:N().min(1),githubId:qt})).optional(),createdAt:Jt,updatedAt:Jt,editedAt:Yt,deletedAt:Yt,author:Xt,viewerCanEdit:A(),viewerCanDelete:A(),reactions:z(Qt)},en=E({...$t,kind:I(`root`),buildNumber:qt.nullable(),buildPath:N().startsWith(`/`).nullable(),draftRevisionId:qt.nullable().optional(),anchor:Gt,resolvedAt:Yt,resolvedBy:Xt.nullable(),activityVersion:qt,viewerLastSeenActivityVersion:qt.nullable()}),tn=E({...$t,kind:I(`reply`),rootId:qt}),nn=T(`kind`,[en,tn]),rn=T(`hasMore`,[E({comments:z(nn),nextCursor:N().min(1),hasMore:I(!0)}),E({comments:z(nn),nextCursor:F(),hasMore:I(!1)})]),an=E({comments:z(nn).min(1).max(2)});function on(e,t){let{root:n}=e,{filters:r}=t;if(!r.showResolved&&n.resolvedAt!==null||!r.showRead&&!e.unread||r.onlyMine&&![n,...e.replies].some(e=>e.author.login.toLowerCase()===t.viewerLogin.toLowerCase())||r.currentBuildOnly&&(t.selectedDraftRevisionId==null?n.buildNumber!==t.selectedBuildNumber:n.draftRevisionId!==t.selectedDraftRevisionId)||r.participant!==null&&!e.participants.some(e=>e.login.toLowerCase()===r.participant?.toLowerCase())||r.currentPageOnly&&t.route!==null&&(n.anchor.route.pathname!==t.route.pathname||n.anchor.route.search!==t.route.search||n.anchor.route.hash!==t.route.hash))return!1;let i=r.search.trim().toLowerCase();if(!i)return!0;let a=n.anchor.kind===`element`?[n.anchor.accessibleName,n.anchor.selectedText,n.anchor.tagName]:n.anchor.elements.flatMap(e=>[e.accessibleName,e.textExcerpt,e.tagName,e.role]);return[n.body??``,n.author.login,n.author.name??``,n.buildNumber?.toString()??``,...e.replies.flatMap(e=>[e.body??``,e.author.login,e.author.name??``]),...a].join(` +`).toLowerCase().includes(i)}var sn=E({candidates:z(E({githubId:B().int().positive().max(2**53-1),login:N().min(1).max(39),avatarUrl:N().nullable()}))});async function $(e,t,n={}){let r=await fetch(e,{...n,headers:{"Content-Type":`application/json`,"X-Replica-Canvas-Token":t,...n.headers}}),i=await r.json().catch(()=>({error:q.invalidResponse}));if(!r.ok)throw Object.assign(Error(i.error||q.requestFailed),{code:i.code,statusCode:r.status,authorization:i.authorization});return i}function cn({error:e,busy:t,requested:n,onFix:r,onDismiss:i}){let a=(0,H.useId)();return(0,W.jsxs)(ce,{title:q.commentingUnavailable,descriptionId:a,closeLabel:q.closeCommentingDialog,onClose:i,children:[(0,W.jsx)(`p`,{id:a,children:q.commentingDescription}),e?(0,W.jsx)(`p`,{role:`alert`,children:e}):null,(0,W.jsxs)(`div`,{className:`canvas-commenting-recovery__actions`,children:[(0,W.jsx)(U.Button,{variant:`primary`,disabled:t||n,onClick:r,children:n?q.commentingFixRequested:q.commentingFix}),(0,W.jsx)(U.Button,{variant:`subtle`,onClick:i,children:q.commentingDismiss})]})]})}function ln({identity:e,enabled:t,ready:n,bridgeProblem:r,token:i}){let[a,o]=(0,H.useState)(``),[s,c]=(0,H.useState)(!1),[l,u]=(0,H.useState)(!1),[d,f]=(0,H.useState)(!1),p=(0,H.useRef)(e);(0,H.useLayoutEffect)(()=>(p.current=e,()=>{p.current=``}),[e]),(0,H.useEffect)(()=>{let e=window.setTimeout(()=>{o(``),c(!1),u(!1),f(!1)},0);return()=>{window.clearTimeout(e)}},[e,t]);async function m(){let t=e;o(``),c(!0);try{await $(`/api/commenting/fix`,i,{method:`POST`}),p.current===t&&f(!0)}catch(e){p.current===t&&o(e instanceof Error?e.message:String(e))}finally{p.current===t&&c(!1)}}return{visible:t&&!n&&!l&&!!r,error:a,busy:s,requested:d,onFix:()=>void m(),onDismiss:()=>u(!0)}}function un({cancelLabel:e,confirmLabel:t,description:n,errorLabel:r,heading:i,loading:a=!1,loadingAnnouncement:o,compact:s=!1,condensed:c=!1,onCancel:l,onConfirm:u}){let d=(0,W.jsx)(U.Button,{type:`button`,size:`small`,variant:c?`primary`:void 0,className:`review-confirmation-panel__cancel`,onClick:l,children:e}),f=(0,W.jsx)(U.Button,{type:`button`,size:`small`,variant:c?`secondary`:`primary`,className:c?void 0:`review-confirmation-panel__danger`,disabled:a,"aria-busy":a,onClick:u,children:t});return(0,W.jsxs)(`div`,{className:`review-confirmation-panel${s||c?` review-confirmation-panel--compact`:``}${c?` review-confirmation-panel--condensed`:``}`,role:`alert`,children:[(0,W.jsxs)(`div`,{className:`review-confirmation-panel__copy`,children:[(0,W.jsx)(`strong`,{children:i}),c?(0,W.jsx)(G,{children:n}):(0,W.jsx)(`span`,{children:n})]}),r?(0,W.jsx)(`span`,{className:`review-confirmation-panel__error`,children:r}):null,(0,W.jsxs)(`div`,{className:`review-confirmation-panel__actions`,children:[c?f:d,c?d:f,a&&o?(0,W.jsx)(G,{role:`status`,children:o}):null]})]})}function dn(){return(0,H.useContext)(nt)}function fn(e){let t=e.matchAll(/(?e[1]?[e[1].toLowerCase()]:[])))}function pn({value:e,onValueChange:t,onKeyDown:n,ref:r,...i}){let a=dn(),o=(0,H.useRef)(null),s=(0,H.useRef)(null),c=(0,H.useRef)(null),l=(0,H.useId)(),[u,d]=(0,H.useState)(e.length),[f,p]=(0,H.useState)(!1),[m,h]=(0,H.useState)(null),[g,_]=(0,H.useState)(!1),[v,y]=(0,H.useState)(0),[b,x]=(0,H.useState)(0),[S,C]=(0,H.useState)({left:0,top:0,width:0}),w=e.slice(0,u).match(/(?:^|[\s(])@([a-zA-Z0-9-]*)$/)?.[1]?.toLowerCase(),T=a!==null&&w!==void 0&&!f&&!i.disabled,E=fn(e).length>10,D=m?.source===a&&m?.failed,O=g||m?.source!==a,k=(m?.source===a?m.candidates:[]).filter(e=>e.login.toLowerCase().includes(w??``)).slice(0,8),A=Math.min(b,Math.max(0,k.length-1));(0,H.useEffect)(()=>{o.current?.setCustomValidity(E?a?.copy.limit??``:``)},[a?.copy.limit,E]),(0,H.useEffect)(()=>{if(!T||!a)return;let e=!0,t=window.setTimeout(()=>{_(!0),a.load().then(t=>{e&&h({source:a,candidates:t,failed:!1})},()=>{e&&h({source:a,candidates:[],failed:!0})}).finally(()=>{e&&_(!1)})},150);return()=>{e=!1,window.clearTimeout(t)}},[T,v,a]),(0,H.useLayoutEffect)(()=>{if(!T)return;function e(){let e=o.current?.getBoundingClientRect();e&&C({left:e.left,width:e.width,top:Math.max(4,window.innerHeight-e.bottom<224?e.top-224:e.bottom)})}return e(),window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[T]);function j(n){if(w===void 0)return;let r=u-w.length-1,i=`@${n.login} `;t(e.slice(0,r)+i+e.slice(u)),p(!0);let a=r+i.length;window.requestAnimationFrame(()=>{o.current?.focus(),o.current?.setSelectionRange(a,a),d(a)})}function M(e,t){o.current=e,typeof t==`function`?t(e):t&&(t.current=e)}return(0,W.jsxs)(`div`,{className:`mention-input`,children:[(0,W.jsx)(`textarea`,{...i,ref:e=>M(e,r),value:e,"aria-autocomplete":a?`list`:void 0,"aria-controls":T?l:void 0,"aria-activedescendant":T&&k.length?`${l}-${A}`:void 0,onChange:e=>{d(e.currentTarget.selectionStart),p(!1),x(0),t(e.currentTarget.value)},onSelect:e=>d(e.currentTarget.selectionStart),onBlur:e=>{s.current?.contains(e.relatedTarget)||p(!0)},onKeyDown:e=>{if(T&&e.key===`Escape`)e.preventDefault(),e.stopPropagation(),p(!0);else if(T&&D&&!O&&e.key===`Tab`&&!e.shiftKey)e.preventDefault(),c.current?.focus();else{if(T&&!O&&!D&&k.length){if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),x((A+(e.key===`ArrowDown`?1:-1)+k.length)%k.length);return}if((e.key===`Enter`||e.key===`Tab`)&&!e.nativeEvent.isComposing&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey){e.preventDefault();let t=k[A];t&&j(t);return}}n?.(e)}}}),E&&a?.copy.limit?(0,W.jsx)(`span`,{role:`alert`,children:a.copy.limit}):null,T&&a?(0,et.createPortal)((0,W.jsx)(`div`,{ref:s,id:l,className:`mention-input__suggestions`,style:S,onBlur:e=>{e.relatedTarget!==o.current&&!e.currentTarget.contains(e.relatedTarget)&&p(!0)},onKeyDown:e=>{e.key===`Escape`?(e.preventDefault(),e.stopPropagation(),p(!0),o.current?.focus()):e.key===`Tab`&&e.shiftKey&&(e.preventDefault(),o.current?.focus())},children:O?(0,W.jsx)(`span`,{role:`status`,children:a.copy.loading}):D?(0,W.jsxs)(`div`,{role:`alert`,children:[a.copy.error,` `,(0,W.jsx)(`button`,{ref:c,type:`button`,onMouseDown:e=>e.preventDefault(),onClick:()=>{y(v+1),o.current?.focus()},children:a.copy.retry})]}):(0,W.jsxs)(`ul`,{role:`listbox`,"aria-label":a.copy.suggestions,children:[k.map((e,t)=>(0,W.jsx)(`li`,{id:`${l}-${t}`,role:`option`,"aria-selected":t===A,children:(0,W.jsxs)(`button`,{type:`button`,tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:()=>j(e),children:[`@`,e.login]})},e.githubId)),k.length?null:(0,W.jsx)(`li`,{role:`presentation`,children:a.copy.empty})]})}),document.body):null]})}function mn({anchorPoint:e,anchorRectangle:t,anchorSelector:n,layoutKey:r,preserveVerticalSide:i=!1}){let a=(0,H.useRef)(null),o=(0,H.useRef)(null),[s,c]=(0,H.useState)({left:e.x+12,top:e.y+12}),l=(0,H.useCallback)(()=>{let r=a.current,s=r?.parentElement;if(!r||!s)return;let l=r.offsetWidth,u=r.offsetHeight,d=s.clientWidth-l-8,f=s.clientHeight-u-8,p,m,h=(n?s.querySelector(n)??s.parentElement?.querySelector(n):null)?.getBoundingClientRect(),g=s.getBoundingClientRect(),_=h?{x:h.left-g.left,y:h.top-g.top,width:h.height,height:h.height}:t;if(_){let e=_.x+_.width+12,t=_.x-12-l,n=e+l<=s.clientWidth-8,r=t>=8,i=s.clientWidth-8-_.x-_.width,a=_.x-8;p=n?e:r?t:i>=a?e:t,m=_.y}else{let t=e.x+12,n=e.y+12;p=t+l<=s.clientWidth-8?t:e.x-12-l;let r=o.current,a=i&&r?.x===e.x&&r.y===e.y?r.side:n+u<=s.clientHeight-8?`below`:`above`;i&&(o.current={x:e.x,y:e.y,side:a}),m=a===`below`?n:e.y-12-u}let v={left:Math.max(8,Math.min(p,d)),top:Math.max(8,Math.min(m,f))};c(e=>e.left===v.left&&e.top===v.top?e:v)},[e,t,n,i]);return(0,H.useLayoutEffect)(()=>{l();let e=a.current,t=e?.parentElement;if(!e||!t||typeof ResizeObserver!=`function`)return;let r=new ResizeObserver(l);r.observe(e),r.observe(t);let i=n?t.querySelector(n)??t.parentElement?.querySelector(n):null;return i&&r.observe(i),window.addEventListener(`resize`,l),()=>{r.disconnect(),window.removeEventListener(`resize`,l)}},[n,r,l]),{cardRef:a,position:s}}function hn(){return typeof navigator<`u`&&/Mac/i.test(navigator.platform)}function gn(e,{allowPlainEnter:t=!1}={}){let n=e.isComposing||e.keyCode===229,r=hn()?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey,i=t&&!e.metaKey&&!e.ctrlKey;return e.key===`Enter`&&!e.shiftKey&&!e.altKey&&!n&&!e.repeat&&(r||i)}var _n=new TextEncoder;function vn({anchorPoint:e,bodyMaximumBytes:t,copy:n,creating:r,submitError:i,onSubmit:a,onDiscard:o}){let s=(0,H.useId)(),[c,l]=(0,H.useState)(``),[u,d]=(0,H.useState)(!1),[f,p]=(0,H.useState)(!1),m=(0,H.useRef)(!1),{cardRef:h,position:g}=mn({anchorPoint:e,layoutKey:`${u}:${f}:${i??``}`,preserveVerticalSide:!0}),_=_n.encode(c).length>t,v=c.trim()!==``&&!_&&!r&&!u,y=hn()?n.submitTooltipMacLabel:n.submitTooltipOtherLabel;(0,H.useEffect)(()=>{u?h.current?.querySelector(`.review-confirmation-panel__cancel`)?.focus({preventScroll:!0}):m.current&&h.current?.querySelector(`textarea`)?.focus({preventScroll:!0}),m.current=u},[h,u]);function b(){r||(c.trim()===``?o():d(!0))}async function x(e){e.preventDefault(),v&&(await a(c)||p(!0))}return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`button`,{type:`button`,tabIndex:-1,"aria-hidden":`true`,className:`review-comment-composer-backdrop`,onClick:b}),(0,W.jsx)(`section`,{ref:h,role:`dialog`,"aria-labelledby":s,className:`review-comment-composer`,style:{left:g.left,top:g.top},children:(0,W.jsxs)(`form`,{className:`review-comment-composer__form`,onSubmit:e=>{x(e)},onKeyDown:e=>{e.key!==`Escape`||e.defaultPrevented||(e.preventDefault(),u?d(!1):b())},children:[(0,W.jsxs)(`header`,{className:`review-comment-composer__header`,children:[(0,W.jsx)(U.Heading,{as:`h2`,size:`6`,id:s,children:n.composerHeading}),(0,W.jsx)(K,{icon:V,"aria-label":n.closeComposerLabel,description:n.closeComposerLabel,variant:`invisible`,type:`button`,disabled:r,onClick:b})]}),(0,W.jsx)(pn,{autoFocus:!0,"aria-label":n.composerLabel,placeholder:n.composerPlaceholder,value:c,rows:4,onValueChange:e=>{l(e),d(!1),p(!1)},onKeyDown:e=>{v&&gn(e.nativeEvent)&&(e.preventDefault(),e.currentTarget.form?.requestSubmit())}}),_?(0,W.jsx)(`span`,{role:`alert`,className:`review-comment-composer__error`,children:n.bodyTooLongLabel}):null,f?(0,W.jsx)(fe,{variant:`critical`,title:n.createErrorLabel,description:i,className:`review-comment-composer__banner`}):null,u?(0,W.jsx)(un,{heading:n.discardHeading,description:n.discardPromptLabel,cancelLabel:n.keepLabel,confirmLabel:n.discardButtonLabel,condensed:!0,onCancel:()=>d(!1),onConfirm:o}):(0,W.jsxs)(`footer`,{className:`review-comment-composer__actions`,children:[(0,W.jsx)(U.Button,{type:`button`,size:`small`,disabled:r,onClick:b,children:n.closeComposerLabel}),(0,W.jsx)(U.Tooltip,{text:y,type:`description`,children:(0,W.jsx)(U.Button,{type:`submit`,size:`small`,variant:`primary`,disabled:!v,"aria-busy":r,children:n.submitLabel})}),r?(0,W.jsx)(G,{role:`status`,children:n.submittingLabel}):null]})]})})]})}function yn({blockedLabel:e,confirmingDiscard:t,replyDraft:n,replyBodyTooLong:r,replyFailed:i,replyDisabled:a,replying:o,submitDisabled:s=!1,copy:c,onKeepDraft:u,onDiscardDraft:d,onSubmit:f,onDraftChange:p}){let m=(0,H.useRef)(null),h=n.trim()!==``&&!r&&!a&&!o&&!s&&!t&&!e,g=hn()?c.replySubmitTooltipMacLabel:c.replySubmitTooltipOtherLabel;return(0,H.useLayoutEffect)(()=>{m.current&&(m.current.style.height=`auto`,m.current.style.height=n?`${Math.min(m.current.scrollHeight,120)}px`:`2.5rem`)},[n]),t?(0,W.jsx)(un,{heading:c.discardHeading,description:c.threadDiscardPromptLabel,cancelLabel:c.keepLabel,confirmLabel:c.discardButtonLabel,compact:!0,onCancel:u,onConfirm:d}):e?(0,W.jsx)(`span`,{className:`review-thread-reply-form__blocked`,children:e}):(0,W.jsxs)(`form`,{className:`review-thread-reply-form`,onSubmit:e=>{e.preventDefault(),h&&f()},children:[(0,W.jsxs)(`div`,{className:`review-thread-reply-form__composer`,children:[(0,W.jsx)(pn,{ref:m,"aria-label":c.replyLabel,placeholder:c.replyPlaceholder,value:n,rows:1,disabled:a,onValueChange:p,onKeyDown:e=>{h&&gn(e.nativeEvent,{allowPlainEnter:!0})&&(e.preventDefault(),e.currentTarget.form?.requestSubmit())}}),(0,W.jsx)(U.Tooltip,{text:g,type:`description`,children:(0,W.jsx)(`button`,{type:`submit`,className:`review-thread-reply-form__submit`,disabled:!h,"aria-label":c.replySubmitLabel,"aria-busy":o,children:(0,W.jsx)(l,{size:16})})})]}),r?(0,W.jsx)(`span`,{role:`alert`,className:`review-thread-reply-form__error`,children:c.bodyTooLongLabel}):null,i?(0,W.jsx)(`span`,{role:`alert`,className:`review-thread-reply-form__error`,children:c.replyErrorLabel}):null,o?(0,W.jsx)(G,{role:`status`,children:c.replyingLabel}):null]})}function bn({comment:e}){let t=e.body??``,n=new Set(e.mentions?.map(e=>e.login.toLowerCase())??[]),r=t.matchAll(/(?({content:e,emoji:Cn(e)}));function Tn(e,t=0,n=0){if(t!==0||n!==0)return{x:t,y:n};let r=e.getBoundingClientRect();return{x:r.left+r.width/2,y:r.top+r.height/2}}function En({comment:e,mutation:t,actionsDisabled:n,controlsHidden:r=!1,copy:i,onAdd:a,onRemove:o,onBurst:s}){let c=(0,H.useId)(),[l,u]=(0,H.useState)(!1),[d,f]=(0,H.useState)(!1),p=(0,H.useRef)(!1),[m,h]=(0,H.useState)(null),[g,_]=(0,H.useState)(`outside-bottom`),v=t!==null&&(t.kind===`add-reaction`||t.kind===`remove-reaction`)&&t.commentId===e.id,y=e.reactions.flatMap(e=>{if(!m||e.content!==m.content)return[e];let t=e.count+Number(m.viewerHasReacted)-Number(e.viewerHasReacted);return t>0?[{...e,count:t,viewerHasReacted:m.viewerHasReacted}]:[]});m?.viewerHasReacted&&!e.reactions.some(({content:e})=>e===m.content)&&y.push({content:m.content,count:1,viewerHasReacted:!0});async function b(r,i){if(n||t!==null||p.current)return;let c=e.reactions.find(e=>e.content===r)?.viewerHasReacted??!1;p.current=!0,u(!1),h({content:r,viewerHasReacted:!c});try{if(!c){let e=wn.find(e=>e.content===r);e&&s(e.emoji,i.x,i.y)}let e=c?await o(r):await a(r);u(!e)}catch{u(!0)}finally{p.current=!1,h(null)}}function x(e,t){b(e,Tn(t.currentTarget,t.clientX,t.clientY))}let S=(0,W.jsxs)(U.ActionMenu,{selectionVariant:`none`,size:`small`,menuAlignment:`end`,menuSide:g,disabled:n,children:[(0,W.jsx)(U.ActionMenu.Button,{className:`review-comment-reactions__menu-trigger`,variant:`subtle`,"aria-label":i.addReactionLabel,"aria-describedby":c,"aria-busy":v||m!==null,leadingVisual:(0,W.jsx)(w,{size:16}),onClick:e=>{f(!0);let t=e.currentTarget.getBoundingClientRect(),n=e.currentTarget.closest(`.review-shell`)?.getBoundingClientRect(),r=Math.min(window.innerHeight,n?.bottom??1/0)-t.bottom,i=t.top-Math.max(0,n?.top??0),a=wn.length*36+16;_(rr?`outside-top`:`outside-bottom`)},children:``}),(0,W.jsx)(U.ActionMenu.Overlay,{"aria-label":i.addReactionLabel,children:wn.map(e=>(0,W.jsx)(U.ActionMenu.Item,{value:e.content,leadingVisual:(0,W.jsx)(`span`,{className:`review-comment-reactions__picker-emoji`,children:e.emoji}),onClick:t=>x(e.content,t),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),b(e.content,Tn(t.currentTarget)))},children:i.reactionLabels[e.content]},e.content))})]});return r&&!l?null:(0,W.jsxs)(`div`,{className:`review-comment-reactions__layout`,children:[r?null:(0,W.jsxs)(`div`,{className:`review-comment-reactions`,children:[y.map(e=>{let r=wn.find(({content:t})=>t===e.content);if(!r)return null;let a=(e.count===1?i.reactionCountOneLabel:i.reactionCountOtherLabel).replace(`%{reaction}`,i.reactionLabels[e.content]).replace(`%{count}`,e.count.toString());return(0,W.jsxs)(U.Button,{size:`small`,"aria-label":a,title:a,"aria-pressed":e.viewerHasReacted,disabled:n,"aria-busy":m?.content===e.content||v&&`content`in t&&t.content===e.content,className:e.viewerHasReacted?`review-comment-reaction--selected`:void 0,onClick:t=>x(e.content,t),children:[(0,W.jsx)(`span`,{"aria-hidden":`true`,children:r.emoji}),(0,W.jsx)(tt,{"aria-hidden":`true`,children:e.count})]},e.content)}),n?(0,W.jsxs)(`div`,{title:i.addReactionLabel,children:[S,(0,W.jsx)(G,{id:c,children:i.addReactionLabel})]}):(0,W.jsx)(U.Tooltip,{id:c,text:i.addReactionLabel,type:`description`,className:`review-comment-reactions__tooltip${d?` review-comment-reactions__tooltip--suppressed`:``}`,children:(0,W.jsx)(`div`,{onMouseEnter:e=>{e.currentTarget.querySelector(`[aria-expanded="true"]`)||f(!1)},onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||f(!1)},children:S})})]}),l?(0,W.jsx)(`span`,{role:`alert`,className:`review-comment-reactions__error`,children:i.reactionErrorLabel}):null]})}function Dn({comment:e,mutation:t,copy:n,editing:r,editDraft:i,editBodyTooLong:a,editFailed:s,confirmingEditDiscard:c,saving:l,confirmingDelete:u,deleting:d,deleteFailed:f,actionsDisabled:p,onStartEdit:m,onEditDraftChange:h,onSaveEdit:g,onCancelEdit:_,onKeepEdit:v,onDiscardEdit:y,onRequestDelete:b,onCancelDelete:x,onDelete:S,onAddReaction:C,onRemoveReaction:w,onBurstReaction:T,onMarkUnread:E,markUnreadDisabled:D=!1}){let k=(0,H.useId)(),A=(0,H.useRef)(null),M=(0,H.useRef)(!1),[N,P]=(0,H.useState)(`outside-bottom`),F=e.author.name||`@${e.author.login}`,I=n.commentActionsLabel.replace(`%{author}`,`@${e.author.login}`),L=p&&(!E||D),R=!!(e.body&&e.viewerCanEdit),z=!!(e.body&&e.viewerCanDelete);return(0,H.useEffect)(()=>{c?A.current?.querySelector(`.review-confirmation-panel button`)?.focus({preventScroll:!0}):M.current&&A.current?.querySelector(`textarea`)?.focus({preventScroll:!0}),M.current=c},[c]),(0,W.jsxs)(`article`,{className:`review-thread-message`,"data-review-message-id":e.id,children:[(0,W.jsx)(xn,{visual:(0,W.jsx)(at,{src:e.author.avatarUrl,size:28}),author:F,metadata:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(gt,{value:e.createdAt}),e.editedAt?(0,W.jsx)(`span`,{children:n.editedLabel}):null]}),children:E||R||z?L?(0,W.jsxs)(`div`,{title:I,children:[(0,W.jsx)(U.ActionMenu,{selectionVariant:`none`,size:`small`,menuAlignment:`end`,disabled:!0,children:(0,W.jsx)(U.ActionMenu.Button,{className:`review-thread-message__menu-trigger`,variant:`subtle`,"aria-label":I,"aria-describedby":k,leadingVisual:(0,W.jsx)(o,{size:16}),children:``})}),(0,W.jsx)(G,{id:k,children:I})]}):(0,W.jsx)(U.Tooltip,{id:k,text:I,type:`description`,children:(0,W.jsx)(`div`,{children:(0,W.jsxs)(U.ActionMenu,{selectionVariant:`none`,size:`small`,menuAlignment:`end`,menuSide:N,children:[(0,W.jsx)(U.ActionMenu.Button,{className:`review-thread-message__menu-trigger`,variant:`subtle`,"aria-label":I,"aria-describedby":k,leadingVisual:(0,W.jsx)(o,{size:16}),onClick:e=>{let t=e.currentTarget.getBoundingClientRect(),n=e.currentTarget.closest(`.review-shell`)?.getBoundingClientRect(),r=Math.min(window.innerHeight,n?.bottom??1/0)-t.bottom,i=t.top-Math.max(0,n?.top??0);P(r<(E?128:88)&&i>r?`outside-top`:`outside-bottom`)},children:``}),(0,W.jsxs)(U.ActionMenu.Overlay,{"aria-label":I,children:[E?(0,W.jsx)(U.ActionMenu.Item,{value:`mark-unread`,disabled:D,leadingVisual:(0,W.jsx)(j,{size:16}),onClick:()=>{D||E()},onKeyDown:e=>{!D&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),E())},children:n.markUnreadLabel}):null,R?(0,W.jsx)(U.ActionMenu.Item,{value:`edit`,disabled:p,leadingVisual:(0,W.jsx)(re,{size:16}),onClick:m,onKeyDown:e=>{!p&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),m())},children:n.editLabel}):null,z&&(E||R)?(0,W.jsx)(`li`,{role:`separator`,className:`review-thread-message__menu-divider`}):null,z?(0,W.jsx)(U.ActionMenu.Item,{value:`delete`,disabled:p||t!==null,className:`review-thread-message__delete-item`,leadingVisual:(0,W.jsx)(O,{size:16}),onClick:b,onKeyDown:e=>{!p&&t===null&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),b())},children:n.deleteLabel}):null]})]})})}):null}),r?(0,W.jsxs)(`form`,{ref:A,className:`review-thread-message__edit`,onSubmit:e=>{e.preventDefault(),c||g()},children:[(0,W.jsx)(pn,{autoFocus:!0,"aria-label":n.editCommentLabel,value:i,rows:3,onValueChange:h}),a?(0,W.jsx)(`span`,{role:`alert`,className:`review-thread-message__error`,children:n.bodyTooLongLabel}):null,s?(0,W.jsx)(`span`,{role:`alert`,className:`review-thread-message__error`,children:n.editErrorLabel}):null,c?(0,W.jsx)(un,{heading:n.discardHeading,description:n.threadDiscardPromptLabel,cancelLabel:n.keepLabel,confirmLabel:n.discardButtonLabel,compact:!0,onCancel:v,onConfirm:y}):(0,W.jsxs)(`div`,{className:`review-thread-message__actions`,children:[(0,W.jsx)(U.Button,{type:`button`,size:`small`,disabled:l,onClick:_,children:n.cancelEditLabel}),(0,W.jsx)(U.Button,{type:`submit`,size:`small`,variant:`primary`,disabled:i.trim()===``||a||t!==null||l,"aria-busy":l,children:n.saveEditLabel}),l?(0,W.jsx)(G,{role:`status`,children:n.savingEditLabel}):null]})]}):u?(0,W.jsx)(un,{heading:n.deleteHeading,description:n.deletePromptLabel,errorLabel:f?n.deleteErrorLabel:void 0,cancelLabel:n.cancelEditLabel,confirmLabel:n.confirmDeleteLabel,loading:d,loadingAnnouncement:n.deletingLabel,compact:!0,onCancel:x,onConfirm:S}):(0,W.jsx)(`p`,{className:e.body?`review-thread-message__body`:`review-thread-message__body review-thread-message__body--deleted`,children:e.body?(0,W.jsx)(bn,{comment:e}):n.deletedCommentLabel}),e.body&&(e.kind!==`root`||e.buildNumber!==null)?(0,W.jsx)(En,{comment:e,mutation:t,actionsDisabled:p,controlsHidden:r||u,copy:n,onAdd:C,onRemove:w,onBurst:T}):null]})}function On({position:e,anchored:t,className:n,style:r,...i}){return(0,W.jsx)(`section`,{...i,role:`dialog`,className:`review-thread-conversation review-thread-conversation--${t?`anchored`:`docked`}${n?` ${n}`:``}`,style:{"--review-thread-left":`${e.left}px`,"--review-thread-top":`${e.top}px`,...r}})}function kn(){let e=(0,H.useRef)(null),t=(0,H.useRef)([]),n=(0,H.useRef)(new Map),[r,i]=(0,H.useState)(!1),a=(0,H.useCallback)((e,n,r)=>{if(window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches)return;let a=4+Math.floor(Math.random()*5),o=performance.now();for(let i=0;i{if(!r)return;let a=e.current,o=a?.getContext(`2d`);if(!a||!o){console.error(`Emoji reaction burst could not create a canvas context.`),t.current=[];let e=requestAnimationFrame(()=>i(!1));return()=>cancelAnimationFrame(e)}let s=a,c=o,l;function u(){let e=window.devicePixelRatio||1;s.width=Math.round(window.innerWidth*e),s.height=Math.round(window.innerHeight*e),c.setTransform(e,0,0,e,0,0)}function d(e,t){let r=Math.round(t),i=`${e}_${r}`;if(n.current.has(i))return n.current.get(i)??null;let a=document.createElement(`canvas`);a.width=r*2,a.height=r*2;let o=a.getContext(`2d`);return o?(o.font=`${r}px serif`,o.textAlign=`center`,o.textBaseline=`middle`,o.fillText(e,r,r),n.current.set(i,a),a):(console.error(`Emoji reaction burst could not draw an emoji.`),n.current.set(i,null),null)}function f(e){c.clearRect(0,0,window.innerWidth,window.innerHeight);let n=[];for(let r of t.current){if(e10&&(r.opacity-=.04),r.opacity<=0)continue;let t=d(r.emoji,r.size);t&&(c.globalAlpha=r.opacity,c.drawImage(t,r.x-t.width/2,r.y-t.height/2)),n.push(r)}c.globalAlpha=1,t.current=n,n.length>0?l=requestAnimationFrame(f):i(!1)}return u(),window.addEventListener(`resize`,u),l=requestAnimationFrame(f),()=>{cancelAnimationFrame(l),window.removeEventListener(`resize`,u)}},[r]),{burst:a,canvas:r?(0,et.createPortal)((0,W.jsx)(`canvas`,{ref:e,className:`review-emoji-burst`,"aria-hidden":`true`}),document.body):null}}var An=new TextEncoder;function jn({thread:e,bodyMaximumBytes:t,mutation:n,onClose:r,onDraftStateChange:i,onReply:a,onEdit:o,onDelete:s,onResolve:c,onReopen:l}){let[u,d]=(0,H.useState)(``),[f,p]=(0,H.useState)(!1),[m,h]=(0,H.useState)(null),[g,_]=(0,H.useState)(``),[v,y]=(0,H.useState)(``),[b,x]=(0,H.useState)(!1),[S,C]=(0,H.useState)(!1),[w,T]=(0,H.useState)(null),[E,D]=(0,H.useState)(!1),[O,k]=(0,H.useState)(!1),[A,j]=(0,H.useState)(!1),M=u.trim()!==``||m!==null,N=An.encode(u).length>t,P=An.encode(g).length>t,F=e.root.resolvedAt!==null,I=e.root.deletedAt!==null||F;(0,H.useEffect)(()=>(i(M),()=>i(!1)),[M,i]);function L(){n||(u.trim()===``&&g===v?r():(C(!1),j(!0)))}function R(){d(``),h(null),_(``),y(``),C(!1),j(!1),i(!1),r()}async function z(){u.trim()===``||N||n||(await a(u)?(d(``),p(!1)):p(!0))}function B(e){d(e),p(!1),j(!1)}function ee(e){e.body&&(h(e.id),_(e.body),y(e.body),x(!1),T(null),D(!1))}function V(e){_(e),x(!1),C(!1),j(!1)}async function te(e){g.trim()===``||P||n||(await o(e,g)?(h(null),_(``),y(``),C(!1),x(!1)):x(!0))}function ne(){g===v?re():C(!0)}function re(){h(null),_(``),y(``),x(!1),C(!1),j(!1)}function ie(e){T(e),D(!1)}function ae(){T(null),D(!1)}async function oe(e){n||(await s(e)?ae():D(!0))}async function U(){if(n||M)return;let e=F?await l():await c();k(!e)}return{state:{replyDraft:u,replyFailed:f,editingCommentId:m,editDraft:g,editFailed:b,confirmingEditDiscard:S,confirmingDeleteId:w,deleteFailed:E,resolutionFailed:O,confirmingDiscard:A,draftActive:M,replyBodyTooLong:N,editBodyTooLong:P,resolved:F,replyBlocked:I},actions:{requestDismissal:L,discardAndClose:R,keepDraft:()=>j(!1),submitReply:z,changeReplyDraft:B,startEdit:ee,changeEditDraft:V,saveEdit:te,cancelEdit:ne,keepEdit:()=>C(!1),discardEdit:re,requestDelete:ie,cancelDelete:ae,deleteComment:oe,changeResolution:U}}}function Mn(e){let t=e.closest(`[data-testid="ActionMenu"]`);if(!t)return;let n=e.getBoundingClientRect(),r=e.closest(`.review-shell`)?.getBoundingClientRect(),i=Math.max(0,r?.top??0),a=Math.min(window.innerHeight,r?.bottom??window.innerHeight);t.style.setProperty(`--review-thread-menu-room-top`,`${Math.max(0,n.top-i-8)}px`),t.style.setProperty(`--review-thread-menu-room-bottom`,`${Math.max(0,a-n.bottom-8)}px`)}function Nn({thread:e,anchorPoint:t,bodyMaximumBytes:n,mutation:r,copy:i,onClose:a,onDraftStateChange:o,onReply:s,onEdit:c,onDelete:l,onResolve:u,onReopen:d,onAddReaction:f,onRemoveReaction:p,onMarkRead:m,onMarkUnread:h}){let g=(0,H.useId)(),_=(0,H.useRef)(null),v=(0,H.useRef)(0),y=(0,H.useRef)(e.root.activityVersion),b=(0,H.useRef)(null),x=(0,H.useRef)(!1),S=(0,H.useRef)(!1),C=(0,H.useRef)(!1),[w,T]=(0,H.useState)(!1),[E,D]=(0,H.useState)(!1),[O,k]=(0,H.useState)(!1),[A,j]=(0,H.useState)(!1),{burst:M,canvas:N}=kn(),{state:P,actions:F}=jn({thread:e,bodyMaximumBytes:n,mutation:r,onClose:a,onDraftStateChange:o,onReply:s,onEdit:c,onDelete:l,onResolve:u,onReopen:d}),I={x:12,y:12},L=[e.root,...e.replies],{cardRef:R,position:z}=mn({anchorPoint:t??I,...t?{anchorSelector:`[data-review-thread-id="${e.root.id}"]`,anchorRectangle:{x:t.x-16,y:t.y-16,width:32,height:32}}:{},layoutKey:[P.confirmingDiscard,P.confirmingEditDiscard,P.replyFailed,P.editFailed,P.deleteFailed,P.resolutionFailed,P.editingCommentId,P.confirmingDeleteId,P.resolved,w,O,e.replies.length,e.participants.length,L.map(e=>e.reactions.length).join(`,`)].join(`:`)}),B=P.replyBlocked?e.root.deletedAt?i.deletedReplyBlockedLabel:e.root.resolvedBy?i.resolvedByLabel.replace(`%{author}`,e.root.resolvedBy.name||`@${e.root.resolvedBy.login}`):i.resolvedReplyBlockedLabel:null,ee=(0,H.useCallback)(()=>{R.current?.querySelector(`.review-thread-conversation__close`)?.focus({preventScroll:!0})},[R]);(0,H.useEffect)(()=>{if(P.confirmingDiscard)R.current?.querySelector(`.review-thread-conversation__footer button`)?.focus({preventScroll:!0});else if(C.current){let e=P.editingCommentId===null?`.review-thread-reply-form textarea`:`.review-thread-message__edit textarea`;R.current?.querySelector(e)?.focus({preventScroll:!0})}C.current=P.confirmingDiscard},[R,P.confirmingDiscard,P.editingCommentId]),(0,H.useEffect)(()=>{let e=document.activeElement;return _.current=e instanceof HTMLElement?e:null,ee(),()=>{_.current?.isConnected&&_.current.focus()}},[ee]),(0,H.useEffect)(()=>{let t=y.current;e.unread&&b.current!==t&&(b.current=t,x.current=!0,D(!0),m(t).then(e=>T(!e)).catch(()=>T(!0)).finally(()=>{x.current=!1,D(!1)}))},[m,e.unread]);async function te(){if(!(x.current||S.current||r!==null)){b.current=y.current,S.current=!0,j(!0),k(!1);try{let e=await h();k(!e),e&&T(!1)}catch{k(!0)}finally{S.current=!1,j(!1)}}}return(0,H.useEffect)(()=>{function e(){P.confirmingDiscard?F.keepDraft():P.confirmingEditDiscard?F.keepEdit():F.requestDismissal()}function t(t){t.key!==`Escape`||t.defaultPrevented||t.isComposing||R.current?.querySelector(`[role="menu"]`)||t.target instanceof Element&&t.target.closest(`[role="menu"], [role="dialog"], dialog`)||(t.preventDefault(),e())}function n(){let t=document.activeElement;R.current?.querySelector(`[role="menu"]`)||t instanceof Element&&(t.closest(`[role="menu"]`)||t.closest(`[role="dialog"], dialog`)&&!R.current?.contains(t))||e()}return document.addEventListener(`keydown`,t),window.addEventListener(`replica:review-dismiss`,n),()=>{document.removeEventListener(`keydown`,t),window.removeEventListener(`replica:review-dismiss`,n)}},[F,R,P.confirmingDiscard,P.confirmingEditDiscard]),(0,W.jsxs)(On,{ref:R,"aria-labelledby":g,anchored:!!t,position:z,onKeyDown:e=>{e.key!==`Escape`||e.defaultPrevented||e.nativeEvent.isComposing||e.target instanceof Element&&e.target.closest(`[role="menu"]`)||(e.preventDefault(),P.confirmingDiscard?F.keepDraft():P.confirmingEditDiscard?F.keepEdit():F.requestDismissal())},children:[(0,W.jsxs)(`div`,{className:`review-thread-conversation__layout`,children:[(0,W.jsxs)(`header`,{className:`review-thread-conversation__header`,children:[(0,W.jsx)(U.Heading,{as:`h2`,size:`6`,id:g,children:i.threadHeading}),e.root.buildNumber===null?null:(0,W.jsx)(U.Button,{size:`small`,disabled:P.draftActive||r!==null,"aria-busy":r!==null&&`commentId`in r&&r.commentId===e.root.id&&(r.kind===`resolve`||r.kind===`reopen`),onClick:()=>{F.changeResolution()},children:P.resolved?i.reopenLabel:i.resolveLabel}),r&&`commentId`in r&&r.commentId===e.root.id&&(r.kind===`resolve`||r.kind===`reopen`)?(0,W.jsx)(G,{role:`status`,children:P.resolved?i.reopeningLabel:i.resolvingLabel}):null,(0,W.jsx)(K,{icon:V,"aria-label":i.backToCommentsLabel,title:i.backToCommentsLabel,variant:`invisible`,className:`review-thread-conversation__close`,onClick:F.requestDismissal})]}),P.resolutionFailed?(0,W.jsx)(fe,{variant:`critical`,title:i.resolutionErrorLabel,className:`review-thread-conversation__banner`}):null,w?(0,W.jsx)(fe,{variant:`critical`,title:i.readErrorLabel,className:`review-thread-conversation__banner`}):null,O?(0,W.jsx)(fe,{variant:`critical`,title:i.markUnreadErrorLabel,className:`review-thread-conversation__banner`}):null,(0,W.jsx)(`div`,{className:`review-thread-conversation__messages`,onClickCapture:e=>{if(!(e.target instanceof Element))return;let t=e.target.closest(`button[data-testid="ActionMenu-button"]`);t&&e.currentTarget.contains(t)&&(v.current=e.currentTarget.scrollTop,Mn(t))},onScroll:e=>{let t=e.currentTarget.scrollTop,n=t-v.current;if(v.current=t,n===0)return;let r=e.currentTarget.getBoundingClientRect();e.currentTarget.querySelectorAll(`[role="menu"]`).forEach(e=>{let t=e.closest(`[data-testid="ActionMenu"]`)?.querySelector(`button[data-testid="ActionMenu-button"]`);if(!t)return;let i=t.getBoundingClientRect();if(r.height>0&&(i.bottom<=r.top||i.top>=r.bottom)){let n=e.contains(document.activeElement);t.click(),n&&ee();return}let a=Number.parseFloat(e.style.top);Number.isFinite(a)&&(e.style.top=`${a-n}px`),Mn(t)})},children:L.map(t=>(0,W.jsx)(Dn,{comment:t,mutation:r,copy:i,editing:P.editingCommentId===t.id,editDraft:P.editingCommentId===t.id?P.editDraft:``,editBodyTooLong:P.editingCommentId===t.id&&P.editBodyTooLong,editFailed:P.editingCommentId===t.id&&P.editFailed,confirmingEditDiscard:P.editingCommentId===t.id&&P.confirmingEditDiscard,saving:r?.kind===`edit`&&r.commentId===t.id,confirmingDelete:P.confirmingDeleteId===t.id,deleting:r?.kind===`delete`&&r.commentId===t.id,deleteFailed:P.confirmingDeleteId===t.id&&P.deleteFailed,actionsDisabled:r!==null&&r.kind!==`add-reaction`&&r.kind!==`remove-reaction`||P.confirmingDiscard||P.confirmingDeleteId!==null||P.replyDraft.trim()!==``||P.editingCommentId!==null&&P.editingCommentId!==t.id,onStartEdit:()=>F.startEdit(t),onEditDraftChange:F.changeEditDraft,onSaveEdit:()=>{F.saveEdit(t.id)},onCancelEdit:F.cancelEdit,onKeepEdit:F.keepEdit,onDiscardEdit:F.discardEdit,onRequestDelete:()=>F.requestDelete(t.id),onCancelDelete:F.cancelDelete,onDelete:()=>{F.deleteComment(t.id)},onAddReaction:e=>f(t.id,e),onRemoveReaction:e=>p(t.id,e),onBurstReaction:M,onMarkUnread:t.kind===`root`&&e.root.buildNumber!==null?()=>void te():void 0,markUnreadDisabled:E||A||r!==null},t.id))}),e.root.buildNumber!==null||P.confirmingDiscard?(0,W.jsx)(`div`,{className:`review-thread-conversation__footer${B&&!P.confirmingDiscard?` review-thread-conversation__footer--blocked`:``}`,children:(0,W.jsx)(yn,{blockedLabel:B,confirmingDiscard:P.confirmingDiscard,replyDraft:P.replyDraft,replyBodyTooLong:P.replyBodyTooLong,replyFailed:P.replyFailed,replyDisabled:r!==null||P.editingCommentId!==null,replying:r?.kind===`reply`&&r.commentId===e.root.id,copy:i,onKeepDraft:F.keepDraft,onDiscardDraft:F.discardAndClose,onSubmit:()=>{F.submitReply()},onDraftChange:F.changeReplyDraft})}):null]}),N]})}function Pn({selectionNotice:e,rateLimitNotice:t,composer:n,conversation:r}){return(0,W.jsxs)(W.Fragment,{children:[e||t?(0,W.jsxs)(`div`,{className:`canvas-selection-notice`,role:`alert`,children:[e?(0,W.jsx)(`div`,{children:e}):null,t?(0,W.jsx)(`div`,{children:t}):null]}):null,n?(0,W.jsx)(`div`,{className:`canvas-composer-shell`,children:(0,W.jsx)(vn,{...n})}):null,r?(0,W.jsx)(`div`,{className:`canvas-conversation-shell`,children:(0,W.jsx)(Nn,{...r},r.thread.root.id)}):null]})}function Fn({preference:e,disabled:t=!1}){let n=(0,H.useId)(),r=(0,H.useId)(),i=(0,H.useId)(),a=(0,H.useId)();return(0,W.jsxs)(`section`,{className:`canvas-hub-section`,"aria-labelledby":n,children:[(0,W.jsx)(U.Heading,{as:`h3`,size:`subhead-medium`,id:n,children:pe.settings}),(0,W.jsxs)(`div`,{className:`canvas-publish-settings__option`,children:[(0,W.jsx)(`label`,{id:r,htmlFor:i,children:pe.alwaysCommit}),(0,W.jsx)(lt,{className:`canvas-publish-settings__toggle`,id:i,"aria-labelledby":r,"aria-describedby":e.error?a:void 0,checked:e.remember===!0,disabled:e.loading||e.remember===null,"aria-disabled":e.saving||t||void 0,onChange:n=>{!e.saving&&!t&&e.save(n)},size:`small`})]}),e.error?(0,W.jsxs)(`div`,{id:a,className:`canvas-publish-settings__error`,children:[(0,W.jsx)(fe,{title:e.error,variant:`critical`,layout:`compact`}),(0,W.jsx)(U.Button,{size:`small`,disabled:e.loading||e.saving,onClick:()=>void e.retry(),children:pe.retrySettings})]}):null]})}function In(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ln(e){return!In(e)||typeof e.pathname!=`string`||typeof e.search!=`string`||typeof e.hash!=`string`?null:{pathname:e.pathname,search:e.search,hash:e.hash}}function Rn({config:e,frameRef:t,onRouteChange:n,status:r,onStatusChange:i,onSelectHub:a,onConnect:o,onDisconnected:s,connectionButtonRef:c,connecting:l=!1,publication:u,publicationBusy:d=!1,dirty:f=!1,onPublish:p,onRetryPublication:m,publishPreference:h,open:g,onClose:_}){let[v,y]=(0,H.useState)({identity:``,items:[]}),b=r?.prototype?.repositoryId,x=r?.prototype?.id,S=r?.state===`connected`,C=r?.hubOrigin,w=(0,H.useMemo)(()=>({load:async()=>{if(!S||!C)throw Error(q.mentionSuggestionsError);return sn.parse(await $(`/api/hub/mention-candidates?repositoryId=${b}&prototypeId=${x}`,e.token)).candidates},copy:{suggestions:q.mentionSuggestions,error:q.mentionSuggestionsError,loading:q.mentionSuggestionsLoading,empty:q.mentionSuggestionsEmpty,retry:xt.retryLabel,limit:q.mentionLimit}}),[e.token,S,C,b,x]),[T,E]=(0,H.useState)(!1),[D,O]=(0,H.useState)(bt),[k,A]=(0,H.useState)(!0),[j,N]=(0,H.useState)(null),[P,F]=(0,H.useState)(null),[I,R]=(0,H.useState)(``),[z,B]=(0,H.useState)(``),[ee,V]=(0,H.useState)(``),[te,ne]=(0,H.useState)(``),[re,ie]=(0,H.useState)(!1),[ae,oe]=(0,H.useState)(!1),[se,G]=(0,H.useState)(!1),[K,ce]=(0,H.useState)(r?.discovery?.mismatch&&r.discovery.origin||r?.hubOrigin||``),[le,ue]=(0,H.useState)(!1),[de,pe]=(0,H.useState)(!1),[me,he]=(0,H.useState)(``),[ge,_e]=(0,H.useState)(``),[ve,ye]=(0,H.useState)(``),[be,J]=(0,H.useState)(!1),[xe,Se]=(0,H.useState)(null),[Ce,we]=(0,H.useState)(!1),[Te,Ee]=(0,H.useState)(new Map),[De,Oe]=(0,H.useState)(!1),[Y,ke]=(0,H.useState)(``),[je,Me]=(0,H.useState)(null),[Ne,Pe]=(0,H.useState)(!1),[Z,Fe]=(0,H.useState)(null),[Ie,Le]=(0,H.useState)(null),[Re,ze]=(0,H.useState)(!1),[Be,Ve]=(0,H.useState)(null),He=(0,H.useRef)(!1),Ue=(0,H.useRef)(0),We=(0,H.useRef)(!1),Ge=(0,H.useRef)(0),Ke=(0,H.useRef)(``),qe=(0,H.useRef)(``),Je=(0,H.useRef)(void 0),Ye=(0,H.useRef)(0),Xe=(0,H.useRef)(null),Ze=(0,H.useRef)(null),Qe=(0,H.useRef)(!1),$e=(0,H.useRef)(``),nt=(0,H.useRef)(g),at=(0,H.useRef)(void 0),ot=`${r?.hubOrigin??``}/${r?.repository??``}/${r?.branch??``}/${r?.state===`connected`?r.prototype?.id??``:``}`,lt=r?.reviewRevision,ut=lt?.id,dt=`${ot}/revision/${ut??``}`,ft=r?r.discovery?.mismatch&&r.discovery.origin||r.hubOrigin||``:null,pt=(0,H.useRef)(ft),mt=r?.state,ht=mt===`unavailable`||mt===`denied`,gt=(0,H.useRef)(mt);(0,H.useEffect)(()=>{if(ft===null||pt.current===ft)return;let e=window.setTimeout(()=>{ce(ft),pt.current=ft},0);return()=>window.clearTimeout(e)},[ft]),(0,H.useEffect)(()=>{if(!mt||gt.current===mt)return;if(mt!==`connected`&&mt!==`undiscovered`){gt.current=mt;return}let e=window.setTimeout(()=>{G(!1),gt.current=mt},0);return()=>window.clearTimeout(e)},[mt]);let _t=ln({identity:ot,enabled:r?.repositoryAuthorized===!0,ready:De,bridgeProblem:Y,token:e.token}),St=(0,H.useMemo)(()=>v.identity===dt?v.items:[],[v,dt]),wt=(0,H.useMemo)(()=>Ct(St),[St]),Tt=(0,H.useMemo)(()=>{let e=new Map(wt.flatMap(e=>e.participants.map(e=>[e.login.toLowerCase(),e])));return Array.from(e.values()).sort((e,t)=>(e.name||e.login).localeCompare(t.name||t.login))},[wt]),Et=(0,H.useMemo)(()=>{let e=new Map;for(let t of wt){let n=t.root.id,r=Te.get(n);if(r)e.set(n,{commentId:n,status:`resolved`,point:r,rect:r.rect});else if(De){let r=t.root.anchor.route;e.set(n,{commentId:n,status:j&&(r.pathname!==j.pathname||r.search!==j.search||r.hash!==j.hash)?`route-mismatch`:`missing`})}}return e},[De,Te,j,wt]),Dt=wt.find(e=>e.root.id===P),Q=r?.state===`connected`?r.prototype:null,Ot=r?.state===`disconnected`||r?.state===`pairing`||r?.state===`unconfigured`,kt=Q?.build?.author.login,At=kt&&/^[a-z\d](?:[a-z\d]|-(?=[a-z\d])){0,38}(?:\[bot\])?$/i.test(kt)?`https://github.com/${encodeURIComponent(kt)}`:null,jt=Q?.build?.author.name?.trim()||(At?kt:null)||q.unknownCommitAuthor,Mt=Q?.canEdit&&Q.registered,Nt=Q?.id,Pt=Q?.build??null,Ft=Q?.viewerLogin||r?.viewerLogin,It=(0,H.useMemo)(()=>Ft?wt.filter(e=>on(e,{filters:D,viewerLogin:Ft,selectedBuildNumber:ut?null:Pt?.number,selectedDraftRevisionId:ut,route:j})):wt,[Pt?.number,ut,D,j,Ft,wt]),Lt=It.length,Rt=It.some(e=>e.unread),zt=!(!lt||r?.reviewError),Bt=!!(r?.repositoryAuthorized&&r.branch&&r.viewerLogin)||!!Q,Vt=Z!==null||Ce||Be!==null||Ne,Ht=g&&!T,Ut=typeof document>`u`?null:document.getElementById(`canvas-review-controls`),Wt=Z?Z.kind===`element`?{x:Z.rect.x-Z.viewport.scrollX+Z.rect.width*Z.elementOffset.x,y:Z.rect.y-Z.viewport.scrollY+Z.rect.height*Z.elementOffset.y}:st(Z,{x:Z.rect.x-Z.viewport.scrollX,y:Z.rect.y-Z.viewport.scrollY,width:Z.rect.width,height:Z.rect.height}).point:null;(0,H.useLayoutEffect)(()=>($e.current=ot,Ye.current+=1,Qe.current=!1,()=>window.clearTimeout(at.current)),[ot]),(0,H.useLayoutEffect)(()=>{Ke.current=dt,Ge.current+=1},[dt]),(0,H.useLayoutEffect)(()=>{g&&Xe.current?.focus({preventScroll:!0})},[g]),(0,H.useLayoutEffect)(()=>{!Z&&!Be&&!Ce&&Qe.current&&(Qe.current=!1,Ze.current?.focus({preventScroll:!0}))},[Z,Be,Ce]),(0,H.useEffect)(()=>{let e=nt.current;if(nt.current=g,!g||e||!T)return;if(Ce){_();return}let t=window.setTimeout(()=>{E(!1),F(null)},0);return()=>window.clearTimeout(t)},[T,Ce,_,g]),(0,H.useEffect)(()=>{if(!g)return;function e(e){e.key!==`Escape`||e.defaultPrevented||e.target instanceof Element&&e.target.closest(`[role="dialog"], dialog, [role="menu"]`)||(e.preventDefault(),_())}return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[g,_]);let Kt=be&&xe===ot,qt=JSON.stringify(e.pickAndPolish||e.improvementNotesDemo?[]:wt.slice(0,200).map(({root:e})=>({id:e.id,anchor:e.anchor}))),Jt=(0,H.useCallback)(async()=>{if(!Bt||We.current||Ke.current!==dt)return;let t=dt,n=++Ge.current,r=Ue.current;ie(!0),oe(!1);try{let i=[],a=null;for(let t=0;t<100;t+=1){let n=rn.parse(await $(`/api/hub/comments${a||ut?`?${new URLSearchParams({...a?{cursor:a}:{},...ut?{local_revision_id:String(ut)}:{}})}`:``}`,e.token));if(i.push(...n.comments),a=n.nextCursor,!a)break;if(t===99)throw Error(q.commentPagesExceeded)}if(Ke.current!==t||Ge.current!==n||Ue.current!==r)return;y({identity:t,items:i}),oe(!1),R(``)}catch(e){Ke.current===t&&Ge.current===n&&Ue.current===r&&(oe(!0),R(e instanceof Error?e.message:String(e)))}finally{Ke.current===t&&Ge.current===n&&Ue.current===r&&ie(!1)}},[e.token,ut,Bt,dt]),Yt=(0,H.useRef)(Jt);(0,H.useLayoutEffect)(()=>{Yt.current=Jt},[Jt]),(0,H.useEffect)(()=>{let e=window.setTimeout(()=>{y({identity:Ke.current,items:[]}),E(!1),O(bt),A(!0),N(null),F(null),we(!1),J(!1),Se(null),he(``),_e(``),Ve(null),He.current=!1,We.current=!1,Ue.current+=1,Ee(new Map),Oe(!1),Me(null),Pe(!1),Fe(null),Le(null),B(``),V(``),oe(!1)},0);return()=>window.clearTimeout(e)},[ot]),(0,H.useEffect)(()=>{if(!Bt)return;let e=window.setTimeout(()=>void Jt(),0);return()=>window.clearTimeout(e)},[Bt,Jt]),(0,H.useEffect)(()=>{if(!Bt)return;let e=window.setInterval(()=>void Jt(),3e4);return()=>window.clearInterval(e)},[Bt,Jt]),(0,H.useEffect)(()=>{if(!Nt)return;let t=new AbortController,n,r=5e3;async function i(){let a=Date.now();try{let n=await fetch(`/api/hub/events`,{headers:{"X-Replica-Canvas-Token":e.token},signal:t.signal});if(!n.ok||!n.body)throw Error(`Live review connection unavailable.`);ze(!1);let r=n.body.getReader(),i=new TextDecoder,a=``;for(;!t.signal.aborted;){let{value:e,done:t}=await r.read();if(t)throw Error(`Live review connection closed.`);a+=i.decode(e,{stream:!0});let n=a.split(` `);a=n.pop()||``;for(let e of n)if(e.startsWith(`event: comments -`)&&Mt(),e.startsWith(`event: error -`))throw Error(`Live review connection failed.`)}}catch{t.signal.aborted||Ie(!0)}t.signal.aborted||(Date.now()-a>=3e4&&(r=5e3),n=window.setTimeout(()=>void i(),r),r=Math.min(r*2,6e4))}return i(),()=>{t.abort(),window.clearTimeout(n)}},[qe,ht,e.token,Mt]);let Nt=(0,V.useCallback)((n,r={})=>{let i=t.current;return!i?.contentWindow||!He.current?!1:(i.contentWindow.postMessage({type:n,nonce:He.current,...r},new URL(e.previewUrl??e.prototypeUrl).origin),!0)},[e.prototypeUrl,e.previewUrl,t]),Pt=(0,V.useCallback)(t=>{e.pickAndPolish||e.improvementNotesDemo||!Ee||!Tt||Et||(F(null),Pe(null),Ae(t),_(),Nt(`replica:canvas:select`,{mode:t}))},[e.improvementNotesDemo,e.pickAndPolish,Ee,Tt,_,Et,Nt]),Ft=(0,V.useCallback)(()=>{J&&(Nt(`replica:canvas:cancel-selection`),Ae(null))},[J,Nt]),It=(0,V.useCallback)(()=>{Nt(`replica:canvas:clear-selection`),Me(null),Pe(null)},[Nt]);(0,V.useEffect)(()=>{let r=t.current;if(!r){Te(new Map),De(!1);return}let i=new URL(e.previewUrl??e.prototypeUrl).origin,a=JSON.parse(jt),o=new Set(a.map(({id:e})=>e)),s=Date.now(),c=!1;function l(){He.current=crypto.randomUUID(),s=Date.now(),c=!1,De(!1),ke(``),Te(new Map),r?.contentWindow?.postMessage({type:`replica:canvas:request-ready`,nonce:He.current},i),u()}function u(){a.length&&r?.contentWindow?.postMessage({type:`replica:canvas:resolve`,nonce:He.current,anchors:a},i)}function d(t){let a=t.data;if(t.source===r?.contentWindow&&t.origin===i&&In(a)&&a.nonce===He.current){if(a.type===`replica:canvas:bridge-error`)De(!1),ke(G.commentingMissing);else if(a.type===`replica:canvas:ready`){if(a.protocolVersion!==1){c=!0,De(!1),ke(G.commentingIncompatible);return}if(!Ln(a.route))return;s=Date.now(),c=!1,De(!0),ke(``),N(Ln(a.route)),n?.(Ln(a.route),a.replaceRoute===!0)}else if(!c){if(a.type===`replica:canvas:conversation-dismiss-requested`)window.dispatchEvent(new Event(`replica:review-dismiss`));else if(a.type===`replica:canvas:resolved`){if(a.protocolVersion!==1||!Ln(a.route)||!Array.isArray(a.results)||a.results.length>200)return;s=Date.now(),De(!0),ke(``),N(Ln(a.route)),n?.(Ln(a.route),a.replaceRoute===!0);let e=new Map;for(let t of a.results){if(!In(t)||typeof t.id!=`number`||typeof t.x!=`number`||typeof t.y!=`number`||!o.has(t.id)||!Number.isFinite(t.x)||!Number.isFinite(t.y)||t.x<0||t.y<0||t.x>r.clientWidth||t.y>r.clientHeight)continue;let n=In(t.rect)&&typeof t.rect.x==`number`&&typeof t.rect.y==`number`&&typeof t.rect.width==`number`&&typeof t.rect.height==`number`&&Number.isFinite(t.rect.x)&&Number.isFinite(t.rect.y)&&Number.isFinite(t.rect.width)&&Number.isFinite(t.rect.height)&&t.rect.width>=0&&t.rect.height>=0?{x:t.rect.x,y:t.rect.y,width:t.rect.width,height:t.rect.height}:{x:t.x,y:t.y,width:0,height:0};e.set(t.id,{x:t.x,y:t.y,rect:n})}Te(e)}else if(a.type===`replica:canvas:selected`){if(e.pickAndPolish||e.improvementNotesDemo)return;let t=Gt.safeParse(a.anchor);if(!t.success){Nt(`replica:canvas:cancel-selection`),Nt(`replica:canvas:clear-selection`),Ae(null),Pe(In(a.anchor)&&a.anchor.kind===`area`?`area-unavailable`:`element-unavailable`);return}Me(t.data),Ae(null),Pe(null)}else a.type===`replica:canvas:selection-failed`&&(a.reason===`element-unavailable`||a.reason===`area-too-small`||a.reason===`area-unavailable`)?(Ae(null),Pe(a.reason)):a.type===`replica:canvas:selection-cancelled`&&Ae(null)}}}function f(){Ae(null),Me(null),Pe(null),l()}r.addEventListener(`load`,f),window.addEventListener(`message`,d),l();let p=window.setInterval(()=>{Date.now()-s>=2e4&&(De(!1),Te(new Map),ke(c?G.commentingIncompatible:G.commentingMissing)),r.contentWindow?.postMessage({type:`replica:canvas:request-ready`,nonce:He.current},i),u()},2e3);return()=>{r.removeEventListener(`load`,f),window.removeEventListener(`message`,d),window.clearInterval(p)}},[qe,jt,e.prototypeUrl,e.improvementNotesDemo,e.pickAndPolish,e.previewUrl,t,n,Nt]);async function Lt(t,n,r,i){let a=qe,o=i?.kind===`add-reaction`||i?.kind===`remove-reaction`||i?.kind===`mark-unread`;if(i){if(ze.current)return!1;ze.current=!0,Re(i)}o&&(Ve.current=!0,Be.current+=1),B(``);try{let i=await $(`/api/hub/comments/${t}`,e.token,{method:n,...r?{body:JSON.stringify(r)}:{}});if(We.current!==a)return!1;if(o){let e=an.parse(i);y(t=>{if(t.identity!==a)return t;let n=new Map(t.items.map(e=>[e.id,e]));for(let t of e.comments)n.set(t.id,t);return{identity:a,items:[...n.values()]}})}return o||(Ke.current=window.setTimeout(()=>void Mt(),0)),!0}catch(e){return We.current===a&&(R(e instanceof Error?e.message:String(e)),e instanceof Error&&`statusCode`in e&&e.statusCode===429&&B(e.message)),!1}finally{i&&We.current===a&&(o&&(Ve.current=!1,Be.current+=1,Ke.current=window.setTimeout(()=>void Mt(),0)),ze.current=!1,Re(null))}}async function Rt(t){if(!gt||!X||ze.current)return!1;let n=qe;ze.current=!0,Re({kind:`create`}),B(``);try{let r=an.parse(await $(`/api/hub/comments`,e.token,{method:`POST`,body:JSON.stringify({review_comment:{build_number:gt.number,body:t,anchor:X}})}));if(We.current!==n)return!1;let i=r.comments.find(e=>e.kind===`root`);return i?(y(e=>{if(e.identity!==n)return e;let t=new Map(e.items.map(e=>[e.id,e]));for(let e of r.comments)t.set(e.id,e);return{identity:n,items:[...t.values()]}}),It(),F(i.id),!0):!1}catch(e){return We.current===n&&(R(e instanceof Error?e.message:String(e)),e instanceof Error&&`statusCode`in e&&e.statusCode===429&&B(e.message)),!1}finally{We.current===n&&(ze.current=!1,Re(null))}}function zt(){Et||(T?(F(null),E(!1)):(E(!0),g&&_()))}let Bt=r?.repository&&r.branch?`https://github.com/${r.repository.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}/tree/${encodeURIComponent(r.branch)}`:null,Vt=r?.branch&&Bt?(0,U.jsxs)(`a`,{className:`canvas-hub-publication__branch`,href:Bt,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`Open ${r.branch} on GitHub`,children:[(0,U.jsx)(M,{size:16,"aria-hidden":`true`}),(0,U.jsx)(`span`,{children:r.branch})]}):r?.branch?(0,U.jsxs)(`span`,{className:`canvas-hub-publication__branch`,children:[(0,U.jsx)(M,{size:16,"aria-hidden":`true`}),(0,U.jsx)(`span`,{children:r.branch})]}):null,Ht=(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(H.Heading,{as:`h3`,size:`subhead-medium`,id:`canvas-hub-origin-title`,children:`Hub`}),r&&r.state!==`unconfigured`?(0,U.jsx)(`div`,{className:`canvas-hub-origin`,children:r.hubOrigin?(0,U.jsx)(`a`,{href:Q?new URL(`/repositories/${Q.repositoryId}/prototypes/${Q.id}`,r.hubOrigin).href:r.hubOrigin,target:`_blank`,rel:`noopener noreferrer`,children:r.hubOrigin}):(0,U.jsx)(`span`,{children:`URL unavailable`})}):null,oe||r?.state===`disconnected`||r?.state===`unconfigured`?(0,U.jsxs)(`form`,{className:`canvas-hub-origin-form`,onSubmit:e=>{e.preventDefault(),!(W||de)&&(ue(!0),se(!0),R(``),a(ce).then(()=>{se(!1)}).catch(e=>R(e.message)).finally(()=>ue(!1)))},children:[(0,U.jsxs)(`div`,{className:`canvas-hub-origin-field`,children:[(0,U.jsxs)(`label`,{children:[G.hubUrl,(0,U.jsx)(`input`,{type:`url`,required:!0,value:ce,placeholder:`https://hub.example.com`,disabled:W||de,onChange:e=>le(e.target.value)})]}),(0,U.jsx)(H.Button,{type:`button`,size:`small`,variant:`subtle`,className:`canvas-icon-button`,leadingVisual:(0,U.jsx)(L,{size:16}),"aria-label":G.resetHubUrl,title:G.resetHubUrl,disabled:W||de,"aria-busy":de,onClick:()=>{fe(!0),R(``),$(`/api/hub/discovery`,e.token,{method:`POST`,body:`{}`}).then(async e=>{if(e.discovery?.state!==`valid`||!e.discovery.origin)throw Error(e.discovery?.message||G.resetHubUnavailable);le(e.discovery.origin),await i()}).catch(e=>R(e.message)).finally(()=>fe(!1))},children:(0,U.jsx)(`span`,{className:`visually-hidden`,children:G.resetHubUrl})})]}),(0,U.jsx)(`p`,{children:G.hubHttpsHint}),(0,U.jsxs)(`div`,{className:`canvas-hub-form-actions`,children:[(0,U.jsx)(H.Button,{type:`submit`,size:`small`,disabled:W||de,children:`Save Hub`}),oe&&r?.state!==`unconfigured`&&r?.state!==`disconnected`?(0,U.jsx)(H.Button,{type:`button`,size:`small`,variant:`subtle`,disabled:W||de,onClick:()=>se(!1),children:`Cancel`}):null]})]}):null]});return(0,U.jsxs)(it,{source:w,children:[$e.visible?(0,U.jsx)(cn,{...$e}):null,Q&&Ot&&!e.pickAndPolish&&!e.improvementNotesDemo?(0,tt.createPortal)((0,U.jsxs)(`div`,{className:`canvas-review-controls review-shell__comment-actions`,role:`group`,"aria-label":bt.heading,children:[(0,U.jsx)(vt,{bridgeReady:Ee&&Tt,copy:bt,selectionBlocked:Et,selecting:J!==null,onCancelSelection:Ft,onStartAreaSelection:()=>Pt(`area`),onStartElementSelection:()=>Pt(`element`)}),(0,U.jsx)(H.Tooltip,{text:Et?bt.selectionBlockedLabel:`${bt.heading} (${bt.sidebarShortcutLabel})`,type:`description`,children:(0,U.jsxs)(H.Button,{className:`canvas-comments-toggle review-shell__comments-toggle`,variant:`secondary`,size:`small`,"aria-label":`${bt.heading}, ${Ct}${wt?`, ${bt.unreadLabel}`:``}`,"aria-expanded":T,"aria-keyshortcuts":`Shift+C`,disabled:!gt||Et,onClick:zt,children:[(0,U.jsx)(nt,{children:Ct}),wt?(0,U.jsx)(`span`,{className:`canvas-comments-unread-badge review-shell__unread-badge`,"aria-hidden":`true`}):null]})})]}),Ot):null,k&&xt.length&&Ee?(0,U.jsx)(`div`,{className:`canvas-marker-layer`,children:(0,U.jsx)(lt,{threads:xt,resolutions:st,selectedThreadId:P,selectionBlocked:Se,focusSelectedMarker:!1,showAreaHighlightsOnlyWhenSelected:!0,copy:bt,onSelect:e=>F(e.root.id)})}):null,(0,U.jsxs)(at,{className:`canvas-hub-panel`,contentClassName:`canvas-hub-content`,title:`Replica Hub`,label:`Hub`,open:Dt,closeLabel:`Close Hub`,closeRef:Ue,onClose:_,children:[I?(0,U.jsx)(`p`,{role:`alert`,children:I}):null,ee?(0,U.jsx)(`p`,{role:`alert`,children:ee}):null,r?null:(0,U.jsx)(`p`,{children:`Checking Hub connection…`}),!ut&&!Ze&&r?.message?(0,U.jsx)(`p`,{role:`status`,children:r.message}):null,Ze?(0,U.jsxs)(`div`,{className:`canvas-hub-status`,children:[(0,U.jsx)(me,{variant:`warning`,layout:`compact`,title:r?.message||Y.hubUnavailable}),(0,U.jsx)(H.Button,{variant:`primary`,size:`small`,disabled:d,"aria-busy":d,leadingVisual:d?(0,U.jsx)(L,{size:16}):void 0,onClick:m||(()=>void i()),children:Y.retry})]}):null,!ut&&!Ze&&u&&p&&m?(0,U.jsx)(je,{publication:u,busy:d,dirty:f,onPublish:p,onRetry:m}):null,ut?(0,U.jsxs)(`section`,{className:`canvas-hub-connection`,children:[(0,U.jsx)(`p`,{children:G.connectionBeforePublishing}),(0,U.jsx)(H.Button,{ref:c,variant:`primary`,onClick:o,disabled:l,children:l?G.connectionOpeningBrowser:G.connectToHub})]}):null,!ut&&(!oe&&(r?.discovery?.mismatch||[`invalid`,`unreachable`].includes(r?.discovery?.state||``))||r?.state===`unconfigured`)?(0,U.jsxs)(`div`,{className:`canvas-hub-settings`,children:[!oe&&r?.discovery?.mismatch?(0,U.jsx)(`p`,{role:`alert`,children:`The repository configuration differs from your selected Hub. Your connection has not changed. Disconnect Hub before selecting another URL.`}):null,!oe&&[`invalid`,`unreachable`].includes(r?.discovery?.state||``)?(0,U.jsx)(`p`,{role:`alert`,children:r?.discovery?.message}):null,r?.state===`unconfigured`?(0,U.jsx)(`p`,{children:`Enter your Hub URL to connect.`}):null]}):null,r?.state===`undiscovered`&&!u?(0,U.jsxs)(`p`,{children:[`Connected to `,r.repository,`. Hub has not discovered`,` `,r.branch||`a prototype branch`,`. Your repository connection is ready. Push a named branch to make its Builds and reviews available.`]}):null,Q?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`section`,{className:u&&u.kind!==`ready`&&p&&m?`canvas-hub-publication canvas-hub-publication--after-status`:`canvas-hub-publication`,"aria-label":`Prototype`,children:mt&&At?(0,U.jsxs)(`form`,{className:`canvas-hub-publication__form`,onSubmit:t=>{t.preventDefault(),$(`/api/hub/metadata`,e.token,{method:`PATCH`,body:JSON.stringify({name:pe,description:he,startPage:_e})}).then(async()=>{be(!1),await i()}).catch(e=>R(e.message))},children:[(0,U.jsxs)(`div`,{className:`canvas-hub-publication__title`,children:[(0,U.jsxs)(`label`,{className:`canvas-hub-publication__name-field`,children:[(0,U.jsx)(`span`,{className:`visually-hidden`,children:`Name`}),(0,U.jsx)(`input`,{required:!0,maxLength:255,value:pe,onChange:e=>K(e.target.value)})]}),(0,U.jsx)(`span`,{className:`canvas-hub-publication__status`,children:Q.published?`Published`:Q.registered?`Registered`:`Not registered`})]}),Vt,(0,U.jsxs)(`label`,{className:`canvas-hub-publication__description-field`,children:[(0,U.jsx)(`span`,{className:`visually-hidden`,children:`Description`}),(0,U.jsx)(`textarea`,{value:he,placeholder:`Add a description`,onChange:e=>ge(e.target.value)})]}),(0,U.jsxs)(`label`,{className:`canvas-hub-publication__start-page-field`,children:[G.startPage,(0,U.jsx)(`input`,{value:_e,placeholder:`/`,"aria-describedby":`canvas-start-page-hint`,onChange:e=>ve(e.target.value)})]}),(0,U.jsx)(`p`,{id:`canvas-start-page-hint`,className:`canvas-hub-publication__hint`,children:G.startPageHint}),(0,U.jsxs)(`div`,{className:`canvas-hub-form-actions`,children:[(0,U.jsx)(H.Button,{type:`submit`,size:`small`,children:`Save metadata`}),(0,U.jsx)(H.Button,{type:`button`,size:`small`,variant:`subtle`,onClick:()=>be(!1),children:`Cancel`})]})]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`div`,{className:`canvas-hub-publication__title`,children:[(0,U.jsx)(H.Heading,{as:`h3`,size:`subhead-large`,children:Q.name||r?.branch}),(0,U.jsx)(`span`,{className:`canvas-hub-publication__status`,children:Q.published?`Published`:Q.registered?`Registered`:`Not registered`})]}),Vt,Q.description?(0,U.jsx)(`p`,{className:`canvas-hub-publication__description`,children:Q.description}):null,(0,U.jsxs)(`p`,{className:`canvas-hub-publication__description canvas-hub-publication__start-page`,children:[G.startPage,`: `,(0,U.jsx)(`code`,{children:Q.startPage||`/`})]}),mt?(0,U.jsx)(H.Button,{size:`small`,variant:`subtle`,onClick:()=>{K(Q.name||``),ge(Q.description||``),ve(Q.startPage||``),q(qe),be(!0)},children:G.editDetails}):null]})}),(0,U.jsxs)(`section`,{className:`canvas-hub-section`,"aria-labelledby":`canvas-hub-build-title`,children:[(0,U.jsx)(H.Heading,{as:`h3`,size:`subhead-medium`,id:`canvas-hub-build-title`,children:G.latestBuild}),Q.build?(0,U.jsxs)(`div`,{className:`canvas-hub-build`,children:[(0,U.jsxs)(`div`,{className:`canvas-hub-build__identity`,children:[(0,U.jsx)(`a`,{href:Q.build.url,target:`_blank`,rel:`noopener noreferrer`,children:G.buildTitle(Q.build.number)}),(0,U.jsx)(`code`,{title:Q.build.commitSha,"aria-label":`${G.buildCommit} ${Q.build.commitSha}`,children:Q.build.commitSha.slice(0,7)})]}),(0,U.jsx)(`p`,{children:ft?(0,U.jsx)(`a`,{className:`canvas-hub-build__author`,href:ft,target:`_blank`,rel:`noopener noreferrer`,children:pt}):(0,U.jsx)(`span`,{children:pt})}),r?.commitSha&&r.commitSha!==Q.build.commitSha?(0,U.jsx)(`p`,{className:`canvas-hub-build__notice`,children:`Local checkout differs from this Build`}):null]}):(0,U.jsxs)(`p`,{children:[`No successful imported Build yet. Current Build: `,Q.buildState||`none`,`.`]}),Q.build&&r?.hubOrigin?(0,U.jsx)(`a`,{className:`canvas-hub-build__history`,href:new URL(`/repositories/${Q.repositoryId}/prototypes/${Q.id}/builds`,r.hubOrigin).href,target:`_blank`,rel:`noopener noreferrer`,children:G.showBuildHistory}):null]})]}):null,ut?null:(0,U.jsxs)(`section`,{className:`canvas-hub-section`,"aria-labelledby":`canvas-hub-origin-title`,children:[Ht,r?.hubOrigin&&[`connected`,`undiscovered`,`pairing`,`denied`,`unavailable`].includes(r.state)?(0,U.jsx)(`div`,{className:`canvas-hub-disconnect`,children:(0,U.jsx)(H.Button,{size:`small`,variant:`subtle`,onClick:()=>{te(``),$(`/api/hub/disconnect`,e.token,{method:`POST`,body:`{}`}).then(async()=>{le(r.discovery?.mismatch&&r.discovery.origin||r.hubOrigin||``),se(!0),await i(),s?.()}).catch(e=>{te(G.disconnectFailed(r.hubOrigin||``,e.message)),le(r.discovery?.mismatch&&r.discovery.origin||r.hubOrigin||``),se(!0)})},children:`Disconnect Hub`})}):null]}),Q?.registered&&Q.build&&h?(0,U.jsx)(Fn,{preference:h,disabled:d}):null]}),Q?(0,U.jsx)(_t,{frame:{open:T,className:`canvas-comments-sidebar-shell`,contentClassName:`canvas-comments-sidebar-content`},threads:xt,currentBuildNumber:gt?.number||0,buildLinkOrigin:r?.hubOrigin,totalCount:xt.length,hasThreads:rt.length>0,filters:D,participants:ot,resolutions:st,selectedThreadId:P,selectionBlocked:Et,closeBlocked:Se,showPins:k,loading:ne,loadFailed:ie,notice:Fe||gt&&!Tt?(0,U.jsxs)(`div`,{className:`canvas-comments-live-notices`,children:[Fe?(0,U.jsx)(`p`,{className:`canvas-comments-live-status`,role:`status`,children:`Live updates paused; checking every 30 seconds.`}):null,gt&&!Tt?(0,U.jsxs)(`p`,{className:`canvas-comments-live-status`,children:[`New comments are available when the local checkout matches Build #`,gt.number,`.`]}):null]}):null,copy:bt,onClose:zt,onFiltersChange:O,onShowPinsChange:A,onRetry:()=>void Mt(),onSelect:e=>F(e.root.id)}):null,(0,U.jsx)(Nn,{selectionNotice:Ne?Ne===`area-too-small`?bt.areaTooSmallLabel:Ne===`area-unavailable`?bt.areaUnavailableLabel:bt.selectionFailedLabel:null,rateLimitNotice:z&&!Dt?z:null,composer:X&&kt?{anchorPoint:kt,bodyMaximumBytes:1e4,copy:bt,creating:Le?.kind===`create`,onSubmit:Rt,onDiscard:It}:null,conversation:Z?{thread:Z,anchorPoint:we.get(Z.root.id)??null,bodyMaximumBytes:1e4,mutation:Le,copy:bt,onClose:()=>F(null),onDraftStateChange:Ce,onReply:e=>Lt(`${Z.root.id}/replies`,`POST`,{review_comment:{body:e}},{kind:`reply`,commentId:Z.root.id}),onEdit:(e,t)=>Lt(`${e}`,`PATCH`,{review_comment:{body:t}},{kind:`edit`,commentId:e}),onDelete:e=>Lt(`${e}`,`DELETE`,void 0,{kind:`delete`,commentId:e}),onResolve:()=>Lt(`${Z.root.id}/resolution`,`POST`,void 0,{kind:`resolve`,commentId:Z.root.id}),onReopen:()=>Lt(`${Z.root.id}/resolution`,`DELETE`,void 0,{kind:`reopen`,commentId:Z.root.id}),onAddReaction:(e,t)=>Lt(`${e}/reactions`,`POST`,{review_comment_reaction:{content:t,activity_version:Z.root.activityVersion}},{kind:`add-reaction`,commentId:e,content:t}),onRemoveReaction:(e,t)=>Lt(`${e}/reactions/${encodeURIComponent(t)}`,`DELETE`,{review_comment_reaction:{activity_version:Z.root.activityVersion}},{kind:`remove-reaction`,commentId:e,content:t}),onMarkRead:e=>Lt(`${Z.root.id}/read`,`POST`,{review_thread_read:{activity_version:e}}),onMarkUnread:()=>Lt(`${Z.root.id}/read`,`DELETE`,void 0,{kind:`mark-unread`,commentId:Z.root.id})}:null})]})}function zn(e,t,n){function r(e,t,n){return{kind:e,title:t,detail:n}}if(!e||!t)return n.kind===`unknown`?r(`retry`,J.unavailable,n.detail):r(`checking`,J.checking,J.checkingDetail);if(!e.stats.branch)return r(`restricted`,J.restricted,n.detail);if(t.repository&&t.repository!==e.stats.repository||t.branch&&t.branch!==e.stats.branch)return r(`retry`,J.unavailable,J.changedDetail);if(t.discovery?.state===`local`||e.stats.repository?.startsWith(`local/`))return r(`restricted`,J.restricted,J.local);if(t.registrationReason===`branch_not_reviewable`||e.stats.branch===t.discovery?.defaultBranch)return r(`restricted`,J.restricted,Y.registrationReasons.get(`branch_not_reviewable`).description);if([`disconnected`,`pairing`,`unconfigured`].includes(t.state))return r(`connect`,J.connect,J.connectDetail);if([`denied`,`unavailable`].includes(t.state))return r(`retry`,J.unavailable,t.message||J.unavailableDetail);if(t.repository!==e.stats.repository||t.branch!==e.stats.branch)return r(`retry`,J.unavailable,J.unavailableDetail);let i=t.prototype;if(t.state===`connected`&&i?.branch===e.stats.branch&&i.registered&&i.published&&i.build&&Number.isSafeInteger(i.build.number)&&i.build.number>0)return r(`ready`,J.ready,J.readyDetail);if(t.state===`connected`&&(!i||i.branch!==e.stats.branch||typeof i.published!=`boolean`||i.published))return r(`retry`,J.unavailable,J.unavailableDetail);let a=t.state===`connected`?i?.canEdit:t.canPublish;if(a===!1)return r(`restricted`,J.restricted,J.publishDenied);let o=e.stats.remoteBranch,s=t.state===`undiscovered`&&t.repositoryAuthorized===!0&&!i&&(!t.commitSha||t.commitSha===e.stats.commitSha)&&o?.repository===e.stats.repository&&o?.branch===e.stats.branch&&o?.commitSha===e.stats.commitSha&&(o?.state===`absent`||o?.state===`present`&&e.publishRequest?.commitSha===e.stats.commitSha&&([`requested`,`in_progress`].includes(e.publishRequest?.state??``)||e.publishRequest?.state===`idle`&&e.publishRequest.remoteState===`absent`))&&![`loading`,`unknown`,`detached`,`workflow_missing`].includes(n.kind),c=a===void 0&&s;if(a!==!0&&!c)return r(`retry`,J.unavailable,J.permissionUnknown);let l=t.registrationReason||i?.registrationReason;if(n.error&&(l!==`remote_branch_missing`||!s)){let e=[`successful_build_required`,`already_registered`].includes(l||``),t=[`write_access_required`,`repository_mismatch`,`branch_not_reviewable`,`remote_branch_missing`,`branch_authorship_required`].includes(l||``);return{...r(e?`progress`:t?`restricted`:`retry`,n.error.title,n.error.description),...e?{publication:{...n,action:`retry`,label:Y.retry}}:{}}}if(n.kind===`detached`)return r(`restricted`,J.restricted,n.detail);if(n.action===`retry`)return r(`retry`,J.unavailable,n.detail);if(n.kind===`loading`)return r(`checking`,J.checking,n.detail);let u=c?`${J.publishDetail} ${J.publishPermissionUnverified}`:J.publishDetail,d=s&&l===`remote_branch_missing`?{...n,error:void 0}:n;return n.action===`publish`?{...r(`publish`,J.publish,u),publication:d}:{...r(`progress`,J.preparing,u),publication:d}}function Bn({open:e,onToggle:t,buttonRef:n}){return(0,U.jsx)(W,{icon:ne,"aria-label":G.controls,description:G.controls,ref:n,size:`small`,variant:`default`,className:`canvas-controls-toggle`,"aria-expanded":e,onClick:t})}function Vn({toolbarRef:e,config:t,onPublish:n,publishButtonRef:r,hubButtonRef:i,titleButtonRef:a,onBuildDetails:o,publishing:s,state:c,prototypeName:l,hubOpen:u,onHub:d,publication:f,onControls:p,controlsOpen:m,controlsButtonRef:h,onShare:g,shareButtonRef:_}){let y=c?.publishStatus??{state:`unavailable`,detail:G.statusUnavailable},b=l?.trim()||c?.stats.branch||c?.name||t.name,x=c?[b,c.stats.repository,c.stats.commitSha?.slice(0,7),c.stats.workingTree===`changed`?G.workingTreeChanged:G.workingTreeClean,c.stats.urlHost].filter(Boolean).join(` · `):b,S=s||(f?f.action===`none`:y.state===`requested`||y.state===`in_progress`||y.state===`published`),C=s||(f?f.kind===`requested`||f.kind===`queued`||f.kind===`building`||f.kind===`importing`||f.kind===`awaiting_build`||f.kind===`registration`:y.state===`requested`||y.state===`in_progress`),w=!C&&(f?f.kind===`ready`:y.state===`published`),T=(0,U.jsx)(H.Button,{type:`button`,ref:r,className:`canvas-publish-button`,variant:`secondary`,size:`small`,leadingVisual:C?(0,U.jsx)(L,{size:16}):Hn(y.state),disabled:S&&!w,"aria-busy":C,title:w?void 0:f?.detail||y.detail,onClick:S||w?void 0:n,children:f?.label||G.publishLabels[y.state]});return(0,U.jsxs)(`header`,{ref:e,className:`canvas-toolbar`,children:[(0,U.jsx)(H.Button,{type:`button`,className:`canvas-title`,ref:a,variant:`subtle`,size:`small`,title:x,disabled:!c,onClick:o,children:b}),(0,U.jsx)(`div`,{id:`canvas-review-controls`,className:`canvas-review-controls-slot`}),t.pickAndPolish||t.improvementNotesDemo?(0,U.jsx)(`div`,{id:`canvas-improvement-controls`}):null,p?(0,U.jsx)(Bn,{buttonRef:h,open:m,onToggle:p}):null,d?(0,U.jsx)(H.Button,{type:`button`,ref:i,size:`small`,variant:`secondary`,className:`canvas-toolbar-compact-button`,leadingVisual:(0,U.jsx)(ie,{size:16}),"aria-label":G.editDetails,title:G.editDetails,"aria-expanded":u,onClick:d,children:(0,U.jsx)(`span`,{className:`canvas-toolbar-button-label`,children:G.editDetails})}):null,(0,U.jsxs)(`div`,{className:`canvas-publish-share`,role:`group`,"aria-label":q.group,children:[w?(0,U.jsx)(H.Tooltip,{ref:r,text:Y.alreadyPublished,type:`description`,children:T}):T,g?(0,U.jsx)(W,{ref:_,icon:v,size:`small`,"aria-label":q.title,description:q.title,onClick:g}):null]})]})}function Hn(e){return e===`published`?(0,U.jsx)(oe,{size:16}):e===`failed`||e===`in_progress`||e===`requested`?(0,U.jsx)(L,{size:16}):(0,U.jsx)(D,{size:16})}function Un(e,t,n){return{status:t?`pending`:e.status,url:n,error:t?``:e.error??``,controls:t?[]:e.scopes.flatMap(e=>e.declaration.controls.map(t=>Ye(e,t)))}}var Wn={bridgeUnavailable:`The prototype bridge is not ready on this page.`,routeChanged:`The prototype route changed. Inspect the live canvas again.`,reloaded:`The prototype reloaded before confirming the click. Inspect the live canvas and retry.`,unconfirmed:`The prototype did not confirm the click. Check its bridge and retry.`,clickFailed:`The target could not be clicked.`,addressUnavailable:`The canvas address field is unavailable.`,unknownAction:`Unknown canvas action.`,replyRejected:`The live canvas rejected the action reply. Check its transport diagnostics.`,actionInterrupted:`The canvas changed before the action could run. Inspect the live canvas and retry.`,statusInterrupted:`The canvas changed while collecting Controls status. Inspect the live canvas and retry.`};function Gn(e){let{token:t,prototypeUrl:n,previewUrl:r,cancelClick:i}=e,a=(0,V.useRef)(e),o=(0,V.useRef)(null);(0,V.useLayoutEffect)(()=>{a.current=e}),(0,V.useEffect)(()=>{o.current??=crypto.randomUUID();let e={"X-Replica-Renderer-Id":o.current},s=!1,c=!1,l=new AbortController,u=new URL(r??n).origin;async function d(e){let t=a.current.frameRef.current,n=a.current.liveRoute;if(!t?.contentWindow||!n)throw Error(Wn.bridgeUnavailable);if(e.route.pathname!==n.pathname||e.route.search!==n.search||e.route.hash!==n.hash)throw Error(Wn.routeChanged);let r=crypto.randomUUID();return await new Promise((n,a)=>{function o(){window.clearTimeout(c),window.removeEventListener(`message`,l),i.current===s&&(i.current=null)}function s(){o(),a(Error(Wn.reloaded))}let c=window.setTimeout(()=>{o(),a(Error(Wn.unconfirmed))},2e3);function l(i){let s=i.data;i.source===t?.contentWindow&&i.origin===u&&s&&typeof s==`object`&&`type`in s&&s.type===`replica:canvas:click-result`&&`nonce`in s&&s.nonce===r&&(o(),`clicked`in s&&s.clicked===!0?n({clicked:!0,route:e.route}):a(Error(Wn.clickFailed)))}i.current=s,window.addEventListener(`message`,l),t.contentWindow.postMessage({type:`replica:canvas:click`,nonce:r,...e},u)})}async function f(e){let t=a.current.frameRef.current,r=crypto.randomUUID(),i=Date.now()+e,o=await new Promise((n,o)=>{function s(){window.clearTimeout(d),window.removeEventListener(`message`,p),t?.removeEventListener(`load`,m),l.signal.removeEventListener(`abort`,c)}function c(){s(),o(Error(Wn.statusInterrupted))}let d=window.setTimeout(()=>{if(s(),a.current.liveRoute)o(Error(Wn.bridgeUnavailable));else{let e=new URL(a.current.navigation.entries[a.current.navigation.index]);e.protocol=new URL(u).protocol,e.host=new URL(u).host,n({status:`pending`,url:e.href,error:``,controls:[]})}},e+1500),f=!1;function p(e){let i=e.data;e.source===t?.contentWindow&&t===a.current.frameRef.current&&e.origin===u&&i&&typeof i==`object`&&`type`in i&&(i.type===`replica:canvas:ready`&&!f&&(f=!0,m()),i.type===`replica:controls:status-result`&&`nonce`in i&&i.nonce===r&&`value`in i&&(s(),n(i.value)))}function m(){t===a.current.frameRef.current&&t?.contentWindow?.postMessage({type:`replica:controls:status`,nonce:r,timeoutMs:Math.max(0,i-Date.now())},u)}window.addEventListener(`message`,p),t?.addEventListener(`load`,m),l.signal.addEventListener(`abort`,c),m()});if(!o||typeof o!=`object`||!(`url`in o)||typeof o.url!=`string`||!(`status`in o)||typeof o.status!=`string`||!(`error`in o)||typeof o.error!=`string`||!(`controls`in o)||!Array.isArray(o.controls))throw Error(Wn.bridgeUnavailable);let s=new URL(o.url);if(s.origin!==u)throw Error(Wn.routeChanged);let c=new URL(n);s.protocol=c.protocol,s.host=c.host;let d=await p(i);return!d&&a.current.controlsConnection===void 0?{...o,url:s.href}:{...d?Un(d,d.loading,s.href):{status:`pending`,url:s.href,error:``,controls:[]},runtime:{status:o.status,error:o.error,controls:o.controls}}}function p(e){let t=a.current.controlsConnection;if(!t)return Promise.resolve(null);let n=t.getSnapshot,r=t.subscribe,i=n();return!i.loading||e<=Date.now()?Promise.resolve(i):new Promise(t=>{let i={};function a(e){window.clearTimeout(c),i.unsubscribe?.(),l.signal.removeEventListener(`abort`,s),t(e)}function o(){let e=n();e.loading||a(e)}function s(){a(null)}let c=window.setTimeout(()=>a(n()),e-Date.now());i.unsubscribe=r(o),l.signal.addEventListener(`abort`,s,{once:!0}),o()})}async function m(){if(!(s||c)){s=!0;try{let{command:r,prototypeUrl:i}=await $(`/api/agent/next`,t,{headers:{...e,"X-Replica-Prototype-Url":n}});if(!c&&i&&i!==n){window.location.reload();return}if(!r)return;let o;try{if(await $(`/api/agent/progress`,t,{method:`POST`,headers:e,body:JSON.stringify({id:r.id,stage:`handler started`})}),c)throw Error(Wn.actionInterrupted);let n;if(r.type===`inspect`){let{appearance:e,navigation:t,liveRoute:r,addressRef:i}=a.current,o=i.current?.value;if(o===void 0)throw Error(Wn.addressUnavailable);n={address:t.entries[t.index],addressDraft:o,appearance:e,canGoBack:t.index>0,canGoForward:t.indexvoid m(),300);return()=>{c=!0,l.abort(),window.clearInterval(h),i.current?.()}},[n,r,t,i])}function Kn(e,t,n){let r=t?.repository===e?.stats.repository&&t?.branch===e?.stats.branch,i=!e?.stats.branch&&!!e?.stats.branchError,a=i?void 0:t?.branch,o=!!(e&&!i&&(t?.repository&&t.repository!==e.stats.repository||t?.branch&&t.branch!==e.stats.branch||t?.commitSha&&t.commitSha!==e.stats.commitSha)),s=!!(n.kind===`ready`&&r&&t?.state===`connected`&&t.prototype?.published&&t.prototype.build?.commitSha===e?.stats.commitSha);return{state:e&&{...e,publishStatus:!s&&[`requested`,`in_progress`].includes(e.publishStatus?.state??``)||t?.state===`connected`&&!r?e.publishStatus:s&&t?.prototype?.build?{state:`published`,detail:G.hubBuildImported,versionCount:t.prototype.versionCount,lastUpdatedAt:t.prototype.build.publishedAt,run:{url:t.prototype.build.url,actor:t.prototype.build.author.login||t.prototype.build.author.name?{login:t.prototype.build.author.login||void 0,name:t.prototype.build.author.name||void 0,avatarUrl:t.prototype.build.author.avatarUrl||void 0}:null}}:{state:t?.state===`connected`?`not_published`:`unavailable`,detail:t?.state===`connected`?G.hubBuildMissing:G.hubPublicationUnavailable},stats:{...e.stats,branch:a||e.stats.branch,branchError:a&&a!==e.stats.branch?null:e.stats.branchError,repository:t?.repository||e.stats.repository,commitSha:e.stats.commitSha,comparison:o?{branch:null,source:null,behind:null,error:G.comparisonNeedsRefresh}:e.stats.comparison,publishedUrl:s?t?.prototype?.build?.url:void 0}},hubPublished:s,comparisonOutdated:o}}function qn(e,t){let n;function r(e,t,r,i=`none`){return{kind:e,detail:t,label:r,action:i,...n?{error:n}:{}}}if(!e)return r(`loading`,Y.initial,Y.checking);let{stats:i}=e,a=i.remoteBranch;if(!a||a.state===`loading`)return r(`loading`,Y.checkingRemote,Y.checking);if(!i.branch||a.state===`detached`)return r(`detached`,Y.detached,Y.retry,`retry`);if(a.repository!==i.repository||a.branch!==i.branch||a.commitSha!==i.commitSha)return r(`unknown`,Y.changed,Y.retry,`retry`);if(a.state===`unknown`)return r(`unknown`,Y.unknown(a.error),Y.retry,`retry`);let o=t?.state===`connected`?t.prototype:void 0,s=o?.build?.commitSha===i.commitSha&&o?.branch===i.branch,c=e.publishRequest,l=t?.state===`connected`&&t.repository===i.repository&&t.branch===i.branch&&(!t.commitSha||t.commitSha===i.commitSha)&&t.prototype?.branch===i.branch&&t.prototype.build?.commitSha===i.commitSha?t.prototype.build:null,u=!!(l&&(c?.commitSha!==i.commitSha||c.buildNumber===void 0||typeof c.buildNumber==`number`&&l.number>c.buildNumber)),d=u&&o?.registered&&o.published,f=t!==null&&t.repository===i.repository&&(!t.branch||t.branch===i.branch)&&(!t.commitSha||t.commitSha===i.commitSha);if(t&&f&&(t.state===`connected`||t.state===`undiscovered`)&&!o?.registered&&(!o||o.branch===i.branch)){let e=t.registrationReason||o?.registrationReason,r=i.branch===t.discovery?.defaultBranch;if(e||t.registrationError||o?.canRegister===!1||r){let i=e||(r?`branch_not_reviewable`:o?.canEdit===!1?`write_access_required`:o?.canRegister===!1&&a.state===`absent`?`remote_branch_missing`:void 0);n=i&&Y.registrationReasons.get(i)||{title:Y.registrationErrorTitle,description:t.registrationError||Y.registrationDenied}}}if(c?.state===`requested`&&(!c.commitSha||c.commitSha===i.commitSha)&&(a.state===`absent`||a.remoteSha!==i.commitSha)&&!u){let e=Date.now()-Date.parse(c.requestedAt||``);if(Number.isFinite(e)&&e<6e5)return r(`requested`,Y.pending,Y.awaitingCopilot)}if(!t)return r(`loading`,Y.checkingHub,Y.checking);if(t.state===`disconnected`||t.state===`pairing`||t.state===`unconfigured`)return r(`disconnected`,t.message||Y.disconnected,Y.connect);if(t.state===`denied`||t.state===`unavailable`)return{...r(`unknown`,t.message||Y.hubUnavailable,Y.retry,`retry`),error:{title:Y.hubUnavailableTitle,description:t.message||Y.hubUnavailable}};if(!f)return r(`unknown`,Y.staleHub,Y.retry,`retry`);if(!i.replicaWorkflowExists)return r(`workflow_missing`,Y.workflowMissing,Y.retry,`retry`);if(c?.state===`failed`&&!d&&(!c.commitSha||c.commitSha===i.commitSha))return r(`failed`,c.error||Y.dispatchFailed,Y.retryPublish,`publish`);if(a.state===`absent`)return r(`unpublished`,Y.absent,Y.publishBranch,`publish`);if(a.remoteSha!==i.commitSha)return r(`needs_push`,Y.needsPush,Y.publishChanges,`publish`);if(s){if(!o.registered)return r(`registration`,t.registrationError||(o.canEdit&&o.canRegister?Y.needsRegistration:Y.registrationDenied),t.registrationError?Y.registrationFailed:Y.registration);if(o.published&&u)return r(`ready`,Y.ready,Y.published)}if(o?.currentBuild?.commitSha===i.commitSha&&o.branch===i.branch&&o.currentBuild.state===`failed`)return r(`failed`,Y.importFailed,Y.retryPublish,`publish`);let p=i.workflow;if(!p||p.state===`unavailable`)return r(`unknown`,p?.detail||Y.workflowUnavailable,Y.retry,`retry`);let m=p.run;if(m&&(m.headSha!==i.commitSha||m.headBranch!==i.branch))return r(`unknown`,Y.staleWorkflow,Y.retry,`retry`);if(c?.commitSha===i.commitSha&&c.workflowRunId!=null&&m?.databaseId===c.workflowRunId&&!u)return r(`awaiting_build`,Y.noBuild,Y.awaitingBuild);let h;if(p.state===`in_progress`&&m){let e=[`queued`,`waiting`,`pending`,`requested`].includes(m.status||``);h=r(e?`queued`:`building`,e?Y.workflowQueued:Y.workflowBuilding,e?Y.queued:Y.building)}else h=p.state===`failed`&&m?r(`failed`,Y.workflowFailed(m.conclusion),Y.retryPublish,`publish`):p.state===`succeeded`&&m?r(`importing`,Y.importing,Y.awaitingHub):r(`awaiting_build`,Y.noBuild,Y.awaitingBuild);return m?.url?.startsWith(`https://github.com/`)&&(h.runUrl=m.url),h}function Jn({token:e,state:t,hubStatus:n,error:r,setError:i,refresh:a,refreshHub:o,preferenceSaving:s=!1}){let[c,l]=(0,V.useState)(``),[u,d]=(0,V.useState)(!1),[f,p]=(0,V.useState)(null),m=(0,V.useRef)(!1),[h,g]=(0,V.useState)(null),[_,v]=(0,V.useState)(``),[y,b]=(0,V.useState)(!1),x=!t&&r?{kind:`unknown`,action:`retry`,label:Y.retry,detail:r}:qn(t,n),S=`${t?.stats.repository}/${t?.stats.branch}/${t?.stats.commitSha}`,C=f?.identity===S&&x.action===`publish`?{...x,kind:`failed`,detail:f.message,label:Y.retryPublish}:x.kind===`ready`&&t?.stats.workingTree===`changed`?{...x,kind:`needs_push`,action:`publish`,label:Y.publishChanges,detail:Y.localChanges}:x,w=Kn(t,n,x);(0,V.useEffect)(()=>{w.comparisonOutdated&&a(!0)},[w.comparisonOutdated,n?.branch,n?.commitSha,n?.repository,a]);async function T(){if(!y){b(!0);try{await Promise.all([a(!0),o()])}finally{b(!1)}}}async function E(){s||(C.action===`retry`?await T():C.action===`none`||m.current||h||await D())}async function D(){if(!(s||m.current)){m.current=!0,d(!0),i(``),v(``);try{let t=await $(`/api/publish/prepare`,e,{method:`POST`,body:`{}`});t.workingTree===`unavailable`||t.workingTree===`changed`&&!t.remember?g({preparation:t}):(g(null),await O(t,t.workingTree===`changed`?`commit-changes`:`committed-only`))}catch(e){let t=e instanceof Error?e.message:String(e);i(t),v(t)}finally{m.current=!1,d(!1)}}}async function O(r,s,c){if(s===`committed-only`&&n?.state===`connected`&&n.repository===r.target.repository&&n.branch===r.target.branch&&n.prototype?.registered&&n.prototype.published&&n.prototype.build?.commitSha===r.target.commitSha&&t?.stats.remoteBranch?.state===`present`&&t.stats.remoteBranch.remoteSha===r.target.commitSha)g(null);else{p(null),v(``),i(``);try{let t=await $(`/api/publish`,e,{method:`POST`,body:JSON.stringify({target:r.target,workingTree:r.workingTree,mode:s,remember:c})});g(null),l(t.message),await o(),await a(!1)}catch(e){let t=e instanceof Error?e.message:String(e);p({message:t,identity:S}),i(t),v(t)}}}async function k(e,t){if(!(s||!h||m.current)){if(h.preparation.workingTree===`unavailable`&&e!==`committed-only`)v(K.checkFailed);else{m.current=!0,d(!0);try{await O(h.preparation,e,t)}finally{m.current=!1,d(!1)}}}}return{publication:C,presentedState:w.state,busy:u||y||s,notice:c,publishDialog:h,publishDialogError:_,closePublishDialog:()=>g(null),choosePublish:k,retryPublishCheck:D,publish:E,retry:T}}var Yn=`replica:controls`;function Xn(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;try{let n=JSON.stringify(e);if(!(typeof n==`string`&&new Blob([n]).size<=512e3&&Object.keys(e).every(e=>[`protocol`,`version`,`epoch`,`requestId`,`type`,`sequence`,`state`,`error`,`command`,`controlQuery`,`fromFrameUrl`].includes(e))&&(t.error===void 0||typeof t.error==`string`&&t.error.length<=1e3)&&(t.controlQuery===void 0||[`hello`,`snapshot`,`reply`].includes(t.type)&&typeof t.controlQuery==`string`&&new Blob([t.controlQuery]).size<=8192)&&(t.fromFrameUrl===void 0||t.type===`hello`&&typeof t.fromFrameUrl==`boolean`)&&t.protocol===`replica:controls`&&t.version===1&&typeof t.epoch==`string`&&/^[a-zA-Z0-9-]{1,100}$/.test(t.epoch)&&typeof t.requestId==`string`&&/^[a-zA-Z0-9-]{1,100}$/.test(t.requestId)&&[`hello`,`snapshot`,`command`,`reply`].includes(t.type)))return!1;if(t.type!==`command`)return t.command===void 0;let r=t.command;if(!r||typeof r!=`object`||Array.isArray(r))return!1;if(r.operation===`url`)return Object.keys(r).every(e=>[`operation`,`query`,`scope`].includes(e))&&(r.scope===void 0||typeof r.scope==`string`&&/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.scope))&&typeof r.query==`string`&&new Blob([r.query]).size<=8192&&[...new URLSearchParams(r.query).keys()].every(e=>/^rc\.[a-zA-Z][a-zA-Z0-9_-]{0,63}\.[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e));if(r.operation===`reset-all`)return Object.keys(r).every(e=>[`operation`,`contexts`].includes(e))&&Array.isArray(r.contexts)&&r.contexts.length<=100&&new Set(r.contexts.map(e=>e?.scope)).size===r.contexts.length&&r.contexts.every(e=>typeof e==`object`&&!!e&&Object.keys(e).length===3&&typeof e.scope==`string`&&/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e.scope)&&typeof e.fingerprint==`string`&&Number.isSafeInteger(e.revision)&&e.revision>=0);let i=[`operation`,`scope`,`fingerprint`,`revision`];return typeof r.scope!=`string`||!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.scope)||typeof r.fingerprint!=`string`||!Number.isSafeInteger(r.revision)||r.revision===void 0||r.revision<0?!1:r.operation===`restore`?Object.keys(r).every(e=>[...i,`values`].includes(e))&&Ce(r.values):r.operation===`reset`?Object.keys(r).every(e=>i.includes(e)):r.operation!==`action`&&r.operation!==`update`||typeof r.id!=`string`||!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.id)?!1:Object.keys(r).every(e=>[...i,`id`,...r.operation===`update`?[`value`]:[]].includes(e))&&(r.operation===`action`||Ce({[r.id]:r.value}))}catch{return!1}}function Zn(e){return Array.isArray(e)&&e.length<=100&&e.every(e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&`scope`in e&&typeof e.scope==`string`&&e.scope.length>0&&e.scope.length<=64&&`error`in e&&typeof e.error==`string`&&e.error.length>0&&e.error.length<=500)}function Qn(e){if(!e||typeof e!=`object`)return!1;let t=e;if(typeof t.runtimeAvailable!=`boolean`||t.reconnectRequired!==void 0&&typeof t.reconnectRequired!=`boolean`||t.status===`ready`&&(!t.runtimeAvailable||!t.scopes?.length)||t.error!==void 0&&(typeof t.error!=`string`||t.error.length>1e3)||t.scopeErrors!==void 0&&!Zn(t.scopeErrors)||![`ready`,`no-controls`,`missing-runtime`,`unsupported-runtime`,`invalid-config`].includes(t.status)||!Array.isArray(t.scopes)||t.scopes.length>100||t.status!==`ready`&&t.scopes.length>0)return!1;try{let e=new Set;for(let n of t.scopes){if(We(n.declaration),e.has(n.declaration.scope)||(e.add(n.declaration.scope),n.fingerprint!==JSON.stringify(n.declaration)||!Number.isSafeInteger(n.snapshot.revision)||n.snapshot.revision<0))return!1;let t=n.snapshot;if(!t.values||!t.visible||!t.groups||!t.actions)return!1;function r(e,t){return typeof e==`object`&&!Array.isArray(e)&&Object.keys(e).length===t.length&&t.every(t=>Object.hasOwn(e,t))}if(!r(t.values,n.declaration.controls.filter(e=>e.type!==`button`).map(e=>e.id))||!r(t.visible,n.declaration.controls.map(e=>e.id))||!r(t.groups,(n.declaration.groups??[]).map(e=>e.id))||!r(t.actions,n.declaration.controls.filter(e=>e.type===`button`).map(e=>e.id))||Object.values(t.groups).some(e=>typeof e!=`boolean`))return!1;if(t.bindings!==void 0){if(!t.bindings||typeof t.bindings!=`object`||Array.isArray(t.bindings))return!1;for(let[e,r]of Object.entries(t.bindings))if(!n.declaration.controls.some(t=>t.id===e)||!r||typeof r.error!=`string`||r.error.length>500||typeof r.busy!=`boolean`||r.available!==void 0&&typeof r.available!=`boolean`)return!1}for(let e of n.declaration.controls){if(typeof t.visible[e.id]!=`boolean`)return!1;if(e.type===`button`){let n=t.actions[e.id];if(!n||typeof n.available!=`boolean`||typeof n.busy!=`boolean`)return!1}else if(Be(e,t.values[e.id]))return!1}}return!0}catch{return!1}}function $n(){return{runtimeAvailable:!1,status:`missing-runtime`,scopes:[],scopeErrors:[],loading:!0,notice:``,error:``,storageError:``,resetting:!1}}var er=class{frame;origin;api;surface;epoch=``;sequence=-1;state=$n();listeners=new Set;pending=new Map;saved;storageReady=!1;restored=new Set;preparing=new Set;persisted=new Map;cachedScopes=new Map;retryState;resetForIdentity=!1;fromFrameUrl=!1;requests=new AbortController;poll;deadline;saveQueue=Promise.resolve();editQueue=Promise.resolve();stopped=!0;constructor(e,t,n,r=`canvas`){this.frame=e,this.origin=t,this.api=n,this.surface=r}getSnapshot=()=>this.state;getControlValues=()=>{let e=structuredClone(this.saved?.scopes??{}),t=new Map(this.cachedScopes);for(let e of this.state.scopes)t.set(e.declaration.scope,e);for(let[n,r]of t)e[n]=Ze(r);return e};subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});publish(e){this.state={...this.state,...e},this.state.hasResettableValues=Object.values(this.getControlValues()).some(e=>Object.keys(e).length>0);for(let e of[...this.listeners])e()}hasBindingError(e,t){return this.state.scopes.some(n=>(!e||n.declaration.scope===e)&&Object.entries(n.snapshot.bindings??{}).some(([e,n])=>(!t||e===t)&&!!n.error))}checkSaved(e){let t=e,n=/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/;if(!t||typeof t!=`object`||typeof t.identity!=`string`||!t.identity||t.identity.length>128||!t.scopes||typeof t.scopes!=`object`||Array.isArray(t.scopes)||t.storageError!==void 0&&(typeof t.storageError!=`string`||t.storageError.length>1e3)||t.notice!==void 0&&(typeof t.notice!=`string`||t.notice.length>1e3)||new Blob([JSON.stringify(t)]).size>27e4)throw Error(`Invalid controls storage response.`);for(let[e,r]of Object.entries(t.scopes)){if(!n.test(e)||!r||typeof r!=`object`||Array.isArray(r))throw Error(`Invalid controls storage scope.`);for(let[e,t]of Object.entries(r))if(!n.test(e)||!(typeof t==`string`||typeof t==`boolean`||typeof t==`number`&&Number.isFinite(t)||Array.isArray(t)&&t.length<=100&&t.every(e=>typeof e==`string`)))throw Error(`Invalid saved control value.`)}}start=e=>{this.fromFrameUrl=e?.type===`load`&&this.sequence>=0;let t=[...this.pending.values()].some(e=>e.action);this.stop(),this.requests=new AbortController,this.stopped=!1,this.epoch=crypto.randomUUID(),this.sequence=-1,this.saved=void 0,this.storageReady=!1,this.restored.clear(),this.preparing.clear(),this.persisted.clear(),this.editQueue=Promise.resolve(),this.cachedScopes.clear(),this.retryState=void 0,this.resetForIdentity=!1,this.state=$n(),t&&(this.state.notice=`The preview reconnected during an action. Its outcome is unknown; it was not replayed.`),this.publish({});let n=this.epoch;window.addEventListener(`message`,this.receive),this.frame.addEventListener(`load`,this.start);let r=()=>{this.storageReady&&(this.surface===`canvas`&&this.frame.contentWindow?.postMessage({type:`replica:canvas:request-ready`,nonce:n},this.origin),this.send(`hello`).catch(()=>{}))};r(),this.poll=setInterval(()=>{this.state.status===`missing-runtime`&&r()},1e3),this.deadline=setTimeout(()=>{this.state.loading&&this.publish({loading:!1,error:this.surface===`build`?`Build Controls did not connect. Reload the preview or check its definitions.`:G.controlsLocalConnectionFailed})},6e3),this.api().then(e=>{if(!(this.epoch!==n||this.stopped)){if(this.checkSaved(e),this.saved=e,this.retryState?.identity===e.identity)for(let[e,t]of this.retryState.scopes)this.restored.add(`${e}:${t.fingerprint}`),this.cachedScopes.set(e,t);else this.retryState?.identity&&(this.resetForIdentity=!0,this.publish({notice:`The checkout identity changed. Controls will use this branch's saved values or defaults.`}));this.retryState=void 0,this.storageReady=!0,this.publish({storageError:e.storageError||``,notice:e.notice||this.state.notice}),this.prepare(this.state),r()}}).catch(e=>{this.epoch!==n||this.stopped||(this.storageReady=!0,this.publish({storageError:this.surface===`build`?e instanceof Error?e.message:`Control settings could not be read from the URL.`:G.controlsLocalStorageFailed}),this.prepare(this.state),r())})};retry=()=>{let e={identity:this.saved?.identity,scopes:new Map(this.cachedScopes)};this.start(),this.retryState=e};stop=()=>{this.stopped=!0,this.requests.abort(),clearInterval(this.poll),clearTimeout(this.deadline),window.removeEventListener(`message`,this.receive),this.frame.removeEventListener(`load`,this.start);for(let e of this.pending.values())clearTimeout(e.timer),e.reject(Error(`The preview navigated. The command outcome is unknown; it will not be replayed.`));this.pending.clear()};receive=e=>{if(this.stopped||e.source!==this.frame.contentWindow||e.origin!==this.origin||!Xn(e.data))return;let t=e.data;if(t.epoch!==this.epoch||!Qn(t.state)||!Number.isSafeInteger(t.sequence)||(t.sequence??-1)<0||t.type!==`snapshot`&&t.type!==`reply`)return;let n=this.pending.get(t.requestId);if(t.type!==`reply`||n){if((t.sequence??-1)>this.sequence){if(t.type===`snapshot`&&t.controlQuery!==void 0&&this.saved){let e=De(t.controlQuery),n=this.saved.identity,r=this.epoch;this.stop();let i=new AbortController;this.requests=i,this.publish({loading:!0}),this.api({method:`POST`,signal:i.signal,body:JSON.stringify({identity:n,replace:!0,scopes:e.scopes})}).then(()=>{this.epoch!==r||i.signal.aborted||(this.start(),e.notice&&this.publish({notice:e.notice}))}).catch(e=>{this.epoch!==r||i.signal.aborted||this.publish({loading:!1,storageError:e instanceof Error?e.message:`Controls history could not be restored.`})});return}if(t.controlQuery!==void 0&&this.saved){let e=this.epoch,n=this.requests,r=De(t.controlQuery);this.saved.scopes=r.scopes,this.restored.clear(),this.persisted.clear(),this.cachedScopes.clear(),this.publish({notice:r.notice,loading:!0}),this.api({method:`POST`,signal:n.signal,body:JSON.stringify({identity:this.saved.identity,replace:!0,scopes:r.scopes})}).catch(t=>{this.epoch!==e||this.stopped||n.signal.aborted||this.publish({storageError:t instanceof Error?t.message:`Controls history could not be restored.`})})}this.sequence=t.sequence;let e=t.state.status;this.publish({...t.state,scopeErrors:t.state.scopeErrors??[],reconnectRequired:t.state.reconnectRequired===!0,status:e,error:t.state.error||(this.state.status===`missing-runtime`&&t.state.status!==`missing-runtime`?``:this.state.error),loading:!this.storageReady||this.state.resetting||this.preparing.size>0||this.state.loading&&e===`missing-runtime`}),this.prepare(this.state)}n&&(this.pending.delete(t.requestId),clearTimeout(n.timer),t.error?n.reject(Error(t.error)):n.resolve(this.state))}};send(e,t){let n=crypto.randomUUID(),r={protocol:Yn,version:1,epoch:this.epoch,requestId:n,type:e,...t?{command:t}:{},...e===`hello`?{controlQuery:Ee(this.saved?.scopes??{}),fromFrameUrl:this.fromFrameUrl}:{}};return Xn(r)?new Promise((i,a)=>{let o=setTimeout(()=>{this.pending.delete(n),a(Error(`The command timed out. Its outcome is unknown; it will not be retried automatically.`))},e===`hello`?1200:3e4);this.pending.set(n,{resolve:i,reject:a,timer:o,action:t?.operation===`action`}),this.frame.contentWindow?.postMessage(r,this.origin)}):Promise.reject(Error(`The controls command is invalid or exceeds the size limit.`))}async prepare(e){if(!this.saved&&!this.state.storageError||this.state.resetting||e.reconnectRequired)return;let t=this.epoch;if(this.resetForIdentity&&(e.status===`ready`||e.status===`no-controls`)){this.resetForIdentity=!1,this.publish({loading:!0,resetting:!0});try{await this.send(`command`,{operation:`reset-all`,contexts:e.scopes.map(e=>({scope:e.declaration.scope,fingerprint:e.fingerprint,revision:e.snapshot.revision}))})}catch{this.epoch===t&&this.publish({error:`The checkout changed, but runtime defaults could not be restored. Reload the preview before saving.`,storageError:`Saving is paused until the new checkout's runtime reconnects.`,loading:!1});return}finally{this.epoch===t&&this.publish({resetting:!1})}return this.epoch!==t||this.stopped?void 0:this.prepare(this.state)}for(let n of e.scopes){let e=n.declaration.scope,r=`${e}:${n.fingerprint}`;if(!this.preparing.has(r)){if(!this.restored.has(r)){this.preparing.add(r),this.publish({loading:!0});try{let i=this.saved?.scopes&&Object.hasOwn(this.saved.scopes,e)?this.saved.scopes[e]:{},a=Object.fromEntries(n.declaration.controls.filter(e=>e.type!==`button`).map(e=>[e.id,structuredClone(e.default)])),o=!1;for(let[e,t]of Object.entries(i)){let r=n.declaration.controls.find(t=>t.id===e);!r||Be(r,t)?o=!0:a[e]=t}if(Object.keys(a).length&&await this.send(`command`,{operation:`restore`,scope:e,fingerprint:n.fingerprint,revision:this.state.scopes.find(e=>e.fingerprint===n.fingerprint)?.snapshot.revision,values:a}),this.stopped||this.epoch!==t)return;this.restored.add(r),o&&this.publish({notice:this.surface===`build`?`Some URL control settings no longer match this page. Defaults were used.`:`Some saved controls no longer match this declaration and were discarded.`})}catch(n){if(this.epoch!==t||this.stopped)return;this.hasBindingError(e)||this.publish({error:n instanceof Error?n.message:`Saved controls could not be restored.`}),this.restored.add(r)}finally{this.epoch===t&&this.preparing.delete(r)}}if(this.epoch===t&&!this.stopped){let t=this.state.scopes.find(t=>t.declaration.scope===e);t&&(this.cachedScopes.set(e,t),this.persist(t))}}}this.epoch===t&&!this.stopped&&this.state.status!==`missing-runtime`&&this.publish({loading:this.preparing.size>0})}persist(e){if(!this.saved||this.state.storageError)return;let t=Ze(e),n=JSON.stringify(t);if(this.persisted.get(e.declaration.scope)===n)return;this.persisted.set(e.declaration.scope,n);let r=this.saved.identity,i=this.epoch,a=this.requests.signal;this.saveQueue=this.saveQueue.catch(()=>{}).then(async()=>{if(!(this.epoch!==i||this.stopped))try{if(await this.api({method:`POST`,signal:a,body:JSON.stringify({identity:r,scope:e.declaration.scope,values:t})}),this.epoch===i&&!this.stopped){let t=await this.api();if(this.checkSaved(t),this.epoch!==i||this.stopped)return;this.saved=t,await this.send(`command`,{operation:`url`,scope:e.declaration.scope,query:Ee(t.scopes)})}}catch(e){this.epoch===i&&!this.stopped&&this.publish({storageError:this.surface===`build`&&e instanceof Error?`${e.message} Changes remain in memory and are not in the URL.`:`Controls could not be saved. Changes remain in memory; use Retry to reconnect storage.`})}})}async command(e,t,n,r){if(this.state.loading||this.state.resetting||this.stopped)return;let i=this.epoch,a=this.state.scopes.find(e=>e.declaration.scope===t);if(!a){this.publish({error:`This controls scope is no longer active.`});return}let o=()=>this.applyCommand(e,t,a.fingerprint,i,n,r);if(e!==`update`)return o();let s=this.editQueue.catch(()=>{}).then(o);return this.editQueue=s.then(()=>{}),s}async applyCommand(e,t,n,r,i,a){if(this.epoch!==r||this.stopped||this.state.resetting)return;let o=this.state.scopes.find(e=>e.declaration.scope===t);if(!o||o.fingerprint!==n)this.publish({error:`The controls scope or declaration changed. The command was not applied.`});else{this.publish({error:``});try{if(this.state.reconnectRequired)throw Error(`Reconnect controls before sending more commands.`);if(e===`update`||e===`action`){let t=o.declaration.controls.find(e=>e.id===i);if(!t||!o.snapshot.visible[t.id])throw Error(`This control is unknown or hidden.`);if(e===`update`){let e=Be(t,a);if(e)throw Error(`Control "${t.id}": ${e}`)}else if(t.type!==`button`||!o.snapshot.actions[t.id]?.available||o.snapshot.actions[t.id]?.busy)throw Error(`This action is unavailable or busy.`)}let n=await this.send(`command`,{operation:e,scope:t,fingerprint:o.fingerprint,revision:o.snapshot.revision,...i?{id:i}:{},...e===`update`?{value:a}:{}});if(e===`update`&&i)return{value:n.scopes.find(e=>e.declaration.scope===t)?.snapshot.values[i]}}catch(e){!this.stopped&&this.epoch===r&&!this.hasBindingError(t,i)&&this.publish({error:e instanceof Error?e.message:`Controls command failed.`})}}}async resetAll(){if(this.state.resetting||this.stopped)return;let e=this.epoch;this.publish({resetting:!0});try{let t=``;await this.editQueue.catch(()=>{});let n=this.state.runtimeAvailable&&(this.state.status===`ready`||this.state.status===`no-controls`);if(n)try{await this.send(`command`,{operation:`reset-all`,contexts:this.state.scopes.map(e=>({scope:e.declaration.scope,fingerprint:e.fingerprint,revision:e.snapshot.revision}))})}catch(e){t=e instanceof Error?e.message:`Some app defaults could not be restored.`}if(this.epoch!==e||this.stopped)return;if(!this.saved){let e=await this.api();this.checkSaved(e),this.saved=e}await this.saveQueue.catch(()=>{}),await this.api({method:`POST`,signal:this.requests.signal,body:JSON.stringify({identity:this.saved.identity,reset:!0})}),this.saved.scopes={},await this.send(`command`,{operation:`url`,query:``}),this.cachedScopes.clear(),this.persisted.clear(),this.publish({storageError:``,error:this.hasBindingError()?``:t,notice:n?``:`Saved controls were cleared. Runtime defaults could not be restored until the preview reconnects.`})}catch(t){this.epoch===e&&this.publish({storageError:t instanceof Error?t.message:`Reset could not be saved.`})}finally{this.epoch===e&&this.publish({resetting:!1,loading:!1})}}};function tr(e,t=()=>window.location.href,n=e=>{window.history.replaceState(window.history.state,``,e),window.dispatchEvent(new Event(we))}){return r=>Promise.resolve().then(()=>{r?.signal?.throwIfAborted();let i=De(new URL(t()).search);if(!r)return{identity:e,...i};if(r.method!==`POST`||typeof r.body!=`string`)throw Error(`Invalid URL controls request.`);let a=JSON.parse(r.body);if(!a||typeof a!=`object`||!(`identity`in a)||a.identity!==e)throw Error(`The controls URL identity changed.`);let o=i.scopes;if(`reset`in a&&a.reset===!0)o={};else if(`replace`in a&&a.replace===!0&&`scopes`in a){if(!a.scopes||typeof a.scopes!=`object`||Array.isArray(a.scopes))throw Error(`Invalid controls history settings.`);let e={};for(let[t,n]of Object.entries(a.scopes)){if(!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(t)||!Ce(n))throw Error(`Invalid controls history settings.`);e[t]=n}o=De(Ee(e)).scopes}else{if(!(`scope`in a)||typeof a.scope!=`string`||!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(a.scope)||!(`values`in a)||!Ce(a.values))throw Error(`Invalid URL control settings.`);o={...o,[a.scope]:a.values}}let s=Oe(t(),Ee(o));s!==t()&&n(s)})}function nr({frameRef:e,prototypeUrl:t,previewUrl:n,address:r,replaceAddress:i}){let[a,o]=(0,V.useState)(null),[s,c]=(0,V.useState)(null),l=(0,V.useRef)({address:r,replaceAddress:i});return(0,V.useLayoutEffect)(()=>{l.current={address:r,replaceAddress:i}},[r,i]),(0,V.useEffect)(()=>{if(!e.current)return;let r=new er(e.current,new URL(n??t).origin,tr(`prototype:${new URL(t).origin}`,()=>l.current.address,e=>{l.current.address=e,l.current.replaceAddress(e)}));o(r);let i=r.subscribe(()=>c(r.getSnapshot()));return r.start(),()=>{i(),r.stop()}},[t,n,e]),{connection:a,state:s}}function rr({token:e,status:t,onStatusChange:n,onSelectHub:r}){let[i,a]=(0,V.useState)(!1),[o,s]=(0,V.useState)(!1),[c,l]=(0,V.useState)(``),[u,d]=(0,V.useState)(!1),[f,p]=(0,V.useState)(null),m=(0,V.useRef)(!1),h=(0,V.useRef)(!1),g=t?.state===`connected`||t?.state===`undiscovered`,_=t?.state===`disconnected`||t?.state===`pairing`||t?.state===`unconfigured`,v=g?null:t?.pairing||(f?.repository===t?.repository&&f?.hubOrigin===t?.hubOrigin?f?.pairing:null),y=v?.verificationUrl;(0,V.useEffect)(()=>{let e=window.setTimeout(()=>{g?(a(!1),p(null),l(``)):_&&t?.repository&&!m.current&&(m.current=!0,a(!0))},0);return()=>window.clearTimeout(e)},[g,_,t?.repository]),(0,V.useEffect)(()=>{if(!y||u)return;let t=!1,r=!1;async function i(){if(!r){r=!0;try{let r=await $(`/api/hub/poll`,e,{method:`POST`,body:`{}`});if(t)return;r.status!==`pending`&&(p(null),r.status!==`approved`&&l(G.connectionApprovalExpired),await n())}catch(e){t||(l(e instanceof Error?e.message:String(e)),d(!0))}finally{r=!1}}}let a=window.setInterval(()=>void i(),3e3);return()=>{t=!0,window.clearInterval(a)}},[y,u,e,n,t?.repository,t?.hubOrigin]);async function b(i){if(m.current=!0,!h.current){if(!t?.repository)l(G.connectionRepositoryRequired);else if(!t.hubOrigin&&!i)l(G.connectionHubRequired);else{h.current=!0,s(!0),l(``),d(!1);try{!t.hubOrigin&&i&&await r(i);let a=await $(`/api/hub/connect`,e,{method:`POST`,body:`{}`});p({repository:t.repository,hubOrigin:new URL(a.verificationUrl).origin,pairing:a}),a.browserError&&l(G.connectionBrowserFailed(a.browserError)),await n()}catch(e){l(e instanceof Error?e.message:String(e))}finally{h.current=!1,s(!1)}}}}function x(){a(!0),t?.hubOrigin&&b()}return{open:i,close:()=>a(!1),show:()=>a(!0),showAndConnect:x,connect:b,connecting:o,error:c,pairing:v}}function ir({token:e,onStatus:t,onError:n}){let[r,i]=(0,V.useState)(null),a=(0,V.useRef)(0),o=(0,V.useRef)(0),s=(0,V.useRef)(!1),c=(0,V.useCallback)(async(r,c=!1)=>{if(s.current||c&&o.current>0)return;o.current+=1;let l=++a.current;try{let o=r===`open`||r===`interaction`,c=await $(o?r===`open`?`/api/hub/open`:`/api/hub/activity`:`/api/hub/status`,e,o?{method:`POST`,body:`{}`}:{});if(l!==a.current||s.current)return;i(c);let u=c.prototype?.startPageImportError||c.localStartPageError;u&&n(u),t(c)}catch(e){if(l!==a.current||s.current)return;let t=e instanceof Error?e.message:String(e);i(e=>({state:`unavailable`,repository:e?.repository,branch:e?.branch,hubOrigin:e?.hubOrigin,message:G.hubStatusUnavailable(t)})),n(t)}finally{--o.current}},[e,t,n]),l=(0,V.useCallback)(async t=>{s.current=!0,a.current+=1,i(null);try{await $(`/api/hub/origin`,e,{method:`POST`,body:JSON.stringify({origin:t})})}finally{s.current=!1,await c()}},[e,c]);(0,V.useEffect)(()=>{let e=window.setTimeout(()=>void c(`open`),0),t=window.setInterval(()=>void c(void 0,!0),15e3);function n(){c(`interaction`)}return window.addEventListener(`focus`,n),()=>{a.current+=1,window.clearTimeout(e),window.clearInterval(t),window.removeEventListener(`focus`,n)}},[c]);async function u(){let t=await $(`/api/hub/discovery`,e,{method:`POST`,body:`{}`});if(t.discovery?.state!==`valid`||!t.discovery.origin)throw Error(t.discovery?.message||G.resetHubUnavailable);return await c(),t.discovery.origin}return{status:r,refresh:c,select:l,reset:u}}function ar({prototypeUrl:e,previewUrl:t,shellRef:n,cancelClick:r}){let[{key:i,ref:a},o]=(0,V.useState)(()=>({key:0,ref:(0,V.createRef)()})),[s,c]=(0,V.useState)({input:e,url:e}),[l,u]=(0,V.useState)({input:e,entries:[e],index:0}),[d,f]=(0,V.useState)(()=>window.matchMedia?.(`(prefers-color-scheme: dark)`)?.matches?`dark`:`light`),[p,m]=(0,V.useState)(null),h=(0,V.useRef)(null),g=l.input===e?l:{input:e,entries:[e],index:0},_=g.entries[g.index],v=(0,V.useCallback)(()=>r.current?.(),[r]),y=(0,V.useCallback)(t=>{if(new URL(t).origin!==new URL(e).origin)throw Error(G.startPageOrigin);u(e=>{let n=[...e.entries];return n[e.index]=t,{...e,entries:n}})},[e]),b=(0,V.useCallback)(t=>{if(h.current===e)return;h.current=e;let n=new URL(e),r=t.state===`connected`&&(t.prototype?.startPageSet??t.prototype?.startPage!==void 0)?t.prototype?.startPage:t.localStartPage;if(n.pathname!==`/`||n.search||n.hash||!r)return;let i=new URL(r,n);if(i.origin!==n.origin)throw Error(G.startPageOrigin);c({input:e,url:i.href}),u({input:e,entries:[i.href],index:0})},[e]);function x(){v(),m(null),c({input:e,url:_}),o(e=>({key:e.key+1,ref:(0,V.createRef)()}))}function S(t){t===_?x():(u(n=>{let r=n.input===e?n:g;return{...r,entries:[...r.entries.slice(0,r.index+1),t],index:r.index+1}}),c({input:e,url:t}))}function C(t){let n=g.entries[t];n&&(u({...g,index:t}),c({input:e,url:n}))}let w=(0,V.useCallback)((t,n=!1)=>{m(t);let r=new URL(e);r.pathname=t.pathname,r.search=t.search,r.hash=t.hash,u(t=>{let i=t.input===e?t:{input:e,entries:[e],index:0},a=new URL(i.entries[i.index]),o=[...a.searchParams].filter(([e])=>e.startsWith(`rc.`));for(let e of[r,a])for(let t of[...e.searchParams.keys()])(t===`rc`||t.startsWith(`rc.`))&&e.searchParams.delete(t);if(a.pathname===r.pathname&&a.searchParams.toString()===r.searchParams.toString()&&a.hash===r.hash)return i;for(let[e,t]of o)r.searchParams.append(e,t);let s=r.href;if(n){let e=[...i.entries];return e[i.index]=s,{...i,entries:e}}return{...i,entries:[...i.entries.slice(0,i.index+1),s],index:i.index+1}})},[e]);(0,V.useEffect)(()=>{let e=a.current;if(!e)return;function t(){v(),m(null)}return e.addEventListener(`load`,t),()=>{v(),e.removeEventListener(`load`,t)}},[v,a]),(0,V.useEffect)(()=>{let r=a.current;if(!r)return;let i=new URL(t??e).origin,o=crypto.randomUUID();function s(){let e=n.current?.closest(`.canvas-base`);e&&r?.contentWindow?.postMessage({type:`replica:canvas:theme`,nonce:o,accent:window.getComputedStyle(e).getPropertyValue(`--hub-accent`).trim()},i)}function c(e){e.source===r?.contentWindow&&e.origin===i&&e.data?.type===`replica:canvas:ready`&&s()}return r.addEventListener(`load`,s),window.addEventListener(`message`,c),s(),()=>{r.removeEventListener(`load`,s),window.removeEventListener(`message`,c)}},[d,e,t,a,n]);let T=new URL(s.input===e?s.url:e);if(t){let e=new URL(t);T.protocol=e.protocol,T.host=e.host}return{frameRef:a,frameKey:i,source:T.href,navigation:g,address:_,replaceAddress:y,appearance:d,setAppearance:f,liveRoute:p,initialize:b,reportRoute:w,reload:x,navigate:S,travel:C}}function or(e){let[t,n]=(0,V.useState)(null),[r,i]=(0,V.useState)(``),a=(0,V.useRef)(null),o=(0,V.useRef)(0),s=(0,V.useRef)(0),c=(0,V.useCallback)(async(t,r=!1)=>{if(r&&s.current>0)return;s.current+=1;let c=++o.current;try{let r=await $(t?`/api/refresh`:`/api/state`,e,t?{method:`POST`,body:`{}`}:{});if(c!==o.current)return;a.current=r,n(r),i(``)}catch(e){if(c!==o.current)return;n(t=>t&&{...t,stats:{...t.stats,remoteBranch:{state:`unknown`,repository:t.stats.repository||null,branch:t.stats.branch||null,commitSha:t.stats.commitSha||null,error:sr(e)}}}),i(sr(e))}finally{--s.current}},[e]);return(0,V.useEffect)(()=>{let e=window.setTimeout(()=>void c(!0),0),t=window.setInterval(()=>{let e=a.current?.publishStatus?.state,t=a.current?.publishRequest,n=e===`requested`||e===`in_progress`||t?.state===`requested`||!!t?.requestedAt&&(e===`not_published`||e===`unavailable`);c(n,!0)},15e3);function n(){c(!0)}return window.addEventListener(`focus`,n),()=>{o.current+=1,window.clearTimeout(e),window.clearInterval(t),window.removeEventListener(`focus`,n)}},[c]),{state:t,error:r,setError:i,refresh:c}}function sr(e){return e instanceof Error?e.message:String(e)}function cr({token:e,enabled:t,repository:n,branch:r,commitSha:i,publicationRevision:a}){let o=`${n}/${r}/${i}/${a}`,[s,c]=(0,V.useState)(null),[l,u]=(0,V.useState)(!1),[d,f]=(0,V.useState)(!1),p=(0,V.useRef)(null),m=(0,V.useRef)(0),h=t&&s?.identity===o?s:null,g=(0,V.useCallback)(async()=>{if(!t)return;let i=++m.current;u(!0);try{if(await p.current,i!==m.current)return;let t=await $(`/api/publish/prepare`,e,{method:`POST`,body:`{}`});if(i!==m.current)return;if(t.target.repository!==n||t.target.branch!==r)throw Error(K.preferenceTargetChanged);if(typeof t.remember!=`boolean`)throw Error(K.invalidPreference);c({identity:o,preparation:t,error:``})}catch(e){i===m.current&&c({identity:o,preparation:null,error:e instanceof Error?e.message:String(e)})}finally{i===m.current&&u(!1)}},[t,e,n,r,o]);(0,V.useEffect)(()=>{let e=window.setTimeout(()=>void g(),0);return()=>{m.current+=1,window.clearTimeout(e)}},[g]);async function _(n){if(!t||!h?.preparation||l||p.current)return;f(!0);let r=m.current,i=h.preparation,a=(async()=>{try{if((await $(`/api/publish/preference`,e,{method:`POST`,body:JSON.stringify({target:i.target,remember:n})})).remember!==n)throw Error(K.invalidPreference);r===m.current&&c({identity:o,preparation:{...i,remember:n},error:``})}catch(e){r===m.current&&c({identity:o,preparation:i,error:e instanceof Error?e.message:String(e)})}})();p.current=a;try{await a}finally{p.current=null,f(!1)}}return{remember:h?.preparation?.remember??null,loading:l||!h,saving:d,error:h?.error||``,save:_,retry:g}}function lr(e,t,n){let r=n?.included,i=n?.error,a=n?.revision,o=(0,V.useMemo)(()=>{if(r!==void 0)return{identity:e,revision:a,included:r,error:i??``,pending:!1};let t=!1,n=``;if(e)try{let n=localStorage.getItem(`replica:share-controls:v1:${e}`);if(n!==null&&n!==`true`&&n!==`false`)throw Error(`Invalid saved share preference.`);t=n===`true`}catch{n=`The share preference could not be read. Control settings are off by default.`}return{identity:e,revision:a,included:t,error:n,pending:!1}},[e,a,r,i]),[s,c]=(0,V.useState)(o),l=s.identity===e&&s.revision===a?s:o,u=``,d=``;if(l.included)try{u=Ee(t)}catch(e){d=e instanceof Error?e.message:`Control settings could not be shared.`}return{included:l.included,query:u,error:d||l.error,blocked:!!d,...n?{pending:l.pending}:{},onChange:t=>{if(n){c({identity:e,revision:a,included:t,error:``,pending:!0});function r(n){c(r=>r.identity===e&&r.revision===a&&r.included===t?{...r,error:n,pending:!1}:r)}n.onChange(t).then(()=>r(``),e=>r(e instanceof Error?e.message:`This preference could not be saved. It will only apply while this page is open.`));return}let r=``;if(e)try{localStorage.setItem(`replica:share-controls:v1:${e}`,String(t))}catch{r=`This preference could not be saved. It will only apply while this page is open.`}c({identity:e,revision:a,included:t,error:r,pending:!1})}}}function ur({token:e,state:t,hubStatus:n}){let[r,i]=(0,V.useState)(null),a=!!(r&&(r.stale||r.repository!==void 0&&r.repository!==t?.stats.repository||r.branch!==void 0&&r.branch!==t?.stats.branch||n?.hubOrigin!==void 0&&r.hubOrigin!==void 0&&r.hubOrigin!==n.hubOrigin||r.token!==e));(0,V.useEffect)(()=>{if(!r||r.stale)return;let e=r.repository??t?.stats.repository,o=r.branch??t?.stats.branch,s=r.hubOrigin??n?.hubOrigin;if(!a&&e===r.repository&&o===r.branch&&s===r.hubOrigin)return;let c=window.setTimeout(()=>{i(t=>t&&{...t,repository:e,branch:o,hubOrigin:s,stale:a,connecting:!a&&t.connecting})},0);return()=>window.clearTimeout(c)},[r,a,t?.stats.repository,t?.stats.branch,n?.hubOrigin]);function o(){i({repository:t?.stats.repository,branch:t?.stats.branch,hubOrigin:n?.hubOrigin,token:e,connecting:!1,stale:!1})}function s(e){i(t=>t&&{...t,connecting:e})}return{intent:r,targetChanged:a,begin:o,close:()=>i(null),setConnecting:s}}var dr={open:!1,context:null,links:[],loading:!1,busy:!1,stale:!0,error:``,notice:``,created:null};function fr({token:e,hubStatus:t,prototypeState:n}){let[r,i]=(0,V.useState)(dr),a=(0,V.useRef)(r);a.current=r;let o=(0,V.useRef)(0),s=(0,V.useRef)(!1),c=(0,V.useRef)(!1),l=(0,V.useRef)(!1),u=(0,V.useRef)(!1),d=(0,V.useRef)(null),f=`${t?.hubOrigin}/${t?.repository}/${t?.branch}/${t?.state}`,p=(0,V.useRef)(f);p.current=f;let m=(0,V.useCallback)(()=>{!u.current||s.current||c.current||l.current||!d.current||(u.current=!1,d.current())},[]);(0,V.useLayoutEffect)(()=>{o.current+=1,i(e=>e.open?{...dr,open:!0,error:q.stale}:dr)},[f,e]),(0,V.useEffect)(()=>()=>{o.current+=1,u.current=!1},[]),(0,V.useEffect)(()=>{let e=t?.prototype;e&&e.canManageShareLinks!==!0&&a.current.context?.prototype.canManageShareLinks===!0&&(o.current+=1,i(t=>t.open&&t.context?.prototype.id===e.id?{...dr,open:!0,stale:!1,context:{...t.context,prototype:{...t.context.prototype,canManageShareLinks:e.canManageShareLinks}}}:t))},[t?.prototype]),(0,V.useEffect)(()=>{t?.prototype?.publicSharingEnabled===!1&&(o.current+=1,i(e=>e.open?{...dr,open:!0,sharingDisabled:!0,error:q.disabled,context:e.context?{...e.context,prototype:{...e.context.prototype,publicSharingEnabled:!1}}:null}:dr))},[t?.prototype?.publicSharingEnabled]);let h=(0,V.useCallback)((t,n)=>$(`/api/hub/share-links/${t}`,e,{method:`POST`,body:JSON.stringify(n)}),[e]),g=(0,V.useCallback)(e=>{e instanceof Error&&`code`in e&&(e.code===`public_sharing_disabled`||e.code===`public_sharing_changed`||e.code===`creator_access_changed`)&&(o.current+=1,i(t=>({...t,busy:!1,loading:!1,stale:!0,sharingDisabled:e.code===`public_sharing_disabled`,links:[],created:null,authorization:void 0})))},[]),_=(0,V.useCallback)(async(e=a.current.context)=>{if(!e||!e.prototype.canManageShareLinks||e.prototype.publicSharingEnabled===!1||c.current)return;c.current=!0;let t=o.current,n=p.current;i(e=>({...e,loading:!0,stale:!0,error:``}));try{let r=new Map,a=new Set,s=null;do{let i=await h(`list`,{target:e.target,...s?{cursor:s}:{}});if(t!==o.current||n!==p.current)return;for(let e of i.shareLinks)r.set(e.id,e);if(s=i.nextCursor,s){if(a.has(s))throw Error(q.paginationFailed);a.add(s)}}while(s);i(e=>({...e,links:[...r.values()],created:e.created?r.get(e.created.id)??null:null,loading:u.current,stale:u.current,sharingDisabled:!1}))}catch(e){t===o.current&&n===p.current&&(i(t=>({...t,loading:!1,stale:!0,error:e instanceof Error?e.message:q.failed})),g(e))}finally{c.current=!1,m()}},[h,m,g]),v=(0,V.useCallback)(async()=>{if(s.current||l.current||c.current){u.current=!0,i(e=>({...e,open:!0,stale:!0,loading:!0}));return}l.current=!0;let e=++o.current,r=p.current;i({...dr,open:!0,loading:!0});let a=t?.repository===n?.stats.repository&&t?.branch===n?.stats.branch,d=``;if(!t||[`disconnected`,`pairing`,`unconfigured`].includes(t.state)?d=q.disconnected:[`unavailable`,`denied`].includes(t.state)?d=q.unavailable:(t.state!==`connected`||!a)&&(d=q.branch),d)i({...dr,open:!0,error:d}),l.current=!1;else try{let t=await h(`context`,{});if(e!==o.current||r!==p.current)return;i(e=>({...e,context:t,loading:!1,stale:t.prototype.canManageShareLinks===!0})),await _(t)}catch(t){e===o.current&&r===p.current&&i(e=>({...e,loading:!1,error:t instanceof Error?t.message:q.failed}))}finally{l.current=!1,m()}},[t,n,_,h,m]);d.current=v;let y=(0,V.useCallback)(async(e,t)=>{let n=a.current;if(s.current||l.current||c.current||u.current||n.stale||!n.context||n.context.prototype.canManageShareLinks!==!0||n.sharingDisabled||n.context.prototype.publicSharingEnabled===!1)return!1;s.current=!0;let r=o.current;i(e=>({...e,busy:!0,error:``,notice:``}));try{let a=await h(e,{target:n.context.target,...t});return r===o.current&&(i(n=>({...n,notice:e===`delete`?q.deleted:``,authorization:void 0,created:`id`in a?a:e===`delete`&&`id`in t&&n.created?.id===t.id?null:n.created,links:e===`delete`&&`id`in t?n.links.filter(e=>e.id!==t.id):n.links})),await _(n.context),!0)}catch(e){if(r!==o.current)return!1;let t=e instanceof Error&&`code`in e&&e.code===`fresh_authorization_required`&&`authorization`in e&&e.authorization&&typeof e.authorization==`object`&&`url`in e.authorization&&typeof e.authorization.url==`string`&&`expiresAt`in e.authorization&&typeof e.authorization.expiresAt==`string`?{url:e.authorization.url,expiresAt:e.authorization.expiresAt}:void 0,n=e instanceof Error&&(!(`statusCode`in e)||`code`in e&&e.code===`share_delivery_unknown`);return i(r=>({...r,stale:!0,authorization:t,error:n?q.unknown:e instanceof Error?e.message:q.failed})),g(e),!1}finally{s.current=!1,r===o.current&&i(e=>({...e,busy:!1})),m()}},[_,h,m,g]),b=(0,V.useCallback)(async e=>{let t=a.current;if(!t.context||l.current||c.current||u.current)throw Error(q.stale);let n=o.current,r=await h(`controls-preference`,{target:t.context.target,included:e});if(n!==o.current)throw Error(q.stale);if(r.included!==e)throw Error(`The share preference could not be saved.`)},[h]),x=(0,V.useCallback)(async(e,t)=>{let n=a.current;if(!n.context||n.stale||l.current||c.current||u.current)return;let r=o.current;try{await h(`open`,{target:n.context.target,id:e,...t?{controlsQuery:t}:{}})}catch(e){r===o.current&&(i(t=>({...t,error:e instanceof Error?e.message:q.failed})),g(e))}},[h,g]),S=(0,V.useCallback)(async()=>{let e=a.current;if(!e.context||!e.authorization||e.busy)return;let t=o.current;try{await h(`authorize`,{target:e.context.target}),t===o.current&&i(e=>({...e,notice:q.authorizationRetry}))}catch(e){t===o.current&&(i(t=>({...t,error:e instanceof Error?e.message:q.failed})),g(e))}},[h,g]);return(0,V.useEffect)(()=>{if(!r.open||!r.context)return;function e(){s.current||_()}let t=window.setInterval(e,3e4);return window.addEventListener(`focus`,e),()=>{window.clearInterval(t),window.removeEventListener(`focus`,e)}},[r.open,r.context,_]),{state:r,open:v,close:()=>{u.current=!1,i(e=>({...e,open:!1}))},refresh:()=>r.context&&!r.sharingDisabled&&r.context.prototype.publicSharingEnabled!==!1?_():v(),create:(e,t)=>y(`create`,{label:e,expiration:t,buildNumber:r.context?.prototype.build?.number}),remove:e=>y(`delete`,{id:e}),openLink:x,setControlPreference:b,authorize:S}}var pr=`modulepreload`,mr=function(e){return`/assets/`+e},hr={},gr=function(e){return e.pathname.endsWith(`.css`)},_r=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},vr=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=mr(t,n);let r=s(t),i=gr(r);return _r(hr,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:pr,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},yr=(0,V.lazy)(()=>vr(()=>import(`./renderer-improvement-notes-prototype.js`).then(e=>e.t).then(e=>({default:e.ImprovementNotesPrototype})),__vite__mapDeps([0,1,2,3,4]))),br=(0,V.lazy)(()=>vr(()=>import(`./renderer-prototype-canvas-thread-sample.js`).then(e=>({default:e.PrototypeCanvasThreadSample})),__vite__mapDeps([5,1,2,4,3])));function xr({config:e}){let t=(0,V.useRef)(null),n=(0,V.useRef)(null),r=(0,V.useRef)(null),i=(0,V.useRef)(null),a=(0,V.useRef)(null),o=(0,V.useRef)(null),s=(0,V.useRef)(null),c=(0,V.useRef)(null),l=(0,V.useRef)(null),u=(0,V.useRef)(null),[d,f]=(0,V.useState)(!1),[p,m]=(0,V.useState)({position:null,collapsed:!1,collapsedGroups:{}}),[h,g]=(0,V.useState)(!1),[_,v]=(0,V.useState)(!1),y=(0,V.useCallback)(()=>{g(!1),o.current?.focus()},[]),{frameRef:b,frameKey:x,source:S,navigation:C,address:w,replaceAddress:T,appearance:E,setAppearance:D,liveRoute:O,initialize:k,reportRoute:A,reload:j,navigate:M,travel:N}=ar({prototypeUrl:e.prototypeUrl,previewUrl:e.previewUrl,shellRef:t,cancelClick:u}),P=nr({...e,frameRef:b,address:w,replaceAddress:T}),F=P.state;Gn({...e,frameRef:b,addressRef:r,appearance:E,navigation:C,liveRoute:O,cancelClick:u,reload:j,controlsConnection:P.connection});let{state:I,error:L,setError:R,refresh:z}=or(e.token),B=ir({token:e.token,onStatus:k,onError:R}),ee=rr({token:e.token,status:B.status,onStatusChange:B.refresh,onSelectHub:B.select}),te=fr({token:e.token,hubStatus:B.status,prototypeState:I}),ne=ur({token:e.token,state:I,hubStatus:B.status}),re=cr({token:e.token,enabled:h&&B.status?.state===`connected`&&B.status.prototype?.registered===!0&&!!B.status.prototype.build&&B.status.repository===I?.stats.repository&&B.status.branch===I?.stats.branch,repository:I?.stats.repository,branch:I?.stats.branch,commitSha:I?.stats.commitSha,publicationRevision:I?.publishRequest?.requestedAt}),ie=Jn({token:e.token,state:I,hubStatus:B.status,error:L,setError:R,refresh:z,refreshHub:B.refresh,preferenceSaving:re.saving}),ae=zn(I,B.status,ie.publication),oe=te.state.context,se=lr(oe?`${oe.hubOrigin}:${oe.prototype.repositoryId}:${oe.prototype.id}`:void 0,P.connection?.getControlValues()??{},{included:oe?.controlSettingsIncluded??!1,error:oe?.controlSettingsError,revision:oe?.target,onChange:te.setControlPreference});(0,V.useLayoutEffect)(()=>{document.body.classList.remove(`renderer-loading`);let e=t.current,r=n.current;if(!e||!r)return;function i(){let t=r?.getBoundingClientRect().height;t&&e?.style.setProperty(`--canvas-toolbar-height`,`${t}px`)}let a=new ResizeObserver(i);return a.observe(r),i(),()=>a.disconnect()},[]);function ce(){ee.close(),ae.kind===`ready`?te.open():ne.begin()}return(0,U.jsxs)(H.ThemeProvider,{colorMode:E,className:`canvas-base`,children:[(0,U.jsxs)(`main`,{ref:t,className:`canvas-shell${te.state.open?` canvas-shell--inactive`:``}`,inert:te.state.open,"aria-hidden":te.state.open?!0:void 0,children:[(0,U.jsx)(Ne,{address:w,addressRef:r,canGoBack:C.index>0,canGoForward:C.indexN(C.index-1),onForward:()=>N(C.index+1),onNavigate:M,onOpenTab:async()=>{await $(`/api/prototype/open`,e.token,{method:`POST`,body:JSON.stringify({url:w})})},onReload:j}),(0,U.jsx)(Vn,{toolbarRef:n,config:e,state:ie.presentedState,prototypeName:B.status?.state===`connected`&&B.status.prototype?.name||void 0,publishing:ie.busy,publication:ie.publication,publishButtonRef:i,hubButtonRef:o,titleButtonRef:c,onBuildDetails:()=>v(!0),controlsButtonRef:l,controlsOpen:d,onControls:()=>f(!d),onPublish:()=>void ie.publish(),onShare:ce,shareButtonRef:a,hubOpen:h,onHub:()=>{g(!h),B.refresh(`interaction`)}}),(0,U.jsx)(`iframe`,{ref:b,className:`prototype-frame`,title:G.prototypeFrameTitle(e.name),src:S,style:{colorScheme:E,backgroundColor:`var(--hub-canvas-default)`}},x),(0,U.jsx)(Rn,{config:e,frameRef:b,onRouteChange:A,status:B.status,onStatusChange:B.refresh,onSelectHub:B.select,onConnect:ee.showAndConnect,onDisconnected:ee.show,connectionButtonRef:s,connecting:ee.connecting,publication:ie.publication,publicationBusy:ie.busy,dirty:I?.stats.workingTree===`changed`,onPublish:()=>void ie.publish(),onRetryPublication:()=>void ie.retry(),publishPreference:re,open:h,onClose:y}),e.improvementThreadsSample?(0,U.jsx)(V.Suspense,{fallback:(0,U.jsx)(`p`,{role:`status`,children:G.improvementNotesLoading}),children:(0,U.jsx)(br,{})}):e.pickAndPolish||e.improvementNotesDemo?(0,U.jsx)(V.Suspense,{fallback:(0,U.jsx)(`p`,{className:`visually-hidden`,role:`status`,children:G.improvementNotesLoading}),children:(0,U.jsx)(yr,{canvas:{token:e.token,frameRef:b,prototypeUrl:e.prototypeUrl,previewUrl:e.previewUrl,branch:I?.stats.branch??e.name,hubOpen:h,onOpenNotes:()=>g(!1),onNavigate:M}})}):null,d&&P.connection&&F?(0,U.jsx)(et,{state:F,connection:P.connection,layout:p,onLayoutChange:m,diagnosisTarget:w,onDiagnose:()=>$(`/api/controls/diagnose`,e.token,{method:`POST`,body:JSON.stringify({status:F.status,runtimeAvailable:F.runtimeAvailable,reconnectRequired:F.reconnectRequired===!0,hasError:!!F.error||Un(F,F.loading,w).controls.some(e=>e.visible&&!!e.error),hasStorageError:!!F.storageError,previewUrl:w})})}):null]}),(0,U.jsx)(`div`,{role:`status`,"aria-live":`polite`,className:`visually-hidden`,children:L||ie.notice}),(0,U.jsx)(Me,{hub:B,connection:ee,publication:ie,sharing:te,shareIntent:ne,controlSettings:se,readiness:ae,state:I,hubOpen:h,buildDetailsOpen:_,onCloseBuildDetails:()=>v(!1),shareButtonRef:a,hubButtonRef:o,connectionButtonRef:s,publishButtonRef:i,titleButtonRef:c})]})}var Sr=document.querySelector(`#root`);if(!Sr)throw Error(`Replica prototype renderer root is missing.`);(0,se.createRoot)(Sr).render((0,U.jsx)(xr,{config:window.__REPLICA_CANVAS__}));export{$ as a,zt as c,ot as d,at as f,W as h,pn as i,bt as l,ue as m,bn as n,Kt as o,nt as p,vn as r,Gt as s,Dn as t,st as u}; \ No newline at end of file +`)&&Jt(),e.startsWith(`event: error +`))throw Error(`Live review connection failed.`)}}catch{t.signal.aborted||ze(!0)}t.signal.aborted||(Date.now()-a>=3e4&&(r=5e3),n=window.setTimeout(()=>void i(),r),r=Math.min(r*2,6e4))}return i(),()=>{t.abort(),window.clearTimeout(n)}},[ot,Nt,e.token,Jt]);let Xt=(0,H.useCallback)((n,r={})=>{let i=t.current;return!i?.contentWindow||!qe.current?!1:(i.contentWindow.postMessage({type:n,nonce:qe.current,...r},new URL(e.previewUrl??e.prototypeUrl).origin),!0)},[e.prototypeUrl,e.previewUrl,t]),Zt=(0,H.useCallback)(async t=>{if(e.pickAndPolish||e.improvementNotesDemo||!De||!zt||Vt)return;let n=ot,i=++Ye.current;Je.current=void 0,Pe(!0),B(``),F(null),Le(null),Me(t),_();try{let a=await $(`/api/hub/status`,e.token);if($e.current!==n||Ye.current!==i)return;if(!a.repositoryAuthorized&&a.state!==`connected`||a.prototype?.id!==Nt||a.hubOrigin!==r?.hubOrigin||a.repository!==r?.repository||a.branch!==r?.branch||!a.reviewRevision)throw Error(a.reviewError||q.commentPreparationFailed);Je.current=a.reviewRevision,Xt(`replica:canvas:select`,{mode:t})}catch(e){$e.current===n&&Ye.current===i&&(Me(null),B(e instanceof Error?e.message:String(e)))}finally{Ye.current===i&&Pe(!1)}},[e.improvementNotesDemo,e.pickAndPolish,De,zt,e.token,ot,_,Nt,Vt,Xt,r]),Qt=(0,H.useCallback)(()=>{je&&(Ye.current+=1,Je.current=void 0,Pe(!1),Xt(`replica:canvas:cancel-selection`),Me(null))},[je,Xt]),$t=(0,H.useCallback)(()=>{Ye.current+=1,Je.current=void 0,Xt(`replica:canvas:clear-selection`),Fe(null),Le(null),B(``)},[Xt]);(0,H.useEffect)(()=>{let r=t.current;if(!r){Ee(new Map),Oe(!1);return}let i=new URL(e.previewUrl??e.prototypeUrl).origin,a=JSON.parse(qt),o=new Set(a.map(({id:e})=>e)),s=Date.now(),c=!1;function l(){qe.current=crypto.randomUUID(),s=Date.now(),c=!1,Oe(!1),ke(``),Ee(new Map),r?.contentWindow?.postMessage({type:`replica:canvas:request-ready`,nonce:qe.current},i),u()}function u(){a.length&&r?.contentWindow?.postMessage({type:`replica:canvas:resolve`,nonce:qe.current,anchors:a},i)}function d(t){let a=t.data;if(t.source===r?.contentWindow&&t.origin===i&&In(a)&&a.nonce===qe.current){if(a.type===`replica:canvas:bridge-error`)Oe(!1),ke(q.commentingMissing);else if(a.type===`replica:canvas:ready`){if(a.protocolVersion!==1){c=!0,Oe(!1),ke(q.commentingIncompatible);return}if(!Ln(a.route))return;s=Date.now(),c=!1,Oe(!0),ke(``),N(Ln(a.route)),n?.(Ln(a.route),a.replaceRoute===!0)}else if(!c){if(a.type===`replica:canvas:conversation-dismiss-requested`)window.dispatchEvent(new Event(`replica:review-dismiss`));else if(a.type===`replica:canvas:resolved`){if(a.protocolVersion!==1||!Ln(a.route)||!Array.isArray(a.results)||a.results.length>200)return;s=Date.now(),Oe(!0),ke(``),N(Ln(a.route)),n?.(Ln(a.route),a.replaceRoute===!0);let e=new Map;for(let t of a.results){if(!In(t)||typeof t.id!=`number`||typeof t.x!=`number`||typeof t.y!=`number`||!o.has(t.id)||!Number.isFinite(t.x)||!Number.isFinite(t.y)||t.x<0||t.y<0||t.x>r.clientWidth||t.y>r.clientHeight)continue;let n=In(t.rect)&&typeof t.rect.x==`number`&&typeof t.rect.y==`number`&&typeof t.rect.width==`number`&&typeof t.rect.height==`number`&&Number.isFinite(t.rect.x)&&Number.isFinite(t.rect.y)&&Number.isFinite(t.rect.width)&&Number.isFinite(t.rect.height)&&t.rect.width>=0&&t.rect.height>=0?{x:t.rect.x,y:t.rect.y,width:t.rect.width,height:t.rect.height}:{x:t.x,y:t.y,width:0,height:0};e.set(t.id,{x:t.x,y:t.y,rect:n})}Ee(e)}else if(a.type===`replica:canvas:selected`){if(e.pickAndPolish||e.improvementNotesDemo)return;let t=Gt.safeParse(a.anchor);if(!t.success){Xt(`replica:canvas:cancel-selection`),Xt(`replica:canvas:clear-selection`),Me(null),Le(In(a.anchor)&&a.anchor.kind===`area`?`area-unavailable`:`element-unavailable`);return}Fe(t.data),Me(null),Le(null)}else a.type===`replica:canvas:selection-failed`&&(a.reason===`element-unavailable`||a.reason===`area-too-small`||a.reason===`area-unavailable`)?(Me(null),Le(a.reason)):a.type===`replica:canvas:selection-cancelled`&&Me(null)}}}function f(){Ye.current+=1,Pe(!1),Me(null),Le(null),l()}r.addEventListener(`load`,f),window.addEventListener(`message`,d),l();let p=window.setInterval(()=>{Date.now()-s>=2e4&&(Oe(!1),Ee(new Map),ke(c?q.commentingIncompatible:q.commentingMissing)),r.contentWindow?.postMessage({type:`replica:canvas:request-ready`,nonce:qe.current},i),u()},2e3);return()=>{r.removeEventListener(`load`,f),window.removeEventListener(`message`,d),window.clearInterval(p)}},[ot,qt,e.prototypeUrl,e.improvementNotesDemo,e.pickAndPolish,e.previewUrl,t,n,Xt]);async function en(t,n,r,i){let a=ot,o=dt,s=i?.kind===`add-reaction`||i?.kind===`remove-reaction`||i?.kind===`mark-unread`;if(i){if(He.current)return!1;He.current=!0,Ve(i)}s&&(We.current=!0,Ue.current+=1),V(``);try{let i=await $(`/api/hub/comments/${t}`,e.token,{method:n,...r?{body:JSON.stringify(r)}:{}});if($e.current!==a)return!1;if(s){let e=an.parse(i);y(t=>{if(t.identity!==o)return t;let n=new Map(t.items.map(e=>[e.id,e]));for(let t of e.comments)n.set(t.id,t);return{identity:o,items:[...n.values()]}})}return s||(at.current=window.setTimeout(()=>void Yt.current(),0)),!0}catch(e){return $e.current===a&&(R(e instanceof Error?e.message:String(e)),e instanceof Error&&`statusCode`in e&&e.statusCode===429&&V(e.message)),!1}finally{i&&$e.current===a&&(s&&(We.current=!1,Ue.current+=1,at.current=window.setTimeout(()=>void Yt.current(),0)),He.current=!1,Ve(null))}}async function tn(t){let n=Je.current;if(!n||!Z||He.current)return!1;let r=ot,a=dt;He.current=!0,Ve({kind:`create`}),V(``),B(``);try{let o=an.parse(await $(`/api/hub/comments`,e.token,{method:`POST`,body:JSON.stringify({review_revision:n,review_comment:{body:t,anchor:Z}})}));if($e.current!==r)return!1;let s=o.comments.find(e=>e.kind===`root`);if(!s)return!1;let c=s.buildNumber!==null||s.draftRevisionId===ut;c&&y(e=>{if(e.identity!==a)return e;let t=new Map(e.items.map(e=>[e.id,e]));for(let e of o.comments)t.set(e.id,e);return{identity:a,items:[...t.values()]}});let l=c&&Ke.current===a;return Qe.current=!l,$t(),l&&F(s.id),i().then(()=>{if($e.current===r)return Yt.current()}).catch(e=>{if($e.current===r){let t=e instanceof Error?e.message:String(e);R(q.commentRefreshFailed(t))}}),!0}catch(e){if($e.current===r){let t=e instanceof Error?e.message:String(e);R(t),B(t),e instanceof Error&&`statusCode`in e&&e.statusCode===429&&V(e.message)}return!1}finally{$e.current===r&&(He.current=!1,Ve(null))}}function nn(){Vt||(T?(F(null),E(!1)):(E(!0),g&&_()))}let un=r?.repository&&r.branch?`https://github.com/${r.repository.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}/tree/${encodeURIComponent(r.branch)}`:null,dn=r?.branch&&un?(0,W.jsxs)(`a`,{className:`canvas-hub-publication__branch`,href:un,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`Open ${r.branch} on GitHub`,children:[(0,W.jsx)(M,{size:16,"aria-hidden":`true`}),(0,W.jsx)(`span`,{children:r.branch})]}):r?.branch?(0,W.jsxs)(`span`,{className:`canvas-hub-publication__branch`,children:[(0,W.jsx)(M,{size:16,"aria-hidden":`true`}),(0,W.jsx)(`span`,{children:r.branch})]}):null,fn=(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(U.Heading,{as:`h3`,size:`subhead-medium`,id:`canvas-hub-origin-title`,children:`Hub`}),r&&r.state!==`unconfigured`?(0,W.jsx)(`div`,{className:`canvas-hub-origin`,children:r.hubOrigin?(0,W.jsx)(`a`,{href:Q?new URL(`/repositories/${Q.repositoryId}/prototypes/${Q.id}`,r.hubOrigin).href:r.hubOrigin,target:`_blank`,rel:`noopener noreferrer`,children:r.hubOrigin}):(0,W.jsx)(`span`,{children:`URL unavailable`})}):null,se||r?.state===`disconnected`||r?.state===`unconfigured`?(0,W.jsxs)(`form`,{className:`canvas-hub-origin-form`,onSubmit:e=>{e.preventDefault(),!(le||de)&&(ue(!0),G(!0),R(``),a(K).then(()=>{G(!1)}).catch(e=>R(e.message)).finally(()=>ue(!1)))},children:[(0,W.jsxs)(`div`,{className:`canvas-hub-origin-field`,children:[(0,W.jsxs)(`label`,{children:[q.hubUrl,(0,W.jsx)(`input`,{type:`url`,required:!0,value:K,placeholder:`https://hub.example.com`,disabled:le||de,onChange:e=>ce(e.target.value)})]}),(0,W.jsx)(U.Button,{type:`button`,size:`small`,variant:`subtle`,className:`canvas-icon-button`,leadingVisual:(0,W.jsx)(L,{size:16}),"aria-label":q.resetHubUrl,title:q.resetHubUrl,disabled:le||de,"aria-busy":de,onClick:()=>{pe(!0),R(``),$(`/api/hub/discovery`,e.token,{method:`POST`,body:`{}`}).then(async e=>{if(e.discovery?.state!==`valid`||!e.discovery.origin)throw Error(e.discovery?.message||q.resetHubUnavailable);ce(e.discovery.origin),await i()}).catch(e=>R(e.message)).finally(()=>pe(!1))},children:(0,W.jsx)(`span`,{className:`visually-hidden`,children:q.resetHubUrl})})]}),(0,W.jsx)(`p`,{children:q.hubHttpsHint}),(0,W.jsxs)(`div`,{className:`canvas-hub-form-actions`,children:[(0,W.jsx)(U.Button,{type:`submit`,size:`small`,disabled:le||de,children:`Save Hub`}),se&&r?.state!==`unconfigured`&&r?.state!==`disconnected`?(0,W.jsx)(U.Button,{type:`button`,size:`small`,variant:`subtle`,disabled:le||de,onClick:()=>G(!1),children:`Cancel`}):null]})]}):null]});return(0,W.jsxs)(rt,{source:w,children:[_t.visible?(0,W.jsx)(cn,{..._t}):null,Bt&&Ut&&!e.pickAndPolish&&!e.improvementNotesDemo?(0,et.createPortal)((0,W.jsxs)(`div`,{className:`canvas-review-controls review-shell__comment-actions`,role:`group`,"aria-label":xt.heading,children:[(0,W.jsx)(yt,{bridgeReady:De&&zt,copy:xt,selectionBlocked:Vt,selecting:je!==null,onCancelSelection:Qt,onStartAreaSelection:()=>void Zt(`area`),onStartElementSelection:()=>void Zt(`element`)}),(0,W.jsx)(U.Tooltip,{ref:Ze,text:Vt?xt.selectionBlockedLabel:`${xt.heading} (${xt.sidebarShortcutLabel})`,type:`description`,children:(0,W.jsxs)(U.Button,{className:`canvas-comments-toggle review-shell__comments-toggle`,variant:`secondary`,size:`small`,"aria-label":`${xt.heading}, ${Lt}${Rt?`, ${xt.unreadLabel}`:``}`,"aria-expanded":T,"aria-keyshortcuts":`Shift+C`,disabled:Vt,onClick:nn,children:[(0,W.jsx)(tt,{children:Lt}),Rt?(0,W.jsx)(`span`,{className:`canvas-comments-unread-badge review-shell__unread-badge`,"aria-hidden":`true`}):null]})})]}),Ut):null,k&&It.length&&De&&!je?(0,W.jsx)(`div`,{className:`canvas-marker-layer`,children:(0,W.jsx)(ct,{threads:It,resolutions:Et,selectedThreadId:P,selectionBlocked:Ce,focusSelectedMarker:!1,showAreaHighlightsOnlyWhenSelected:!0,copy:xt,onSelect:e=>F(e.root.id)})}):null,(0,W.jsxs)(it,{className:`canvas-hub-panel`,contentClassName:`canvas-hub-content`,title:`Replica Hub`,label:`Hub`,open:Ht,closeLabel:`Close Hub`,closeRef:Xe,onClose:_,children:[I?(0,W.jsx)(`p`,{role:`alert`,children:I}):null,te?(0,W.jsx)(`p`,{role:`alert`,children:te}):null,r?null:(0,W.jsx)(`p`,{children:`Checking Hub connection…`}),!Ot&&!ht&&r?.message?(0,W.jsx)(`p`,{role:`status`,children:r.message}):null,ht?(0,W.jsxs)(`div`,{className:`canvas-hub-status`,children:[(0,W.jsx)(fe,{variant:`warning`,layout:`compact`,title:r?.message||X.hubUnavailable}),(0,W.jsx)(U.Button,{variant:`primary`,size:`small`,disabled:d,"aria-busy":d,leadingVisual:d?(0,W.jsx)(L,{size:16}):void 0,onClick:m||(()=>void i()),children:X.retry})]}):null,!Ot&&!ht&&u&&p&&m?(0,W.jsx)(Ae,{publication:u,busy:d,dirty:f,onPublish:p,onRetry:m}):null,Ot?(0,W.jsxs)(`section`,{className:`canvas-hub-connection`,children:[(0,W.jsx)(`p`,{children:q.connectionBeforePublishing}),(0,W.jsx)(U.Button,{ref:c,variant:`primary`,onClick:o,disabled:l,children:l?q.connectionOpeningBrowser:q.connectToHub})]}):null,!Ot&&(!se&&(r?.discovery?.mismatch||[`invalid`,`unreachable`].includes(r?.discovery?.state||``))||r?.state===`unconfigured`)?(0,W.jsxs)(`div`,{className:`canvas-hub-settings`,children:[!se&&r?.discovery?.mismatch?(0,W.jsx)(`p`,{role:`alert`,children:`The repository configuration differs from your selected Hub. Your connection has not changed. Disconnect Hub before selecting another URL.`}):null,!se&&[`invalid`,`unreachable`].includes(r?.discovery?.state||``)?(0,W.jsx)(`p`,{role:`alert`,children:r?.discovery?.message}):null,r?.state===`unconfigured`?(0,W.jsx)(`p`,{children:`Enter your Hub URL to connect.`}):null]}):null,r?.state===`undiscovered`&&!u?(0,W.jsxs)(`p`,{children:[`Connected to `,r.repository,`. Hub has not discovered`,` `,r.branch||`a prototype branch`,`. Your repository connection is ready. Push a named branch to make its Builds and reviews available.`]}):null,Q?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`section`,{className:u&&u.kind!==`ready`&&p&&m?`canvas-hub-publication canvas-hub-publication--after-status`:`canvas-hub-publication`,"aria-label":`Prototype`,children:Mt&&Kt?(0,W.jsxs)(`form`,{className:`canvas-hub-publication__form`,onSubmit:t=>{t.preventDefault(),$(`/api/hub/metadata`,e.token,{method:`PATCH`,body:JSON.stringify({name:me,description:ge,startPage:ve})}).then(async()=>{J(!1),await i()}).catch(e=>R(e.message))},children:[(0,W.jsxs)(`div`,{className:`canvas-hub-publication__title`,children:[(0,W.jsxs)(`label`,{className:`canvas-hub-publication__name-field`,children:[(0,W.jsx)(`span`,{className:`visually-hidden`,children:`Name`}),(0,W.jsx)(`input`,{required:!0,maxLength:255,value:me,onChange:e=>he(e.target.value)})]}),(0,W.jsx)(`span`,{className:`canvas-hub-publication__status`,children:Q.published?`Published`:Q.registered?`Registered`:`Not registered`})]}),dn,(0,W.jsxs)(`label`,{className:`canvas-hub-publication__description-field`,children:[(0,W.jsx)(`span`,{className:`visually-hidden`,children:`Description`}),(0,W.jsx)(`textarea`,{value:ge,placeholder:`Add a description`,onChange:e=>_e(e.target.value)})]}),(0,W.jsxs)(`label`,{className:`canvas-hub-publication__start-page-field`,children:[q.startPage,(0,W.jsx)(`input`,{value:ve,placeholder:`/`,"aria-describedby":`canvas-start-page-hint`,onChange:e=>ye(e.target.value)})]}),(0,W.jsx)(`p`,{id:`canvas-start-page-hint`,className:`canvas-hub-publication__hint`,children:q.startPageHint}),(0,W.jsxs)(`div`,{className:`canvas-hub-form-actions`,children:[(0,W.jsx)(U.Button,{type:`submit`,size:`small`,children:`Save metadata`}),(0,W.jsx)(U.Button,{type:`button`,size:`small`,variant:`subtle`,onClick:()=>J(!1),children:`Cancel`})]})]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:`canvas-hub-publication__title`,children:[(0,W.jsx)(U.Heading,{as:`h3`,size:`subhead-large`,children:Q.name||r?.branch}),(0,W.jsx)(`span`,{className:`canvas-hub-publication__status`,children:Q.published?`Published`:Q.registered?`Registered`:`Not registered`})]}),dn,Q.description?(0,W.jsx)(`p`,{className:`canvas-hub-publication__description`,children:Q.description}):null,(0,W.jsxs)(`p`,{className:`canvas-hub-publication__description canvas-hub-publication__start-page`,children:[q.startPage,`: `,(0,W.jsx)(`code`,{children:Q.startPage||`/`})]}),Mt?(0,W.jsx)(U.Button,{size:`small`,variant:`subtle`,onClick:()=>{he(Q.name||``),_e(Q.description||``),ye(Q.startPage||``),Se(ot),J(!0)},children:q.editDetails}):null]})}),(0,W.jsxs)(`section`,{className:`canvas-hub-section`,"aria-labelledby":`canvas-hub-build-title`,children:[(0,W.jsx)(U.Heading,{as:`h3`,size:`subhead-medium`,id:`canvas-hub-build-title`,children:q.latestBuild}),Q.build?(0,W.jsxs)(`div`,{className:`canvas-hub-build`,children:[(0,W.jsxs)(`div`,{className:`canvas-hub-build__identity`,children:[(0,W.jsx)(`a`,{href:Q.build.url,target:`_blank`,rel:`noopener noreferrer`,children:q.buildTitle(Q.build.number)}),(0,W.jsx)(`code`,{title:Q.build.commitSha,"aria-label":`${q.buildCommit} ${Q.build.commitSha}`,children:Q.build.commitSha.slice(0,7)})]}),(0,W.jsx)(`p`,{children:At?(0,W.jsx)(`a`,{className:`canvas-hub-build__author`,href:At,target:`_blank`,rel:`noopener noreferrer`,children:jt}):(0,W.jsx)(`span`,{children:jt})}),r?.commitSha&&r.commitSha!==Q.build.commitSha?(0,W.jsx)(`p`,{className:`canvas-hub-build__notice`,children:`Local checkout differs from this Build`}):null]}):(0,W.jsxs)(`p`,{children:[`No successful imported Build yet. Current Build: `,Q.buildState||`none`,`.`]}),Q.build&&r?.hubOrigin?(0,W.jsx)(`a`,{className:`canvas-hub-build__history`,href:new URL(`/repositories/${Q.repositoryId}/prototypes/${Q.id}/builds`,r.hubOrigin).href,target:`_blank`,rel:`noopener noreferrer`,children:q.showBuildHistory}):null]})]}):null,Ot?null:(0,W.jsxs)(`section`,{className:`canvas-hub-section`,"aria-labelledby":`canvas-hub-origin-title`,children:[fn,r?.hubOrigin&&[`connected`,`undiscovered`,`pairing`,`denied`,`unavailable`].includes(r.state)?(0,W.jsx)(`div`,{className:`canvas-hub-disconnect`,children:(0,W.jsx)(U.Button,{size:`small`,variant:`subtle`,onClick:()=>{ne(``),$(`/api/hub/disconnect`,e.token,{method:`POST`,body:`{}`}).then(async()=>{ce(r.discovery?.mismatch&&r.discovery.origin||r.hubOrigin||``),G(!0),await i(),s?.()}).catch(e=>{ne(q.disconnectFailed(r.hubOrigin||``,e.message)),ce(r.discovery?.mismatch&&r.discovery.origin||r.hubOrigin||``),G(!0)})},children:`Disconnect Hub`})}):null]}),Q?.registered&&Q.build&&h?(0,W.jsx)(Fn,{preference:h,disabled:d}):null]}),Bt?(0,W.jsx)(vt,{frame:{open:T,className:`canvas-comments-sidebar-shell`,contentClassName:`canvas-comments-sidebar-content`},threads:It,currentBuildNumber:Pt?.number||0,buildLinkOrigin:r?.hubOrigin,totalCount:It.length,hasThreads:wt.length>0,filters:D,participants:Tt,resolutions:Et,selectedThreadId:P,selectionBlocked:Vt,closeBlocked:Ce,showPins:k,loading:re,loadFailed:ae,notice:Re||r?.reviewError||r?.localCommentsError||ut?(0,W.jsxs)(`div`,{className:`canvas-comments-live-notices`,children:[Re?(0,W.jsx)(`p`,{className:`canvas-comments-live-status`,role:`status`,children:q.commentLiveUpdatesPaused}):null,r?.reviewError?(0,W.jsx)(`p`,{className:`canvas-comments-live-status`,children:r.reviewError}):null,r?.localCommentsError?(0,W.jsx)(`p`,{className:`canvas-comments-live-status`,role:`alert`,children:r.localCommentsError}):null,ut?(0,W.jsx)(`p`,{className:`canvas-comments-live-status`,children:q.localCommentsSaved}):null]}):null,copy:xt,onClose:nn,onFiltersChange:O,onShowPinsChange:A,onRetry:()=>void Jt(),onSelect:e=>F(e.root.id)}):null,(0,W.jsx)(Pn,{selectionNotice:Ie?Ie===`area-too-small`?xt.areaTooSmallLabel:Ie===`area-unavailable`?xt.areaUnavailableLabel:xt.selectionFailedLabel:null,rateLimitNotice:Ht?null:ee||!Z&&z||null,composer:Z&&Wt?{anchorPoint:Wt,bodyMaximumBytes:1e4,copy:xt,creating:Be?.kind===`create`,submitError:z,onSubmit:tn,onDiscard:$t}:null,conversation:Dt?{thread:Dt,anchorPoint:Te.get(Dt.root.id)??null,bodyMaximumBytes:1e4,mutation:Be,copy:xt,onClose:()=>F(null),onDraftStateChange:we,onReply:e=>en(`${Dt.root.id}/replies`,`POST`,{review_comment:{body:e}},{kind:`reply`,commentId:Dt.root.id}),onEdit:(e,t)=>en(`${e}`,`PATCH`,{review_comment:{body:t}},{kind:`edit`,commentId:e}),onDelete:e=>en(`${e}`,`DELETE`,void 0,{kind:`delete`,commentId:e}),onResolve:()=>en(`${Dt.root.id}/resolution`,`POST`,void 0,{kind:`resolve`,commentId:Dt.root.id}),onReopen:()=>en(`${Dt.root.id}/resolution`,`DELETE`,void 0,{kind:`reopen`,commentId:Dt.root.id}),onAddReaction:(e,t)=>en(`${e}/reactions`,`POST`,{review_comment_reaction:{content:t,activity_version:Dt.root.activityVersion}},{kind:`add-reaction`,commentId:e,content:t}),onRemoveReaction:(e,t)=>en(`${e}/reactions/${encodeURIComponent(t)}`,`DELETE`,{review_comment_reaction:{activity_version:Dt.root.activityVersion}},{kind:`remove-reaction`,commentId:e,content:t}),onMarkRead:e=>en(`${Dt.root.id}/read`,`POST`,{review_thread_read:{activity_version:e}}),onMarkUnread:()=>en(`${Dt.root.id}/read`,`DELETE`,void 0,{kind:`mark-unread`,commentId:Dt.root.id})}:null})]})}function zn(e,t,n){function r(e,t,n){return{kind:e,title:t,detail:n}}if(!e||!t)return n.kind===`unknown`?r(`retry`,Y.unavailable,n.detail):r(`checking`,Y.checking,Y.checkingDetail);if(!e.stats.branch)return r(`restricted`,Y.restricted,n.detail);if(t.repository&&t.repository!==e.stats.repository||t.branch&&t.branch!==e.stats.branch)return r(`retry`,Y.unavailable,Y.changedDetail);if(t.discovery?.state===`local`||e.stats.repository?.startsWith(`local/`))return r(`restricted`,Y.restricted,Y.local);if(t.registrationReason===`branch_not_reviewable`||e.stats.branch===t.discovery?.defaultBranch)return r(`restricted`,Y.restricted,X.registrationReasons.get(`branch_not_reviewable`).description);if([`disconnected`,`pairing`,`unconfigured`].includes(t.state))return r(`connect`,Y.connect,Y.connectDetail);if([`denied`,`unavailable`].includes(t.state))return r(`retry`,Y.unavailable,t.message||Y.unavailableDetail);if(t.repository!==e.stats.repository||t.branch!==e.stats.branch)return r(`retry`,Y.unavailable,Y.unavailableDetail);let i=t.prototype;if(t.state===`connected`&&i?.branch===e.stats.branch&&i.registered&&i.published&&i.build&&Number.isSafeInteger(i.build.number)&&i.build.number>0)return r(`ready`,Y.ready,Y.readyDetail);if(t.state===`connected`&&(!i||i.branch!==e.stats.branch||typeof i.published!=`boolean`||i.published))return r(`retry`,Y.unavailable,Y.unavailableDetail);let a=t.state===`connected`?i?.canEdit:t.canPublish;if(a===!1)return r(`restricted`,Y.restricted,Y.publishDenied);let o=e.stats.remoteBranch,s=t.state===`undiscovered`&&t.repositoryAuthorized===!0&&!i&&(!t.commitSha||t.commitSha===e.stats.commitSha)&&o?.repository===e.stats.repository&&o?.branch===e.stats.branch&&o?.commitSha===e.stats.commitSha&&(o?.state===`absent`||o?.state===`present`&&e.publishRequest?.commitSha===e.stats.commitSha&&([`requested`,`in_progress`].includes(e.publishRequest?.state??``)||e.publishRequest?.state===`idle`&&e.publishRequest.remoteState===`absent`))&&![`loading`,`unknown`,`detached`,`workflow_missing`].includes(n.kind),c=a===void 0&&s;if(a!==!0&&!c)return r(`retry`,Y.unavailable,Y.permissionUnknown);let l=t.registrationReason||i?.registrationReason;if(n.error&&(l!==`remote_branch_missing`||!s)){let e=[`successful_build_required`,`already_registered`].includes(l||``),t=[`write_access_required`,`repository_mismatch`,`branch_not_reviewable`,`remote_branch_missing`,`branch_authorship_required`].includes(l||``);return{...r(e?`progress`:t?`restricted`:`retry`,n.error.title,n.error.description),...e?{publication:{...n,action:`retry`,label:X.retry}}:{}}}if(n.kind===`detached`)return r(`restricted`,Y.restricted,n.detail);if(n.action===`retry`)return r(`retry`,Y.unavailable,n.detail);if(n.kind===`loading`)return r(`checking`,Y.checking,n.detail);let u=c?`${Y.publishDetail} ${Y.publishPermissionUnverified}`:Y.publishDetail,d=s&&l===`remote_branch_missing`?{...n,error:void 0}:n;return n.action===`publish`?{...r(`publish`,Y.publish,u),publication:d}:{...r(`progress`,Y.preparing,u),publication:d}}function Bn({open:e,onToggle:t,buttonRef:n}){return(0,W.jsx)(K,{icon:te,"aria-label":q.controls,description:q.controls,ref:n,size:`small`,variant:`default`,className:`canvas-controls-toggle`,"aria-expanded":e,onClick:t})}function Vn({toolbarRef:e,improvementControlsRef:t,config:n,onPublish:r,publishButtonRef:i,hubButtonRef:a,titleButtonRef:o,onBuildDetails:s,publishing:c,state:l,prototypeName:u,hubOpen:d,onHub:f,publication:p,onControls:m,controlsOpen:h,controlsButtonRef:g,onShare:_,shareButtonRef:y}){let b=l?.publishStatus??{state:`unavailable`,detail:q.statusUnavailable},x=u?.trim()||l?.stats.branch||l?.name||n.name,S=l?[x,l.stats.repository,l.stats.commitSha?.slice(0,7),l.stats.workingTree===`changed`?q.workingTreeChanged:q.workingTreeClean,l.stats.urlHost].filter(Boolean).join(` · `):x,C=c||(p?p.action===`none`:b.state===`requested`||b.state===`in_progress`||b.state===`published`),w=c||(p?p.kind===`requested`||p.kind===`queued`||p.kind===`building`||p.kind===`importing`||p.kind===`awaiting_build`||p.kind===`registration`:b.state===`requested`||b.state===`in_progress`),T=!w&&(p?p.kind===`ready`:b.state===`published`),E=(0,W.jsx)(U.Button,{type:`button`,ref:i,className:`canvas-publish-button`,variant:`secondary`,size:`small`,leadingVisual:w?(0,W.jsx)(L,{size:16}):Hn(b.state),disabled:C&&!T,"aria-busy":w,title:T?void 0:p?.detail||b.detail,onClick:C||T?void 0:r,children:p?.label||q.publishLabels[b.state]});return(0,W.jsxs)(`header`,{ref:e,className:`canvas-toolbar`,children:[(0,W.jsx)(U.Button,{type:`button`,className:`canvas-title`,ref:o,variant:`subtle`,size:`small`,title:S,disabled:!l,onClick:s,children:x}),(0,W.jsx)(`div`,{id:`canvas-review-controls`,className:`canvas-review-controls-slot`}),n.pickAndPolish||n.improvementNotesDemo?(0,W.jsx)(`div`,{ref:t,id:`canvas-improvement-controls`}):null,m?(0,W.jsx)(Bn,{buttonRef:g,open:h,onToggle:m}):null,f?(0,W.jsx)(U.Button,{type:`button`,ref:a,size:`small`,variant:`secondary`,className:`canvas-toolbar-compact-button`,leadingVisual:(0,W.jsx)(re,{size:16}),"aria-label":q.editDetails,title:q.editDetails,"aria-expanded":d,onClick:f,children:(0,W.jsx)(`span`,{className:`canvas-toolbar-button-label`,children:q.editDetails})}):null,(0,W.jsxs)(`div`,{className:`canvas-publish-share`,role:`group`,"aria-label":J.group,children:[T?(0,W.jsx)(U.Tooltip,{ref:i,text:X.alreadyPublished,type:`description`,children:E}):E,_?(0,W.jsx)(K,{ref:y,icon:v,size:`small`,"aria-label":J.title,description:J.title,onClick:_}):null]})]})}function Hn(e){return e===`published`?(0,W.jsx)(ae,{size:16}):e===`failed`||e===`in_progress`||e===`requested`?(0,W.jsx)(L,{size:16}):(0,W.jsx)(D,{size:16})}function Un(e,t,n){return{status:t?`pending`:e.status,url:n,error:t?``:e.error??``,controls:t?[]:e.scopes.flatMap(e=>e.declaration.controls.map(t=>Je(e,t)))}}var Wn={bridgeUnavailable:`The prototype bridge is not ready on this page.`,routeChanged:`The prototype route changed. Inspect the live canvas again.`,reloaded:`The prototype reloaded before confirming the click. Inspect the live canvas and retry.`,unconfirmed:`The prototype did not confirm the click. Check its bridge and retry.`,clickFailed:`The target could not be clicked.`,addressUnavailable:`The canvas address field is unavailable.`,unknownAction:`Unknown canvas action.`,replyRejected:`The live canvas rejected the action reply. Check its transport diagnostics.`,actionInterrupted:`The canvas changed before the action could run. Inspect the live canvas and retry.`,statusInterrupted:`The canvas changed while collecting Controls status. Inspect the live canvas and retry.`};function Gn(e){let{token:t,prototypeUrl:n,previewUrl:r,cancelClick:i}=e,a=(0,H.useRef)(e),o=(0,H.useRef)(null);(0,H.useLayoutEffect)(()=>{a.current=e}),(0,H.useEffect)(()=>{o.current??=crypto.randomUUID();let e={"X-Replica-Renderer-Id":o.current},s=!1,c=!1,l=new AbortController,u=new URL(r??n).origin;async function d(e){let t=a.current.frameRef.current,n=a.current.liveRoute;if(!t?.contentWindow||!n)throw Error(Wn.bridgeUnavailable);if(e.route.pathname!==n.pathname||e.route.search!==n.search||e.route.hash!==n.hash)throw Error(Wn.routeChanged);let r=crypto.randomUUID();return await new Promise((n,a)=>{function o(){window.clearTimeout(c),window.removeEventListener(`message`,l),i.current===s&&(i.current=null)}function s(){o(),a(Error(Wn.reloaded))}let c=window.setTimeout(()=>{o(),a(Error(Wn.unconfirmed))},2e3);function l(i){let s=i.data;i.source===t?.contentWindow&&i.origin===u&&s&&typeof s==`object`&&`type`in s&&s.type===`replica:canvas:click-result`&&`nonce`in s&&s.nonce===r&&(o(),`clicked`in s&&s.clicked===!0?n({clicked:!0,route:e.route}):a(Error(Wn.clickFailed)))}i.current=s,window.addEventListener(`message`,l),t.contentWindow.postMessage({type:`replica:canvas:click`,nonce:r,...e},u)})}async function f(e){let t=a.current.frameRef.current,r=crypto.randomUUID(),i=Date.now()+e,o=await new Promise((n,o)=>{function s(){window.clearTimeout(d),window.removeEventListener(`message`,p),t?.removeEventListener(`load`,m),l.signal.removeEventListener(`abort`,c)}function c(){s(),o(Error(Wn.statusInterrupted))}let d=window.setTimeout(()=>{if(s(),a.current.liveRoute)o(Error(Wn.bridgeUnavailable));else{let e=new URL(a.current.navigation.entries[a.current.navigation.index]);e.protocol=new URL(u).protocol,e.host=new URL(u).host,n({status:`pending`,url:e.href,error:``,controls:[]})}},e+1500),f=!1;function p(e){let i=e.data;e.source===t?.contentWindow&&t===a.current.frameRef.current&&e.origin===u&&i&&typeof i==`object`&&`type`in i&&(i.type===`replica:canvas:ready`&&!f&&(f=!0,m()),i.type===`replica:controls:status-result`&&`nonce`in i&&i.nonce===r&&`value`in i&&(s(),n(i.value)))}function m(){t===a.current.frameRef.current&&t?.contentWindow?.postMessage({type:`replica:controls:status`,nonce:r,timeoutMs:Math.max(0,i-Date.now())},u)}window.addEventListener(`message`,p),t?.addEventListener(`load`,m),l.signal.addEventListener(`abort`,c),m()});if(!o||typeof o!=`object`||!(`url`in o)||typeof o.url!=`string`||!(`status`in o)||typeof o.status!=`string`||!(`error`in o)||typeof o.error!=`string`||!(`controls`in o)||!Array.isArray(o.controls))throw Error(Wn.bridgeUnavailable);let s=new URL(o.url);if(s.origin!==u)throw Error(Wn.routeChanged);let c=new URL(n);s.protocol=c.protocol,s.host=c.host;let d=await p(i);return!d&&a.current.controlsConnection===void 0?{...o,url:s.href}:{...d?Un(d,d.loading,s.href):{status:`pending`,url:s.href,error:``,controls:[]},runtime:{status:o.status,error:o.error,controls:o.controls}}}function p(e){let t=a.current.controlsConnection;if(!t)return Promise.resolve(null);let n=t.getSnapshot,r=t.subscribe,i=n();return!i.loading||e<=Date.now()?Promise.resolve(i):new Promise(t=>{let i={};function a(e){window.clearTimeout(c),i.unsubscribe?.(),l.signal.removeEventListener(`abort`,s),t(e)}function o(){let e=n();e.loading||a(e)}function s(){a(null)}let c=window.setTimeout(()=>a(n()),e-Date.now());i.unsubscribe=r(o),l.signal.addEventListener(`abort`,s,{once:!0}),o()})}async function m(){if(!(s||c)){s=!0;try{let{command:r,prototypeUrl:i}=await $(`/api/agent/next`,t,{headers:{...e,"X-Replica-Prototype-Url":n}});if(!c&&i&&i!==n){window.location.reload();return}if(!r)return;let o;try{if(await $(`/api/agent/progress`,t,{method:`POST`,headers:e,body:JSON.stringify({id:r.id,stage:`handler started`})}),c)throw Error(Wn.actionInterrupted);let n;if(r.type===`inspect`){let{appearance:e,navigation:t,liveRoute:r,addressRef:i}=a.current,o=i.current?.value;if(o===void 0)throw Error(Wn.addressUnavailable);n={address:t.entries[t.index],addressDraft:o,appearance:e,canGoBack:t.index>0,canGoForward:t.indexvoid m(),300);return()=>{c=!0,l.abort(),window.clearInterval(h),i.current?.()}},[n,r,t,i])}function Kn(e,t,n){let r=t?.repository===e?.stats.repository&&t?.branch===e?.stats.branch,i=!e?.stats.branch&&!!e?.stats.branchError,a=i?void 0:t?.branch,o=!!(e&&!i&&(t?.repository&&t.repository!==e.stats.repository||t?.branch&&t.branch!==e.stats.branch||t?.commitSha&&t.commitSha!==e.stats.commitSha)),s=!!(n.kind===`ready`&&r&&t?.state===`connected`&&t.prototype?.published&&t.prototype.build?.commitSha===e?.stats.commitSha);return{state:e&&{...e,publishStatus:!s&&[`requested`,`in_progress`].includes(e.publishStatus?.state??``)||t?.state===`connected`&&!r?e.publishStatus:s&&t?.prototype?.build?{state:`published`,detail:q.hubBuildImported,versionCount:t.prototype.versionCount,lastUpdatedAt:t.prototype.build.publishedAt,run:{url:t.prototype.build.url,actor:t.prototype.build.author.login||t.prototype.build.author.name?{login:t.prototype.build.author.login||void 0,name:t.prototype.build.author.name||void 0,avatarUrl:t.prototype.build.author.avatarUrl||void 0}:null}}:{state:t?.state===`connected`?`not_published`:`unavailable`,detail:t?.state===`connected`?q.hubBuildMissing:q.hubPublicationUnavailable},stats:{...e.stats,branch:a||e.stats.branch,branchError:a&&a!==e.stats.branch?null:e.stats.branchError,repository:t?.repository||e.stats.repository,commitSha:e.stats.commitSha,comparison:o?{branch:null,source:null,behind:null,error:q.comparisonNeedsRefresh}:e.stats.comparison,publishedUrl:s?t?.prototype?.build?.url:void 0}},hubPublished:s,comparisonOutdated:o}}function qn(e,t){let n;function r(e,t,r,i=`none`){return{kind:e,detail:t,label:r,action:i,...n?{error:n}:{}}}if(!e)return r(`loading`,X.initial,X.checking);let{stats:i}=e,a=i.remoteBranch;if(!a||a.state===`loading`)return r(`loading`,X.checkingRemote,X.checking);if(!i.branch||a.state===`detached`)return r(`detached`,X.detached,X.retry,`retry`);if(a.repository!==i.repository||a.branch!==i.branch||a.commitSha!==i.commitSha)return r(`unknown`,X.changed,X.retry,`retry`);if(a.state===`unknown`)return r(`unknown`,X.unknown(a.error),X.retry,`retry`);let o=t?.state===`connected`?t.prototype:void 0,s=o?.build?.commitSha===i.commitSha&&o?.branch===i.branch,c=e.publishRequest,l=t?.state===`connected`&&t.repository===i.repository&&t.branch===i.branch&&(!t.commitSha||t.commitSha===i.commitSha)&&t.prototype?.branch===i.branch&&t.prototype.build?.commitSha===i.commitSha?t.prototype.build:null,u=!!(l&&(c?.commitSha!==i.commitSha||c.buildNumber===void 0||typeof c.buildNumber==`number`&&l.number>c.buildNumber)),d=u&&o?.registered&&o.published,f=t!==null&&t.repository===i.repository&&(!t.branch||t.branch===i.branch)&&(!t.commitSha||t.commitSha===i.commitSha);if(t&&f&&(t.state===`connected`||t.state===`undiscovered`)&&!o?.registered&&(!o||o.branch===i.branch)){let e=t.registrationReason||o?.registrationReason,r=i.branch===t.discovery?.defaultBranch;if(e||t.registrationError||o?.canRegister===!1||r){let i=e||(r?`branch_not_reviewable`:o?.canEdit===!1?`write_access_required`:o?.canRegister===!1&&a.state===`absent`?`remote_branch_missing`:void 0);n=i&&X.registrationReasons.get(i)||{title:X.registrationErrorTitle,description:t.registrationError||X.registrationDenied}}}if(c?.state===`requested`&&(!c.commitSha||c.commitSha===i.commitSha)&&(a.state===`absent`||a.remoteSha!==i.commitSha)&&!u){let e=Date.now()-Date.parse(c.requestedAt||``);if(Number.isFinite(e)&&e<6e5)return r(`requested`,X.pending,X.awaitingCopilot)}if(!t)return r(`loading`,X.checkingHub,X.checking);if(t.state===`disconnected`||t.state===`pairing`||t.state===`unconfigured`)return r(`disconnected`,t.message||X.disconnected,X.connect);if(t.state===`denied`||t.state===`unavailable`)return{...r(`unknown`,t.message||X.hubUnavailable,X.retry,`retry`),error:{title:X.hubUnavailableTitle,description:t.message||X.hubUnavailable}};if(!f)return r(`unknown`,X.staleHub,X.retry,`retry`);if(!i.replicaWorkflowExists)return r(`workflow_missing`,X.workflowMissing,X.retry,`retry`);if(c?.state===`failed`&&!d&&(!c.commitSha||c.commitSha===i.commitSha))return r(`failed`,c.error||X.dispatchFailed,X.retryPublish,`publish`);if(a.state===`absent`)return r(`unpublished`,X.absent,X.publishBranch,`publish`);if(a.remoteSha!==i.commitSha)return r(`needs_push`,X.needsPush,X.publishChanges,`publish`);if(s){if(!o.registered)return r(`registration`,t.registrationError||(o.canEdit&&o.canRegister?X.needsRegistration:X.registrationDenied),t.registrationError?X.registrationFailed:X.registration);if(o.published&&u)return r(`ready`,X.ready,X.published)}if(o?.currentBuild?.commitSha===i.commitSha&&o.branch===i.branch&&o.currentBuild.state===`failed`)return r(`failed`,X.importFailed,X.retryPublish,`publish`);let p=i.workflow;if(!p||p.state===`unavailable`)return r(`unknown`,p?.detail||X.workflowUnavailable,X.retry,`retry`);let m=p.run;if(m&&(m.headSha!==i.commitSha||m.headBranch!==i.branch))return r(`unknown`,X.staleWorkflow,X.retry,`retry`);if(c?.commitSha===i.commitSha&&c.workflowRunId!=null&&m?.databaseId===c.workflowRunId&&!u)return r(`awaiting_build`,X.noBuild,X.awaitingBuild);let h;if(p.state===`in_progress`&&m){let e=[`queued`,`waiting`,`pending`,`requested`].includes(m.status||``);h=r(e?`queued`:`building`,e?X.workflowQueued:X.workflowBuilding,e?X.queued:X.building)}else h=p.state===`failed`&&m?r(`failed`,X.workflowFailed(m.conclusion),X.retryPublish,`publish`):p.state===`succeeded`&&m?r(`importing`,X.importing,X.awaitingHub):r(`awaiting_build`,X.noBuild,X.awaitingBuild);return m?.url?.startsWith(`https://github.com/`)&&(h.runUrl=m.url),h}function Jn({token:e,state:t,hubStatus:n,error:r,setError:i,refresh:a,refreshHub:o,preferenceSaving:s=!1}){let[c,l]=(0,H.useState)(``),[u,d]=(0,H.useState)(!1),[f,p]=(0,H.useState)(null),m=(0,H.useRef)(!1),[h,g]=(0,H.useState)(null),[_,v]=(0,H.useState)(``),[y,b]=(0,H.useState)(!1),x=!t&&r?{kind:`unknown`,action:`retry`,label:X.retry,detail:r}:qn(t,n),S=`${t?.stats.repository}/${t?.stats.branch}/${t?.stats.commitSha}`,C=f?.identity===S&&x.action===`publish`?{...x,kind:`failed`,detail:f.message,label:X.retryPublish}:x.kind===`ready`&&t?.stats.workingTree===`changed`?{...x,kind:`needs_push`,action:`publish`,label:X.publishChanges,detail:X.localChanges}:x,w=Kn(t,n,x);(0,H.useEffect)(()=>{w.comparisonOutdated&&a(!0)},[w.comparisonOutdated,n?.branch,n?.commitSha,n?.repository,a]);async function T(){if(!y){b(!0);try{await Promise.all([a(!0),o()])}finally{b(!1)}}}async function E(){s||(C.action===`retry`?await T():C.action===`none`||m.current||h||await D())}async function D(){if(!(s||m.current)){m.current=!0,d(!0),i(``),v(``);try{let t=await $(`/api/publish/prepare`,e,{method:`POST`,body:`{}`});t.workingTree===`unavailable`||t.workingTree===`changed`&&!t.remember?g({preparation:t}):(g(null),await O(t,t.workingTree===`changed`?`commit-changes`:`committed-only`))}catch(e){let t=e instanceof Error?e.message:String(e);i(t),v(t)}finally{m.current=!1,d(!1)}}}async function O(r,s,c){if(s===`committed-only`&&n?.state===`connected`&&n.repository===r.target.repository&&n.branch===r.target.branch&&n.prototype?.registered&&n.prototype.published&&n.prototype.build?.commitSha===r.target.commitSha&&t?.stats.remoteBranch?.state===`present`&&t.stats.remoteBranch.remoteSha===r.target.commitSha)g(null);else{p(null),v(``),i(``);try{let t=await $(`/api/publish`,e,{method:`POST`,body:JSON.stringify({target:r.target,workingTree:r.workingTree,mode:s,remember:c})});g(null),l(t.message),await o(),await a(!1)}catch(e){let t=e instanceof Error?e.message:String(e);p({message:t,identity:S}),i(t),v(t)}}}async function k(e,t){if(!(s||!h||m.current)){if(h.preparation.workingTree===`unavailable`&&e!==`committed-only`)v(pe.checkFailed);else{m.current=!0,d(!0);try{await O(h.preparation,e,t)}finally{m.current=!1,d(!1)}}}}return{publication:C,presentedState:w.state,busy:u||y||s,notice:c,publishDialog:h,publishDialogError:_,closePublishDialog:()=>g(null),choosePublish:k,retryPublishCheck:D,publish:E,retry:T}}var Yn=`replica:controls`;function Xn(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;try{let n=JSON.stringify(e);if(!(typeof n==`string`&&new Blob([n]).size<=512e3&&Object.keys(e).every(e=>[`protocol`,`version`,`epoch`,`requestId`,`type`,`sequence`,`state`,`error`,`command`,`controlQuery`,`fromFrameUrl`].includes(e))&&(t.error===void 0||typeof t.error==`string`&&t.error.length<=1e3)&&(t.controlQuery===void 0||[`hello`,`snapshot`,`reply`].includes(t.type)&&typeof t.controlQuery==`string`&&new Blob([t.controlQuery]).size<=8192)&&(t.fromFrameUrl===void 0||t.type===`hello`&&typeof t.fromFrameUrl==`boolean`)&&t.protocol===`replica:controls`&&t.version===1&&typeof t.epoch==`string`&&/^[a-zA-Z0-9-]{1,100}$/.test(t.epoch)&&typeof t.requestId==`string`&&/^[a-zA-Z0-9-]{1,100}$/.test(t.requestId)&&[`hello`,`snapshot`,`command`,`reply`].includes(t.type)))return!1;if(t.type!==`command`)return t.command===void 0;let r=t.command;if(!r||typeof r!=`object`||Array.isArray(r))return!1;if(r.operation===`url`)return Object.keys(r).every(e=>[`operation`,`query`,`scope`].includes(e))&&(r.scope===void 0||typeof r.scope==`string`&&/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.scope))&&typeof r.query==`string`&&new Blob([r.query]).size<=8192&&[...new URLSearchParams(r.query).keys()].every(e=>/^rc\.[a-zA-Z][a-zA-Z0-9_-]{0,63}\.[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e));if(r.operation===`reset-all`)return Object.keys(r).every(e=>[`operation`,`contexts`].includes(e))&&Array.isArray(r.contexts)&&r.contexts.length<=100&&new Set(r.contexts.map(e=>e?.scope)).size===r.contexts.length&&r.contexts.every(e=>typeof e==`object`&&!!e&&Object.keys(e).length===3&&typeof e.scope==`string`&&/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e.scope)&&typeof e.fingerprint==`string`&&Number.isSafeInteger(e.revision)&&e.revision>=0);let i=[`operation`,`scope`,`fingerprint`,`revision`];return typeof r.scope!=`string`||!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.scope)||typeof r.fingerprint!=`string`||!Number.isSafeInteger(r.revision)||r.revision===void 0||r.revision<0?!1:r.operation===`restore`?Object.keys(r).every(e=>[...i,`values`].includes(e))&&Se(r.values):r.operation===`reset`?Object.keys(r).every(e=>i.includes(e)):r.operation!==`action`&&r.operation!==`update`||typeof r.id!=`string`||!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.id)?!1:Object.keys(r).every(e=>[...i,`id`,...r.operation===`update`?[`value`]:[]].includes(e))&&(r.operation===`action`||Se({[r.id]:r.value}))}catch{return!1}}function Zn(e){return Array.isArray(e)&&e.length<=100&&e.every(e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&`scope`in e&&typeof e.scope==`string`&&e.scope.length>0&&e.scope.length<=64&&`error`in e&&typeof e.error==`string`&&e.error.length>0&&e.error.length<=500)}function Qn(e){if(!e||typeof e!=`object`)return!1;let t=e;if(typeof t.runtimeAvailable!=`boolean`||t.reconnectRequired!==void 0&&typeof t.reconnectRequired!=`boolean`||t.status===`ready`&&(!t.runtimeAvailable||!t.scopes?.length)||t.error!==void 0&&(typeof t.error!=`string`||t.error.length>1e3)||t.scopeErrors!==void 0&&!Zn(t.scopeErrors)||![`ready`,`no-controls`,`missing-runtime`,`unsupported-runtime`,`invalid-config`].includes(t.status)||!Array.isArray(t.scopes)||t.scopes.length>100||t.status!==`ready`&&t.scopes.length>0)return!1;try{let e=new Set;for(let n of t.scopes){if(Ue(n.declaration),e.has(n.declaration.scope)||(e.add(n.declaration.scope),n.fingerprint!==JSON.stringify(n.declaration)||!Number.isSafeInteger(n.snapshot.revision)||n.snapshot.revision<0))return!1;let t=n.snapshot;if(!t.values||!t.visible||!t.groups||!t.actions)return!1;function r(e,t){return typeof e==`object`&&!Array.isArray(e)&&Object.keys(e).length===t.length&&t.every(t=>Object.hasOwn(e,t))}if(!r(t.values,n.declaration.controls.filter(e=>e.type!==`button`).map(e=>e.id))||!r(t.visible,n.declaration.controls.map(e=>e.id))||!r(t.groups,(n.declaration.groups??[]).map(e=>e.id))||!r(t.actions,n.declaration.controls.filter(e=>e.type===`button`).map(e=>e.id))||Object.values(t.groups).some(e=>typeof e!=`boolean`))return!1;if(t.bindings!==void 0){if(!t.bindings||typeof t.bindings!=`object`||Array.isArray(t.bindings))return!1;for(let[e,r]of Object.entries(t.bindings))if(!n.declaration.controls.some(t=>t.id===e)||!r||typeof r.error!=`string`||r.error.length>500||typeof r.busy!=`boolean`||r.available!==void 0&&typeof r.available!=`boolean`)return!1}for(let e of n.declaration.controls){if(typeof t.visible[e.id]!=`boolean`)return!1;if(e.type===`button`){let n=t.actions[e.id];if(!n||typeof n.available!=`boolean`||typeof n.busy!=`boolean`)return!1}else if(ze(e,t.values[e.id]))return!1}}return!0}catch{return!1}}function $n(){return{runtimeAvailable:!1,status:`missing-runtime`,scopes:[],scopeErrors:[],loading:!0,notice:``,error:``,storageError:``,resetting:!1}}var er=class{frame;origin;api;surface;epoch=``;sequence=-1;state=$n();listeners=new Set;pending=new Map;saved;storageReady=!1;restored=new Set;preparing=new Set;persisted=new Map;cachedScopes=new Map;retryState;resetForIdentity=!1;fromFrameUrl=!1;requests=new AbortController;poll;deadline;saveQueue=Promise.resolve();editQueue=Promise.resolve();stopped=!0;constructor(e,t,n,r=`canvas`){this.frame=e,this.origin=t,this.api=n,this.surface=r}getSnapshot=()=>this.state;getControlValues=()=>{let e=structuredClone(this.saved?.scopes??{}),t=new Map(this.cachedScopes);for(let e of this.state.scopes)t.set(e.declaration.scope,e);for(let[n,r]of t)e[n]=Xe(r);return e};subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});publish(e){this.state={...this.state,...e},this.state.hasResettableValues=Object.values(this.getControlValues()).some(e=>Object.keys(e).length>0);for(let e of[...this.listeners])e()}hasBindingError(e,t){return this.state.scopes.some(n=>(!e||n.declaration.scope===e)&&Object.entries(n.snapshot.bindings??{}).some(([e,n])=>(!t||e===t)&&!!n.error))}checkSaved(e){let t=e,n=/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/;if(!t||typeof t!=`object`||typeof t.identity!=`string`||!t.identity||t.identity.length>128||!t.scopes||typeof t.scopes!=`object`||Array.isArray(t.scopes)||t.storageError!==void 0&&(typeof t.storageError!=`string`||t.storageError.length>1e3)||t.notice!==void 0&&(typeof t.notice!=`string`||t.notice.length>1e3)||new Blob([JSON.stringify(t)]).size>27e4)throw Error(`Invalid controls storage response.`);for(let[e,r]of Object.entries(t.scopes)){if(!n.test(e)||!r||typeof r!=`object`||Array.isArray(r))throw Error(`Invalid controls storage scope.`);for(let[e,t]of Object.entries(r))if(!n.test(e)||!(typeof t==`string`||typeof t==`boolean`||typeof t==`number`&&Number.isFinite(t)||Array.isArray(t)&&t.length<=100&&t.every(e=>typeof e==`string`)))throw Error(`Invalid saved control value.`)}}start=e=>{this.fromFrameUrl=e?.type===`load`&&this.sequence>=0;let t=[...this.pending.values()].some(e=>e.action);this.stop(),this.requests=new AbortController,this.stopped=!1,this.epoch=crypto.randomUUID(),this.sequence=-1,this.saved=void 0,this.storageReady=!1,this.restored.clear(),this.preparing.clear(),this.persisted.clear(),this.editQueue=Promise.resolve(),this.cachedScopes.clear(),this.retryState=void 0,this.resetForIdentity=!1,this.state=$n(),t&&(this.state.notice=`The preview reconnected during an action. Its outcome is unknown; it was not replayed.`),this.publish({});let n=this.epoch;window.addEventListener(`message`,this.receive),this.frame.addEventListener(`load`,this.start);let r=()=>{this.storageReady&&(this.surface===`canvas`&&this.frame.contentWindow?.postMessage({type:`replica:canvas:request-ready`,nonce:n},this.origin),this.send(`hello`).catch(()=>{}))};r(),this.poll=setInterval(()=>{this.state.status===`missing-runtime`&&r()},1e3),this.deadline=setTimeout(()=>{this.state.loading&&this.publish({loading:!1,error:this.surface===`build`?`Build Controls did not connect. Reload the preview or check its definitions.`:q.controlsLocalConnectionFailed})},6e3),this.api().then(e=>{if(!(this.epoch!==n||this.stopped)){if(this.checkSaved(e),this.saved=e,this.retryState?.identity===e.identity)for(let[e,t]of this.retryState.scopes)this.restored.add(`${e}:${t.fingerprint}`),this.cachedScopes.set(e,t);else this.retryState?.identity&&(this.resetForIdentity=!0,this.publish({notice:`The checkout identity changed. Controls will use this branch's saved values or defaults.`}));this.retryState=void 0,this.storageReady=!0,this.publish({storageError:e.storageError||``,notice:e.notice||this.state.notice}),this.prepare(this.state),r()}}).catch(e=>{this.epoch!==n||this.stopped||(this.storageReady=!0,this.publish({storageError:this.surface===`build`?e instanceof Error?e.message:`Control settings could not be read from the URL.`:q.controlsLocalStorageFailed}),this.prepare(this.state),r())})};retry=()=>{let e={identity:this.saved?.identity,scopes:new Map(this.cachedScopes)};this.start(),this.retryState=e};stop=()=>{this.stopped=!0,this.requests.abort(),clearInterval(this.poll),clearTimeout(this.deadline),window.removeEventListener(`message`,this.receive),this.frame.removeEventListener(`load`,this.start);for(let e of this.pending.values())clearTimeout(e.timer),e.reject(Error(`The preview navigated. The command outcome is unknown; it will not be replayed.`));this.pending.clear()};receive=e=>{if(this.stopped||e.source!==this.frame.contentWindow||e.origin!==this.origin||!Xn(e.data))return;let t=e.data;if(t.epoch!==this.epoch||!Qn(t.state)||!Number.isSafeInteger(t.sequence)||(t.sequence??-1)<0||t.type!==`snapshot`&&t.type!==`reply`)return;let n=this.pending.get(t.requestId);if(t.type!==`reply`||n){if((t.sequence??-1)>this.sequence){if(t.type===`snapshot`&&t.controlQuery!==void 0&&this.saved){let e=Ee(t.controlQuery),n=this.saved.identity,r=this.epoch;this.stop();let i=new AbortController;this.requests=i,this.publish({loading:!0}),this.api({method:`POST`,signal:i.signal,body:JSON.stringify({identity:n,replace:!0,scopes:e.scopes})}).then(()=>{this.epoch!==r||i.signal.aborted||(this.start(),e.notice&&this.publish({notice:e.notice}))}).catch(e=>{this.epoch!==r||i.signal.aborted||this.publish({loading:!1,storageError:e instanceof Error?e.message:`Controls history could not be restored.`})});return}if(t.controlQuery!==void 0&&this.saved){let e=this.epoch,n=this.requests,r=Ee(t.controlQuery);this.saved.scopes=r.scopes,this.restored.clear(),this.persisted.clear(),this.cachedScopes.clear(),this.publish({notice:r.notice,loading:!0}),this.api({method:`POST`,signal:n.signal,body:JSON.stringify({identity:this.saved.identity,replace:!0,scopes:r.scopes})}).catch(t=>{this.epoch!==e||this.stopped||n.signal.aborted||this.publish({storageError:t instanceof Error?t.message:`Controls history could not be restored.`})})}this.sequence=t.sequence;let e=t.state.status;this.publish({...t.state,scopeErrors:t.state.scopeErrors??[],reconnectRequired:t.state.reconnectRequired===!0,status:e,error:t.state.error||(this.state.status===`missing-runtime`&&t.state.status!==`missing-runtime`?``:this.state.error),loading:!this.storageReady||this.state.resetting||this.preparing.size>0||this.state.loading&&e===`missing-runtime`}),this.prepare(this.state)}n&&(this.pending.delete(t.requestId),clearTimeout(n.timer),t.error?n.reject(Error(t.error)):n.resolve(this.state))}};send(e,t){let n=crypto.randomUUID(),r={protocol:Yn,version:1,epoch:this.epoch,requestId:n,type:e,...t?{command:t}:{},...e===`hello`?{controlQuery:Te(this.saved?.scopes??{}),fromFrameUrl:this.fromFrameUrl}:{}};return Xn(r)?new Promise((i,a)=>{let o=setTimeout(()=>{this.pending.delete(n),a(Error(`The command timed out. Its outcome is unknown; it will not be retried automatically.`))},e===`hello`?1200:3e4);this.pending.set(n,{resolve:i,reject:a,timer:o,action:t?.operation===`action`}),this.frame.contentWindow?.postMessage(r,this.origin)}):Promise.reject(Error(`The controls command is invalid or exceeds the size limit.`))}async prepare(e){if(!this.saved&&!this.state.storageError||this.state.resetting||e.reconnectRequired)return;let t=this.epoch;if(this.resetForIdentity&&(e.status===`ready`||e.status===`no-controls`)){this.resetForIdentity=!1,this.publish({loading:!0,resetting:!0});try{await this.send(`command`,{operation:`reset-all`,contexts:e.scopes.map(e=>({scope:e.declaration.scope,fingerprint:e.fingerprint,revision:e.snapshot.revision}))})}catch{this.epoch===t&&this.publish({error:`The checkout changed, but runtime defaults could not be restored. Reload the preview before saving.`,storageError:`Saving is paused until the new checkout's runtime reconnects.`,loading:!1});return}finally{this.epoch===t&&this.publish({resetting:!1})}return this.epoch!==t||this.stopped?void 0:this.prepare(this.state)}for(let n of e.scopes){let e=n.declaration.scope,r=`${e}:${n.fingerprint}`;if(!this.preparing.has(r)){if(!this.restored.has(r)){this.preparing.add(r),this.publish({loading:!0});try{let i=this.saved?.scopes&&Object.hasOwn(this.saved.scopes,e)?this.saved.scopes[e]:{},a=Object.fromEntries(n.declaration.controls.filter(e=>e.type!==`button`).map(e=>[e.id,structuredClone(e.default)])),o=!1;for(let[e,t]of Object.entries(i)){let r=n.declaration.controls.find(t=>t.id===e);!r||ze(r,t)?o=!0:a[e]=t}if(Object.keys(a).length&&await this.send(`command`,{operation:`restore`,scope:e,fingerprint:n.fingerprint,revision:this.state.scopes.find(e=>e.fingerprint===n.fingerprint)?.snapshot.revision,values:a}),this.stopped||this.epoch!==t)return;this.restored.add(r),o&&this.publish({notice:this.surface===`build`?`Some URL control settings no longer match this page. Defaults were used.`:`Some saved controls no longer match this declaration and were discarded.`})}catch(n){if(this.epoch!==t||this.stopped)return;this.hasBindingError(e)||this.publish({error:n instanceof Error?n.message:`Saved controls could not be restored.`}),this.restored.add(r)}finally{this.epoch===t&&this.preparing.delete(r)}}if(this.epoch===t&&!this.stopped){let t=this.state.scopes.find(t=>t.declaration.scope===e);t&&(this.cachedScopes.set(e,t),this.persist(t))}}}this.epoch===t&&!this.stopped&&this.state.status!==`missing-runtime`&&this.publish({loading:this.preparing.size>0})}persist(e){if(!this.saved||this.state.storageError)return;let t=Xe(e),n=JSON.stringify(t);if(this.persisted.get(e.declaration.scope)===n)return;this.persisted.set(e.declaration.scope,n);let r=this.saved.identity,i=this.epoch,a=this.requests.signal;this.saveQueue=this.saveQueue.catch(()=>{}).then(async()=>{if(!(this.epoch!==i||this.stopped))try{if(await this.api({method:`POST`,signal:a,body:JSON.stringify({identity:r,scope:e.declaration.scope,values:t})}),this.epoch===i&&!this.stopped){let t=await this.api();if(this.checkSaved(t),this.epoch!==i||this.stopped)return;this.saved=t,await this.send(`command`,{operation:`url`,scope:e.declaration.scope,query:Te(t.scopes)})}}catch(e){this.epoch===i&&!this.stopped&&this.publish({storageError:this.surface===`build`&&e instanceof Error?`${e.message} Changes remain in memory and are not in the URL.`:`Controls could not be saved. Changes remain in memory; use Retry to reconnect storage.`})}})}async command(e,t,n,r){if(this.state.loading||this.state.resetting||this.stopped)return;let i=this.epoch,a=this.state.scopes.find(e=>e.declaration.scope===t);if(!a){this.publish({error:`This controls scope is no longer active.`});return}let o=()=>this.applyCommand(e,t,a.fingerprint,i,n,r);if(e!==`update`)return o();let s=this.editQueue.catch(()=>{}).then(o);return this.editQueue=s.then(()=>{}),s}async applyCommand(e,t,n,r,i,a){if(this.epoch!==r||this.stopped||this.state.resetting)return;let o=this.state.scopes.find(e=>e.declaration.scope===t);if(!o||o.fingerprint!==n)this.publish({error:`The controls scope or declaration changed. The command was not applied.`});else{this.publish({error:``});try{if(this.state.reconnectRequired)throw Error(`Reconnect controls before sending more commands.`);if(e===`update`||e===`action`){let t=o.declaration.controls.find(e=>e.id===i);if(!t||!o.snapshot.visible[t.id])throw Error(`This control is unknown or hidden.`);if(e===`update`){let e=ze(t,a);if(e)throw Error(`Control "${t.id}": ${e}`)}else if(t.type!==`button`||!o.snapshot.actions[t.id]?.available||o.snapshot.actions[t.id]?.busy)throw Error(`This action is unavailable or busy.`)}let n=await this.send(`command`,{operation:e,scope:t,fingerprint:o.fingerprint,revision:o.snapshot.revision,...i?{id:i}:{},...e===`update`?{value:a}:{}});if(e===`update`&&i)return{value:n.scopes.find(e=>e.declaration.scope===t)?.snapshot.values[i]}}catch(e){!this.stopped&&this.epoch===r&&!this.hasBindingError(t,i)&&this.publish({error:e instanceof Error?e.message:`Controls command failed.`})}}}async resetAll(){if(this.state.resetting||this.stopped)return;let e=this.epoch;this.publish({resetting:!0});try{let t=``;await this.editQueue.catch(()=>{});let n=this.state.runtimeAvailable&&(this.state.status===`ready`||this.state.status===`no-controls`);if(n)try{await this.send(`command`,{operation:`reset-all`,contexts:this.state.scopes.map(e=>({scope:e.declaration.scope,fingerprint:e.fingerprint,revision:e.snapshot.revision}))})}catch(e){t=e instanceof Error?e.message:`Some app defaults could not be restored.`}if(this.epoch!==e||this.stopped)return;if(!this.saved){let e=await this.api();this.checkSaved(e),this.saved=e}await this.saveQueue.catch(()=>{}),await this.api({method:`POST`,signal:this.requests.signal,body:JSON.stringify({identity:this.saved.identity,reset:!0})}),this.saved.scopes={},await this.send(`command`,{operation:`url`,query:``}),this.cachedScopes.clear(),this.persisted.clear(),this.publish({storageError:``,error:this.hasBindingError()?``:t,notice:n?``:`Saved controls were cleared. Runtime defaults could not be restored until the preview reconnects.`})}catch(t){this.epoch===e&&this.publish({storageError:t instanceof Error?t.message:`Reset could not be saved.`})}finally{this.epoch===e&&this.publish({resetting:!1,loading:!1})}}};function tr(e,t=()=>window.location.href,n=e=>{window.history.replaceState(window.history.state,``,e),window.dispatchEvent(new Event(Ce))}){return r=>Promise.resolve().then(()=>{r?.signal?.throwIfAborted();let i=Ee(new URL(t()).search);if(!r)return{identity:e,...i};if(r.method!==`POST`||typeof r.body!=`string`)throw Error(`Invalid URL controls request.`);let a=JSON.parse(r.body);if(!a||typeof a!=`object`||!(`identity`in a)||a.identity!==e)throw Error(`The controls URL identity changed.`);let o=i.scopes;if(`reset`in a&&a.reset===!0)o={};else if(`replace`in a&&a.replace===!0&&`scopes`in a){if(!a.scopes||typeof a.scopes!=`object`||Array.isArray(a.scopes))throw Error(`Invalid controls history settings.`);let e={};for(let[t,n]of Object.entries(a.scopes)){if(!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(t)||!Se(n))throw Error(`Invalid controls history settings.`);e[t]=n}o=Ee(Te(e)).scopes}else{if(!(`scope`in a)||typeof a.scope!=`string`||!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(a.scope)||!(`values`in a)||!Se(a.values))throw Error(`Invalid URL control settings.`);o={...o,[a.scope]:a.values}}let s=De(t(),Te(o));s!==t()&&n(s)})}function nr({frameRef:e,prototypeUrl:t,previewUrl:n,address:r,replaceAddress:i}){let[a,o]=(0,H.useState)(null),[s,c]=(0,H.useState)(null),l=(0,H.useRef)({address:r,replaceAddress:i});return(0,H.useLayoutEffect)(()=>{l.current={address:r,replaceAddress:i}},[r,i]),(0,H.useEffect)(()=>{if(!e.current)return;let r=new er(e.current,new URL(n??t).origin,tr(`prototype:${new URL(t).origin}`,()=>l.current.address,e=>{l.current.address=e,l.current.replaceAddress(e)}));o(r);let i=r.subscribe(()=>c(r.getSnapshot()));return r.start(),()=>{i(),r.stop()}},[t,n,e]),{connection:a,state:s}}function rr({token:e,status:t,onStatusChange:n,onSelectHub:r}){let[i,a]=(0,H.useState)(!1),[o,s]=(0,H.useState)(!1),[c,l]=(0,H.useState)(``),[u,d]=(0,H.useState)(!1),[f,p]=(0,H.useState)(null),m=(0,H.useRef)(!1),h=(0,H.useRef)(!1),g=t?.state===`connected`||t?.state===`undiscovered`,_=t?.state===`disconnected`||t?.state===`pairing`||t?.state===`unconfigured`,v=g?null:t?.pairing||(f?.repository===t?.repository&&f?.hubOrigin===t?.hubOrigin?f?.pairing:null),y=v?.verificationUrl;(0,H.useEffect)(()=>{let e=window.setTimeout(()=>{g?(a(!1),p(null),l(``)):_&&t?.repository&&!m.current&&(m.current=!0,a(!0))},0);return()=>window.clearTimeout(e)},[g,_,t?.repository]),(0,H.useEffect)(()=>{if(!y||u)return;let t=!1,r=!1;async function i(){if(!r){r=!0;try{let r=await $(`/api/hub/poll`,e,{method:`POST`,body:`{}`});if(t)return;r.status!==`pending`&&(p(null),r.status!==`approved`&&l(q.connectionApprovalExpired),await n())}catch(e){t||(l(e instanceof Error?e.message:String(e)),d(!0))}finally{r=!1}}}let a=window.setInterval(()=>void i(),3e3);return()=>{t=!0,window.clearInterval(a)}},[y,u,e,n,t?.repository,t?.hubOrigin]);async function b(i){if(m.current=!0,!h.current){if(!t?.repository)l(q.connectionRepositoryRequired);else if(!t.hubOrigin&&!i)l(q.connectionHubRequired);else{h.current=!0,s(!0),l(``),d(!1);try{!t.hubOrigin&&i&&await r(i);let a=await $(`/api/hub/connect`,e,{method:`POST`,body:`{}`});p({repository:t.repository,hubOrigin:new URL(a.verificationUrl).origin,pairing:a}),a.browserError&&l(q.connectionBrowserFailed(a.browserError)),await n()}catch(e){l(e instanceof Error?e.message:String(e))}finally{h.current=!1,s(!1)}}}}function x(){a(!0),t?.hubOrigin&&b()}return{open:i,close:()=>a(!1),show:()=>a(!0),showAndConnect:x,connect:b,connecting:o,error:c,pairing:v}}function ir({token:e,onStatus:t,onError:n}){let[r,i]=(0,H.useState)(null),a=(0,H.useRef)(0),o=(0,H.useRef)(0),s=(0,H.useRef)(!1),c=(0,H.useCallback)(async(r,c=!1)=>{if(s.current||c&&o.current>0)return;o.current+=1;let l=++a.current;try{let o=r===`open`||r===`interaction`,c=await $(o?r===`open`?`/api/hub/open`:`/api/hub/activity`:`/api/hub/status`,e,o?{method:`POST`,body:`{}`}:{});if(l!==a.current||s.current)return;i(c);let u=c.prototype?.startPageImportError||c.localStartPageError;u&&n(u),t(c)}catch(e){if(l!==a.current||s.current)return;let t=e instanceof Error?e.message:String(e);i(e=>({state:`unavailable`,repository:e?.repository,branch:e?.branch,hubOrigin:e?.hubOrigin,message:q.hubStatusUnavailable(t)})),n(t)}finally{--o.current}},[e,t,n]),l=(0,H.useCallback)(async t=>{s.current=!0,a.current+=1,i(null);try{await $(`/api/hub/origin`,e,{method:`POST`,body:JSON.stringify({origin:t})})}finally{s.current=!1,await c()}},[e,c]);(0,H.useEffect)(()=>{let e=window.setTimeout(()=>void c(`open`),0),t=window.setInterval(()=>void c(void 0,!0),15e3);function n(){c(`interaction`)}return window.addEventListener(`focus`,n),()=>{a.current+=1,window.clearTimeout(e),window.clearInterval(t),window.removeEventListener(`focus`,n)}},[c]);async function u(){let t=await $(`/api/hub/discovery`,e,{method:`POST`,body:`{}`});if(t.discovery?.state!==`valid`||!t.discovery.origin)throw Error(t.discovery?.message||q.resetHubUnavailable);return await c(),t.discovery.origin}return{status:r,refresh:c,select:l,reset:u}}function ar({prototypeUrl:e,previewUrl:t,shellRef:n,cancelClick:r}){let[{key:i,ref:a},o]=(0,H.useState)(()=>({key:0,ref:(0,H.createRef)()})),[s,c]=(0,H.useState)({input:e,url:e}),[l,u]=(0,H.useState)({input:e,entries:[e],index:0}),[d,f]=(0,H.useState)(()=>window.matchMedia?.(`(prefers-color-scheme: dark)`)?.matches?`dark`:`light`),[p,m]=(0,H.useState)(null),h=(0,H.useRef)(null),g=l.input===e?l:{input:e,entries:[e],index:0},_=g.entries[g.index],v=(0,H.useCallback)(()=>r.current?.(),[r]),y=(0,H.useCallback)(t=>{if(new URL(t).origin!==new URL(e).origin)throw Error(q.startPageOrigin);u(e=>{let n=[...e.entries];return n[e.index]=t,{...e,entries:n}})},[e]),b=(0,H.useCallback)(t=>{if(h.current===e)return;h.current=e;let n=new URL(e),r=t.state===`connected`&&(t.prototype?.startPageSet??t.prototype?.startPage!==void 0)?t.prototype?.startPage:t.localStartPage;if(n.pathname!==`/`||n.search||n.hash||!r)return;let i=new URL(r,n);if(i.origin!==n.origin)throw Error(q.startPageOrigin);c({input:e,url:i.href}),u({input:e,entries:[i.href],index:0})},[e]);function x(){v(),m(null),c({input:e,url:_}),o(e=>({key:e.key+1,ref:(0,H.createRef)()}))}function S(t){t===_?x():(u(n=>{let r=n.input===e?n:g;return{...r,entries:[...r.entries.slice(0,r.index+1),t],index:r.index+1}}),c({input:e,url:t}))}function C(t){let n=g.entries[t];n&&(u({...g,index:t}),c({input:e,url:n}))}let w=(0,H.useCallback)((t,n=!1)=>{m(t);let r=new URL(e);r.pathname=t.pathname,r.search=t.search,r.hash=t.hash,u(t=>{let i=t.input===e?t:{input:e,entries:[e],index:0},a=new URL(i.entries[i.index]),o=[...a.searchParams].filter(([e])=>e.startsWith(`rc.`));for(let e of[r,a])for(let t of[...e.searchParams.keys()])(t===`rc`||t.startsWith(`rc.`))&&e.searchParams.delete(t);if(a.pathname===r.pathname&&a.searchParams.toString()===r.searchParams.toString()&&a.hash===r.hash)return i;for(let[e,t]of o)r.searchParams.append(e,t);let s=r.href;if(n){let e=[...i.entries];return e[i.index]=s,{...i,entries:e}}return{...i,entries:[...i.entries.slice(0,i.index+1),s],index:i.index+1}})},[e]);(0,H.useEffect)(()=>{let e=a.current;if(!e)return;function t(){v(),m(null)}return e.addEventListener(`load`,t),()=>{v(),e.removeEventListener(`load`,t)}},[v,a]),(0,H.useEffect)(()=>{let r=a.current;if(!r)return;let i=new URL(t??e).origin,o=crypto.randomUUID();function s(){let e=n.current?.closest(`.canvas-base`);e&&r?.contentWindow?.postMessage({type:`replica:canvas:theme`,nonce:o,accent:window.getComputedStyle(e).getPropertyValue(`--hub-accent`).trim()},i)}function c(e){e.source===r?.contentWindow&&e.origin===i&&e.data?.type===`replica:canvas:ready`&&s()}return r.addEventListener(`load`,s),window.addEventListener(`message`,c),s(),()=>{r.removeEventListener(`load`,s),window.removeEventListener(`message`,c)}},[d,e,t,a,n]);let T=new URL(s.input===e?s.url:e);if(t){let e=new URL(t);T.protocol=e.protocol,T.host=e.host}return{frameRef:a,frameKey:i,source:T.href,navigation:g,address:_,replaceAddress:y,appearance:d,setAppearance:f,liveRoute:p,initialize:b,reportRoute:w,reload:x,navigate:S,travel:C}}function or(e){let[t,n]=(0,H.useState)(null),[r,i]=(0,H.useState)(``),a=(0,H.useRef)(null),o=(0,H.useRef)(0),s=(0,H.useRef)(0),c=(0,H.useCallback)(async(t,r=!1)=>{if(r&&s.current>0)return;s.current+=1;let c=++o.current;try{let r=await $(t?`/api/refresh`:`/api/state`,e,t?{method:`POST`,body:`{}`}:{});if(c!==o.current)return;a.current=r,n(r),i(``)}catch(e){if(c!==o.current)return;n(t=>t&&{...t,stats:{...t.stats,remoteBranch:{state:`unknown`,repository:t.stats.repository||null,branch:t.stats.branch||null,commitSha:t.stats.commitSha||null,error:sr(e)}}}),i(sr(e))}finally{--s.current}},[e]);return(0,H.useEffect)(()=>{let e=window.setTimeout(()=>void c(!0),0),t=window.setInterval(()=>{let e=a.current?.publishStatus?.state,t=a.current?.publishRequest,n=e===`requested`||e===`in_progress`||t?.state===`requested`||!!t?.requestedAt&&(e===`not_published`||e===`unavailable`);c(n,!0)},15e3);function n(){c(!0)}return window.addEventListener(`focus`,n),()=>{o.current+=1,window.clearTimeout(e),window.clearInterval(t),window.removeEventListener(`focus`,n)}},[c]),{state:t,error:r,setError:i,refresh:c}}function sr(e){return e instanceof Error?e.message:String(e)}function cr({token:e,enabled:t,repository:n,branch:r,commitSha:i,publicationRevision:a}){let o=`${n}/${r}/${i}/${a}`,[s,c]=(0,H.useState)(null),[l,u]=(0,H.useState)(!1),[d,f]=(0,H.useState)(!1),p=(0,H.useRef)(null),m=(0,H.useRef)(0),h=t&&s?.identity===o?s:null,g=(0,H.useCallback)(async()=>{if(!t)return;let i=++m.current;u(!0);try{if(await p.current,i!==m.current)return;let t=await $(`/api/publish/prepare`,e,{method:`POST`,body:`{}`});if(i!==m.current)return;if(t.target.repository!==n||t.target.branch!==r)throw Error(pe.preferenceTargetChanged);if(typeof t.remember!=`boolean`)throw Error(pe.invalidPreference);c({identity:o,preparation:t,error:``})}catch(e){i===m.current&&c({identity:o,preparation:null,error:e instanceof Error?e.message:String(e)})}finally{i===m.current&&u(!1)}},[t,e,n,r,o]);(0,H.useEffect)(()=>{let e=window.setTimeout(()=>void g(),0);return()=>{m.current+=1,window.clearTimeout(e)}},[g]);async function _(n){if(!t||!h?.preparation||l||p.current)return;f(!0);let r=m.current,i=h.preparation,a=(async()=>{try{if((await $(`/api/publish/preference`,e,{method:`POST`,body:JSON.stringify({target:i.target,remember:n})})).remember!==n)throw Error(pe.invalidPreference);r===m.current&&c({identity:o,preparation:{...i,remember:n},error:``})}catch(e){r===m.current&&c({identity:o,preparation:i,error:e instanceof Error?e.message:String(e)})}})();p.current=a;try{await a}finally{p.current=null,f(!1)}}return{remember:h?.preparation?.remember??null,loading:l||!h,saving:d,error:h?.error||``,save:_,retry:g}}function lr(e,t,n){let r=n?.included,i=n?.error,a=n?.revision,o=(0,H.useMemo)(()=>{if(r!==void 0)return{identity:e,revision:a,included:r,error:i??``,pending:!1};let t=!1,n=``;if(e)try{let n=localStorage.getItem(`replica:share-controls:v1:${e}`);if(n!==null&&n!==`true`&&n!==`false`)throw Error(`Invalid saved share preference.`);t=n===`true`}catch{n=`The share preference could not be read. Control settings are off by default.`}return{identity:e,revision:a,included:t,error:n,pending:!1}},[e,a,r,i]),[s,c]=(0,H.useState)(o),l=s.identity===e&&s.revision===a?s:o,u=``,d=``;if(l.included)try{u=Te(t)}catch(e){d=e instanceof Error?e.message:`Control settings could not be shared.`}return{included:l.included,query:u,error:d||l.error,blocked:!!d,...n?{pending:l.pending}:{},onChange:t=>{if(n){c({identity:e,revision:a,included:t,error:``,pending:!0});function r(n){c(r=>r.identity===e&&r.revision===a&&r.included===t?{...r,error:n,pending:!1}:r)}n.onChange(t).then(()=>r(``),e=>r(e instanceof Error?e.message:`This preference could not be saved. It will only apply while this page is open.`));return}let r=``;if(e)try{localStorage.setItem(`replica:share-controls:v1:${e}`,String(t))}catch{r=`This preference could not be saved. It will only apply while this page is open.`}c({identity:e,revision:a,included:t,error:r,pending:!1})}}}function ur({token:e,state:t,hubStatus:n}){let[r,i]=(0,H.useState)(null),a=!!(r&&(r.stale||r.repository!==void 0&&r.repository!==t?.stats.repository||r.branch!==void 0&&r.branch!==t?.stats.branch||n?.hubOrigin!==void 0&&r.hubOrigin!==void 0&&r.hubOrigin!==n.hubOrigin||r.token!==e));(0,H.useEffect)(()=>{if(!r||r.stale)return;let e=r.repository??t?.stats.repository,o=r.branch??t?.stats.branch,s=r.hubOrigin??n?.hubOrigin;if(!a&&e===r.repository&&o===r.branch&&s===r.hubOrigin)return;let c=window.setTimeout(()=>{i(t=>t&&{...t,repository:e,branch:o,hubOrigin:s,stale:a,connecting:!a&&t.connecting})},0);return()=>window.clearTimeout(c)},[r,a,t?.stats.repository,t?.stats.branch,n?.hubOrigin]);function o(){i({repository:t?.stats.repository,branch:t?.stats.branch,hubOrigin:n?.hubOrigin,token:e,connecting:!1,stale:!1})}function s(e){i(t=>t&&{...t,connecting:e})}return{intent:r,targetChanged:a,begin:o,close:()=>i(null),setConnecting:s}}var dr={open:!1,context:null,links:[],loading:!1,busy:!1,stale:!0,error:``,notice:``,created:null};function fr({token:e,hubStatus:t,prototypeState:n}){let[r,i]=(0,H.useState)(dr),a=(0,H.useRef)(r);a.current=r;let o=(0,H.useRef)(0),s=(0,H.useRef)(!1),c=(0,H.useRef)(!1),l=(0,H.useRef)(!1),u=(0,H.useRef)(!1),d=(0,H.useRef)(null),f=`${t?.hubOrigin}/${t?.repository}/${t?.branch}/${t?.state}`,p=(0,H.useRef)(f);p.current=f;let m=(0,H.useCallback)(()=>{!u.current||s.current||c.current||l.current||!d.current||(u.current=!1,d.current())},[]);(0,H.useLayoutEffect)(()=>{o.current+=1,i(e=>e.open?{...dr,open:!0,error:J.stale}:dr)},[f,e]),(0,H.useEffect)(()=>()=>{o.current+=1,u.current=!1},[]),(0,H.useEffect)(()=>{let e=t?.prototype;e&&e.canManageShareLinks!==!0&&a.current.context?.prototype.canManageShareLinks===!0&&(o.current+=1,i(t=>t.open&&t.context?.prototype.id===e.id?{...dr,open:!0,stale:!1,context:{...t.context,prototype:{...t.context.prototype,canManageShareLinks:e.canManageShareLinks}}}:t))},[t?.prototype]),(0,H.useEffect)(()=>{t?.prototype?.publicSharingEnabled===!1&&(o.current+=1,i(e=>e.open?{...dr,open:!0,sharingDisabled:!0,error:J.disabled,context:e.context?{...e.context,prototype:{...e.context.prototype,publicSharingEnabled:!1}}:null}:dr))},[t?.prototype?.publicSharingEnabled]);let h=(0,H.useCallback)((t,n)=>$(`/api/hub/share-links/${t}`,e,{method:`POST`,body:JSON.stringify(n)}),[e]),g=(0,H.useCallback)(e=>{e instanceof Error&&`code`in e&&(e.code===`public_sharing_disabled`||e.code===`public_sharing_changed`||e.code===`creator_access_changed`)&&(o.current+=1,i(t=>({...t,busy:!1,loading:!1,stale:!0,sharingDisabled:e.code===`public_sharing_disabled`,links:[],created:null,authorization:void 0})))},[]),_=(0,H.useCallback)(async(e=a.current.context)=>{if(!e||!e.prototype.canManageShareLinks||e.prototype.publicSharingEnabled===!1||c.current)return;c.current=!0;let t=o.current,n=p.current;i(e=>({...e,loading:!0,stale:!0,error:``}));try{let r=new Map,a=new Set,s=null;do{let i=await h(`list`,{target:e.target,...s?{cursor:s}:{}});if(t!==o.current||n!==p.current)return;for(let e of i.shareLinks)r.set(e.id,e);if(s=i.nextCursor,s){if(a.has(s))throw Error(J.paginationFailed);a.add(s)}}while(s);i(e=>({...e,links:[...r.values()],created:e.created?r.get(e.created.id)??null:null,loading:u.current,stale:u.current,sharingDisabled:!1}))}catch(e){t===o.current&&n===p.current&&(i(t=>({...t,loading:!1,stale:!0,error:e instanceof Error?e.message:J.failed})),g(e))}finally{c.current=!1,m()}},[h,m,g]),v=(0,H.useCallback)(async()=>{if(s.current||l.current||c.current){u.current=!0,i(e=>({...e,open:!0,stale:!0,loading:!0}));return}l.current=!0;let e=++o.current,r=p.current;i({...dr,open:!0,loading:!0});let a=t?.repository===n?.stats.repository&&t?.branch===n?.stats.branch,d=``;if(!t||[`disconnected`,`pairing`,`unconfigured`].includes(t.state)?d=J.disconnected:[`unavailable`,`denied`].includes(t.state)?d=J.unavailable:(t.state!==`connected`||!a)&&(d=J.branch),d)i({...dr,open:!0,error:d}),l.current=!1;else try{let t=await h(`context`,{});if(e!==o.current||r!==p.current)return;i(e=>({...e,context:t,loading:!1,stale:t.prototype.canManageShareLinks===!0})),await _(t)}catch(t){e===o.current&&r===p.current&&i(e=>({...e,loading:!1,error:t instanceof Error?t.message:J.failed}))}finally{l.current=!1,m()}},[t,n,_,h,m]);d.current=v;let y=(0,H.useCallback)(async(e,t)=>{let n=a.current;if(s.current||l.current||c.current||u.current||n.stale||!n.context||n.context.prototype.canManageShareLinks!==!0||n.sharingDisabled||n.context.prototype.publicSharingEnabled===!1)return!1;s.current=!0;let r=o.current;i(e=>({...e,busy:!0,error:``,notice:``}));try{let a=await h(e,{target:n.context.target,...t});return r===o.current&&(i(n=>({...n,notice:e===`delete`?J.deleted:``,authorization:void 0,created:`id`in a?a:e===`delete`&&`id`in t&&n.created?.id===t.id?null:n.created,links:e===`delete`&&`id`in t?n.links.filter(e=>e.id!==t.id):n.links})),await _(n.context),!0)}catch(e){if(r!==o.current)return!1;let t=e instanceof Error&&`code`in e&&e.code===`fresh_authorization_required`&&`authorization`in e&&e.authorization&&typeof e.authorization==`object`&&`url`in e.authorization&&typeof e.authorization.url==`string`&&`expiresAt`in e.authorization&&typeof e.authorization.expiresAt==`string`?{url:e.authorization.url,expiresAt:e.authorization.expiresAt}:void 0,n=e instanceof Error&&(!(`statusCode`in e)||`code`in e&&e.code===`share_delivery_unknown`);return i(r=>({...r,stale:!0,authorization:t,error:n?J.unknown:e instanceof Error?e.message:J.failed})),g(e),!1}finally{s.current=!1,r===o.current&&i(e=>({...e,busy:!1})),m()}},[_,h,m,g]),b=(0,H.useCallback)(async e=>{let t=a.current;if(!t.context||l.current||c.current||u.current)throw Error(J.stale);let n=o.current,r=await h(`controls-preference`,{target:t.context.target,included:e});if(n!==o.current)throw Error(J.stale);if(r.included!==e)throw Error(`The share preference could not be saved.`)},[h]),x=(0,H.useCallback)(async(e,t)=>{let n=a.current;if(!n.context||n.stale||l.current||c.current||u.current)return;let r=o.current;try{await h(`open`,{target:n.context.target,id:e,...t?{controlsQuery:t}:{}})}catch(e){r===o.current&&(i(t=>({...t,error:e instanceof Error?e.message:J.failed})),g(e))}},[h,g]),S=(0,H.useCallback)(async()=>{let e=a.current;if(!e.context||!e.authorization||e.busy)return;let t=o.current;try{await h(`authorize`,{target:e.context.target}),t===o.current&&i(e=>({...e,notice:J.authorizationRetry}))}catch(e){t===o.current&&(i(t=>({...t,error:e instanceof Error?e.message:J.failed})),g(e))}},[h,g]);return(0,H.useEffect)(()=>{if(!r.open||!r.context)return;function e(){s.current||_()}let t=window.setInterval(e,3e4);return window.addEventListener(`focus`,e),()=>{window.clearInterval(t),window.removeEventListener(`focus`,e)}},[r.open,r.context,_]),{state:r,open:v,close:()=>{u.current=!1,i(e=>({...e,open:!1}))},refresh:()=>r.context&&!r.sharingDisabled&&r.context.prototype.publicSharingEnabled!==!1?_():v(),create:(e,t)=>y(`create`,{label:e,expiration:t,buildNumber:r.context?.prototype.build?.number}),remove:e=>y(`delete`,{id:e}),openLink:x,setControlPreference:b,authorize:S}}var pr=`modulepreload`,mr=function(e){return`/assets/`+e},hr={},gr=function(e){return e.pathname.endsWith(`.css`)},_r=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},vr=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=mr(t,n);let r=s(t),i=gr(r);return _r(hr,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:pr,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},yr=(0,H.lazy)(()=>vr(()=>import(`./renderer-improvement-notes-prototype.js`).then(e=>e.t).then(e=>({default:e.ImprovementNotesPrototype})),__vite__mapDeps([0,1,2,3,4]))),br=(0,H.lazy)(()=>vr(()=>import(`./renderer-prototype-canvas-thread-sample.js`).then(e=>({default:e.PrototypeCanvasThreadSample})),__vite__mapDeps([5,1,2,3,4])));function xr({config:e}){let t=(0,H.useRef)(null),n=(0,H.useRef)(null),r=(0,H.useRef)(null),i=(0,H.useRef)(null),a=(0,H.useRef)(null),o=(0,H.useRef)(null),s=(0,H.useRef)(null),c=(0,H.useRef)(null),l=(0,H.useRef)(null),u=(0,H.useRef)(null),[d,f]=(0,H.useState)(!1),[p,m]=(0,H.useState)({position:null,collapsed:!1,collapsedGroups:{}}),[h,g]=(0,H.useState)(!1),[_,v]=(0,H.useState)(null),[y,b]=(0,H.useState)(!1),x=(0,H.useCallback)(()=>{g(!1),o.current?.focus()},[]),{frameRef:S,frameKey:C,source:w,navigation:T,address:E,replaceAddress:D,appearance:O,setAppearance:k,liveRoute:A,initialize:j,reportRoute:M,reload:N,navigate:P,travel:F}=ar({prototypeUrl:e.prototypeUrl,previewUrl:e.previewUrl,shellRef:t,cancelClick:u}),I=nr({...e,frameRef:S,address:E,replaceAddress:D}),L=I.state;Gn({...e,frameRef:S,addressRef:r,appearance:O,navigation:T,liveRoute:A,cancelClick:u,reload:N,controlsConnection:I.connection});let{state:R,error:z,setError:B,refresh:ee}=or(e.token),V=ir({token:e.token,onStatus:j,onError:B}),te=rr({token:e.token,status:V.status,onStatusChange:V.refresh,onSelectHub:V.select}),ne=fr({token:e.token,hubStatus:V.status,prototypeState:R}),re=ur({token:e.token,state:R,hubStatus:V.status}),ie=cr({token:e.token,enabled:h&&V.status?.state===`connected`&&V.status.prototype?.registered===!0&&!!V.status.prototype.build&&V.status.repository===R?.stats.repository&&V.status.branch===R?.stats.branch,repository:R?.stats.repository,branch:R?.stats.branch,commitSha:R?.stats.commitSha,publicationRevision:R?.publishRequest?.requestedAt}),ae=Jn({token:e.token,state:R,hubStatus:V.status,error:z,setError:B,refresh:ee,refreshHub:V.refresh,preferenceSaving:ie.saving}),oe=zn(R,V.status,ae.publication),se=ne.state.context,G=lr(se?`${se.hubOrigin}:${se.prototype.repositoryId}:${se.prototype.id}`:void 0,I.connection?.getControlValues()??{},{included:se?.controlSettingsIncluded??!1,error:se?.controlSettingsError,revision:se?.target,onChange:ne.setControlPreference});(0,H.useLayoutEffect)(()=>{document.body.classList.remove(`renderer-loading`);let e=t.current,r=n.current;if(!e||!r)return;function i(){let t=r?.getBoundingClientRect().height;t&&e?.style.setProperty(`--canvas-toolbar-height`,`${t}px`)}let a=new ResizeObserver(i);return a.observe(r),i(),()=>a.disconnect()},[]);function K(){te.close(),oe.kind===`ready`?ne.open():re.begin()}return(0,W.jsxs)(U.ThemeProvider,{colorMode:O,className:`canvas-base`,children:[(0,W.jsxs)(`main`,{ref:t,className:`canvas-shell${ne.state.open?` canvas-shell--inactive`:``}`,inert:ne.state.open,"aria-hidden":ne.state.open?!0:void 0,children:[(0,W.jsx)(Ne,{address:E,addressRef:r,canGoBack:T.index>0,canGoForward:T.indexF(T.index-1),onForward:()=>F(T.index+1),onNavigate:P,onOpenTab:async()=>{await $(`/api/prototype/open`,e.token,{method:`POST`,body:JSON.stringify({url:E})})},onReload:N}),(0,W.jsx)(Vn,{toolbarRef:n,improvementControlsRef:v,config:e,state:ae.presentedState,prototypeName:V.status?.state===`connected`&&V.status.prototype?.name||void 0,publishing:ae.busy,publication:ae.publication,publishButtonRef:i,hubButtonRef:o,titleButtonRef:c,onBuildDetails:()=>b(!0),controlsButtonRef:l,controlsOpen:d,onControls:()=>f(!d),onPublish:()=>void ae.publish(),onShare:K,shareButtonRef:a,hubOpen:h,onHub:()=>{g(!h),V.refresh(`interaction`)}}),(0,W.jsx)(`iframe`,{ref:S,className:`prototype-frame`,title:q.prototypeFrameTitle(e.name),src:w,style:{colorScheme:O,backgroundColor:`var(--hub-canvas-default)`}},C),(0,W.jsx)(Rn,{config:e,frameRef:S,onRouteChange:M,status:V.status,onStatusChange:V.refresh,onSelectHub:V.select,onConnect:te.showAndConnect,onDisconnected:te.show,connectionButtonRef:s,connecting:te.connecting,publication:ae.publication,publicationBusy:ae.busy,dirty:R?.stats.workingTree===`changed`,onPublish:()=>void ae.publish(),onRetryPublication:()=>void ae.retry(),publishPreference:ie,open:h,onClose:x}),e.improvementThreadsSample?(0,W.jsx)(H.Suspense,{fallback:(0,W.jsx)(`p`,{role:`status`,children:q.improvementNotesLoading}),children:(0,W.jsx)(br,{})}):e.pickAndPolish||e.improvementNotesDemo?(0,W.jsx)(H.Suspense,{fallback:(0,W.jsx)(`p`,{className:`visually-hidden`,role:`status`,children:q.improvementNotesLoading}),children:(0,W.jsx)(yr,{canvas:{token:e.token,frameRef:S,toolbarTarget:_,prototypeUrl:e.prototypeUrl,previewUrl:e.previewUrl,hubOpen:h,onOpenNotes:()=>g(!1),onNavigate:P}})}):null,d&&I.connection&&L?(0,W.jsx)($e,{state:L,connection:I.connection,layout:p,onLayoutChange:m,diagnosisTarget:E,onDiagnose:()=>$(`/api/controls/diagnose`,e.token,{method:`POST`,body:JSON.stringify({status:L.status,runtimeAvailable:L.runtimeAvailable,reconnectRequired:L.reconnectRequired===!0,hasError:!!L.error||Un(L,L.loading,E).controls.some(e=>e.visible&&!!e.error),hasStorageError:!!L.storageError,previewUrl:E})})}):null]}),(0,W.jsx)(`div`,{role:`status`,"aria-live":`polite`,className:`visually-hidden`,children:z||ae.notice}),(0,W.jsx)(Me,{hub:V,connection:te,publication:ae,sharing:ne,shareIntent:re,controlSettings:G,readiness:oe,state:R,hubOpen:h,buildDetailsOpen:y,onCloseBuildDetails:()=>b(!1),shareButtonRef:a,hubButtonRef:o,connectionButtonRef:s,publishButtonRef:i,titleButtonRef:c})]})}var Sr=document.querySelector(`#root`);if(!Sr)throw Error(`Replica prototype renderer root is missing.`);(0,oe.createRoot)(Sr).render((0,W.jsx)(xr,{config:window.__REPLICA_CANVAS__}));export{$ as a,zt as c,at as d,it as f,K as h,mn as i,xt as l,ce as m,xn as n,Kt as o,tt as p,yn as r,Gt as s,On as t,ot as u}; \ No newline at end of file diff --git a/.github/extensions/replica-prototype/assets/review-anchor-validation.mjs b/.github/extensions/replica-prototype/assets/review-anchor-validation.mjs index 2216c189..843f9fc0 100644 --- a/.github/extensions/replica-prototype/assets/review-anchor-validation.mjs +++ b/.github/extensions/replica-prototype/assets/review-anchor-validation.mjs @@ -1,1529 +1,6 @@ -//#region node_modules/zod/v4/core/util.js -function e(e) { - let t = Object.values(e).filter((e) => typeof e == "number"); - return Object.entries(e).filter(([e, n]) => t.indexOf(+e) === -1).map(([e, t]) => t); -} -function t(e, t = "|") { - return e.map((e) => oe(e)).join(t); -} -function n(e, t) { - return typeof t == "bigint" ? t.toString() : t; -} -var r = class { - constructor(e) { - this._getter = e, this._value = void 0; - } - get value() { - let e = this._getter; - return e !== void 0 && (this._value = e(), this._getter = void 0), this._value; - } -}; -function i(e) { - return new r(e); -} -function a(e) { - return e == null; -} -function o(e) { - let t = +!!e.startsWith("^"), n = e.endsWith("$") ? e.length - 1 : e.length; - return e.slice(t, n); -} -function s(e, t) { - let n = e / t, r = Math.round(n), i = 4 * 2 ** -52 * Math.max(Math.abs(n), 1); - return Math.abs(n - r) < i ? 0 : n - r; -} -function c(e, t, n) { - Object.defineProperty(e, t, { - value: n, - writable: !0, - enumerable: !0, - configurable: !0 - }); -} -function l(e) { - let t = Object.getOwnPropertyDescriptor(e, "shape"); - return t?.get ? t.get.raw : t?.value; -} -function u(e) { - return l(e._zod.def) ?? e._zod.def.shape; -} -function d(e, t, n) { - Object.defineProperty(e, t, { - get() { - let e = n(); - return c(this, t, e), e; - }, - enumerable: !0, - configurable: !0 - }); -} -function f(e, t, n) { - t in e ? c(e, t, n) : e[t] = n; -} -function p(e, t, n, r) { - let i = u(t); - for (let a of n) { - let n = Object.getOwnPropertyDescriptor(i, a); - n.enumerable && (n.get ? d(e, a, () => { - let e = t._zod.def.shape[a]; - return r ? r(e, a) : e; - }) : f(e, a, r ? r(n.value, a) : n.value)); - } -} -function m(e, t) { - for (let n of Reflect.ownKeys(t)) { - let r = Object.getOwnPropertyDescriptor(t, n); - r.enumerable && (r.get ? d(e, n, () => t[n]) : f(e, n, r.value)); - } -} -function h(...e) { - let t = {}; - for (let n of e) { - let e = Object.getOwnPropertyDescriptors(n); - Object.assign(t, e); - } - return Object.defineProperties({}, t); -} -function ee(e) { - return JSON.stringify(e); -} -function te(e) { - return e.toLowerCase().trim().replace(/[^\w\s-]/g, "").replace(/[\s_-]+/g, "-").replace(/^-+|-+$/g, ""); -} -var ne = "captureStackTrace" in Error ? Error.captureStackTrace : (...e) => {}; -function g(e) { - return typeof e == "object" && !!e && !Array.isArray(e); -} -var re = /* @__PURE__*/ i(() => { - if (A.jitless || typeof navigator < "u" && navigator?.userAgent?.includes("Cloudflare")) return !1; - try { - return Function(""), !0; - } catch { - return !1; - } -}); -function _(e) { - if (g(e) === !1) return !1; - let t = e.constructor; - if (t === void 0 || typeof t != "function") return !0; - let n = t.prototype; - return g(n) !== !1 && Object.prototype.hasOwnProperty.call(n, "isPrototypeOf") !== !1; -} -function ie(e) { - return _(e) ? { ...e } : Array.isArray(e) ? [...e] : e instanceof Map ? new Map(e) : e instanceof Set ? new Set(e) : e; -} -var ae = /* @__PURE__*/ new Set([ - "string", - "number", - "symbol" -]); -function v(e) { - return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); -} -function y(e, t, n) { - let r = new e._zod.constr(t ?? e._zod.def); - return (!t || n?.parent) && (r._zod.parent = e), r; -} -function b(e) { - let t = e; - if (!t) return {}; - if (typeof t == "string") return { error: () => t }; - if (t?.message !== void 0) { - if (t?.error !== void 0) throw Error("Cannot specify both `message` and `error` params"); - t.error = t.message; - } - return delete t.message, typeof t.error == "string" ? { - ...t, - error: () => t.error - } : t; -} -function oe(e) { - return typeof e == "bigint" ? e.toString() + "n" : typeof e == "string" ? `"${e}"` : `${e}`; -} -function se(e) { - return Object.keys(e).filter((t) => e[t]._zod.optin !== void 0 && e[t]._zod.optout === "optional"); -} -var ce = { - safeint: [-(2 ** 53 - 1), 2 ** 53 - 1], - int32: [-2147483648, 2147483647], - uint32: [0, 4294967295], - float32: [-34028234663852886e22, 34028234663852886e22], - float64: [-Number.MAX_VALUE, Number.MAX_VALUE] -}, le = { - int64: [/* @__PURE__*/ BigInt("-9223372036854775808"), /* @__PURE__*/ BigInt("9223372036854775807")], - uint64: [/* @__PURE__*/ BigInt(0), /* @__PURE__*/ BigInt("18446744073709551615")] -}; -function ue(e, t) { - let n = e._zod.def, r = n.checks; - if (r && r.length > 0) throw Error(".pick() cannot be used on object schemas containing refinements"); - let i = {}; - return p(i, e, de(e, t)), y(e, h(n, { - shape: i, - checks: [] - })); -} -function de(e, t) { - let n = u(e), r = []; - for (let e of Reflect.ownKeys(t)) { - if (!Object.getOwnPropertyDescriptor(n, e)?.enumerable) throw Error(`Unrecognized key: "${String(e)}"`); - t[e] && r.push(e); - } - return r; -} -function fe(e, t) { - let n = e._zod.def, r = n.checks; - if (r && r.length > 0) throw Error(".omit() cannot be used on object schemas containing refinements"); - let i = new Set(de(e, t)), a = {}; - return p(a, e, Reflect.ownKeys(u(e)).filter((e) => !i.has(e))), y(e, h(n, { - shape: a, - checks: [] - })); -} -function pe(e, t) { - if (!_(t)) throw Error("Invalid input to extend: expected a plain object"); - let n = e._zod.def.checks; - if (n && n.length > 0) { - let n = u(e); - for (let e of Reflect.ownKeys(t)) if (Object.getOwnPropertyDescriptor(n, e) !== void 0) throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead."); - } - return y(e, h(e._zod.def, { shape: me(e, t) })); -} -function me(e, t) { - let n = {}; - return p(n, e, Reflect.ownKeys(u(e))), m(n, t), n; -} -function he(e, t) { - if (!_(t)) throw Error("Invalid input to safeExtend: expected a plain object"); - return y(e, h(e._zod.def, { shape: me(e, t) })); -} -function ge(e, t) { - if (!t?._zod?.def) throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`."); - if (e._zod.def.checks?.length) throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead."); - let n = {}; - return p(n, e, Reflect.ownKeys(u(e))), p(n, t, Reflect.ownKeys(u(t))), y(e, h(e._zod.def, { - shape: n, - get catchall() { - return t._zod.def.catchall; - }, - checks: t._zod.def.checks ?? [] - })); -} -function _e(e, t, n, r = "partial") { - let i = t._zod.def.checks; - if (i && i.length > 0) throw Error(`.${r}() cannot be used on object schemas containing refinements`); - let a = n ? new Set(de(t, n)) : void 0, o = {}; - return p(o, t, Reflect.ownKeys(u(t)), e && ((t, n) => a && !a.has(n) ? t : new e({ - type: "optional", - innerType: t - }))), y(t, h(t._zod.def, { - shape: o, - checks: [] - })); -} -function ve(e, t, n) { - let r = n ? new Set(de(t, n)) : void 0, i = {}; - return p(i, t, Reflect.ownKeys(u(t)), (t, n) => r && !r.has(n) ? t : new e({ - type: "nonoptional", - innerType: t - })), y(t, h(t._zod.def, { shape: i })); -} -function x(e, t = 0) { - if (e.aborted === !0) return !0; - for (let n = t; n < e.issues.length; n++) if (e.issues[n]?.continue !== !0) return !0; - return !1; -} -function ye(e, t = 0) { - if (e.aborted === !0) return !0; - for (let n = t; n < e.issues.length; n++) if (e.issues[n]?.continue === !1) return !0; - return !1; -} -function be(e, t) { - return t.map((t) => { - var n; - return (n = t).path ?? (n.path = []), t.path.unshift(e), t; - }); -} -function S(e) { - return typeof e == "string" ? e : e?.message; -} -function xe(e, t, n) { - var r; - for (let i = t; i < e.length; i++) (r = e[i]).schema ?? (r.schema = n); -} -function C(e, t, n) { - var r; - let i = e.inst?._zod?.traits; - i?.has("$ZodType") && (i.has("$ZodCheck") ? (r = e).schema ?? (r.schema = e.inst) : e.schema = e.inst); - let a = e.schema === e.inst ? void 0 : e.schema?._zod.def?.error, o = e.message ? e.message : S(e.inst?._zod.def?.error?.(e)) ?? S(a?.(e)) ?? S(t?.error?.(e)) ?? S(n.customError?.(e)) ?? S(n.localeError?.(e)) ?? "Invalid input", s = {}; - for (let t of Object.keys(e)) t !== "inst" && t !== "schema" && t !== "continue" && t !== "input" && t !== "__proto__" && (s[t] = e[t]); - return s.path ??= [], s.message = o, t?.reportInput && (s.input = e.input), s; -} -var Se = /[\uD800-\uDBFF]/; -function Ce(e) { - let t = e.length; - if (!Se.test(e)) return t; - let n = t; - for (let r = 0; r < t - 1; r++) (e.charCodeAt(r) & 64512) == 55296 && (e.charCodeAt(r + 1) & 64512) == 56320 && (n--, r++); - return n; -} -function we(e) { - return Array.isArray(e) ? "array" : typeof e == "string" ? "string" : "unknown"; -} -function Te(e) { - let t = typeof e; - switch (t) { - case "number": return Number.isNaN(e) ? "nan" : "number"; - case "object": { - if (e === null) return "null"; - if (Array.isArray(e)) return "array"; - let t = e; - if (t && Object.getPrototypeOf(t) !== Object.prototype && "constructor" in t && t.constructor) return t.constructor.name; - } - } - return t; -} -function w(...e) { - let [t, n, r] = e; - return typeof t == "string" ? { - message: t, - code: "custom", - input: n, - inst: r - } : { ...t }; -} -function Ee(e, t) { - for (let n in t) { - let r = Object.getOwnPropertyDescriptor(t, n); - r.get ? Object.defineProperty(e, n, { - ...r, - enumerable: !1 - }) : ke(e, n, r.value); - } -} -function T(e, t, n, r = !0) { - return Object.defineProperty(e, t, { - configurable: !0, - writable: !0, - enumerable: r, - value: n - }), n; -} -function De(e, t, n) { - return T(e, t, n, !1); -} -function Oe(e, t) { - for (let n in e) { - let r = e[n]; - Object.defineProperty(t, n, { - configurable: !0, - enumerable: !0, - get() { - return T(this, n, r(this)); - }, - set(e) { - T(this, n, e); - } - }); - } - return t; -} -function ke(e, t, n) { - Object.defineProperty(e, t, { - configurable: !0, - get() { - return this == null ? n : T(this, t, n.bind(this)); - }, - set(e) { - T(this, t, e); - } - }); -} -function Ae(e, t) { - let n = Object.getPrototypeOf(e); - return t in n ? void 0 : n; -} -var je, E = !1, Me = { - configurable: !0, - get() { - E = !0; - } -}; -function D(e, t, n) { - let r = Object.getPrototypeOf(e._zod); - t in r && je !== e._zod ? je = void 0 : (je = e._zod, Object.defineProperty(r, t, { - configurable: !0, - get() { - Object.defineProperty(this, t, Me); - let e = E; - E = !1; - try { - let r = n(this); - return E ? delete this[t] : Object.defineProperty(this, t, { - configurable: !0, - writable: !0, - value: r - }), E ||= e, r; - } catch (n) { - throw delete this[t], E ||= e, n; - } - }, - set(e) { - Object.defineProperty(this, t, { - configurable: !0, - writable: !0, - value: e - }); - } - })); -} -function Ne(e, t, n, r) { - let i = Ae(e, t); - i && Object.defineProperty(i, t, { - configurable: !0, - get() { - let e = { - configurable: !0, - writable: !0, - enumerable: r, - value: void 0 - }; - return Object.defineProperty(this, t, e), e.value = n(this), Object.defineProperty(this, t, e), e.value; - }, - set(e) { - Object.defineProperty(this, t, { - configurable: !0, - writable: !0, - enumerable: r, - value: e - }); - } - }); -} -var Pe = "~constantCatch"; -function Fe(e) { - let t = () => e; - return t[Pe] = !0, t; -} -//#endregion -//#region node_modules/zod/v4/core/core.js -var Ie, Le = { - value: void 0, - enumerable: !1 -}, Re = "captureStackTrace" in Error ? Error : null; -function ze(e) { - let t = Re; - if (t) { - let n = t.stackTraceLimit; - if (typeof n == "number") { - try { - t.stackTraceLimit = 0; - } catch { - return Re = null, new e(); - } - try { - return new e(); - } finally { - t.stackTraceLimit = n; - } - } - } - return new e(); -} -function O(e, t, n, r) { - let i = {}; - function a(e) { - this.def = e, this.constr = d, this.traits = /* @__PURE__ */ new Set(); - } - a.prototype = i; - let o = n, s = o && /* @__PURE__ */ new WeakSet(); - function c(n, r) { - if (!n._zod) { - Le.value = new a(r); - try { - Object.defineProperty(n, "_zod", Le); - } finally { - Le.value = void 0; - } - } else if (n._zod.traits.has(e)) return; - if (n._zod.traits.add(e), t(n, r), s) { - let e = Object.getPrototypeOf(n), t = n._zod.constr.prototype, r = e; - for (; r && r !== t;) r = Object.getPrototypeOf(r); - let i = r ?? e; - s.has(i) || (s.add(i), Ee(i, o)); - } - let i = d.prototype; - for (let e in i) Object.prototype.hasOwnProperty.call(i, e) && (e in n || (n[e] = i[e].bind(n))); - } - let l = r?.Parent ?? Object; - class u extends l {} - Object.defineProperty(u, "name", { value: e }); - function d(e) { - let t = r?.Parent ? ze(u) : this; - c(t, e); - let n = t._zod.deferred; - if (n) { - for (let e of n) e(); - t._zod.deferred = void 0; - } - let i = globalThis.__zod_globalConfig?.postProcessor; - return i && i(t), t; - } - return Object.defineProperty(d, "init", { value: c }), Object.defineProperty(d, Symbol.hasInstance, { value: (t) => r?.Parent && t instanceof r.Parent ? !0 : t?._zod?.traits?.has(e) }), Object.defineProperty(d, "name", { value: e }), d; -} -var k = class extends Error { - constructor() { - super("Encountered Promise during synchronous parse. Use .parseAsync() instead."); - } -}, Be = class extends Error { - constructor(e) { - super(`Encountered unidirectional transform during encode: ${e}`), this.name = "ZodEncodeError"; - } -}; -(Ie = globalThis).__zod_globalConfig ?? (Ie.__zod_globalConfig = {}); -var A = globalThis.__zod_globalConfig; -function j(e) { - return e && Object.assign(A, e), A; -} -//#endregion -//#region node_modules/zod/v4/core/errors.js -function Ve() { - let e = this._zod; - return e.message ??= JSON.stringify(e.def, n, 2), e.message; -} -function He(e) { - this._zod.message = e; -} -var Ue = { - get: Ve, - set: He, - enumerable: !0, - configurable: !0 -}, We = { - value: void 0, - enumerable: !1 -}, Ge = /* @__PURE__ */ new WeakSet([Object.prototype, Error.prototype]), Ke = (e, t) => { - e.name = "$ZodError", We.value = t, Object.defineProperty(e, "issues", We), We.value = void 0, Object.defineProperty(e, "message", Ue); - let n = Object.getPrototypeOf(e); - Ge.has(n) || (Ge.add(n), Object.defineProperty(n, "toString", { - configurable: !0, - enumerable: !1, - get() { - let e = () => this.message; - return Object.defineProperty(this, "toString", { - value: e, - configurable: !0, - writable: !0 - }), e; - }, - set(e) { - Object.defineProperty(this, "toString", { - value: e, - configurable: !0, - writable: !0 - }); - } - })); -}, qe = O("$ZodError", Ke); -O("$ZodError", Ke, void 0, { Parent: Error }); -function Je(e, t, n) { - return Object.prototype.hasOwnProperty.call(e, t) || (t === "__proto__" ? Object.defineProperty(e, t, { - value: n(), - writable: !0, - enumerable: !0, - configurable: !0 - }) : e[t] = n()), e[t]; -} -function Ye(e, t = (e) => e.message) { - let n = {}, r = []; - for (let i of e.issues) i.path.length > 0 ? Je(n, i.path[0], () => []).push(t(i)) : r.push(t(i)); - return { - formErrors: r, - fieldErrors: n - }; -} -function Xe(e, t = (e) => e.message) { - let n = { _errors: [] }, r = (e, i = []) => { - for (let a of e.issues) if (a.code === "invalid_union" && a.errors.length) a.errors.map((e) => r({ issues: e }, [...i, ...a.path])); - else if (a.code === "invalid_key") r({ issues: a.issues }, [...i, ...a.path]); - else if (a.code === "invalid_element") r({ issues: a.issues }, [...i, ...a.path]); - else { - let e = [...i, ...a.path]; - if (e.length === 0) n._errors.push(t(a)); - else { - let r = n, i = 0; - for (; i < e.length;) { - let n = e[i], o = i === e.length - 1; - if (n === "_errors") { - o && r._errors.push(t(a)), i++; - continue; - } - Object.prototype.hasOwnProperty.call(r, n) || Object.defineProperty(r, n, { - value: { _errors: [] }, - enumerable: !0, - writable: !0, - configurable: !0 - }); - let s = r[n]; - o && s._errors.push(t(a)), r = s, i++; - } - } - } - }; - return r(e), n; -} -//#endregion -//#region node_modules/zod/v4/core/parse.js -function Ze(e, t) { - return { - callee: t?.callee ?? e, - Err: t?.Err - }; -} -var Qe = (e) => { - let t = (n, r, i, a) => { - let o = i ? { - ...i, - async: !1 - } : { async: !1 }, s = n._zod.run({ - value: r, - issues: [] - }, o); - if (s instanceof Promise) throw new k(); - if (s.issues.length) { - let n = new ((a?.Err) ?? e)(s.issues.map((e) => C(e, o, j()))); - throw ne(n, a?.callee ?? t), n; - } - return s.value; - }; - return t; -}, $e = (e) => { - let t = async (n, r, i, a) => { - let o = i ? { - ...i, - async: !0 - } : { async: !0 }, s = n._zod.run({ - value: r, - issues: [] - }, o); - if (s instanceof Promise && (s = await s), s.issues.length) { - let n = new ((a?.Err) ?? e)(s.issues.map((e) => C(e, o, j()))); - throw ne(n, a?.callee ?? t), n; - } - return s.value; - }; - return t; -}, et = (e) => (t, n, r) => { - let i = r ? { - ...r, - async: !1 - } : { async: !1 }, a = t._zod.run({ - value: n, - issues: [] - }, i); - if (a instanceof Promise) throw new k(); - return a.issues.length ? tt(e, a.issues, i) : { - success: !0, - data: a.value - }; -}; -function tt(e, t, n) { - let r; - return { - success: !1, - get error() { - return r || (r = new e(t.map((e) => C(e, n, j()))), t = void 0, n = void 0), r; - }, - set error(e) { - r = e, t = void 0, n = void 0; - } - }; -} -var nt = (e) => async (t, n, r) => { - let i = r ? { - ...r, - async: !0 - } : { async: !0 }, a = t._zod.run({ - value: n, - issues: [] - }, i); - return a instanceof Promise && (a = await a), a.issues.length ? tt(e, a.issues, i) : { - success: !0, - data: a.value - }; -}, rt = /* @__PURE__ */ Symbol.for("zod.compile.invalid"), it = /* @__PURE__ */ Symbol.for("zod.compile.fallback"), at = ((e, t, n) => { - let r = e._zod.bag.validator; - if (r !== void 0) { - if (r(t) !== rt) return !0; - if (r.definite === !0 && n === void 0) return !1; - } - return ot(e, t, n); -}); -function ot(e, t, n) { - let r = n ? { - ...n, - async: !1, - abortEarly: !0 - } : { - async: !1, - abortEarly: !0 - }, i = e._zod.bag.fallbackRun, a; - if (i ? (r[it] = !0, a = i({ - value: t, - issues: [] - }, r)) : a = e._zod.run({ - value: t, - issues: [] - }, r), a instanceof Promise) throw new k(); - return a.issues.length === 0; -} -var st = async (e, t, n) => { - let r = n ? { - ...n, - async: !0, - abortEarly: !0 - } : { - async: !0, - abortEarly: !0 - }, i = e._zod.run({ - value: t, - issues: [] - }, r); - return i instanceof Promise && (i = await i), i.issues.length === 0; -}, ct = (e) => { - let t = Qe(e), n = (e, r, i, a) => { - let o = i ? { - ...i, - direction: "backward" - } : { direction: "backward" }; - return t(e, r, o, Ze(n, a)); - }; - return n; -}, lt = (e) => { - let t = Qe(e), n = (e, r, i, a) => t(e, r, i, Ze(n, a)); - return n; -}, ut = (e) => { - let t = $e(e), n = async (e, r, i, a) => { - let o = i ? { - ...i, - direction: "backward" - } : { direction: "backward" }; - return await t(e, r, o, Ze(n, a)); - }; - return n; -}, dt = (e) => { - let t = $e(e), n = async (e, r, i, a) => await t(e, r, i, Ze(n, a)); - return n; -}, ft = (e) => (t, n, r) => { - let i = r ? { - ...r, - direction: "backward" - } : { direction: "backward" }; - return et(e)(t, n, i); -}, pt = (e) => (t, n, r) => et(e)(t, n, r), mt = (e) => async (t, n, r) => { - let i = r ? { - ...r, - direction: "backward" - } : { direction: "backward" }; - return nt(e)(t, n, i); -}, ht = (e) => async (t, n, r) => nt(e)(t, n, r), gt = /^[cC][0-9a-z]{6,}$/, _t = /^[0-9a-z]+$/, vt = /^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/, yt = /^[0-9a-vA-V]{20}$/, bt = /^[A-Za-z0-9]{27}$/, xt = /^[a-zA-Z0-9_-]{21}$/; -function St(e) { - return RegExp(`^[a-zA-Z0-9_-]{${e}}$`); -} -var Ct = /^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/, wt = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/, Tt = (e) => e ? RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`) : /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/, Et = /^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/, Dt = "^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$"; -function Ot() { - return new RegExp(Dt, "u"); -} -var kt = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/, At = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/, jt = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/, Mt = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/, Nt = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/, Pt = /^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/, Ft = /^https?$/, It = /^\+[1-9]\d{6,14}$/, Lt = "(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))"; -function Rt(e) { - return RegExp(`^${e}$`); -} -var zt = /*@__PURE__*/ Rt(Lt); -function Bt(e) { - let t = "(?:[01]\\d|2[0-3]):[0-5]\\d"; - return typeof e.precision == "number" ? e.precision === -1 ? `${t}` : e.precision === 0 ? `${t}:[0-5]\\d` : `${t}:[0-5]\\d\\.\\d{${e.precision}}` : e.seconds ? `${t}:[0-5]\\d(?:\\.\\d+)?` : `${t}(?::[0-5]\\d(?:\\.\\d+)?)?`; -} -function Vt(e) { - return RegExp(`^${Bt(e)}$`); -} -function Ht(e) { - let t = ["Z"]; - e.offset && t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)"); - let n = `${Bt({ - precision: e.precision, - seconds: !0 - })}(?:${t.join("|")})`, r = e.local ? `${n}|${Bt({ precision: e.precision })}` : n; - return RegExp(`^${Lt}T(?:${r})$`); -} -var Ut = /^[\s\S]{0,}$/, Wt = /^-?\d+(?:\.\d+)?$/, Gt = /^[^A-Z]*$/, Kt = /^[^a-z]*$/, M = /*@__PURE__*/ O("$ZodCheck", (e, t) => { - var n; - e._zod ??= {}, e._zod.def = t, (n = e._zod).onattach ?? (n.onattach = []); -}), qt = (e) => { - let t = e.value; - return !a(t) && t.length !== void 0; -}, Jt = { - number: "number", - bigint: "bigint", - object: "date" -}, Yt = /*@__PURE__*/ O("$ZodCheckLessThan", (e, t) => { - M.init(e, t); - let n = Jt[typeof t.value]; - e._zod.check = (r) => { - (t.inclusive ? r.value <= t.value : r.value < t.value) || r.issues.push({ - origin: Jt[typeof r.value] ?? n, - code: "too_big", - maximum: typeof t.value == "object" ? t.value.getTime() : t.value, - input: r.value, - inclusive: t.inclusive, - inst: e, - continue: !t.abort - }); - }; -}), Xt = /*@__PURE__*/ O("$ZodCheckGreaterThan", (e, t) => { - M.init(e, t); - let n = Jt[typeof t.value]; - e._zod.check = (r) => { - (t.inclusive ? r.value >= t.value : r.value > t.value) || r.issues.push({ - origin: Jt[typeof r.value] ?? n, - code: "too_small", - minimum: typeof t.value == "object" ? t.value.getTime() : t.value, - input: r.value, - inclusive: t.inclusive, - inst: e, - continue: !t.abort - }); - }; -}), Zt = /*@__PURE__*/ O("$ZodCheckMultipleOf", (e, t) => { - M.init(e, t), e._zod.check = (n) => { - if (typeof n.value != typeof t.value) throw Error("Cannot mix number and bigint in multiple_of check."); - (typeof n.value == "bigint" ? t.value !== BigInt(0) && n.value % t.value === BigInt(0) : s(n.value, t.value) === 0) || n.issues.push({ - origin: typeof n.value, - code: "not_multiple_of", - divisor: t.value, - input: n.value, - inst: e, - continue: !t.abort - }); - }; -}), Qt = /*@__PURE__*/ O("$ZodCheckNumberFormat", (e, t) => { - M.init(e, t), t.format = t.format || "float64"; - let n = t.format?.includes("int"), r = n ? "int" : "number", [i, a] = ce[t.format]; - e._zod.check = (o) => { - let s = o.value; - if (n) { - if (!Number.isInteger(s)) { - o.issues.push({ - expected: r, - format: t.format, - code: "invalid_type", - continue: !1, - input: s, - inst: e - }); - return; - } - if (!Number.isSafeInteger(s)) { - s > 0 ? o.issues.push({ - input: s, - code: "too_big", - maximum: 2 ** 53 - 1, - note: "Integers must be within the safe integer range.", - inst: e, - origin: r, - inclusive: !0, - continue: !t.abort - }) : o.issues.push({ - input: s, - code: "too_small", - minimum: -(2 ** 53 - 1), - note: "Integers must be within the safe integer range.", - inst: e, - origin: r, - inclusive: !0, - continue: !t.abort - }); - return; - } - } - s < i && o.issues.push({ - origin: "number", - input: s, - code: "too_small", - minimum: i, - inclusive: !0, - inst: e, - continue: !t.abort - }), s > a && o.issues.push({ - origin: "number", - input: s, - code: "too_big", - maximum: a, - inclusive: !0, - inst: e, - continue: !t.abort - }); - }; -}), $t = /*@__PURE__*/ O("$ZodCheckMaxLength", (e, t) => { - var n; - M.init(e, t), (n = e._zod.def).when ?? (n.when = qt), e._zod.check = (n) => { - let r = n.value, i = r.length; - if ((typeof r == "string" && i > t.maximum ? Ce(r) : i) <= t.maximum) return; - let a = we(r); - n.issues.push({ - origin: a, - code: "too_big", - maximum: t.maximum, - inclusive: !0, - input: r, - inst: e, - continue: !t.abort - }); - }; -}), en = /*@__PURE__*/ O("$ZodCheckMinLength", (e, t) => { - var n; - M.init(e, t), (n = e._zod.def).when ?? (n.when = qt), e._zod.check = (n) => { - let r = n.value, i = r.length; - if ((typeof r == "string" && i >= t.minimum && i < t.minimum * 2 ? Ce(r) : i) >= t.minimum) return; - let a = we(r); - n.issues.push({ - origin: a, - code: "too_small", - minimum: t.minimum, - inclusive: !0, - input: r, - inst: e, - continue: !t.abort - }); - }; -}), tn = /*@__PURE__*/ O("$ZodCheckLengthEquals", (e, t) => { - var n; - M.init(e, t), (n = e._zod.def).when ?? (n.when = qt), e._zod.check = (n) => { - let r = n.value, i = r.length, a = typeof r == "string" && i >= t.length && i <= t.length * 2 ? Ce(r) : i; - if (a === t.length) return; - let o = we(r), s = a > t.length; - n.issues.push({ - origin: o, - ...s ? { - code: "too_big", - maximum: t.length - } : { - code: "too_small", - minimum: t.length - }, - inclusive: !0, - exact: !0, - input: n.value, - inst: e, - continue: !t.abort - }); - }; -}), nn = /*@__PURE__*/ O("$ZodCheckStringFormat", (e, t) => { - var n, r; - M.init(e, t), t.pattern ? (n = e._zod).check ?? (n.check = (n) => { - t.pattern.lastIndex = 0, !t.pattern.test(n.value) && n.issues.push({ - origin: "string", - code: "invalid_format", - format: t.format, - input: n.value, - ...t.pattern ? { pattern: t.pattern.toString() } : {}, - inst: e, - continue: !t.abort - }); - }) : (r = e._zod).check ?? (r.check = () => {}); -}), rn = /*@__PURE__*/ O("$ZodCheckRegex", (e, t) => { - nn.init(e, t), e._zod.check = (n) => { - t.pattern.lastIndex = 0, !t.pattern.test(n.value) && n.issues.push({ - origin: "string", - code: "invalid_format", - format: "regex", - input: n.value, - pattern: t.pattern.toString(), - inst: e, - continue: !t.abort - }); - }; -}), an = /*@__PURE__*/ O("$ZodCheckLowerCase", (e, t) => { - t.pattern ??= Gt, nn.init(e, t); -}), on = /*@__PURE__*/ O("$ZodCheckUpperCase", (e, t) => { - t.pattern ??= Kt, nn.init(e, t); -}), sn = /*@__PURE__*/ O("$ZodCheckIncludes", (e, t) => { - M.init(e, t); - let n = v(t.includes); - t.pattern = new RegExp(typeof t.position == "number" ? `^.{${t.position},}${n}` : n), e._zod.check = (n) => { - n.value.includes(t.includes, t.position) || n.issues.push({ - origin: "string", - code: "invalid_format", - format: "includes", - includes: t.includes, - input: n.value, - inst: e, - continue: !t.abort - }); - }; -}), cn = /*@__PURE__*/ O("$ZodCheckStartsWith", (e, t) => { - M.init(e, t); - let n = RegExp(`^${v(t.prefix)}.*`); - t.pattern ??= n, e._zod.check = (n) => { - n.value.startsWith(t.prefix) || n.issues.push({ - origin: "string", - code: "invalid_format", - format: "starts_with", - prefix: t.prefix, - input: n.value, - inst: e, - continue: !t.abort - }); - }; -}), ln = /*@__PURE__*/ O("$ZodCheckEndsWith", (e, t) => { - M.init(e, t); - let n = RegExp(`.*${v(t.suffix)}$`); - t.pattern ??= n, e._zod.check = (n) => { - n.value.endsWith(t.suffix) || n.issues.push({ - origin: "string", - code: "invalid_format", - format: "ends_with", - suffix: t.suffix, - input: n.value, - inst: e, - continue: !t.abort - }); - }; -}), un = /*@__PURE__*/ O("$ZodCheckOverwrite", (e, t) => { - M.init(e, t), e._zod.check = (e) => { - e.value = t.tx(e.value); - }; -}), dn = class { - constructor(e = [], t = {}) { - this.content = [], this.indent = 0, this.args = e, this.closed = t; - } - indented(e) { - this.indent += 1; - try { - e(this); - } finally { - --this.indent; - } - } - write(e) { - if (typeof e == "function") { - e(this, { execution: "sync" }), e(this, { execution: "async" }); - return; - } - let t = e.split("\n").filter((e) => e), n = Math.min(...t.map((e) => e.length - e.trimStart().length)), r = t.map((e) => e.slice(n)).map((e) => " ".repeat(this.indent * 2) + e); - for (let e of r) this.content.push(e); - } - compile() { - let e = Function, t = this?.content ?? [""]; - return new e(...Object.keys(this.closed), `return function (${this.args.join(", ")}) {\n${t.join("\n")}\n};`)(...Object.values(this.closed)); - } -}, fn = { - major: 4, - minor: 6, - patch: 5 -}, N = /*@__PURE__*/ O("$ZodType", (e, t) => { - var n; - e ??= {}, e._zod.def = t, e._zod.bag = e._zod.bag || {}, e._zod.version = fn; - let r = e._zod.def.checks, i = e._zod.traits.has("$ZodCheck") ? [e, ...r ?? []] : r?.length ? [...r] : []; - for (let t of i) for (let n of t._zod.onattach) n(e); - if (i.length === 0) (n = e._zod).deferred ?? (n.deferred = []), e._zod.deferred?.push(() => { - e._zod.run = e._zod.parse; - }); - else { - let t = (t, n, r) => { - if (t.memo) return t; - let i = x(t), a; - for (let o of n) { - if (o._zod.def.when) { - if (ye(t) || !o._zod.def.when(t)) continue; - } else if (i) continue; - let n = t.issues.length, s = o._zod.check(t); - if (s instanceof Promise && r?.async === !1) throw new k(); - if (a || s instanceof Promise) a = (a ?? Promise.resolve()).then(async () => { - await s, t.issues.length !== n && (xe(t.issues, n, e), i ||= x(t, n)); - }); - else { - if (t.issues.length === n) continue; - xe(t.issues, n, e), i ||= x(t, n); - } - } - return a ? a.then(() => t) : t; - }, n = (n, r, a) => { - if (x(n)) return n.aborted = !0, n; - let o = t(r, i, a); - if (o instanceof Promise) { - if (a.async === !1) throw new k(); - return o.then((t) => e._zod.parse(t, a)); - } - return e._zod.parse(o, a); - }; - e._zod.run = (r, a) => { - if (a.skipChecks) return e._zod.parse(r, a); - if (a.direction === "backward") { - let t = e._zod.parse({ - value: r.value, - issues: [] - }, { - ...a, - skipChecks: !0 - }); - return t instanceof Promise ? t.then((e) => n(e, r, a)) : n(t, r, a); - } - let o = e._zod.parse(r, a); - if (o instanceof Promise) { - if (a.async === !1) throw new k(); - return o.then((e) => t(e, i, a)); - } - return t(o, i, a); - }; - } -}, { - get "~standard"() { - return De(this, "~standard", hn(this)); - }, - set "~standard"(e) { - T(this, "~standard", e); - } -}), pn = (e, t) => e.issues.length ? { issues: e.issues.map((e) => C(e, t, j())) } : { value: e.value }; -async function mn(e, t) { - let n = { async: !0 }; - return pn(await e._zod.run({ - value: t, - issues: [] - }, n), n); -} -function hn(e) { - return { - validate: (t) => { - let n = { async: !1 }; - try { - let r = e._zod.run({ - value: t, - issues: [] - }, n); - if (!(r instanceof Promise)) return pn(r, n); - } catch {} - return mn(e, t); - }, - vendor: "zod", - version: 1 - }; -} -var gn = /*@__PURE__*/ O("$ZodString", (e, t) => { - N.init(e, t), e._zod.pattern = t.pattern ?? Ut, e._zod.parse = (n, r) => { - if (t.coerce) try { - n.value = String(n.value); - } catch {} - return typeof n.value == "string" || n.issues.push({ - expected: "string", - code: "invalid_type", - input: n.value, - inst: e - }), n; - }; -}), P = /*@__PURE__*/ O("$ZodStringFormat", (e, t) => { - nn.init(e, t), gn.init(e, t); -}), _n = /*@__PURE__*/ O("$ZodGUID", (e, t) => { - t.pattern ??= wt, P.init(e, t); -}), vn = /*@__PURE__*/ O("$ZodUUID", (e, t) => { - if (t.version) { - let e = { - v1: 1, - v2: 2, - v3: 3, - v4: 4, - v5: 5, - v6: 6, - v7: 7, - v8: 8 - }[t.version]; - if (e === void 0) throw Error(`Invalid UUID version: "${t.version}"`); - t.pattern ??= Tt(e); - } else t.pattern ??= Tt(); - P.init(e, t); -}), yn = /*@__PURE__*/ O("$ZodEmail", (e, t) => { - t.pattern ??= Et, P.init(e, t); -}); -function bn(e) { - try { - return typeof URL < "u" && typeof URL.canParse == "function" ? URL.canParse(e) : (new URL(e), !0); - } catch { - return !1; - } -} -function xn(e, t) { - return !("normalize" in t) && !("hostname" in t) && !("protocol" in t) ? bn(e) || 2 : Sn(e, t); -} -function Sn(e, t) { - if (!t.normalize && t.protocol?.source === Ft.source && !/^https?:\/\//i.test(e)) return 1; - try { - if (typeof URL < "u") { - let t = URL; - if (typeof t.parse == "function") return t.parse(e) ?? 2; - } - return new URL(e); - } catch { - return 2; - } -} -var Cn = /[\t\n\r]/g; -function wn(e) { - return e.replace(Cn, ""); -} -function Tn(e, t) { - return t.lastIndex = 0, t.test(e.hostname); -} -function En(e, t) { - return t.lastIndex = 0, t.test(e.protocol.endsWith(":") ? e.protocol.slice(0, -1) : e.protocol); -} -var Dn = /*@__PURE__*/ O("$ZodURL", (e, t) => { - P.init(e, t), e._zod.check = (n) => { - try { - let r = n.value.trim(), i = xn(r, t); - if (i === 1) { - n.issues.push({ - code: "invalid_format", - format: "url", - note: "Invalid URL format", - input: n.value, - inst: e, - continue: !t.abort - }); - return; - } - if (i === 2) { - n.issues.push({ - code: "invalid_format", - format: "url", - input: n.value, - inst: e, - continue: !t.abort - }); - return; - } - if (i === !0) { - n.value = wn(r); - return; - } - t.hostname && !Tn(i, t.hostname) && n.issues.push({ - code: "invalid_format", - format: "url", - note: "Invalid hostname", - pattern: t.hostname.source, - input: n.value, - inst: e, - continue: !t.abort - }), t.protocol && !En(i, t.protocol) && n.issues.push({ - code: "invalid_format", - format: "url", - note: "Invalid protocol", - pattern: t.protocol.source, - input: n.value, - inst: e, - continue: !t.abort - }), n.value = t.normalize ? i.href : wn(r); - return; - } catch { - n.issues.push({ - code: "invalid_format", - format: "url", - input: n.value, - inst: e, - continue: !t.abort - }); - } - }; -}), On = /*@__PURE__*/ O("$ZodEmoji", (e, t) => { - t.pattern ??= Ot(), P.init(e, t); -}), kn = /*@__PURE__*/ O("$ZodNanoID", (e, t) => { - if (t.length !== void 0 && (!Number.isInteger(t.length) || t.length < 1)) throw Error(`Invalid nanoid length: ${t.length}`); - t.pattern ??= t.length === void 0 ? xt : St(t.length), P.init(e, t); -}), An = /*@__PURE__*/ O("$ZodCUID", (e, t) => { - t.pattern ??= gt, P.init(e, t); -}), jn = /*@__PURE__*/ O("$ZodCUID2", (e, t) => { - t.pattern ??= _t, P.init(e, t); -}), Mn = /*@__PURE__*/ O("$ZodULID", (e, t) => { - t.pattern ??= vt, P.init(e, t); -}), Nn = /*@__PURE__*/ O("$ZodXID", (e, t) => { - t.pattern ??= yt, P.init(e, t); -}), Pn = /*@__PURE__*/ O("$ZodKSUID", (e, t) => { - t.pattern ??= bt, P.init(e, t); -}), Fn = /*@__PURE__*/ O("$ZodISODateTime", (e, t) => { - t.pattern ??= Ht(t), P.init(e, t); -}), In = /*@__PURE__*/ O("$ZodISODate", (e, t) => { - t.pattern ??= zt, P.init(e, t); -}), Ln = /*@__PURE__*/ O("$ZodISOTime", (e, t) => { - t.pattern ??= Vt(t), P.init(e, t); -}), Rn = /*@__PURE__*/ O("$ZodISODuration", (e, t) => { - t.pattern ??= Ct, P.init(e, t); -}), zn = /*@__PURE__*/ O("$ZodIPv4", (e, t) => { - t.pattern ??= kt, P.init(e, t); -}), Bn = /^[0-9a-fA-F:.]+$/; -function Vn(e) { - return Bn.test(e) ? bn(`http://[${e}]`) : !1; -} -var Hn = /*@__PURE__*/ O("$ZodIPv6", (e, t) => { - t.pattern ??= At, P.init(e, t), e._zod.check = (n) => { - Vn(n.value) || n.issues.push({ - code: "invalid_format", - format: "ipv6", - input: n.value, - inst: e, - continue: !t.abort - }); - }; -}), Un = /*@__PURE__*/ O("$ZodCIDRv4", (e, t) => { - t.pattern ??= jt, P.init(e, t); -}); -function Wn(e) { - let t = e.split("/"); - if (t.length !== 2) return !1; - let [n, r] = t; - if (!r) return !1; - let i = Number(r); - return `${i}` !== r || i < 0 || i > 128 ? !1 : Vn(n); -} -var Gn = /*@__PURE__*/ O("$ZodCIDRv6", (e, t) => { - t.pattern ??= Mt, P.init(e, t), e._zod.check = (n) => { - Wn(n.value) || n.issues.push({ - code: "invalid_format", - format: "cidrv6", - input: n.value, - inst: e, - continue: !t.abort - }); - }; -}); -function Kn(e) { - if (e === "") return !0; - if (/\s/.test(e) || e.length % 4 != 0) return !1; - try { - return atob(e), !0; - } catch { - return !1; - } -} -var qn = /^[0-9a-zA-Z+/]*={0,2}$/, Jn = /*@__PURE__*/ O("$ZodBase64", (e, t) => { - t.pattern ??= qn, P.init(e, t), e._zod.check = (n) => { - Kn(n.value) || n.issues.push({ - code: "invalid_format", - format: "base64", - input: n.value, - inst: e, - continue: !t.abort - }); - }; -}), Yn = /^[A-Za-z0-9_-]*$/; -function Xn(e) { - if (!Yn.test(e)) return !1; - let t = e.replace(/[-_]/g, (e) => e === "-" ? "+" : "/"); - return Kn(t.padEnd(Math.ceil(t.length / 4) * 4, "=")); -} -var Zn = /*@__PURE__*/ O("$ZodBase64URL", (e, t) => { - t.pattern ??= Yn, P.init(e, t), e._zod.check = (n) => { - Xn(n.value) || n.issues.push({ - code: "invalid_format", - format: "base64url", - input: n.value, - inst: e, - continue: !t.abort - }); - }; -}), Qn = /*@__PURE__*/ O("$ZodE164", (e, t) => { - t.pattern ??= It, P.init(e, t); -}); -function $n(e, t = null) { - try { - let n = e.split("."); - if (n.length !== 3) return !1; - let [r] = n; - if (!r) return !1; - let i = JSON.parse(atob(r)); - return !("typ" in i && i?.typ !== "JWT" || !i.alg || t && (!("alg" in i) || i.alg !== t)); - } catch { - return !1; - } -} -var er = /*@__PURE__*/ O("$ZodJWT", (e, t) => { - P.init(e, t), e._zod.check = (n) => { - $n(n.value, t.alg) || n.issues.push({ - code: "invalid_format", - format: "jwt", - input: n.value, - inst: e, - continue: !t.abort - }); - }; -}), tr = /*@__PURE__*/ O("$ZodNumber", (e, t) => { - N.init(e, t), e._zod.pattern = Wt, e._zod.parse = (n, r) => { - if (t.coerce) try { - n.value = Number(n.value); - } catch {} - let i = n.value; - if (typeof i == "number" && !Number.isNaN(i) && Number.isFinite(i)) return n; - let a = typeof i == "number" ? Number.isNaN(i) ? "NaN" : Number.isFinite(i) ? void 0 : String(i) : void 0; - return n.issues.push({ - expected: "number", - code: "invalid_type", - input: i, - inst: e, - ...a ? { received: a } : {} - }), n; - }; -}), nr = /*@__PURE__*/ O("$ZodNumberFormat", (e, t) => { - Qt.init(e, t), tr.init(e, t); -}), rr = /*@__PURE__*/ O("$ZodUnknown", (e, t) => { - N.init(e, t), e._zod.parse = (e) => e; -}), ir = /*@__PURE__*/ O("$ZodNever", (e, t) => { - N.init(e, t), e._zod.parse = (t, n) => (t.issues.push({ - expected: "never", - code: "invalid_type", - input: t.value, - inst: e - }), t); -}); -function ar(e, t, n) { - e.issues.length && t.issues.push(...be(n, e.issues)), t.value[n] = e.value; -} -var or = /*@__PURE__*/ O("$ZodArray", (e, t) => { - N.init(e, t); - let n = A.memoizer; - n?.attach(e), e._zod.parse = (r, i) => { - let a = r.value; - if (!Array.isArray(a)) return r.issues.push({ - expected: "array", - code: "invalid_type", - input: a, - inst: e - }), r; - r.value = n ? n.alloc(e, r, Array(a.length), i) : Array(a.length); - let o = [], s = i?.abortEarly; - for (let e = 0; e < a.length; e++) { - let n = a[e], c = t.element._zod.run({ - value: n, - issues: [] - }, i); - if (c instanceof Promise) o.push(c.then((t) => ar(t, r, e))); - else if (ar(c, r, e), s && c.issues.length !== 0 && x(c)) break; - } - return o.length ? Promise.all(o).then(() => r) : r; - }; -}); -function sr(e, t, n, r, i, a) { - let o = n in r, s = a === "optional"; - if (o || !s || i !== "optional") { - if (e.issues.length) { - if (i !== void 0 && s && !o) return; - t.issues.push(...be(n, e.issues)); - } - !o && i === void 0 ? e.issues.length || t.issues.push({ - code: "invalid_type", - expected: "nonoptional", - input: void 0, - path: [n] - }) : e.value === void 0 ? (o || i === "defaulted" && !s) && (t.value[n] = void 0) : t.value[n] = e.value; - } -} -var cr = []; -function lr(e) { - let t = Object.keys(e.shape), n = Object.getOwnPropertySymbols(e.shape), r = n.length ? n : cr, i = r.length ? [...t, ...r] : t; - for (let t of i) if (!e.shape?.[t]?._zod?.traits?.has("$ZodType")) throw Error(`Invalid element at key "${String(t)}": expected a Zod schema`); - let a = se(e.shape); - return { - ...e, - allKeys: i, - symbolKeys: r, - keySet: new Set(t), - numKeys: t.length, - optionalKeys: new Set(a) - }; -} -function ur(e, t, n, r, i, a, o) { - let s = [], c = i.keySet, l = i.catchall._zod, u = l.def.type, d = l.optin, f = l.optout, p = 0; - for (let i in t) { - if (o && n.issues.length !== p) { - if (x(n, p)) break; - p = n.issues.length; - } - if (c.has(i)) continue; - if (i === "__proto__") { - u === "never" && s.push(i); - continue; - } - if (u === "never") { - s.push(i); - continue; - } - let a = l.run({ - value: t[i], - issues: [] - }, r); - a instanceof Promise ? e.push(a.then((e) => sr(e, n, i, t, d, f))) : sr(a, n, i, t, d, f); - } - return s.length && n.issues.push({ - code: "unrecognized_keys", - keys: s, - input: t, - inst: a, - continue: !0 - }), e.length ? Promise.all(e).then(() => n) : n; -} -var dr = /*@__PURE__*/ O("$ZodObject", (e, t) => { - N.init(e, t); - let n = Object.getOwnPropertyDescriptor(t, "shape"), r = n?.get ? n.get.raw : t.shape ?? {}; - if (r) { - let e = () => { - let n = { ...r }; - return Object.defineProperty(t, "shape", { value: n }), e.raw = n, n; - }; - e.raw = r, Object.defineProperty(t, "shape", { get: e }); - } - let a = i(() => lr(t)); - D(e, "propValues", (e) => { - let t = e.def.shape, n = {}; - for (let e in t) { - let r = t[e]._zod; - if (r.values) { - Object.prototype.hasOwnProperty.call(n, e) || c(n, e, /* @__PURE__ */ new Set()); - for (let t of r.values) n[e].add(t); - r.optin !== void 0 && n[e].add(void 0); - } - } - return n; - }); - let o = g, s = t.catchall, l, u = A.memoizer; - u?.attach(e), e._zod.parse = (t, n) => { - l ??= a.value; - let r = t.value; - if (!o(r)) return t.issues.push({ - expected: "object", - code: "invalid_type", - input: r, - inst: e - }), t; - t.value = u ? u.alloc(e, t, {}, n) : {}; - let i = [], c = l.shape, d = n?.abortEarly, f = t.issues.length; - for (let e of l.allKeys) { - if (d && t.issues.length !== f) { - if (x(t, f)) break; - f = t.issues.length; - } - if (e === "__proto__") continue; - let a = c[e], o = a._zod.optin, s = a._zod.optout, l = a._zod.run({ - value: r[e], - issues: [] - }, n); - l instanceof Promise ? i.push(l.then((n) => sr(n, t, e, r, o, s))) : sr(l, t, e, r, o, s); - } - return s ? ur(i, r, t, n, a.value, e, d === !0) : i.length ? Promise.all(i).then(() => t) : t; - }; -}), fr = /*@__PURE__*/ O("$ZodObjectJIT", (e, t) => { - dr.init(e, t); - let n = e._zod.parse, r = i(() => lr(t)), a = A.memoizer, o = (t) => { - let n = r.value, i = n.symbolKeys, o = new dn(["payload", "ctx"], { - shape: t, - inst: e, - memo: a, - syms: i - }), s = (e) => `shape[${e}]._zod.run({ value: input[${e}], issues: [] }, ctx)`, c = (e, t) => ` +function e(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function t(e,t=`|`){return e.map(e=>oe(e)).join(t)}function n(e,t){return typeof t==`bigint`?t.toString():t}var r=class{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;return e!==void 0&&(this._value=e(),this._getter=void 0),this._value}};function i(e){return new r(e)}function a(e){return e==null}function o(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function s(e,t){let n=e/t,r=Math.round(n),i=4*2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r){let e=t._zod.def.shape[a];return r?r(e,a):e}):f(e,a,r?r(n.value,a):n.value))}}function m(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?d(e,n,()=>t[n]):f(e,n,r.value))}}function h(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function ee(e){return JSON.stringify(e)}function te(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var ne=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function g(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var re=/* @__PURE__*/ i(()=>{if(A.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function _(e){if(g(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return g(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function ie(e){return _(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var ae=/* @__PURE__*/ new Set([`string`,`number`,`symbol`]);function v(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function y(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function b(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function oe(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function se(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}var ce={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},le={int64:[/* @__PURE__*/ BigInt(`-9223372036854775808`),/* @__PURE__*/ BigInt(`9223372036854775807`)],uint64:[/* @__PURE__*/ BigInt(0),/* @__PURE__*/ BigInt(`18446744073709551615`)]};function ue(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);let i={};return p(i,e,de(e,t)),y(e,h(n,{shape:i,checks:[]}))}function de(e,t){let n=u(e),r=[];for(let e of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,e)?.enumerable)throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&r.push(e)}return r}function fe(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);let i=new Set(de(e,t)),a={};return p(a,e,Reflect.ownKeys(u(e)).filter(e=>!i.has(e))),y(e,h(n,{shape:a,checks:[]}))}function pe(e,t){if(!_(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=u(e);for(let e of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return y(e,h(e._zod.def,{shape:me(e,t)}))}function me(e,t){let n={};return p(n,e,Reflect.ownKeys(u(e))),m(n,t),n}function he(e,t){if(!_(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return y(e,h(e._zod.def,{shape:me(e,t)}))}function ge(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);let n={};return p(n,e,Reflect.ownKeys(u(e))),p(n,t,Reflect.ownKeys(u(t))),y(e,h(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function _e(e,t,n,r=`partial`){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(`.${r}() cannot be used on object schemas containing refinements`);let a=n?new Set(de(t,n)):void 0,o={};return p(o,t,Reflect.ownKeys(u(t)),e&&((t,n)=>a&&!a.has(n)?t:new e({type:`optional`,innerType:t}))),y(t,h(t._zod.def,{shape:o,checks:[]}))}function ve(e,t,n){let r=n?new Set(de(t,n)):void 0,i={};return p(i,t,Reflect.ownKeys(u(t)),(t,n)=>r&&!r.has(n)?t:new e({type:`nonoptional`,innerType:t})),y(t,h(t._zod.def,{shape:i}))}function x(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function S(e){return typeof e==`string`?e:e?.message}function xe(e,t,n){var r;for(let i=t;ie;return t[Pe]=!0,t}var Ie,Le={value:void 0,enumerable:!1},Re=`captureStackTrace`in Error?Error:null;function ze(e){let t=Re;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return Re=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function O(e,t,n,r){let i={};function a(e){this.def=e,this.constr=d,this.traits=/* @__PURE__ */ new Set}a.prototype=i;let o=n,s=o&&/* @__PURE__ */ new WeakSet;function c(n,r){if(!n._zod){Le.value=new a(r);try{Object.defineProperty(n,"_zod",Le)}finally{Le.value=void 0}}else if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,r),s){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;s.has(i)||(s.add(i),Ee(i,o))}let i=d.prototype;for(let e in i)Object.prototype.hasOwnProperty.call(i,e)&&(e in n||(n[e]=i[e].bind(n)))}let l=r?.Parent??Object;class u extends l{}Object.defineProperty(u,"name",{value:e});function d(e){let t=r?.Parent?ze(u):this;c(t,e);let n=t._zod.deferred;if(n){for(let e of n)e();t._zod.deferred=void 0}let i=globalThis.__zod_globalConfig?.postProcessor;return i&&i(t),t}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:t=>r?.Parent&&t instanceof r.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(d,"name",{value:e}),d}var k=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Be=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(Ie=globalThis).__zod_globalConfig??(Ie.__zod_globalConfig={});var A=globalThis.__zod_globalConfig;function j(e){return e&&Object.assign(A,e),A}function Ve(){let e=this._zod;return e.message??=JSON.stringify(e.def,n,2),e.message}function He(e){this._zod.message=e}var Ue={get:Ve,set:He,enumerable:!0,configurable:!0},We={value:void 0,enumerable:!1},Ge=/* @__PURE__ */ new WeakSet([Object.prototype,Error.prototype]),Ke=(e,t)=>{e.name=`$ZodError`,We.value=t,Object.defineProperty(e,"issues",We),We.value=void 0,Object.defineProperty(e,"message",Ue);let n=Object.getPrototypeOf(e);Ge.has(n)||(Ge.add(n),Object.defineProperty(n,"toString",{configurable:!0,enumerable:!1,get(){let e=()=>this.message;return Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0})}}))},qe=O(`$ZodError`,Ke);O(`$ZodError`,Ke,void 0,{Parent:Error});function Je(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)||(t===`__proto__`?Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0}):e[t]=n()),e[t]}function Ye(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?Je(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function Xe(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i{let t=(n,r,i,a)=>{let o=i?{...i,async:!1}:{async:!1},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new k;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>C(e,o,j())));throw ne(n,a?.callee??t),n}return s.value};return t},$e=e=>{let t=async(n,r,i,a)=>{let o=i?{...i,async:!0}:{async:!0},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>C(e,o,j())));throw ne(n,a?.callee??t),n}return s.value};return t},et=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new k;return a.issues.length?tt(e,a.issues,i):{success:!0,data:a.value}};function tt(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>C(e,n,j()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}var nt=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?tt(e,a.issues,i):{success:!0,data:a.value}},rt=/* @__PURE__ */ Symbol.for(`zod.compile.invalid`),it=/* @__PURE__ */ Symbol.for(`zod.compile.fallback`),at=((e,t,n)=>{let r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==rt)return!0;if(r.definite===!0&&n===void 0)return!1}return ot(e,t,n)});function ot(e,t,n){let r=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},i=e._zod.bag.fallbackRun,a;if(i?(r[it]=!0,a=i({value:t,issues:[]},r)):a=e._zod.run({value:t,issues:[]},r),a instanceof Promise)throw new k;return a.issues.length===0}var st=async(e,t,n)=>{let r=n?{...n,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},i=e._zod.run({value:t,issues:[]},r);return i instanceof Promise&&(i=await i),i.issues.length===0},ct=e=>{let t=Qe(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,Ze(n,a))};return n},lt=e=>{let t=Qe(e),n=(e,r,i,a)=>t(e,r,i,Ze(n,a));return n},ut=e=>{let t=$e(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,Ze(n,a))};return n},dt=e=>{let t=$e(e),n=async(e,r,i,a)=>await t(e,r,i,Ze(n,a));return n},ft=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return et(e)(t,n,i)},pt=e=>(t,n,r)=>et(e)(t,n,r),mt=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return nt(e)(t,n,i)},ht=e=>async(t,n,r)=>nt(e)(t,n,r),gt=/^[cC][0-9a-z]{6,}$/,_t=/^[0-9a-z]+$/,vt=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,yt=/^[0-9a-vA-V]{20}$/,bt=/^[A-Za-z0-9]{27}$/,xt=/^[a-zA-Z0-9_-]{21}$/;function St(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var Ct=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,wt=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Tt=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Et=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Dt=`^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`;function Ot(){return new RegExp(Dt,`u`)}var kt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,At=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,jt=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Mt=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Nt=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Pt=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,Ft=/^https?$/,It=/^\+[1-9]\d{6,14}$/,Lt=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`;function Rt(e){return RegExp(`^${e}$`)}var zt=/*@__PURE__*/ Rt(Lt);function Bt(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Vt(e){return RegExp(`^${Bt(e)}$`)}function Ht(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${Bt({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${Bt({precision:e.precision})}`:n;return RegExp(`^${Lt}T(?:${r})$`)}var Ut=/^[\s\S]{0,}$/,Wt=/^-?\d+(?:\.\d+)?$/,Gt=/^[^A-Z]*$/,Kt=/^[^a-z]*$/,M=/*@__PURE__*/ O(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),qt=e=>{let t=e.value;return!a(t)&&t.length!==void 0},Jt={number:`number`,bigint:`bigint`,object:`date`},Yt=/*@__PURE__*/ O(`$ZodCheckLessThan`,(e,t)=>{M.init(e,t);let n=Jt[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value{M.init(e,t);let n=Jt[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:Jt[typeof r.value]??n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Zt=/*@__PURE__*/ O(`$ZodCheckMultipleOf`,(e,t)=>{M.init(e,t),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?t.value!==BigInt(0)&&n.value%t.value===BigInt(0):s(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Qt=/*@__PURE__*/ O(`$ZodCheckNumberFormat`,(e,t)=>{M.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=ce[t.format];e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}sa&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),$t=/*@__PURE__*/ O(`$ZodCheckMaxLength`,(e,t)=>{var n;M.init(e,t),(n=e._zod.def).when??(n.when=qt),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?Ce(r):i)<=t.maximum)return;let a=we(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),en=/*@__PURE__*/ O(`$ZodCheckMinLength`,(e,t)=>{var n;M.init(e,t),(n=e._zod.def).when??(n.when=qt),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i=t.minimum)return;let a=we(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),tn=/*@__PURE__*/ O(`$ZodCheckLengthEquals`,(e,t)=>{var n;M.init(e,t),(n=e._zod.def).when??(n.when=qt),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?Ce(r):i;if(a===t.length)return;let o=we(r),s=a>t.length;n.issues.push({origin:o,...s?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),nn=/*@__PURE__*/ O(`$ZodCheckStringFormat`,(e,t)=>{var n,r;M.init(e,t),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),rn=/*@__PURE__*/ O(`$ZodCheckRegex`,(e,t)=>{nn.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),an=/*@__PURE__*/ O(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Gt,nn.init(e,t)}),on=/*@__PURE__*/ O(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Kt,nn.init(e,t)}),sn=/*@__PURE__*/ O(`$ZodCheckIncludes`,(e,t)=>{M.init(e,t);let n=v(t.includes);t.pattern=new RegExp(typeof t.position==`number`?`^.{${t.position},}${n}`:n),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),cn=/*@__PURE__*/ O(`$ZodCheckStartsWith`,(e,t)=>{M.init(e,t);let n=RegExp(`^${v(t.prefix)}.*`);t.pattern??=n,e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),ln=/*@__PURE__*/ O(`$ZodCheckEndsWith`,(e,t)=>{M.init(e,t);let n=RegExp(`.*${v(t.suffix)}$`);t.pattern??=n,e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),un=/*@__PURE__*/ O(`$ZodCheckOverwrite`,(e,t)=>{M.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),dn=class{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1;try{e(this)}finally{--this.indent}}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(` +`).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.content??[``];return new e(...Object.keys(this.closed),`return function (${this.args.join(`, `)}) {\n${t.join(` +`)}\n};`)(...Object.values(this.closed))}},fn={major:4,minor:6,patch:5},N=/*@__PURE__*/ O(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=fn;let r=e._zod.def.checks,i=e._zod.traits.has(`$ZodCheck`)?[e,...r??[]]:r?.length?[...r]:[];for(let t of i)for(let n of t._zod.onattach)n(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(t,n,r)=>{if(t.memo)return t;let i=x(t),a;for(let o of n){if(o._zod.def.when){if(ye(t)||!o._zod.def.when(t))continue}else if(i)continue;let n=t.issues.length,s=o._zod.check(t);if(s instanceof Promise&&r?.async===!1)throw new k;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(xe(t.issues,n,e),i||=x(t,n))});else{if(t.issues.length===n)continue;xe(t.issues,n,e),i||=x(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(x(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new k;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(r,a)=>{if(a.skipChecks)return e._zod.parse(r,a);if(a.direction===`backward`){let t=e._zod.parse({value:r.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,a)):n(t,r,a)}let o=e._zod.parse(r,a);if(o instanceof Promise){if(a.async===!1)throw new k;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return De(this,`~standard`,hn(this))},set"~standard"(e){T(this,`~standard`,e)}}),pn=(e,t)=>e.issues.length?{issues:e.issues.map(e=>C(e,t,j()))}:{value:e.value};async function mn(e,t){let n={async:!0};return pn(await e._zod.run({value:t,issues:[]},n),n)}function hn(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return pn(r,n)}catch{}return mn(e,t)},vendor:`zod`,version:1}}var gn=/*@__PURE__*/ O(`$ZodString`,(e,t)=>{N.init(e,t),e._zod.pattern=t.pattern??Ut,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),P=/*@__PURE__*/ O(`$ZodStringFormat`,(e,t)=>{nn.init(e,t),gn.init(e,t)}),_n=/*@__PURE__*/ O(`$ZodGUID`,(e,t)=>{t.pattern??=wt,P.init(e,t)}),vn=/*@__PURE__*/ O(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=Tt(e)}else t.pattern??=Tt();P.init(e,t)}),yn=/*@__PURE__*/ O(`$ZodEmail`,(e,t)=>{t.pattern??=Et,P.init(e,t)});function bn(e){try{return typeof URL<`u`&&typeof URL.canParse==`function`?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function xn(e,t){return!(`normalize`in t)&&!(`hostname`in t)&&!(`protocol`in t)?bn(e)||2:Sn(e,t)}function Sn(e,t){if(!t.normalize&&t.protocol?.source===Ft.source&&!/^https?:\/\//i.test(e))return 1;try{if(typeof URL<`u`){let t=URL;if(typeof t.parse==`function`)return t.parse(e)??2}return new URL(e)}catch{return 2}}var Cn=/[\t\n\r]/g;function wn(e){return e.replace(Cn,``)}function Tn(e,t){return t.lastIndex=0,t.test(e.hostname)}function En(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}var Dn=/*@__PURE__*/ O(`$ZodURL`,(e,t)=>{P.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=xn(r,t);if(i===1){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}if(i===2){n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort});return}if(i===!0){n.value=wn(r);return}t.hostname&&!Tn(i,t.hostname)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort}),t.protocol&&!En(i,t.protocol)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort}),n.value=t.normalize?i.href:wn(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),On=/*@__PURE__*/ O(`$ZodEmoji`,(e,t)=>{t.pattern??=Ot(),P.init(e,t)}),kn=/*@__PURE__*/ O(`$ZodNanoID`,(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw Error(`Invalid nanoid length: ${t.length}`);t.pattern??=t.length===void 0?xt:St(t.length),P.init(e,t)}),An=/*@__PURE__*/ O(`$ZodCUID`,(e,t)=>{t.pattern??=gt,P.init(e,t)}),jn=/*@__PURE__*/ O(`$ZodCUID2`,(e,t)=>{t.pattern??=_t,P.init(e,t)}),Mn=/*@__PURE__*/ O(`$ZodULID`,(e,t)=>{t.pattern??=vt,P.init(e,t)}),Nn=/*@__PURE__*/ O(`$ZodXID`,(e,t)=>{t.pattern??=yt,P.init(e,t)}),Pn=/*@__PURE__*/ O(`$ZodKSUID`,(e,t)=>{t.pattern??=bt,P.init(e,t)}),Fn=/*@__PURE__*/ O(`$ZodISODateTime`,(e,t)=>{t.pattern??=Ht(t),P.init(e,t)}),In=/*@__PURE__*/ O(`$ZodISODate`,(e,t)=>{t.pattern??=zt,P.init(e,t)}),Ln=/*@__PURE__*/ O(`$ZodISOTime`,(e,t)=>{t.pattern??=Vt(t),P.init(e,t)}),Rn=/*@__PURE__*/ O(`$ZodISODuration`,(e,t)=>{t.pattern??=Ct,P.init(e,t)}),zn=/*@__PURE__*/ O(`$ZodIPv4`,(e,t)=>{t.pattern??=kt,P.init(e,t)}),Bn=/^[0-9a-fA-F:.]+$/;function Vn(e){return Bn.test(e)?bn(`http://[${e}]`):!1}var Hn=/*@__PURE__*/ O(`$ZodIPv6`,(e,t)=>{t.pattern??=At,P.init(e,t),e._zod.check=n=>{Vn(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),Un=/*@__PURE__*/ O(`$ZodCIDRv4`,(e,t)=>{t.pattern??=jt,P.init(e,t)});function Wn(e){let t=e.split(`/`);if(t.length!==2)return!1;let[n,r]=t;if(!r)return!1;let i=Number(r);return`${i}`!==r||i<0||i>128?!1:Vn(n)}var Gn=/*@__PURE__*/ O(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Mt,P.init(e,t),e._zod.check=n=>{Wn(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function Kn(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var qn=/^[0-9a-zA-Z+/]*={0,2}$/,Jn=/*@__PURE__*/ O(`$ZodBase64`,(e,t)=>{t.pattern??=qn,P.init(e,t),e._zod.check=n=>{Kn(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}}),Yn=/^[A-Za-z0-9_-]*$/;function Xn(e){if(!Yn.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return Kn(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var Zn=/*@__PURE__*/ O(`$ZodBase64URL`,(e,t)=>{t.pattern??=Yn,P.init(e,t),e._zod.check=n=>{Xn(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),Qn=/*@__PURE__*/ O(`$ZodE164`,(e,t)=>{t.pattern??=It,P.init(e,t)});function $n(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var er=/*@__PURE__*/ O(`$ZodJWT`,(e,t)=>{P.init(e,t),e._zod.check=n=>{$n(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),tr=/*@__PURE__*/ O(`$ZodNumber`,(e,t)=>{N.init(e,t),e._zod.pattern=Wt,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:String(i):void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),nr=/*@__PURE__*/ O(`$ZodNumberFormat`,(e,t)=>{Qt.init(e,t),tr.init(e,t)}),rr=/*@__PURE__*/ O(`$ZodUnknown`,(e,t)=>{N.init(e,t),e._zod.parse=e=>e}),ir=/*@__PURE__*/ O(`$ZodNever`,(e,t)=>{N.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function ar(e,t,n){e.issues.length&&t.issues.push(...be(n,e.issues)),t.value[n]=e.value}var or=/*@__PURE__*/ O(`$ZodArray`,(e,t)=>{N.init(e,t);let n=A.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({expected:`array`,code:`invalid_type`,input:a,inst:e}),r;r.value=n?n.alloc(e,r,Array(a.length),i):Array(a.length);let o=[],s=i?.abortEarly;for(let e=0;ear(t,r,e)));else if(ar(c,r,e),s&&c.issues.length!==0&&x(c))break}return o.length?Promise.all(o).then(()=>r):r}});function sr(e,t,n,r,i,a){let o=n in r,s=a===`optional`;if(o||!s||i!==`optional`){if(e.issues.length){if(i!==void 0&&s&&!o)return;t.issues.push(...be(n,e.issues))}!o&&i===void 0?e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]}):e.value===void 0?(o||i===`defaulted`&&!s)&&(t.value[n]=void 0):t.value[n]=e.value}}var cr=[];function lr(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:cr,i=r.length?[...t,...r]:t;for(let t of i)if(!e.shape?.[t]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${String(t)}": expected a Zod schema`);let a=se(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function ur(e,t,n,r,i,a,o){let s=[],c=i.keySet,l=i.catchall._zod,u=l.def.type,d=l.optin,f=l.optout,p=0;for(let i in t){if(o&&n.issues.length!==p){if(x(n,p))break;p=n.issues.length}if(c.has(i))continue;if(i===`__proto__`){u===`never`&&s.push(i);continue}if(u===`never`){s.push(i);continue}let a=l.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>sr(e,n,i,t,d,f))):sr(a,n,i,t,d,f)}return s.length&&n.issues.push({code:`unrecognized_keys`,keys:s,input:t,inst:a,continue:!0}),e.length?Promise.all(e).then(()=>n):n}var dr=/*@__PURE__*/ O(`$ZodObject`,(e,t)=>{N.init(e,t);let n=Object.getOwnPropertyDescriptor(t,`shape`),r=n?.get?n.get.raw:t.shape??{};if(r){let e=()=>{let n={...r};return Object.defineProperty(t,"shape",{value:n}),e.raw=n,n};e.raw=r,Object.defineProperty(t,"shape",{get:e})}let a=i(()=>lr(t));D(e,`propValues`,e=>{let t=e.def.shape,n={};for(let e in t){let r=t[e]._zod;if(r.values){Object.prototype.hasOwnProperty.call(n,e)||c(n,e,/* @__PURE__ */ new Set);for(let t of r.values)n[e].add(t);r.optin!==void 0&&n[e].add(void 0)}}return n});let o=g,s=t.catchall,l,u=A.memoizer;u?.attach(e),e._zod.parse=(t,n)=>{l??=a.value;let r=t.value;if(!o(r))return t.issues.push({expected:`object`,code:`invalid_type`,input:r,inst:e}),t;t.value=u?u.alloc(e,t,{},n):{};let i=[],c=l.shape,d=n?.abortEarly,f=t.issues.length;for(let e of l.allKeys){if(d&&t.issues.length!==f){if(x(t,f))break;f=t.issues.length}if(e===`__proto__`)continue;let a=c[e],o=a._zod.optin,s=a._zod.optout,l=a._zod.run({value:r[e],issues:[]},n);l instanceof Promise?i.push(l.then(n=>sr(n,t,e,r,o,s))):sr(l,t,e,r,o,s)}return s?ur(i,r,t,n,a.value,e,d===!0):i.length?Promise.all(i).then(()=>t):t}}),fr=/*@__PURE__*/ O(`$ZodObjectJIT`,(e,t)=>{dr.init(e,t);let n=e._zod.parse,r=i(()=>lr(t)),a=A.memoizer,o=t=>{let n=r.value,i=n.symbolKeys,o=new dn([`payload`,`ctx`],{shape:t,inst:e,memo:a,syms:i}),s=e=>`shape[${e}]._zod.run({ value: input[${e}], issues: [] }, ctx)`,c=(e,t)=>` let ${e}_ab = false; for (let i = 0; i < ${e}.issues.length; i++) { const iss = ${e}.issues[i]; @@ -1534,20 +11,10 @@ var dr = /*@__PURE__*/ O("$ZodObject", (e, t) => { if (${e}_ab && ctx && ctx.abortEarly) { payload.value = newResult; return payload; - }`; - o.write("const input = payload.value;"); - let l = Object.create(null), u = 0; - for (let e of n.allKeys) l[e] = `key_${u++}`; - o.write(a ? "const newResult = memo.alloc(inst, payload, {}, ctx);" : "const newResult = {};"); - for (let e of n.allKeys) { - if (e === "__proto__") continue; - let n = l[e], r = typeof e == "symbol" ? `syms[${i.indexOf(e)}]` : ee(e), a = `${r} in input`, u = t[e], d = u?._zod?.optin, f = d !== void 0, p = u?._zod?.optout === "optional"; - if (o.write(`const ${n} = ${s(r)};`), f && p) { - let e = d === "optional" ? `${n}_present` : `${n}.value !== undefined || ${n}_present`; - o.write(` + }`;o.write(`const input = payload.value;`);let l=Object.create(null),u=0;for(let e of n.allKeys)l[e]=`key_${u++}`;o.write(a?`const newResult = memo.alloc(inst, payload, {}, ctx);`:`const newResult = {};`);for(let e of n.allKeys){if(e===`__proto__`)continue;let n=l[e],r=typeof e==`symbol`?`syms[${i.indexOf(e)}]`:ee(e),a=`${r} in input`,u=t[e],d=u?._zod?.optin,f=d!==void 0,p=u?._zod?.optout===`optional`;if(o.write(`const ${n} = ${s(r)};`),f&&p){let e=d===`optional`?`${n}_present`:`${n}.value !== undefined || ${n}_present`;o.write(` const ${n}_present = ${a}; if (!${n}.issues.length || ${n}_present) { - if (${n}.issues.length) {${c(n, r)} + if (${n}.issues.length) {${c(n,r)} } if (${e}) { @@ -1555,17 +22,16 @@ var dr = /*@__PURE__*/ O("$ZodObject", (e, t) => { } } - `); - } else f ? (o.write(` - if (${n}.issues.length) {${c(n, r)} + `)}else f?(o.write(` + if (${n}.issues.length) {${c(n,r)} } - `), d === "defaulted" ? o.write(`newResult[${r}] = ${n}.value;`) : o.write(` + `),d===`defaulted`?o.write(`newResult[${r}] = ${n}.value;`):o.write(` if (${n}.value !== undefined || ${a}) { newResult[${r}] = ${n}.value; } - `)) : o.write(` + `)):o.write(` const ${n}_present = ${a}; - if (${n}.issues.length) {${c(n, r)} + if (${n}.issues.length) {${c(n,r)} } if (!${n}_present && !${n}.issues.length) { payload.issues.push({ @@ -1584,2527 +50,61 @@ var dr = /*@__PURE__*/ O("$ZodObject", (e, t) => { newResult[${r}] = ${n}.value; } - `); - } - return o.write("payload.value = newResult;"), o.write("return payload;"), o.compile(); - }, s, c = g, l = !A.jitless, u = l && re.value, d = t.catchall, f; - e._zod.parse = (i, a) => { - f ??= r.value; - let p = i.value; - return c(p) ? l && u && a?.async === !1 && a.jitless !== !0 ? (s ||= o(t.shape), i = s(i, a), d ? ur([], p, i, a, f, e, a?.abortEarly === !0) : i) : n(i, a) : (i.issues.push({ - expected: "object", - code: "invalid_type", - input: p, - inst: e - }), i); - }; -}); -function pr(e, t, n, r) { - for (let n of e) if (n.issues.length === 0) return t.value = n.value, t; - let i = e.filter((e) => !x(e)); - return i.length === 1 ? (t.value = i[0].value, i[0]) : (t.issues.push({ - code: "invalid_union", - input: t.value, - inst: n, - errors: e.map((e) => e.issues.map((e) => C(e, r, j()))) - }), t); -} -var mr = /*@__PURE__*/ O("$ZodUnion", (e, t) => { - N.init(e, t), D(e, "optin", (e) => e.def.options.some((e) => e._zod.optin === "defaulted") ? "defaulted" : e.def.options.some((e) => e._zod.optin !== void 0) ? "optional" : void 0), D(e, "optout", (e) => e.def.options.some((e) => e._zod.optout === "optional") ? "optional" : void 0), D(e, "values", (e) => { - if (e.def.options.every((e) => e._zod.values)) return new Set(e.def.options.flatMap((e) => Array.from(e._zod.values))); - }), D(e, "pattern", (e) => { - if (e.def.options.every((e) => e._zod.pattern)) { - let t = e.def.options.map((e) => e._zod.pattern); - return RegExp(`^(${t.map((e) => o(e.source)).join("|")})$`); - } - }); - let n = t.options.length === 1 ? t.options[0]._zod.run : null; - e._zod.parse = (r, i) => { - if (n) return n(r, i); - let a = !1, o = []; - for (let e of t.options) { - let t = e._zod.run({ - value: r.value, - issues: [] - }, i); - if (t instanceof Promise) o.push(t), a = !0; - else { - if (t.issues.length === 0) return t; - o.push(t); - } - } - return a ? Promise.all(o).then((t) => pr(t, r, e, i)) : pr(o, r, e, i); - }; -}); -function hr(e) { - let t = /* @__PURE__ */ new Map(); - for (let n of e.options) { - let r = n._zod.propValues?.[e.discriminator]; - if (!r || r.size === 0) throw Error(`Invalid discriminated union option at index "${e.options.indexOf(n)}"`); - for (let e of r) if (t.has(e)) { - if (e !== void 0) throw Error(`Duplicate discriminator value "${String(e)}"`); - t.set(e, null); - } else t.set(e, n); - } - return t; -} -var gr = /*@__PURE__*/ O("$ZodDiscriminatedUnion", (e, t) => { - t.inclusive = !1, mr.init(e, t); - let n = e._zod.parse; - D(e, "propValues", (e) => { - let t = {}, n = 0; - for (let r of e.def.options) { - let i = r._zod.propValues; - if (!i || Object.keys(i).length === 0) throw Error(`Invalid discriminated union option at index "${e.def.options.indexOf(r)}"`); - i[e.def.discriminator]?.has(void 0) && n++; - for (let [e, n] of Object.entries(i)) { - Object.prototype.hasOwnProperty.call(t, e) || c(t, e, /* @__PURE__ */ new Set()); - for (let r of n) t[e].add(r); - } - } - return !e.def.unionFallback && n > 1 && t[e.def.discriminator]?.delete(void 0), t; - }), t.options.forEach((e, n) => { - let r = l(e._zod.def); - if (r && !Object.prototype.hasOwnProperty.call(r, t.discriminator)) throw Error(`Invalid discriminated union option at index "${n}"`); - }); - let r = i(() => hr(t)); - e._zod.parse = (i, a) => { - let o = i.value; - if (!g(o)) return i.issues.push({ - code: "invalid_type", - expected: "object", - input: o, - inst: e - }), i; - let s = o?.[t.discriminator], c = r.value.get(s); - return c && (s !== void 0 || a.direction !== "backward") ? c._zod.run(i, a) : t.unionFallback || a.direction === "backward" ? n(i, a) : (i.issues.push({ - code: "invalid_union", - errors: [], - note: "No matching discriminator", - discriminator: t.discriminator, - options: Array.from(r.value.keys()).filter((e) => r.value.get(e) !== null), - input: o, - path: [t.discriminator], - inst: e - }), i); - }; -}), _r = /*@__PURE__*/ O("$ZodIntersection", (e, t) => { - N.init(e, t), e._zod.parse = (e, n) => { - let r = e.value, i = t.left._zod.run({ - value: r, - issues: [] - }, n), a = t.right._zod.run({ - value: r, - issues: [] - }, n); - return i instanceof Promise || a instanceof Promise ? Promise.all([i, a]).then(([t, n]) => yr(e, t, n)) : yr(e, i, a); - }; -}); -function vr(e, t) { - if (e === t || e instanceof Date && t instanceof Date && +e == +t) return { - valid: !0, - data: e - }; - if (_(e) && _(t)) { - let n = Object.keys(t), r = Object.keys(e).filter((e) => n.indexOf(e) !== -1), i = { - ...e, - ...t - }; - Object.prototype.hasOwnProperty.call(i, "__proto__") && delete i.__proto__; - for (let n of r) { - if (n === "__proto__") continue; - let r = vr(e[n], t[n]); - if (!r.valid) return { - valid: !1, - mergeErrorPath: [n, ...r.mergeErrorPath] - }; - i[n] = r.data; - } - return { - valid: !0, - data: i - }; - } - if (Array.isArray(e) && Array.isArray(t)) { - if (e.length !== t.length) return { - valid: !1, - mergeErrorPath: [] - }; - let n = []; - for (let r = 0; r < e.length; r++) { - let i = e[r], a = t[r], o = vr(i, a); - if (!o.valid) return { - valid: !1, - mergeErrorPath: [r, ...o.mergeErrorPath] - }; - n.push(o.data); - } - return { - valid: !0, - data: n - }; - } - return { - valid: !1, - mergeErrorPath: [] - }; -} -function yr(e, t, n) { - let r = /* @__PURE__ */ new Map(), i, a = /* @__PURE__ */ new Map(), o = (e, t) => { - let n; - if (e.code === "unrecognized_keys" && !e.path?.length) i ??= e, n = e.keys; - else if (e.code === "invalid_key" && e.origin === "record" && e.path?.length === 1) { - let t = String(e.path[0]); - a.has(t) || a.set(t, e), n = [t]; - } else return !1; - for (let e of n) r.has(e) || r.set(e, {}), r.get(e)[t] = !0; - return !0; - }; - for (let n of t.issues) o(n, "l") || e.issues.push(n); - for (let t of n.issues) o(t, "r") || e.issues.push(t); - let s = [...r].filter(([, e]) => e.l && e.r).map(([e]) => e); - if (s.length) { - let t = i ? s.filter((e) => i.keys.includes(e)) : []; - t.length && e.issues.push({ - ...i, - keys: t - }); - for (let n of s) !t.includes(n) && a.has(n) && e.issues.push(a.get(n)); - } - let c = vr(t.value, n.value); - if (!c.valid) { - if (x(e)) return e; - throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`); - } - return e.value = c.data, e; -} -var br = /*@__PURE__*/ O("$ZodEnum", (t, n) => { - N.init(t, n); - let r = e(n.entries), i = new Set(r); - t._zod.values = i, D(t, "pattern", (t) => { - let n = e(t.def.entries).filter((e) => ae.has(typeof e)); - return RegExp(n.length ? `^(${n.map((e) => v(e.toString())).join("|")})$` : "^[^\\s\\S]$"); - }), t._zod.parse = (e, n) => { - let a = e.value; - return i.has(a) || e.issues.push({ - code: "invalid_value", - values: r, - input: a, - inst: t - }), e; - }; -}), xr = /*@__PURE__*/ O("$ZodLiteral", (e, t) => { - N.init(e, t); - let n = new Set(t.values); - e._zod.values = n, D(e, "pattern", (e) => { - let t = e.def.values; - return RegExp(t.length ? `^(${t.map((e) => typeof e == "string" ? v(e) : e ? v(e.toString()) : String(e)).join("|")})$` : "^[^\\s\\S]$"); - }), e._zod.parse = (r, i) => { - let a = r.value; - return n.has(a) || r.issues.push({ - code: "invalid_value", - values: t.values, - input: a, - inst: e - }), r; - }; -}), Sr = /*@__PURE__*/ O("$ZodTransform", (e, t) => { - N.init(e, t), e._zod.optin = "optional", A.memoizer?.guard(e), e._zod.parse = (n, r) => { - if (r.direction === "backward") throw new Be(e.constructor.name); - let i = t.transform(n.value, n); - if (r.async) return (i instanceof Promise ? i : Promise.resolve(i)).then((e) => (n.value = e, n)); - if (i instanceof Promise) throw new k(); - return n.value = i, n; - }; -}); -function Cr(e, t) { - return e.value = t.issues.length ? void 0 : t.value, e; -} -var wr = /*@__PURE__*/ O("$ZodOptional", (e, t) => { - N.init(e, t), D(e, "optin", (e) => e.def.innerType._zod.optin === "defaulted" ? "defaulted" : "optional"), e._zod.optout = "optional", D(e, "values", (e) => { - let t = e.def.innerType._zod.values; - return t ? /* @__PURE__ */ new Set([...t, void 0]) : void 0; - }), D(e, "pattern", (e) => { - let t = e.def.innerType._zod.pattern; - return t ? RegExp(`^(${o(t.source)})?$`) : void 0; - }), e._zod.parse = (e, n) => { - if (e.value === void 0) { - if (t.innerType._zod.optin !== "defaulted") return e; - let r = t.innerType._zod.run({ - value: e.value, - issues: [] - }, n); - return r instanceof Promise ? r.then((t) => Cr(e, t)) : Cr(e, r); - } - return t.innerType._zod.run(e, n); - }; -}), Tr = /*@__PURE__*/ O("$ZodExactOptional", (e, t) => { - wr.init(e, t), D(e, "values", (e) => e.def.innerType._zod.values), D(e, "pattern", (e) => e.def.innerType._zod.pattern), e._zod.parse = (e, n) => t.innerType._zod.run(e, n); -}), Er = /*@__PURE__*/ O("$ZodNullable", (e, t) => { - N.init(e, t), D(e, "optin", (e) => e.def.innerType._zod.optin), D(e, "optout", (e) => e.def.innerType._zod.optout), D(e, "pattern", (e) => { - let t = e.def.innerType._zod.pattern; - return t ? RegExp(`^(${o(t.source)}|null)$`) : void 0; - }), D(e, "values", (e) => e.def.innerType._zod.values ? /* @__PURE__ */ new Set([...e.def.innerType._zod.values, null]) : void 0), e._zod.parse = (e, n) => e.value === null ? e : t.innerType._zod.run(e, n); -}), Dr = /*@__PURE__*/ O("$ZodDefault", (e, t) => { - N.init(e, t), e._zod.optin = "defaulted", D(e, "values", (e) => e.def.innerType._zod.values), e._zod.parse = (e, n) => { - if (n.direction === "backward") return t.innerType._zod.run(e, n); - if (e.value === void 0) return e.value = t.defaultValue, e; - let r = t.innerType._zod.run(e, n); - return r instanceof Promise ? r.then((e) => Or(e, t)) : Or(r, t); - }; -}); -function Or(e, t) { - return e.value === void 0 && (e.value = t.defaultValue), e; -} -var kr = /*@__PURE__*/ O("$ZodPrefault", (e, t) => { - N.init(e, t), e._zod.optin = "defaulted", D(e, "values", (e) => e.def.innerType._zod.values), e._zod.parse = (e, n) => (n.direction === "backward" || e.value === void 0 && (e.value = t.defaultValue), t.innerType._zod.run(e, n)); -}), Ar = /*@__PURE__*/ O("$ZodNonOptional", (e, t) => { - N.init(e, t), D(e, "values", (e) => { - let t = e.def.innerType._zod.values; - return t ? new Set([...t].filter((e) => e !== void 0)) : void 0; - }), e._zod.parse = (n, r) => { - let i = t.innerType._zod.run(n, r); - return i instanceof Promise ? i.then((t) => jr(t, e)) : jr(i, e); - }; -}); -function jr(e, t) { - return !e.issues.length && e.value === void 0 && e.issues.push({ - code: "invalid_type", - expected: "nonoptional", - input: e.value, - inst: t - }), e; -} -function Mr(e, t, n, r) { - return t.issues.length ? (e.value = n.catchValue({ - ...t, - value: e.value, - error: { issues: t.issues.map((e) => C(e, r, j())) }, - input: e.value - }), e) : (e.value = t.value, t.memo && (e.memo = !0), e); -} -var Nr = /*@__PURE__*/ O("$ZodCatch", (e, t) => { - N.init(e, t), D(e, "optin", (e) => e.def.innerType._zod.optin === "defaulted" ? "defaulted" : "optional"), D(e, "optout", (e) => e.def.innerType._zod.optout), D(e, "values", (e) => e.def.innerType._zod.values), e._zod.parse = (e, n) => { - if (n.direction === "backward") return t.innerType._zod.run(e, n); - let r = t.innerType._zod.run({ - value: e.value, - issues: [] - }, n); - return r instanceof Promise ? r.then((r) => Mr(e, r, t, n)) : Mr(e, r, t, n); - }; -}), Pr = /*@__PURE__*/ O("$ZodPipe", (e, t) => { - N.init(e, t), D(e, "values", (e) => e.def.in._zod.values), D(e, "optin", (e) => e.def.in._zod.optin), D(e, "optout", (e) => e.def.out._zod.optout), D(e, "propValues", (e) => e.def.in._zod.propValues), e._zod.parse = (e, n) => { - if (n.direction === "backward") { - let r = t.out._zod.run(e, n); - return r instanceof Promise ? r.then((e) => F(e, t.in, n)) : F(r, t.in, n); - } - let r = t.in._zod.run(e, n); - return r instanceof Promise ? r.then((e) => F(e, t.out, n)) : F(r, t.out, n); - }; -}); -function F(e, t, n) { - return e.issues.some((e) => e.code !== "unrecognized_keys") ? (e.aborted = !0, e) : t._zod.run({ - value: e.value, - issues: e.issues - }, n); -} -var Fr = /*@__PURE__*/ O("$ZodReadonly", (e, t) => { - N.init(e, t), D(e, "propValues", (e) => e.def.innerType._zod.propValues), D(e, "values", (e) => e.def.innerType._zod.values), D(e, "optin", (e) => e.def.innerType?._zod?.optin), D(e, "optout", (e) => e.def.innerType?._zod?.optout), e._zod.parse = (e, n) => { - if (n.direction === "backward") return t.innerType._zod.run(e, n); - let r = t.innerType._zod.run(e, n); - return r instanceof Promise ? r.then(Ir) : Ir(r); - }; -}); -function Ir(e) { - return e.memo || (e.value = Object.freeze(e.value)), e; -} -var Lr = /*@__PURE__*/ O("$ZodCustom", (e, t) => { - M.init(e, t), N.init(e, t), e._zod.parse = (e, t) => e, e._zod.check = (n) => { - let r = n.value, i = t.fn(r); - if (i instanceof Promise) return i.then((t) => Rr(t, n, r, e)); - Rr(i, n, r, e); - }; -}); -function Rr(e, t, n, r) { - if (!e) { - let e = { - code: "custom", - input: n, - inst: r, - path: [...r._zod.def.path ?? []], - continue: !r._zod.def.abort - }; - r._zod.def.params && (e.params = r._zod.def.params), t.issues.push(w(e)); - } -} -//#endregion -//#region node_modules/zod/v4/core/memoizer.js -var zr = class extends Error { - constructor() { - super("Cannot parse a reference cycle that closes through a transform"), this.name = "ZodCyclicError"; - } -}, Br = "~memo", Vr = []; -function Hr(e) { - return typeof e == "object" && !!e; -} -function Ur(e) { - return e.map((e) => e.path ? { - ...e, - path: e.path.slice() - } : { ...e }); -} -var Wr = /*@__PURE__*/ new WeakMap(), I = 0, Gr = 1, L = 2; -function Kr(e, t, n) { - let r = Wr.get(e); - if (r !== void 0) return r ? L : I; - if (t.has(e)) return L; - t.add(e); - let i = I, a = (e) => { - if (i !== L && e?._zod) { - let r = Kr(e, t, n); - r > i && (i = r); - } - }, o = (e, r) => { - let i = I; - for (let a of Reflect.ownKeys(e)) { - let o = Object.getOwnPropertyDescriptor(e, a); - if (r && !o.enumerable) continue; - let s = o.get ? Gr : o.value?._zod ? Kr(o.value, t, n) : I; - s > i && (i = s); - } - return i; - }, s = (e) => { - e > i && (i = e); - }, c = e._zod.def; - switch (c.type) { - case "object": { - let e = l(c); - s(e ? o(e, !0) : Gr), a(c.catchall); - break; - } - case "array": - a(c.element); - break; - case "tuple": - for (let e of c.items) a(e); - a(c.rest); - break; - case "record": - case "map": - a(c.keyType), a(c.valueType); - break; - case "set": - a(c.valueType); - break; - case "union": - for (let e of c.options) a(e); - break; - case "intersection": - a(c.left), a(c.right); - break; - case "optional": - case "nullable": - case "default": - case "prefault": - case "catch": - case "readonly": - case "nonoptional": - case "promise": - case "success": - a(c.innerType); - break; - case "pipe": - a(c.in), a(c.out); - break; - case "function": - a(c.input), a(c.output); - break; - case "lazy": { - let r = c._cachedInner ?? (n ? e._zod.innerType : void 0); - s(r ? Kr(r, t, !1) : Gr); - break; - } - case "template_literal": - case "string": - case "number": - case "int": - case "boolean": - case "bigint": - case "symbol": - case "undefined": - case "null": - case "void": - case "never": - case "any": - case "unknown": - case "date": - case "nan": - case "enum": - case "literal": - case "file": - case "transform": - case "custom": break; - default: for (let e in c) { - let t = Object.getOwnPropertyDescriptor(c, e); - if (!t || t.get) continue; - let n = t.value; - if (n && typeof n == "object") { - if (n._zod) a(n); - else if (Array.isArray(n)) for (let e of n) a(e); - } - } - } - return t.delete(e), qr(e, i); -} -function qr(e, t) { - return t !== Gr && Wr.set(e, t === L), t; -} -function Jr(e, t) { - let n = e.buckets.get(t); - return n || (n = /* @__PURE__ */ new WeakMap(), e.buckets.set(t, n)), n; -} -var Yr, Xr = [], Zr = { - alloc(e, t, n) { - let r = Yr; - if (!r) return n; - Yr = void 0; - let i = { - value: n, - issues: null - }; - return r.set(t.value, i), Xr.push(i), n; - }, - guard(e) { - var t; - (t = e._zod).deferred ?? (t.deferred = []), e._zod.deferred.push(() => { - let t = e._zod.parse, n = (e, n) => { - if (n.direction !== "backward" && $r(n, e.value)) throw new zr(); - return t(e, n); - }; - e._zod.parse = n, e._zod.run === t && (e._zod.run = n); - }); - }, - attach(e) { - var t; - let n, r = !1, i, a; - (t = e._zod).deferred ?? (t.deferred = []), e._zod.deferred.push(() => { - let t = e._zod.parse, o = (s, c) => { - if (n === void 0) { - let i = Kr(e, /* @__PURE__ */ new Set(), !1); - if (i === I) return e._zod.parse = t, e._zod.run === o && (e._zod.run = t), t(s, c); - i === L || r ? n = !0 : r = !0; - } - let l = s.value; - if (!Hr(l)) return t(s, c); - let u = c[Br]; - u || (u = { - buckets: /* @__PURE__ */ new WeakMap(), - backEdges: void 0 - }, c[Br] = u); - let d; - i === c ? d = a : (d = Jr(u, e), i = c, a = d); - let f = d.get(l); - if (f) return s.value = f.value, f.issues ? f.issues.length && s.issues.push(...Ur(f.issues)) : (s.memo = !0, u.backEdges ?? (u.backEdges = /* @__PURE__ */ new WeakSet()), u.backEdges.add(f.value)), s; - Yr = d; - let p = Xr.length, m = t(s, c); - Yr = void 0; - let h = Xr.length > p ? Xr.pop() : void 0; - return m instanceof Promise ? m.then((e) => (h && (h.issues = e.issues.length ? Ur(e.issues) : Vr), e)) : (h && (h.issues = m.issues.length ? Ur(m.issues) : Vr), m); - }; - e._zod.parse = o, e._zod.run === t && (e._zod.run = o); - }); - } -}; -function Qr() { - return Zr; -} -function $r(e, t) { - let n = e[Br]?.backEdges; - return n !== void 0 && Hr(t) && n.has(t); -} -//#endregion -//#region node_modules/zod/v4/locales/en.js -var ei = () => { - let e = { - string: { - unit: "characters", - verb: "to have" - }, - file: { - unit: "bytes", - verb: "to have" - }, - array: { - unit: "items", - verb: "to have" - }, - set: { - unit: "items", - verb: "to have" - }, - map: { - unit: "entries", - verb: "to have" - } - }; - function n(t) { - return e[t] ?? null; - } - let r = { - regex: "input", - email: "email address", - url: "URL", - emoji: "emoji", - uuid: "UUID", - uuidv4: "UUIDv4", - uuidv6: "UUIDv6", - nanoid: "nanoid", - guid: "GUID", - cuid: "cuid", - cuid2: "cuid2", - ulid: "ULID", - xid: "XID", - ksuid: "KSUID", - datetime: "ISO datetime", - date: "ISO date", - time: "ISO time", - duration: "ISO duration", - ipv4: "IPv4 address", - ipv6: "IPv6 address", - mac: "MAC address", - cidrv4: "IPv4 range", - cidrv6: "IPv6 range", - base64: "base64-encoded string", - base64url: "base64url-encoded string", - json_string: "JSON string", - e164: "E.164 number", - currency_code: "currency code", - credit_card: "credit card number", - iban: "IBAN", - jwt: "JWT", - template_literal: "input" - }, i = { nan: "NaN" }; - function a(e, t) { - return e === "number" && typeof t == "number" && !Number.isFinite(t) ? String(t) : i[e] ?? e; - } - return (e) => { - switch (e.code) { - case "invalid_type": return `Invalid input: expected ${a(e.expected)}, received ${a(Te(e.input), e.input)}`; - case "invalid_value": return e.values.length === 1 ? `Invalid input: expected ${oe(e.values[0])}` : `Invalid option: expected one of ${t(e.values, "|")}`; - case "too_big": { - let t = e.exact ? "exactly " : e.inclusive ? "<=" : "<", r = n(e.origin); - return r ? `Too big: expected ${e.origin ?? "value"} to have ${t}${e.maximum.toString()} ${r.unit ?? "elements"}` : `Too big: expected ${e.origin ?? "value"} to be ${t}${e.maximum.toString()}`; - } - case "too_small": { - let t = e.exact ? "exactly " : e.inclusive ? ">=" : ">", r = n(e.origin); - return r ? `Too small: expected ${e.origin} to have ${t}${e.minimum.toString()} ${r.unit}` : `Too small: expected ${e.origin} to be ${t}${e.minimum.toString()}`; - } - case "invalid_format": { - let t = e; - return t.format === "starts_with" ? `Invalid string: must start with "${t.prefix}"` : t.format === "ends_with" ? `Invalid string: must end with "${t.suffix}"` : t.format === "includes" ? `Invalid string: must include "${t.includes}"` : t.format === "regex" ? `Invalid string: must match pattern ${t.pattern}` : `Invalid ${r[t.format] ?? e.format}`; - } - case "not_multiple_of": return `Invalid number: must be a multiple of ${e.divisor}`; - case "unrecognized_keys": return `Unrecognized key${e.keys.length > 1 ? "s" : ""}: ${t(e.keys, ", ")}`; - case "invalid_key": return `Invalid key in ${e.origin}`; - case "invalid_union": return e.options && Array.isArray(e.options) && e.options.length > 0 ? `Invalid discriminator value. Expected ${e.options.map((e) => `'${e}'`).join(" | ")}` : e.inclusive === !1 ? "Invalid input: more than one option matched" : "Invalid input"; - case "invalid_element": return `Invalid value in ${e.origin}`; - default: return "Invalid input"; - } - }; -}; -function ti() { - return { localeError: ei() }; -} -//#endregion -//#region node_modules/zod/v4/core/registries.js -var ni, ri = class { - constructor() { - this._map = /* @__PURE__ */ new WeakMap(), this._idmap = /* @__PURE__ */ new Map(); - } - add(e, ...t) { - let n = t[0]; - return this._map.set(e, n), n && typeof n == "object" && "id" in n && this._idmap.set(n.id, e), this; - } - clear() { - return this._map = /* @__PURE__ */ new WeakMap(), this._idmap = /* @__PURE__ */ new Map(), this; - } - remove(e) { - let t = this._map.get(e); - return t && typeof t == "object" && "id" in t && this._idmap.delete(t.id), this._map.delete(e), this; - } - get(e) { - let t = e._zod.parent; - if (t) { - let n = { ...this.get(t) ?? {} }; - delete n.id; - let r = { - ...n, - ...this._map.get(e) - }; - return Object.keys(r).length ? r : void 0; - } - return this._map.get(e); - } - has(e) { - return this._map.has(e); - } -}; -function ii() { - return new ri(); -} -(ni = globalThis).__zod_globalRegistry ?? (ni.__zod_globalRegistry = ii()); -var R = globalThis.__zod_globalRegistry; -//#endregion -//#region node_modules/zod/v4/core/api.js -function ai(e) { - return e.checks &&= [...e.checks], e; -} -// @__NO_SIDE_EFFECTS__ -function oi(e, t) { - return new e(ai({ - type: "string", - ...b(t) - })); -} -// @__NO_SIDE_EFFECTS__ -function si(e, t) { - return new e({ - type: "string", - format: "email", - check: "string_format", - abort: !1, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function ci(e, t) { - return new e({ - type: "string", - format: "guid", - check: "string_format", - abort: !1, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function li(e, t) { - return new e({ - type: "string", - format: "uuid", - check: "string_format", - abort: !1, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function ui(e, t) { - return new e({ - type: "string", - format: "uuid", - check: "string_format", - abort: !1, - version: "v4", - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function di(e, t) { - return new e({ - type: "string", - format: "uuid", - check: "string_format", - abort: !1, - version: "v6", - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function fi(e, t) { - return new e({ - type: "string", - format: "uuid", - check: "string_format", - abort: !1, - version: "v7", - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function pi(e, t) { - return new e({ - type: "string", - format: "url", - check: "string_format", - abort: !1, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function mi(e, t) { - return new e({ - type: "string", - format: "emoji", - check: "string_format", - abort: !1, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function hi(e, t) { - return new e({ - type: "string", - format: "nanoid", - check: "string_format", - abort: !1, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function gi(e, t) { - return new e({ - type: "string", - format: "cuid", - check: "string_format", - abort: !1, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function _i(e, t) { - return new e({ - type: "string", - format: "cuid2", - check: "string_format", - abort: !1, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function vi(e, t) { - return new e({ - type: "string", - format: "ulid", - check: "string_format", - abort: !1, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function yi(e, t) { - return new e({ - type: "string", - format: "xid", - check: "string_format", - abort: !1, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function bi(e, t) { - return new e({ - type: "string", - format: "ksuid", - check: "string_format", - abort: !1, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function xi(e, t) { - return new e({ - type: "string", - format: "ipv4", - check: "string_format", - abort: !1, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function Si(e, t) { - return new e({ - type: "string", - format: "ipv6", - check: "string_format", - abort: !1, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function Ci(e, t) { - return new e({ - type: "string", - format: "cidrv4", - check: "string_format", - abort: !1, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function wi(e, t) { - return new e({ - type: "string", - format: "cidrv6", - check: "string_format", - abort: !1, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function Ti(e, t) { - return new e({ - type: "string", - format: "base64", - check: "string_format", - abort: !1, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function Ei(e, t) { - return new e({ - type: "string", - format: "base64url", - check: "string_format", - abort: !1, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function Di(e, t) { - return new e({ - type: "string", - format: "e164", - check: "string_format", - abort: !1, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function Oi(e, t) { - return new e({ - type: "string", - format: "jwt", - check: "string_format", - abort: !1, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function ki(e, t) { - return new e({ - type: "string", - format: "datetime", - check: "string_format", - offset: !1, - local: !1, - precision: null, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function Ai(e, t) { - return new e({ - type: "string", - format: "date", - check: "string_format", - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function ji(e, t) { - return new e({ - type: "string", - format: "time", - check: "string_format", - precision: null, - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function Mi(e, t) { - return new e({ - type: "string", - format: "duration", - check: "string_format", - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function Ni(e, t) { - return new e(ai({ - type: "number", - checks: [], - ...b(t) - })); -} -// @__NO_SIDE_EFFECTS__ -function Pi(e, t) { - return new e({ - type: "number", - check: "number_format", - abort: !1, - format: "safeint", - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function Fi(e) { - return new e({ type: "unknown" }); -} -// @__NO_SIDE_EFFECTS__ -function Ii(e, t) { - return new e({ - type: "never", - ...b(t) - }); -} -// @__NO_SIDE_EFFECTS__ -function Li(e, t) { - return new Yt({ - check: "less_than", - ...b(t), - value: e, - inclusive: !1 - }); -} -// @__NO_SIDE_EFFECTS__ -function Ri(e, t) { - return new Yt({ - check: "less_than", - ...b(t), - value: e, - inclusive: !0 - }); -} -// @__NO_SIDE_EFFECTS__ -function zi(e, t) { - return new Xt({ - check: "greater_than", - ...b(t), - value: e, - inclusive: !1 - }); -} -// @__NO_SIDE_EFFECTS__ -function Bi(e, t) { - return new Xt({ - check: "greater_than", - ...b(t), - value: e, - inclusive: !0 - }); -} -// @__NO_SIDE_EFFECTS__ -function Vi(e, t) { - return new Zt({ - check: "multiple_of", - ...b(t), - value: e - }); -} -// @__NO_SIDE_EFFECTS__ -function Hi(e, t) { - return new $t({ - check: "max_length", - ...b(t), - maximum: e - }); -} -// @__NO_SIDE_EFFECTS__ -function Ui(e, t) { - return new en({ - check: "min_length", - ...b(t), - minimum: e - }); -} -// @__NO_SIDE_EFFECTS__ -function Wi(e, t) { - return new tn({ - check: "length_equals", - ...b(t), - length: e - }); -} -// @__NO_SIDE_EFFECTS__ -function Gi(e, t) { - return new rn({ - check: "string_format", - format: "regex", - ...b(t), - pattern: e - }); -} -// @__NO_SIDE_EFFECTS__ -function Ki(e) { - return new an({ - check: "string_format", - format: "lowercase", - ...b(e) - }); -} -// @__NO_SIDE_EFFECTS__ -function qi(e) { - return new on({ - check: "string_format", - format: "uppercase", - ...b(e) - }); -} -// @__NO_SIDE_EFFECTS__ -function Ji(e, t) { - return new sn({ - check: "string_format", - format: "includes", - ...b(t), - includes: e - }); -} -// @__NO_SIDE_EFFECTS__ -function Yi(e, t) { - return new cn({ - check: "string_format", - format: "starts_with", - ...b(t), - prefix: e - }); -} -// @__NO_SIDE_EFFECTS__ -function Xi(e, t) { - return new ln({ - check: "string_format", - format: "ends_with", - ...b(t), - suffix: e - }); -} -// @__NO_SIDE_EFFECTS__ -function z(e) { - return new un({ - check: "overwrite", - tx: e - }); -} -// @__NO_SIDE_EFFECTS__ -function Zi(e) { - return /* @__PURE__ */ z((t) => t.normalize(e)); -} -// @__NO_SIDE_EFFECTS__ -function Qi() { - return /* @__PURE__ */ z((e) => e.trim()); -} -// @__NO_SIDE_EFFECTS__ -function $i() { - return /* @__PURE__ */ z((e) => e.toLowerCase()); -} -// @__NO_SIDE_EFFECTS__ -function ea() { - return /* @__PURE__ */ z((e) => e.toUpperCase()); -} -// @__NO_SIDE_EFFECTS__ -function ta() { - return /* @__PURE__ */ z((e) => te(e)); -} -// @__NO_SIDE_EFFECTS__ -function na(e, t, n) { - return new e({ - type: "array", - element: t, - ...b(n) - }); -} -// @__NO_SIDE_EFFECTS__ -function ra(e, t, n) { - return new e({ - type: "custom", - check: "custom", - fn: t, - ...b(n) - }); -} -// @__NO_SIDE_EFFECTS__ -function ia(e, t) { - let n = /* @__PURE__ */ aa((t) => (t.addIssue = (e) => { - if (typeof e == "string") t.issues.push(w(e, t.value, n._zod.def)); - else { - let r = e; - r.fatal && (r.continue = !1), r.code ??= "custom", "input" in r || (r.input = t.value), r.inst ??= n, r.continue ??= !n._zod.def.abort, t.issues.push(w(r)); - } - }, e(t.value, t)), t); - return n; -} -// @__NO_SIDE_EFFECTS__ -function aa(e, t) { - let n = new M({ - check: "custom", - ...b(t) - }); - return n._zod.check = e, n; -} -//#endregion -//#region node_modules/zod/v4/core/to-json-schema.js -function B(e, ...t) { - for (let n of t) for (let t of Reflect.ownKeys(n)) Object.prototype.propertyIsEnumerable.call(n, t) && c(e, t, n[t]); - return e; -} -function oa(e) { - let t = e?.target ?? "draft-2020-12"; - return t === "draft-4" && (t = "draft-04"), t === "draft-7" && (t = "draft-07"), { - processors: e.processors ?? {}, - metadataRegistry: e?.metadata ?? R, - target: t, - unrepresentable: e?.unrepresentable ?? "throw", - override: e?.override ?? (() => {}), - io: e?.io ?? "output", - counter: 0, - seen: /* @__PURE__ */ new Map(), - sharedDefsExtractedFor: void 0, - sharedEmitDoneFor: void 0, - cycles: e?.cycles ?? "ref", - reused: e?.reused ?? "inline", - intersections: [], - deferred: [], - external: e?.external ?? void 0 - }; -} -function V(e, t, n, r, i) { - let a = typeof t.unrepresentable == "function" ? t.unrepresentable({ - zodSchema: e, - path: r.path, - message: i - }) : t.unrepresentable; - if (a === "any") return !1; - if (a === void 0 || a === "throw") throw Error(i); - return Object.assign(n, a), !0; -} -function H(e, t, n = { - path: [], - schemaPath: [] -}) { - var r; - let i = e._zod.def, a = t.seen.get(e); - if (a) return a.count++, n.schemaPath.includes(e) && (a.cycle = n.path), a.schema; - let o = { - schema: {}, - count: 1, - cycle: void 0, - path: n.path - }; - t.seen.set(e, o), t.sharedDefsExtractedFor = void 0, t.sharedEmitDoneFor = void 0; - let s = e._zod.toJSONSchema?.(); - if (s) o.schema = s; - else { - let r = { - ...n, - schemaPath: [...n.schemaPath, e], - path: n.path - }; - if (e._zod.processJSONSchema) e._zod.processJSONSchema(t, o.schema, r); - else { - let n = o.schema, a = t.processors[i.type]; - if (!a) throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`); - a(e, t, n, r); - } - let a = e._zod.parent; - a && (o.ref ||= a, H(a, t, r), t.seen.get(a).isParent = !0); - } - let c = t.metadataRegistry.get(e); - return c && B(o.schema, c), t.io === "input" && U(e) && (delete o.schema.examples, delete o.schema.default), t.io === "input" && "_prefault" in o.schema && ((r = o.schema).default ?? (r.default = o.schema._prefault)), delete o.schema._prefault, t.seen.get(e).schema; -} -function sa(e) { - return e.replace(/~/g, "~0").replace(/\//g, "~1"); -} -function ca(e, t) { - let n = e.seen.get(t); - if (!n) throw Error("Unprocessed schema. This is a bug in Zod."); - if (e.external && e.sharedDefsExtractedFor === e.external) return; - let r = /* @__PURE__ */ new Map(); - for (let t of e.seen.entries()) { - let n = e.metadataRegistry.get(t[0])?.id; - if (n) { - let e = r.get(n); - if (e && e !== t[0]) throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`); - r.set(n, t[0]); - } - } - let i = (t) => { - let r = e.target === "draft-2020-12" ? "$defs" : "definitions"; - if (e.external) { - let n = e.external.registry.get(t[0])?.id, i = e.external.uri ?? ((e) => e); - if (n) return { ref: i(n) }; - let a = t[1].defId ?? t[1].schema.id ?? `schema${e.counter++}`; - return t[1].defId = a, { - defId: a, - ref: `${i("__shared")}#/${r}/${sa(a)}` - }; - } - let i = `#/${r}/`; - if (t[1] === n && !t[1].schema.id) return { ref: "#" }; - let a = t[1].schema.id ?? `__schema${e.counter++}`; - return { - defId: a, - ref: i + sa(a) - }; - }, a = (e) => { - if (e[1].schema.$ref) return; - let t = e[1], { ref: n, defId: r } = i(e); - t.def = { ...t.schema }, r && (t.defId = r); - let a = t.schema; - for (let e in a) delete a[e]; - a.$ref = n; - }; - if (e.cycles === "throw") for (let t of e.seen.entries()) { - let e = t[1]; - if (e.cycle) throw Error(`Cycle detected: #/${e.cycle?.join("/")}/ + `)}return o.write(`payload.value = newResult;`),o.write(`return payload;`),o.compile()},s,c=g,l=!A.jitless,u=l&&re.value,d=t.catchall,f;e._zod.parse=(i,a)=>{f??=r.value;let p=i.value;return c(p)?l&&u&&a?.async===!1&&a.jitless!==!0?(s||=o(t.shape),i=s(i,a),d?ur([],p,i,a,f,e,a?.abortEarly===!0):i):n(i,a):(i.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),i)}});function pr(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!x(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>C(e,r,j())))}),t)}var mr=/*@__PURE__*/ O(`$ZodUnion`,(e,t)=>{N.init(e,t),D(e,`optin`,e=>e.def.options.some(e=>e._zod.optin===`defaulted`)?`defaulted`:e.def.options.some(e=>e._zod.optin!==void 0)?`optional`:void 0),D(e,`optout`,e=>e.def.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),D(e,`values`,e=>{if(e.def.options.every(e=>e._zod.values))return new Set(e.def.options.flatMap(e=>Array.from(e._zod.values)))}),D(e,`pattern`,e=>{if(e.def.options.every(e=>e._zod.pattern)){let t=e.def.options.map(e=>e._zod.pattern);return RegExp(`^(${t.map(e=>o(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>pr(t,r,e,i)):pr(o,r,e,i)}});function hr(e){let t=/* @__PURE__ */ new Map;for(let n of e.options){let r=n._zod.propValues?.[e.discriminator];if(!r||r.size===0)throw Error(`Invalid discriminated union option at index "${e.options.indexOf(n)}"`);for(let e of r)if(t.has(e)){if(e!==void 0)throw Error(`Duplicate discriminator value "${String(e)}"`);t.set(e,null)}else t.set(e,n)}return t}var gr=/*@__PURE__*/ O(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,mr.init(e,t);let n=e._zod.parse;D(e,`propValues`,e=>{let t={},n=0;for(let r of e.def.options){let i=r._zod.propValues;if(!i||Object.keys(i).length===0)throw Error(`Invalid discriminated union option at index "${e.def.options.indexOf(r)}"`);i[e.def.discriminator]?.has(void 0)&&n++;for(let[e,n]of Object.entries(i)){Object.prototype.hasOwnProperty.call(t,e)||c(t,e,/* @__PURE__ */ new Set);for(let r of n)t[e].add(r)}}return!e.def.unionFallback&&n>1&&t[e.def.discriminator]?.delete(void 0),t}),t.options.forEach((e,n)=>{let r=l(e._zod.def);if(r&&!Object.prototype.hasOwnProperty.call(r,t.discriminator))throw Error(`Invalid discriminated union option at index "${n}"`)});let r=i(()=>hr(t));e._zod.parse=(i,a)=>{let o=i.value;if(!g(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=o?.[t.discriminator],c=r.value.get(s);return c&&(s!==void 0||a.direction!==`backward`)?c._zod.run(i,a):t.unionFallback||a.direction===`backward`?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,options:Array.from(r.value.keys()).filter(e=>r.value.get(e)!==null),input:o,path:[t.discriminator],inst:e}),i)}}),_r=/*@__PURE__*/ O(`$ZodIntersection`,(e,t)=>{N.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>yr(e,t,n)):yr(e,i,a)}});function vr(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(_(e)&&_(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};Object.prototype.hasOwnProperty.call(i,`__proto__`)&&delete i.__proto__;for(let n of r){if(n===`__proto__`)continue;let r=vr(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r{let n;if(e.code===`unrecognized_keys`&&!e.path?.length)i??=e,n=e.keys;else if(e.code===`invalid_key`&&e.origin===`record`&&e.path?.length===1){let t=String(e.path[0]);a.has(t)||a.set(t,e),n=[t]}else return!1;for(let e of n)r.has(e)||r.set(e,{}),r.get(e)[t]=!0;return!0};for(let n of t.issues)o(n,`l`)||e.issues.push(n);for(let t of n.issues)o(t,`r`)||e.issues.push(t);let s=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(s.length){let t=i?s.filter(e=>i.keys.includes(e)):[];t.length&&e.issues.push({...i,keys:t});for(let n of s)!t.includes(n)&&a.has(n)&&e.issues.push(a.get(n))}let c=vr(t.value,n.value);if(!c.valid){if(x(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}var br=/*@__PURE__*/ O(`$ZodEnum`,(t,n)=>{N.init(t,n);let r=e(n.entries),i=new Set(r);t._zod.values=i,D(t,`pattern`,t=>{let n=e(t.def.entries).filter(e=>ae.has(typeof e));return RegExp(n.length?`^(${n.map(e=>v(e.toString())).join(`|`)})$`:`^[^\\s\\S]$`)}),t._zod.parse=(e,n)=>{let a=e.value;return i.has(a)||e.issues.push({code:`invalid_value`,values:r,input:a,inst:t}),e}}),xr=/*@__PURE__*/ O(`$ZodLiteral`,(e,t)=>{N.init(e,t);let n=new Set(t.values);e._zod.values=n,D(e,`pattern`,e=>{let t=e.def.values;return RegExp(t.length?`^(${t.map(e=>typeof e==`string`?v(e):e?v(e.toString()):String(e)).join(`|`)})$`:`^[^\\s\\S]$`)}),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),Sr=/*@__PURE__*/ O(`$ZodTransform`,(e,t)=>{N.init(e,t),e._zod.optin=`optional`,A.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Be(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new k;return n.value=i,n}});function Cr(e,t){return e.value=t.issues.length?void 0:t.value,e}var wr=/*@__PURE__*/ O(`$ZodOptional`,(e,t)=>{N.init(e,t),D(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),e._zod.optout=`optional`,D(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?/* @__PURE__ */ new Set([...t,void 0]):void 0}),D(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${o(t.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(e.value===void 0){if(t.innerType._zod.optin!==`defaulted`)return e;let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(t=>Cr(e,t)):Cr(e,r)}return t.innerType._zod.run(e,n)}}),Tr=/*@__PURE__*/ O(`$ZodExactOptional`,(e,t)=>{wr.init(e,t),D(e,`values`,e=>e.def.innerType._zod.values),D(e,`pattern`,e=>e.def.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Er=/*@__PURE__*/ O(`$ZodNullable`,(e,t)=>{N.init(e,t),D(e,`optin`,e=>e.def.innerType._zod.optin),D(e,`optout`,e=>e.def.innerType._zod.optout),D(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${o(t.source)}|null)$`):void 0}),D(e,`values`,e=>e.def.innerType._zod.values?/* @__PURE__ */ new Set([...e.def.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),Dr=/*@__PURE__*/ O(`$ZodDefault`,(e,t)=>{N.init(e,t),e._zod.optin=`defaulted`,D(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>Or(e,t)):Or(r,t)}});function Or(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var kr=/*@__PURE__*/ O(`$ZodPrefault`,(e,t)=>{N.init(e,t),e._zod.optin=`defaulted`,D(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),Ar=/*@__PURE__*/ O(`$ZodNonOptional`,(e,t)=>{N.init(e,t),D(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>jr(t,e)):jr(i,e)}});function jr(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}function Mr(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>C(e,r,j()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}var Nr=/*@__PURE__*/ O(`$ZodCatch`,(e,t)=>{N.init(e,t),D(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),D(e,`optout`,e=>e.def.innerType._zod.optout),D(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(r=>Mr(e,r,t,n)):Mr(e,r,t,n)}}),Pr=/*@__PURE__*/ O(`$ZodPipe`,(e,t)=>{N.init(e,t),D(e,`values`,e=>e.def.in._zod.values),D(e,`optin`,e=>e.def.in._zod.optin),D(e,`optout`,e=>e.def.out._zod.optout),D(e,`propValues`,e=>e.def.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>F(e,t.in,n)):F(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>F(e,t.out,n)):F(r,t.out,n)}});function F(e,t,n){return e.issues.some(e=>e.code!==`unrecognized_keys`)?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var Fr=/*@__PURE__*/ O(`$ZodReadonly`,(e,t)=>{N.init(e,t),D(e,`propValues`,e=>e.def.innerType._zod.propValues),D(e,`values`,e=>e.def.innerType._zod.values),D(e,`optin`,e=>e.def.innerType?._zod?.optin),D(e,`optout`,e=>e.def.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Ir):Ir(r)}});function Ir(e){return e.memo||(e.value=Object.freeze(e.value)),e}var Lr=/*@__PURE__*/ O(`$ZodCustom`,(e,t)=>{M.init(e,t),N.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>Rr(t,n,r,e));Rr(i,n,r,e)}});function Rr(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(w(e))}}var zr=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}},Br=`~memo`,Vr=[];function Hr(e){return typeof e==`object`&&!!e}function Ur(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}var Wr=/*@__PURE__*/ new WeakMap,I=0,Gr=1,L=2;function Kr(e,t,n){let r=Wr.get(e);if(r!==void 0)return r?L:I;if(t.has(e))return L;t.add(e);let i=I,a=e=>{if(i!==L&&e?._zod){let r=Kr(e,t,n);r>i&&(i=r)}},o=(e,r)=>{let i=I;for(let a of Reflect.ownKeys(e)){let o=Object.getOwnPropertyDescriptor(e,a);if(r&&!o.enumerable)continue;let s=o.get?Gr:o.value?._zod?Kr(o.value,t,n):I;s>i&&(i=s)}return i},s=e=>{e>i&&(i=e)},c=e._zod.def;switch(c.type){case`object`:{let e=l(c);s(e?o(e,!0):Gr),a(c.catchall);break}case`array`:a(c.element);break;case`tuple`:for(let e of c.items)a(e);a(c.rest);break;case`record`:case`map`:a(c.keyType),a(c.valueType);break;case`set`:a(c.valueType);break;case`union`:for(let e of c.options)a(e);break;case`intersection`:a(c.left),a(c.right);break;case`optional`:case`nullable`:case`default`:case`prefault`:case`catch`:case`readonly`:case`nonoptional`:case`promise`:case`success`:a(c.innerType);break;case`pipe`:a(c.in),a(c.out);break;case`function`:a(c.input),a(c.output);break;case`lazy`:{let r=c._cachedInner??(n?e._zod.innerType:void 0);s(r?Kr(r,t,!1):Gr);break}case`template_literal`:case`string`:case`number`:case`int`:case`boolean`:case`bigint`:case`symbol`:case`undefined`:case`null`:case`void`:case`never`:case`any`:case`unknown`:case`date`:case`nan`:case`enum`:case`literal`:case`file`:case`transform`:case`custom`:break;default:for(let e in c){let t=Object.getOwnPropertyDescriptor(c,e);if(!t||t.get)continue;let n=t.value;if(n&&typeof n==`object`){if(n._zod)a(n);else if(Array.isArray(n))for(let e of n)a(e)}}}return t.delete(e),qr(e,i)}function qr(e,t){return t!==Gr&&Wr.set(e,t===L),t}function Jr(e,t){let n=e.buckets.get(t);return n||(n=/* @__PURE__ */ new WeakMap,e.buckets.set(t,n)),n}var Yr,Xr=[],Zr={alloc(e,t,n){let r=Yr;if(!r)return n;Yr=void 0;let i={value:n,issues:null};return r.set(t.value,i),Xr.push(i),n},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,n=(e,n)=>{if(n.direction!==`backward`&&$r(n,e.value))throw new zr;return t(e,n)};e._zod.parse=n,e._zod.run===t&&(e._zod.run=n)})},attach(e){var t;let n,r=!1,i,a;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,o=(s,c)=>{if(n===void 0){let i=Kr(e,/* @__PURE__ */ new Set,!1);if(i===I)return e._zod.parse=t,e._zod.run===o&&(e._zod.run=t),t(s,c);i===L||r?n=!0:r=!0}let l=s.value;if(!Hr(l))return t(s,c);let u=c[Br];u||(u={buckets:/* @__PURE__ */ new WeakMap,backEdges:void 0},c[Br]=u);let d;i===c?d=a:(d=Jr(u,e),i=c,a=d);let f=d.get(l);if(f)return s.value=f.value,f.issues?f.issues.length&&s.issues.push(...Ur(f.issues)):(s.memo=!0,u.backEdges??(u.backEdges=/* @__PURE__ */ new WeakSet),u.backEdges.add(f.value)),s;Yr=d;let p=Xr.length,m=t(s,c);Yr=void 0;let h=Xr.length>p?Xr.pop():void 0;return m instanceof Promise?m.then(e=>(h&&(h.issues=e.issues.length?Ur(e.issues):Vr),e)):(h&&(h.issues=m.issues.length?Ur(m.issues):Vr),m)};e._zod.parse=o,e._zod.run===t&&(e._zod.run=o)})}};function Qr(){return Zr}function $r(e,t){let n=e[Br]?.backEdges;return n!==void 0&&Hr(t)&&n.has(t)}var ei=()=>{let e={string:{unit:`characters`,verb:`to have`},file:{unit:`bytes`,verb:`to have`},array:{unit:`items`,verb:`to have`},set:{unit:`items`,verb:`to have`},map:{unit:`entries`,verb:`to have`}};function n(t){return e[t]??null}let r={regex:`input`,email:`email address`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO datetime`,date:`ISO date`,time:`ISO time`,duration:`ISO duration`,ipv4:`IPv4 address`,ipv6:`IPv6 address`,mac:`MAC address`,cidrv4:`IPv4 range`,cidrv6:`IPv6 range`,base64:`base64-encoded string`,base64url:`base64url-encoded string`,json_string:`JSON string`,e164:`E.164 number`,currency_code:`currency code`,credit_card:`credit card number`,iban:`IBAN`,jwt:`JWT`,template_literal:`input`},i={nan:`NaN`};function a(e,t){return e===`number`&&typeof t==`number`&&!Number.isFinite(t)?String(t):i[e]??e}return e=>{switch(e.code){case`invalid_type`:return`Invalid input: expected ${a(e.expected)}, received ${a(Te(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${oe(e.values[0])}`:`Invalid option: expected one of ${t(e.values,`|`)}`;case`too_big`:{let t=e.exact?`exactly `:e.inclusive?`<=`:`<`,r=n(e.origin);return r?`Too big: expected ${e.origin??`value`} to have ${t}${e.maximum.toString()} ${r.unit??`elements`}`:`Too big: expected ${e.origin??`value`} to be ${t}${e.maximum.toString()}`}case`too_small`:{let t=e.exact?`exactly `:e.inclusive?`>=`:`>`,r=n(e.origin);return r?`Too small: expected ${e.origin} to have ${t}${e.minimum.toString()} ${r.unit}`:`Too small: expected ${e.origin} to be ${t}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Invalid string: must start with "${t.prefix}"`:t.format===`ends_with`?`Invalid string: must end with "${t.suffix}"`:t.format===`includes`?`Invalid string: must include "${t.includes}"`:t.format===`regex`?`Invalid string: must match pattern ${t.pattern}`:`Invalid ${r[t.format]??e.format}`}case`not_multiple_of`:return`Invalid number: must be a multiple of ${e.divisor}`;case`unrecognized_keys`:return`Unrecognized key${e.keys.length>1?`s`:``}: ${t(e.keys,`, `)}`;case`invalid_key`:return`Invalid key in ${e.origin}`;case`invalid_union`:return e.options&&Array.isArray(e.options)&&e.options.length>0?`Invalid discriminator value. Expected ${e.options.map(e=>`'${e}'`).join(` | `)}`:e.inclusive===!1?`Invalid input: more than one option matched`:`Invalid input`;case`invalid_element`:return`Invalid value in ${e.origin}`;default:return`Invalid input`}}};function ti(){return{localeError:ei()}}var ni,ri=class{constructor(){this._map=/* @__PURE__ */ new WeakMap,this._idmap=/* @__PURE__ */ new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=/* @__PURE__ */ new WeakMap,this._idmap=/* @__PURE__ */ new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function ii(){return new ri}(ni=globalThis).__zod_globalRegistry??(ni.__zod_globalRegistry=ii());var R=globalThis.__zod_globalRegistry;function ai(e){return e.checks&&=[...e.checks],e}// @__NO_SIDE_EFFECTS__ +function oi(e,t){return new e(ai({type:`string`,...b(t)}))}// @__NO_SIDE_EFFECTS__ +function si(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...b(t)})}// @__NO_SIDE_EFFECTS__ +function ci(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...b(t)})}// @__NO_SIDE_EFFECTS__ +function li(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...b(t)})}// @__NO_SIDE_EFFECTS__ +function ui(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...b(t)})}// @__NO_SIDE_EFFECTS__ +function di(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...b(t)})}// @__NO_SIDE_EFFECTS__ +function fi(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...b(t)})}// @__NO_SIDE_EFFECTS__ +function pi(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...b(t)})}// @__NO_SIDE_EFFECTS__ +function mi(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...b(t)})}// @__NO_SIDE_EFFECTS__ +function hi(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...b(t)})}// @__NO_SIDE_EFFECTS__ +function gi(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...b(t)})}// @__NO_SIDE_EFFECTS__ +function _i(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...b(t)})}// @__NO_SIDE_EFFECTS__ +function vi(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...b(t)})}// @__NO_SIDE_EFFECTS__ +function yi(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...b(t)})}// @__NO_SIDE_EFFECTS__ +function bi(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...b(t)})}// @__NO_SIDE_EFFECTS__ +function xi(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...b(t)})}// @__NO_SIDE_EFFECTS__ +function Si(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...b(t)})}// @__NO_SIDE_EFFECTS__ +function Ci(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...b(t)})}// @__NO_SIDE_EFFECTS__ +function wi(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...b(t)})}// @__NO_SIDE_EFFECTS__ +function Ti(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...b(t)})}// @__NO_SIDE_EFFECTS__ +function Ei(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...b(t)})}// @__NO_SIDE_EFFECTS__ +function Di(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...b(t)})}// @__NO_SIDE_EFFECTS__ +function Oi(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...b(t)})}// @__NO_SIDE_EFFECTS__ +function ki(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...b(t)})}// @__NO_SIDE_EFFECTS__ +function Ai(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...b(t)})}// @__NO_SIDE_EFFECTS__ +function ji(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...b(t)})}// @__NO_SIDE_EFFECTS__ +function Mi(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...b(t)})}// @__NO_SIDE_EFFECTS__ +function Ni(e,t){return new e(ai({type:`number`,checks:[],...b(t)}))}// @__NO_SIDE_EFFECTS__ +function Pi(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...b(t)})}// @__NO_SIDE_EFFECTS__ +function Fi(e){return new e({type:`unknown`})}// @__NO_SIDE_EFFECTS__ +function Ii(e,t){return new e({type:`never`,...b(t)})}// @__NO_SIDE_EFFECTS__ +function Li(e,t){return new Yt({check:`less_than`,...b(t),value:e,inclusive:!1})}// @__NO_SIDE_EFFECTS__ +function Ri(e,t){return new Yt({check:`less_than`,...b(t),value:e,inclusive:!0})}// @__NO_SIDE_EFFECTS__ +function zi(e,t){return new Xt({check:`greater_than`,...b(t),value:e,inclusive:!1})}// @__NO_SIDE_EFFECTS__ +function Bi(e,t){return new Xt({check:`greater_than`,...b(t),value:e,inclusive:!0})}// @__NO_SIDE_EFFECTS__ +function Vi(e,t){return new Zt({check:`multiple_of`,...b(t),value:e})}// @__NO_SIDE_EFFECTS__ +function Hi(e,t){return new $t({check:`max_length`,...b(t),maximum:e})}// @__NO_SIDE_EFFECTS__ +function Ui(e,t){return new en({check:`min_length`,...b(t),minimum:e})}// @__NO_SIDE_EFFECTS__ +function Wi(e,t){return new tn({check:`length_equals`,...b(t),length:e})}// @__NO_SIDE_EFFECTS__ +function Gi(e,t){return new rn({check:`string_format`,format:`regex`,...b(t),pattern:e})}// @__NO_SIDE_EFFECTS__ +function Ki(e){return new an({check:`string_format`,format:`lowercase`,...b(e)})}// @__NO_SIDE_EFFECTS__ +function qi(e){return new on({check:`string_format`,format:`uppercase`,...b(e)})}// @__NO_SIDE_EFFECTS__ +function Ji(e,t){return new sn({check:`string_format`,format:`includes`,...b(t),includes:e})}// @__NO_SIDE_EFFECTS__ +function Yi(e,t){return new cn({check:`string_format`,format:`starts_with`,...b(t),prefix:e})}// @__NO_SIDE_EFFECTS__ +function Xi(e,t){return new ln({check:`string_format`,format:`ends_with`,...b(t),suffix:e})}// @__NO_SIDE_EFFECTS__ +function z(e){return new un({check:`overwrite`,tx:e})}// @__NO_SIDE_EFFECTS__ +function Zi(e){return/* @__PURE__ */ z(t=>t.normalize(e))}// @__NO_SIDE_EFFECTS__ +function Qi(){return/* @__PURE__ */ z(e=>e.trim())}// @__NO_SIDE_EFFECTS__ +function $i(){return/* @__PURE__ */ z(e=>e.toLowerCase())}// @__NO_SIDE_EFFECTS__ +function ea(){return/* @__PURE__ */ z(e=>e.toUpperCase())}// @__NO_SIDE_EFFECTS__ +function ta(){return/* @__PURE__ */ z(e=>te(e))}// @__NO_SIDE_EFFECTS__ +function na(e,t,n){return new e({type:`array`,element:t,...b(n)})}// @__NO_SIDE_EFFECTS__ +function ra(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...b(n)})}// @__NO_SIDE_EFFECTS__ +function ia(e,t){let n=/* @__PURE__ */ aa(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(w(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,`input`in r||(r.input=t.value),r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(w(r))}},e(t.value,t)),t);return n}// @__NO_SIDE_EFFECTS__ +function aa(e,t){let n=new M({check:`custom`,...b(t)});return n._zod.check=e,n}function B(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&c(e,t,n[t]);return e}function oa(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??R,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:/* @__PURE__ */ new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,intersections:[],deferred:[],external:e?.external??void 0}}function V(e,t,n,r,i){let a=typeof t.unrepresentable==`function`?t.unrepresentable({zodSchema:e,path:r.path,message:i}):t.unrepresentable;if(a===`any`)return!1;if(a===void 0||a===`throw`)throw Error(i);return Object.assign(n,a),!0}function H(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,H(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&B(o.schema,c),t.io===`input`&&U(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function sa(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function ca(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);if(e.external&&e.sharedDefsExtractedFor===e.external)return;let r=/* @__PURE__ */ new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${sa(a)}`}}let i=`#/${r}/`;if(t[1]===n&&!t[1].schema.id)return{ref:`#`};let a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+sa(a)}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/ -Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`); - } - for (let n of e.seen.entries()) { - let r = n[1]; - if (t === n[0]) a(n); - else { - if (e.external) { - let r = e.external.registry.get(n[0])?.id; - if (t !== n[0] && r) { - a(n); - continue; - } - } - (e.metadataRegistry.get(n[0])?.id || r.cycle || r.count > 1 && e.reused === "ref") && a(n); - } - } - e.external && (e.sharedDefsExtractedFor = e.external); -} -function la(e) { - let t = e.anyOf; - if (!Array.isArray(t) || t.length === 0 || e.type !== void 0) return; - let n = []; - for (let e of t) { - if (!e || typeof e != "object") return; - la(e); - let t = Object.keys(e); - if (t.length !== 1 || t[0] !== "type") return; - let r = e.type; - for (let e of Array.isArray(r) ? r : [r]) { - if (typeof e != "string") return; - n.includes(e) || n.push(e); - } - } - delete e.anyOf, e.type = n.length === 1 ? n[0] : n; -} -var ua = /* @__PURE__ */ new Set([ - "type", - "properties", - "required", - "additionalProperties" -]), da = ["oneOf", "anyOf"]; -function fa(e) { - let t = e.additionalProperties; - return t === void 0 || t === !1 || typeof t != "object" || !t ? null : Object.keys(t).length ? t : null; -} -function pa(e) { - let t = []; - for (let n of e) { - if (typeof n != "object" || n.type !== "object") return null; - for (let e in n) if (!ua.has(e)) return null; - t.push(n); - } - let n = {}, r = /* @__PURE__ */ new Set(); - for (let e of t) { - for (let r in e.properties) { - if (Object.prototype.hasOwnProperty.call(n, r)) continue; - let e = []; - for (let n of t) { - let t = n.properties?.[r] ?? fa(n); - t != null && (e.some((e) => JSON.stringify(e) === JSON.stringify(t)) || e.push(t)); - } - c(n, r, e.length === 1 ? e[0] : pa(e) ?? { allOf: e }); - } - for (let t of e.required ?? []) r.add(t); - } - let i = { - type: "object", - properties: n - }; - if (r.size && (i.required = [...r]), t.every((e) => e.additionalProperties === !1)) i.additionalProperties = !1; - else { - let e = []; - for (let n of t) { - let t = fa(n); - t && !e.some((e) => JSON.stringify(e) === JSON.stringify(t)) && e.push(t); - } - e.length === 1 ? i.additionalProperties = e[0] : e.length > 1 && (i.additionalProperties = { allOf: e }); - } - return i; -} -function ma(e) { - let t = e.allOf; - if (!Array.isArray(t) || t.length < 2) return; - for (let t of ua) if (t in e) return; - let n = t.filter((e) => da.some((t) => Array.isArray(e[t]))), r = null; - if (!n.length) r = pa(t); - else { - let e = n[0], i = da.find((t) => Array.isArray(e[t])); - if (Object.keys(e).length !== 1) return; - let a = t.filter((t) => t !== e), o = e[i].map((e) => pa([...a, e])); - if (o.some((e) => !e)) return; - r = { [i]: o }; - } - r && (delete e.allOf, B(e, r)); -} -function ha(e, t) { - let n = e.seen.get(t); - if (!n) throw Error("Unprocessed schema. This is a bug in Zod."); - let r = (t) => { - let n = e.seen.get(t); - if (n.ref === null) return; - let i = n.def ?? n.schema, a = { ...i }, o = n.ref; - if (n.ref = null, o) { - r(o); - let n = e.seen.get(o), s = n.schema; - if (s.$ref && (e.target === "draft-07" || e.target === "draft-04" || e.target === "openapi-3.0") ? (i.allOf = i.allOf ?? [], i.allOf.push(s)) : B(i, s), B(i, a), t._zod.parent === o) for (let e in i) e !== "$ref" && e !== "allOf" && (e in a || delete i[e]); - if (s.$ref && n.def) for (let e in i) e !== "$ref" && e !== "allOf" && e in n.def && JSON.stringify(i[e]) === JSON.stringify(n.def[e]) && delete i[e]; - } - let s = t._zod.parent; - if (s && s !== o) { - r(s); - let t = e.seen.get(s); - if (t?.schema.$ref && (i.$ref = t.schema.$ref, t.def)) for (let e in i) e !== "$ref" && e !== "allOf" && e in t.def && JSON.stringify(i[e]) === JSON.stringify(t.def[e]) && delete i[e]; - } - e.override({ - zodSchema: t, - jsonSchema: i, - path: n.path ?? [] - }); - }; - if (!e.external || e.sharedEmitDoneFor !== e.external) { - for (let t of [...e.seen.entries()].reverse()) r(t[0]); - if (e.target !== "openapi-3.0") for (let t of e.seen.entries()) la(t[1].def ?? t[1].schema); - for (let t of e.deferred) t(); - if (e.intersections.length) { - let t = /* @__PURE__ */ new Map(); - for (let n of e.seen.values()) for (let e of [n.schema, n.def]) { - let n = e?.allOf; - if (!Array.isArray(n)) continue; - let r = t.get(n); - r ? r.push(e) : t.set(n, [e]); - } - for (let n of e.intersections) for (let e of t.get(n) ?? []) ma(e); - } - } - let i = {}; - if (e.target === "draft-2020-12" ? i.$schema = "https://json-schema.org/draft/2020-12/schema" : e.target === "draft-07" ? i.$schema = "http://json-schema.org/draft-07/schema#" : e.target === "draft-04" ? i.$schema = "http://json-schema.org/draft-04/schema#" : e.target, e.external?.uri) { - let n = e.external.registry.get(t)?.id; - if (!n) throw Error("Schema is missing an `id` property"); - i.$id = e.external.uri(n); - } - B(i, n.defId ? n.schema : n.def ?? n.schema); - let a = e.metadataRegistry.get(t)?.id; - a !== void 0 && i.id === a && delete i.id; - let o = e.external?.defs ?? {}; - if (!e.external || e.sharedEmitDoneFor !== e.external) for (let t of e.seen.entries()) { - let e = t[1]; - e.def && e.defId && (e.def.id === e.defId && delete e.def.id, c(o, e.defId, e.def)); - } - e.external && (e.sharedEmitDoneFor = e.external), e.external || Object.keys(o).length > 0 && (e.target === "draft-2020-12" ? i.$defs = o : i.definitions = o); - try { - let n = JSON.parse(JSON.stringify(i)); - return Object.defineProperty(n, "~standard", { - value: { - ...t["~standard"], - jsonSchema: { - input: _a(t, "input", e.processors), - output: _a(t, "output", e.processors) - } - }, - enumerable: !1, - writable: !1 - }), n; - } catch { - throw Error("Error converting schema to JSON."); - } -} -function U(e, t) { - let n = t ?? { seen: /* @__PURE__ */ new Set() }; - if (n.seen.has(e)) return !1; - n.seen.add(e); - let r = e._zod.def; - if (r.type === "transform") return !0; - if (r.type === "array") return U(r.element, n); - if (r.type === "set") return U(r.valueType, n); - if (r.type === "lazy") return U(r.getter(), n); - if (r.type === "promise" || r.type === "optional" || r.type === "nonoptional" || r.type === "nullable" || r.type === "readonly" || r.type === "default" || r.type === "prefault" || r.type === "catch") return U(r.innerType, n); - if (r.type === "intersection") return U(r.left, n) || U(r.right, n); - if (r.type === "record" || r.type === "map") return U(r.keyType, n) || U(r.valueType, n); - if (r.type === "pipe") return e._zod.traits.has("$ZodCodec") ? !0 : U(r.in, n) || U(r.out, n); - if (r.type === "object") { - for (let e in r.shape) if (U(r.shape[e], n)) return !0; - return !1; - } - if (r.type === "union") { - for (let e of r.options) if (U(e, n)) return !0; - return !1; - } - if (r.type === "tuple") { - for (let e of r.items) if (U(e, n)) return !0; - return !!(r.rest && U(r.rest, n)); - } - return !1; -} -var ga = (e, t = {}) => (n) => { - let r = oa({ - ...n, - processors: t - }); - return H(e, r), ca(r, e), ha(r, e); -}, _a = (e, t, n = {}) => (r) => { - let { libraryOptions: i, target: a } = r ?? {}, o = oa({ - ...i ?? {}, - target: a, - io: t, - processors: n - }); - return H(e, o), ca(o, e), ha(o, e); -}, W = (e, t, n) => { - (e[t] === void 0 || n > e[t]) && (e[t] = n); -}, G = (e, t, n) => { - (e[t] === void 0 || n < e[t]) && (e[t] = n); -}, va = (e, t) => { - W(e, "minimum", t), G(e, "maximum", t); -}, ya = (e, t) => { - e.multipleOf ??= [], e.multipleOf.includes(t) || e.multipleOf.push(t); -}, ba = (e, t) => { - e.patterns ??= /* @__PURE__ */ new Set(), e.patterns.add(t); -}, xa = (e, t) => { - e.mime = e.mime ? e.mime.filter((e) => t.includes(e)) : [...t]; -}, Sa = (e, t) => { - e.format = t, t.includes("int") && (e.isInt = !0); -}, Ca = (e, t) => W(e, "minimum", t.minimum), wa = (e, t) => G(e, "maximum", t.maximum), Ta = (e) => (t, n) => { - Sa(t, n.format); - let [r, i] = e[n.format]; - W(t, "minimum", r), G(t, "maximum", i); -}, Ea = { - greater_than: (e, t) => W(e, t.inclusive ? "minimum" : "exclusiveMinimum", t.value), - less_than: (e, t) => G(e, t.inclusive ? "maximum" : "exclusiveMaximum", t.value), - multiple_of: (e, t) => ya(e, t.value), - number_format: Ta(ce), - bigint_format: Ta(le), - min_length: Ca, - max_length: wa, - length_equals: (e, t) => va(e, t.length), - min_size: Ca, - max_size: wa, - size_equals: (e, t) => va(e, t.size), - string_format: (e, t) => { - Sa(e, t.format), t.pattern && ba(e, t.pattern), (t.format === "base64" || t.format === "base64url") && (e.contentEncoding = t.format), (t.local || t.precision === -1) && (e.laxFormat = !0); - }, - mime_type: (e, t) => xa(e, t.mime) -}; -function K(e) { - let t = {}, n = e._zod.def, r = e._zod.traits.has("$ZodCheck") ? [e, ...n.checks ?? []] : n.checks ?? []; - for (let e of r) Ea[e._zod.def.check]?.(t, e._zod.def); - let i = e._zod.bag; - i.minimum !== void 0 && W(t, "minimum", i.minimum), i.exclusiveMinimum !== void 0 && W(t, "exclusiveMinimum", i.exclusiveMinimum), i.maximum !== void 0 && G(t, "maximum", i.maximum), i.exclusiveMaximum !== void 0 && G(t, "exclusiveMaximum", i.exclusiveMaximum), i.multipleOf !== void 0 && ya(t, i.multipleOf), i.format !== void 0 && (t.format ??= i.format, i.format.includes("int") && (t.isInt = !0)), i.mime && xa(t, i.mime); - for (let e of i.patterns ?? []) ba(t, e); - return t; -} -var Da = { - guid: "uuid", - url: "uri", - datetime: "date-time", - json_string: "json-string", - regex: "" -}, Oa = /* @__PURE__ */ new Map([[qn, Nt], [Yn, Pt]]), ka = (e) => Oa.get(e) ?? e, Aa = (e, t, n, r) => { - let i = n; - i.type = "string"; - let { minimum: a, maximum: o, format: s, patterns: c, contentEncoding: l, laxFormat: u } = K(e); - if (typeof a == "number" && (i.minLength = a), typeof o == "number" && (i.maxLength = o), s && (i.format = Da[s] ?? s, i.format === "" && delete i.format, (s === "time" || u) && delete i.format), l && (i.contentEncoding = l), c && c.size > 0) { - let e = [...c].map(ka); - e.length === 1 ? i.pattern = e[0].source : e.length > 1 && (i.allOf = [...e.map((e) => ({ - ...t.target === "draft-07" || t.target === "draft-04" || t.target === "openapi-3.0" ? { type: "string" } : {}, - pattern: e.source - }))]); - } -}, ja = (e, t, n, r) => { - let i = n, { minimum: a, maximum: o, multipleOf: s, exclusiveMaximum: c, exclusiveMinimum: l, isInt: u } = K(e); - i.type = u ? "integer" : "number"; - let d = typeof l == "number" && l >= (a ?? -Infinity), f = typeof c == "number" && c <= (o ?? Infinity), p = t.target === "draft-04" || t.target === "openapi-3.0"; - if (d ? p ? (i.minimum = l, i.exclusiveMinimum = !0) : i.exclusiveMinimum = l : typeof a == "number" && (i.minimum = a), f ? p ? (i.maximum = c, i.exclusiveMaximum = !0) : i.exclusiveMaximum = c : typeof o == "number" && (i.maximum = o), s) { - let n = /* @__PURE__ */ new Set(); - for (let a of s) Number.isFinite(a) && a !== 0 ? n.add(Math.abs(a)) : V(e, t, i, r, `A multipleOf divisor of ${a} cannot be represented in JSON Schema`); - let [a, ...o] = n; - a !== void 0 && (i.multipleOf = a), o.length && (i.allOf = [...i.allOf ?? [], ...o.map((e) => ({ multipleOf: e }))]); - } -}, Ma = (e, t, n, r) => { - n.not = {}; -}, Na = (t, n, r, i) => { - let a = t._zod.def, o = e(a.entries); - o.length === 0 ? r.not = {} : (o.every((e) => typeof e == "number") && (r.type = "number"), o.every((e) => typeof e == "string") && (r.type = "string"), r.enum = o); -}, Pa = (e, t, n, r) => { - let i = e._zod.def; - if (i.values.length === 0) { - n.not = {}; - return; - } - let a = []; - for (let o of i.values) if (o === void 0) { - if (V(e, t, n, r, "Literal `undefined` cannot be represented in JSON Schema")) return; - } else if (typeof o == "bigint") { - if (V(e, t, n, r, "BigInt literals cannot be represented in JSON Schema")) return; - a.push(Number(o)); - } else a.push(o); - if (a.length !== 0) { - if (a.length === 1) { - let e = a[0]; - n.type = e === null ? "null" : typeof e, t.target === "draft-04" || t.target === "openapi-3.0" ? n.enum = [e] : n.const = e; - } else a.every((e) => typeof e == "number") && (n.type = "number"), a.every((e) => typeof e == "string") && (n.type = "string"), a.every((e) => typeof e == "boolean") && (n.type = "boolean"), a.every((e) => e === null) && (n.type = "null"), n.enum = a; - } -}, Fa = (e, t, n, r) => { - V(e, t, n, r, "Custom types cannot be represented in JSON Schema"); -}, Ia = (e, t, n, r) => { - V(e, t, n, r, "Transforms cannot be represented in JSON Schema"); -}, La = (e, t, n, r) => { - let i = n, a = e._zod.def, { minimum: o, maximum: s } = K(e); - typeof o == "number" && (i.minItems = o), typeof s == "number" && (i.maxItems = s), i.type = "array", i.items = H(a.element, t, { - ...r, - path: [...r.path, "items"] - }); -}; -function Ra(e) { - let t = e._zod.def; - return t.type === "pipe" && t.in._zod.traits.has("$ZodTransform") ? Ra(t.out) : t.type === "catch" ? Ra(t.innerType) : e._zod.optin; -} -var za = (e, t, n, r) => { - let i = n, a = e._zod.def, o = a.shape; - if (Object.getOwnPropertySymbols(o).length && V(e, t, i, r, "Symbol keys cannot be represented in JSON Schema")) return; - i.type = "object", i.properties = {}; - for (let e in o) c(i.properties, e, H(o[e], t, { - ...r, - path: [ - ...r.path, - "properties", - e - ] - })); - let s = []; - for (let e of Object.keys(o)) { - let n = a.shape[e]; - (t.io === "input" ? Ra(n) === void 0 : n._zod.optout === void 0) && s.push(e); - } - s.length > 0 && (i.required = s), a.catchall?._zod.def.type === "never" ? i.additionalProperties = !1 : a.catchall ? a.catchall && (i.additionalProperties = H(a.catchall, t, { - ...r, - path: [...r.path, "additionalProperties"] - })) : t.io === "output" && (i.additionalProperties = !1); -}, Ba = (e, t, n, r) => { - let i = e._zod.def, a = i.inclusive === !1, o = i.options.map((e, n) => H(e, t, { - ...r, - path: [ - ...r.path, - a ? "oneOf" : "anyOf", - n - ] - })); - a ? n.oneOf = o : n.anyOf = o; -}, Va = (e, t, n, r) => { - let i = e._zod.def, a = H(i.left, t, { - ...r, - path: [ - ...r.path, - "allOf", - 0 - ] - }), o = H(i.right, t, { - ...r, - path: [ - ...r.path, - "allOf", - 1 - ] - }), s = (e) => "allOf" in e && Object.keys(e).length === 1, c = [...s(a) ? a.allOf : [a], ...s(o) ? o.allOf : [o]]; - n.allOf = c, t.intersections.push(c); -}, Ha = (e, t, n, r) => { - let i = e._zod.def, a = H(i.innerType, t, r), o = t.seen.get(e); - t.target === "openapi-3.0" ? (o.ref = i.innerType, n.nullable = !0) : n.anyOf = [a, { type: "null" }]; -}, Ua = (e, t, n, r) => { - let i = e._zod.def; - H(i.innerType, t, r); - let a = t.seen.get(e); - a.ref = i.innerType; -}, Wa = Symbol(); -function Ga(e, t, n, r, i) { - let a = !1, o = JSON.stringify(e, (e, t) => typeof t == "bigint" ? (a = !0, null) : t); - return a ? (V(t, n, r, i, "BigInt defaults cannot be represented in JSON Schema"), Wa) : JSON.parse(o); -} -var Ka = (e, t, n, r) => { - let i = e._zod.def; - H(i.innerType, t, r); - let a = t.seen.get(e); - a.ref = i.innerType; - let o = Ga(i.defaultValue, e, t, n, r); - o !== Wa && (n.default = o); -}, qa = (e, t, n, r) => { - let i = e._zod.def; - H(i.innerType, t, r); - let a = t.seen.get(e); - if (a.ref = i.innerType, t.io !== "input") return; - let o = Ga(i.defaultValue, e, t, n, r); - o !== Wa && (n._prefault = o); -}, Ja = (e, t, n, r) => { - let i = e._zod.def; - H(i.innerType, t, r); - let a = t.seen.get(e); - a.ref = i.innerType; - let o; - try { - o = i.catchValue(void 0); - } catch { - V(e, t, n, r, "Dynamic catch values are not supported in JSON Schema"); - return; - } - n.default = o; -}, Ya = (e, t, n, r) => { - let i = e._zod.def, a = i.in._zod.traits.has("$ZodTransform"), o = t.io === "input" ? a ? i.out : i.in : i.out; - H(o, t, r); - let s = t.seen.get(e); - s.ref = o; -}, Xa = (e, t, n, r) => { - let i = e._zod.def; - H(i.innerType, t, r); - let a = t.seen.get(e); - a.ref = i.innerType, n.readOnly = !0; -}, Za = (e, t, n, r) => { - let i = e._zod.def; - H(i.innerType, t, r); - let a = t.seen.get(e); - a.ref = i.innerType; -}, Qa = /* @__PURE__ */ new WeakSet([Object.prototype, Error.prototype]); -function $a(e, t, n) { - Object.defineProperty(e, t, { - configurable: !0, - enumerable: !1, - get() { - let e = n(this); - return Object.defineProperty(this, t, { - value: e, - configurable: !0, - writable: !0 - }), e; - }, - set(e) { - Object.defineProperty(this, t, { - value: e, - configurable: !0, - writable: !0 - }); - } - }); -} -var q = /*@__PURE__*/ O("ZodError", (e, t) => { - qe.init(e, t), e.name = "ZodError"; - let r = Object.getPrototypeOf(e); - Qa.has(r) || (Qa.add(r), $a(r, "format", (e) => (t) => Xe(e, t)), $a(r, "flatten", (e) => (t) => Ye(e, t)), $a(r, "addIssue", (e) => (t) => { - e.issues.push(t), e.message = JSON.stringify(e.issues, n, 2); - }), $a(r, "addIssues", (e) => (t) => { - e.issues.push(...t), e.message = JSON.stringify(e.issues, n, 2); - }), Object.defineProperty(r, "isEmpty", { - configurable: !0, - enumerable: !1, - get() { - return this.issues.length === 0; - } - })); -}, void 0, { Parent: Error }), eo = /* @__PURE__ */ Qe(q), to = /* @__PURE__ */ $e(q), no = /* @__PURE__ */ et(q), ro = /* @__PURE__ */ nt(q), io = /* @__PURE__ */ ct(q), ao = /* @__PURE__ */ lt(q), oo = /* @__PURE__ */ ut(q), so = /* @__PURE__ */ dt(q), co = /* @__PURE__ */ ft(q), lo = /* @__PURE__ */ pt(q), uo = /* @__PURE__ */ mt(q), fo = /* @__PURE__ */ ht(q); -//#endregion -//#region node_modules/zod/v4/classic/schemas.js -function po() { - A.localeError || j(ti()); -} -function mo() { - A.memoizer || j({ memoizer: Qr() }); -} -var J = /*@__PURE__*/ O("ZodType", (e, t) => (po(), N.init(e, t), e.def = t, e.type = t.type, e), { - check(...e) { - let t = this.def; - return this.clone(h(t, { checks: [...t.checks ?? [], ...e.map((e) => typeof e == "function" ? { _zod: { - check: e, - def: { check: "custom" }, - onattach: [] - } } : e)] }), { parent: !0 }); - }, - with(...e) { - return this.check(...e); - }, - clone(e, t) { - return y(this, e, t); - }, - brand() { - return this; - }, - register(e, t) { - return e.add(this, t), this; - }, - refine(e, t) { - return this.check(Os(e, t)); - }, - superRefine(e, t) { - return this.check(ks(e, t)); - }, - overwrite(e) { - return this.check(/* @__PURE__ */ z(e)); - }, - optional() { - return us(this); - }, - exactOptional() { - return fs(this); - }, - nullable() { - return ms(this); - }, - nullish() { - return us(ms(this)); - }, - nonoptional(e) { - return bs(this, e); - }, - array() { - return Yo(this); - }, - or(e) { - return Qo([this, e]); - }, - and(e) { - return ns(this, e); - }, - transform(e) { - return ws(this, cs(e)); - }, - default(e) { - return gs(this, e); - }, - prefault(e) { - return vs(this, e); - }, - catch(e) { - return Ss(this, e); - }, - pipe(e) { - return ws(this, e); - }, - readonly() { - return Es(this); - }, - describe(e) { - let t = this.clone(); - return R.add(t, { description: e }), t; - }, - meta(...e) { - if (e.length === 0) return R.get(this); - let t = this.clone(); - return R.add(t, e[0]), t; - }, - isOptional() { - return this.safeParse(void 0).success; - }, - isNullable() { - return this.safeParse(null).success; - }, - apply(e, ...t) { - return t.length === 0 ? e(this) : e(this, ...t); - }, - get "~standard"() { - return De(this, "~standard", { - ...hn(this), - jsonSchema: { - input: _a(this, "input"), - output: _a(this, "output") - } - }); - }, - set "~standard"(e) { - T(this, "~standard", e); - }, - parse: function e(t, n) { - return eo(this, t, n, { callee: e }); - }, - parseAsync: async function e(t, n) { - return await to(this, t, n, { callee: e }); - }, - safeParse(e, t) { - return no(this, e, t); - }, - async safeParseAsync(e, t) { - return ro(this, e, t); - }, - get spa() { - return this?.safeParseAsync; - }, - set spa(e) { - T(this, "spa", e); - }, - validate(e, t) { - return at(this, e, t); - }, - validateAsync(e, t) { - return st(this, e, t); - }, - encode: function e(t, n) { - return io(this, t, n, { callee: e }); - }, - decode: function e(t, n) { - return ao(this, t, n, { callee: e }); - }, - encodeAsync: async function e(t, n) { - return await oo(this, t, n, { callee: e }); - }, - decodeAsync: async function e(t, n) { - return await so(this, t, n, { callee: e }); - }, - safeEncode(e, t) { - return co(this, e, t); - }, - safeDecode(e, t) { - return lo(this, e, t); - }, - async safeEncodeAsync(e, t) { - return uo(this, e, t); - }, - async safeDecodeAsync(e, t) { - return fo(this, e, t); - }, - toJSONSchema(e) { - return ga(this, {})(e); - }, - get description() { - return R.get(this)?.description; - }, - get _def() { - return this._zod.def; - } -}), ho = /*@__PURE__*/ O("_ZodString", (e, t) => { - gn.init(e, t), J.init(e, t), e._zod.processJSONSchema = (t, n, r) => Aa(e, t, n, r); -}, /*@__PURE__*/ Oe({ - format: (e) => K(e).format ?? null, - minLength: (e) => K(e).minimum ?? null, - maxLength: (e) => K(e).maximum ?? null -}, { - regex(...e) { - return this.check(/* @__PURE__ */ Gi(...e)); - }, - includes(...e) { - return this.check(/* @__PURE__ */ Ji(...e)); - }, - startsWith(...e) { - return this.check(/* @__PURE__ */ Yi(...e)); - }, - endsWith(...e) { - return this.check(/* @__PURE__ */ Xi(...e)); - }, - min(...e) { - return this.check(/* @__PURE__ */ Ui(...e)); - }, - max(...e) { - return this.check(/* @__PURE__ */ Hi(...e)); - }, - length(...e) { - return this.check(/* @__PURE__ */ Wi(...e)); - }, - nonempty(...e) { - return this.check(/* @__PURE__ */ Ui(1, ...e)); - }, - lowercase(e) { - return this.check(/* @__PURE__ */ Ki(e)); - }, - uppercase(e) { - return this.check(/* @__PURE__ */ qi(e)); - }, - trim() { - return this.check(/* @__PURE__ */ Qi()); - }, - normalize(...e) { - return this.check(/* @__PURE__ */ Zi(...e)); - }, - toLowerCase() { - return this.check(/* @__PURE__ */ $i()); - }, - toUpperCase() { - return this.check(/* @__PURE__ */ ea()); - }, - slugify() { - return this.check(/* @__PURE__ */ ta()); - } -})), go = /*@__PURE__*/ O("ZodString", (e, t) => { - gn.init(e, t), ho.init(e, t); -}, { - email(e) { - return this.check(/* @__PURE__ */ si(So, e)); - }, - url(e) { - return this.check(/* @__PURE__ */ pi(To, e)); - }, - jwt(e) { - return this.check(/* @__PURE__ */ Oi(Bo, e)); - }, - emoji(e) { - return this.check(/* @__PURE__ */ mi(Eo, e)); - }, - guid(e) { - return this.check(/* @__PURE__ */ ci(Co, e)); - }, - uuid(e) { - return this.check(/* @__PURE__ */ li(wo, e)); - }, - uuidv4(e) { - return this.check(/* @__PURE__ */ ui(wo, e)); - }, - uuidv6(e) { - return this.check(/* @__PURE__ */ di(wo, e)); - }, - uuidv7(e) { - return this.check(/* @__PURE__ */ fi(wo, e)); - }, - nanoid(e) { - return this.check(/* @__PURE__ */ hi(Do, e)); - }, - cuid(e) { - return this.check(/* @__PURE__ */ gi(Oo, e)); - }, - cuid2(e) { - return this.check(/* @__PURE__ */ _i(ko, e)); - }, - ulid(e) { - return this.check(/* @__PURE__ */ vi(Ao, e)); - }, - base64(e) { - return this.check(/* @__PURE__ */ Ti(Lo, e)); - }, - base64url(e) { - return this.check(/* @__PURE__ */ Ei(Ro, e)); - }, - xid(e) { - return this.check(/* @__PURE__ */ yi(jo, e)); - }, - ksuid(e) { - return this.check(/* @__PURE__ */ bi(Mo, e)); - }, - ipv4(e) { - return this.check(/* @__PURE__ */ xi(No, e)); - }, - ipv6(e) { - return this.check(/* @__PURE__ */ Si(Po, e)); - }, - cidrv4(e) { - return this.check(/* @__PURE__ */ Ci(Fo, e)); - }, - cidrv6(e) { - return this.check(/* @__PURE__ */ wi(Io, e)); - }, - e164(e) { - return this.check(/* @__PURE__ */ Di(zo, e)); - }, - datetime(e) { - return this.check(/* @__PURE__ */ ki(vo, e)); - }, - date(e) { - return this.check(/* @__PURE__ */ Ai(yo, e)); - }, - time(e) { - return this.check(/* @__PURE__ */ ji(bo, e)); - }, - duration(e) { - return this.check(/* @__PURE__ */ Mi(xo, e)); - } -}); -function _o(e) { - return /* @__PURE__ */ oi(go, e); -} -var Y = /*@__PURE__*/ O("ZodStringFormat", (e, t) => { - P.init(e, t), ho.init(e, t); -}), vo = /*@__PURE__*/ O("ZodISODateTime", (e, t) => { - Fn.init(e, t), Y.init(e, t); -}), yo = /*@__PURE__*/ O("ZodISODate", (e, t) => { - In.init(e, t), Y.init(e, t); -}), bo = /*@__PURE__*/ O("ZodISOTime", (e, t) => { - Ln.init(e, t), Y.init(e, t); -}), xo = /*@__PURE__*/ O("ZodISODuration", (e, t) => { - Rn.init(e, t), Y.init(e, t); -}), So = /*@__PURE__*/ O("ZodEmail", (e, t) => { - yn.init(e, t), Y.init(e, t); -}), Co = /*@__PURE__*/ O("ZodGUID", (e, t) => { - _n.init(e, t), Y.init(e, t); -}), wo = /*@__PURE__*/ O("ZodUUID", (e, t) => { - vn.init(e, t), Y.init(e, t); -}), To = /*@__PURE__*/ O("ZodURL", (e, t) => { - Dn.init(e, t), Y.init(e, t); -}), Eo = /*@__PURE__*/ O("ZodEmoji", (e, t) => { - On.init(e, t), Y.init(e, t); -}), Do = /*@__PURE__*/ O("ZodNanoID", (e, t) => { - kn.init(e, t), Y.init(e, t); -}), Oo = /*@__PURE__*/ O("ZodCUID", (e, t) => { - An.init(e, t), Y.init(e, t); -}), ko = /*@__PURE__*/ O("ZodCUID2", (e, t) => { - jn.init(e, t), Y.init(e, t); -}), Ao = /*@__PURE__*/ O("ZodULID", (e, t) => { - Mn.init(e, t), Y.init(e, t); -}), jo = /*@__PURE__*/ O("ZodXID", (e, t) => { - Nn.init(e, t), Y.init(e, t); -}), Mo = /*@__PURE__*/ O("ZodKSUID", (e, t) => { - Pn.init(e, t), Y.init(e, t); -}), No = /*@__PURE__*/ O("ZodIPv4", (e, t) => { - zn.init(e, t), Y.init(e, t); -}), Po = /*@__PURE__*/ O("ZodIPv6", (e, t) => { - Hn.init(e, t), Y.init(e, t); -}), Fo = /*@__PURE__*/ O("ZodCIDRv4", (e, t) => { - Un.init(e, t), Y.init(e, t); -}), Io = /*@__PURE__*/ O("ZodCIDRv6", (e, t) => { - Gn.init(e, t), Y.init(e, t); -}), Lo = /*@__PURE__*/ O("ZodBase64", (e, t) => { - Jn.init(e, t), Y.init(e, t); -}), Ro = /*@__PURE__*/ O("ZodBase64URL", (e, t) => { - Zn.init(e, t), Y.init(e, t); -}), zo = /*@__PURE__*/ O("ZodE164", (e, t) => { - Qn.init(e, t), Y.init(e, t); -}), Bo = /*@__PURE__*/ O("ZodJWT", (e, t) => { - er.init(e, t), Y.init(e, t); -}), Vo = /*@__PURE__*/ O("ZodNumber", (e, t) => { - tr.init(e, t), J.init(e, t), e._zod.processJSONSchema = (t, n, r) => ja(e, t, n, r), e.isFinite = !0; -}, /*@__PURE__*/ Oe({ - minValue: (e) => { - let { minimum: t, exclusiveMinimum: n } = K(e); - return Math.max(t ?? -Infinity, n ?? -Infinity); - }, - maxValue: (e) => { - let { maximum: t, exclusiveMaximum: n } = K(e); - return Math.min(t ?? Infinity, n ?? Infinity); - }, - isInt: (e) => { - let { isInt: t, multipleOf: n } = K(e); - return !!t || !!n?.some(Number.isSafeInteger); - }, - format: (e) => K(e).format ?? null -}, { - gt(e, t) { - return this.check(/* @__PURE__ */ zi(e, t)); - }, - gte(e, t) { - return this.check(/* @__PURE__ */ Bi(e, t)); - }, - min(e, t) { - return this.check(/* @__PURE__ */ Bi(e, t)); - }, - lt(e, t) { - return this.check(/* @__PURE__ */ Li(e, t)); - }, - lte(e, t) { - return this.check(/* @__PURE__ */ Ri(e, t)); - }, - max(e, t) { - return this.check(/* @__PURE__ */ Ri(e, t)); - }, - int(e) { - return this.check(Uo(e)); - }, - safe(e) { - return this.check(Uo(e)); - }, - positive(e) { - return this.check(/* @__PURE__ */ zi(0, e)); - }, - nonnegative(e) { - return this.check(/* @__PURE__ */ Bi(0, e)); - }, - negative(e) { - return this.check(/* @__PURE__ */ Li(0, e)); - }, - nonpositive(e) { - return this.check(/* @__PURE__ */ Ri(0, e)); - }, - multipleOf(e, t) { - return this.check(/* @__PURE__ */ Vi(e, t)); - }, - step(e, t) { - return this.check(/* @__PURE__ */ Vi(e, t)); - }, - finite() { - return this; - } -})); -function X(e) { - return /* @__PURE__ */ Ni(Vo, e); -} -var Ho = /*@__PURE__*/ O("ZodNumberFormat", (e, t) => { - nr.init(e, t), Vo.init(e, t); -}); -function Uo(e) { - return /* @__PURE__ */ Pi(Ho, e); -} -var Wo = /*@__PURE__*/ O("ZodUnknown", (e, t) => { - rr.init(e, t), J.init(e, t), e._zod.processJSONSchema = (e, t, n) => void 0; -}); -function Go() { - return /* @__PURE__ */ Fi(Wo); -} -var Ko = /*@__PURE__*/ O("ZodNever", (e, t) => { - ir.init(e, t), J.init(e, t), e._zod.processJSONSchema = (t, n, r) => Ma(e, t, n, r); -}); -function qo(e) { - return /* @__PURE__ */ Ii(Ko, e); -} -var Jo = /*@__PURE__*/ O("ZodArray", (e, t) => { - mo(), or.init(e, t), J.init(e, t), e._zod.processJSONSchema = (t, n, r) => La(e, t, n, r), e.element = t.element; -}, { - min(e, t) { - return this.check(/* @__PURE__ */ Ui(e, t)); - }, - nonempty(e) { - return this.check(/* @__PURE__ */ Ui(1, e)); - }, - max(e, t) { - return this.check(/* @__PURE__ */ Hi(e, t)); - }, - length(e, t) { - return this.check(/* @__PURE__ */ Wi(e, t)); - }, - unwrap() { - return this.element; - } -}); -function Yo(e, t) { - return /* @__PURE__ */ na(Jo, e, t); -} -var Xo = /*@__PURE__*/ O("ZodObject", (e, t) => { - mo(), fr.init(e, t), J.init(e, t), e._zod.processJSONSchema = (t, n, r) => za(e, t, n, r), Ne(e, "shape", (e) => e._zod.def.shape, !1); -}, { - keyof() { - return is(Object.keys(this._zod.def.shape)); - }, - catchall(e) { - return this.clone(h(this._zod.def, { catchall: e })); - }, - passthrough() { - return this.clone(h(this._zod.def, { catchall: Go() })); - }, - loose() { - return this.clone(h(this._zod.def, { catchall: Go() })); - }, - strict() { - return this.clone(h(this._zod.def, { catchall: qo() })); - }, - strip() { - return this.clone(h(this._zod.def, { catchall: void 0 })); - }, - extend(e) { - return pe(this, e); - }, - safeExtend(e) { - return he(this, e); - }, - merge(e) { - return ge(this, e); - }, - pick(e) { - return ue(this, e); - }, - omit(e) { - return fe(this, e); - }, - partial(...e) { - return _e(ls, this, e[0]); - }, - exactPartial(...e) { - return _e(ds, this, e[0], "exactPartial"); - }, - required(...e) { - return ve(ys, this, e[0]); - } -}); -function Z(e, t) { - return new Xo({ - type: "object", - shape: e ?? {}, - ...b(t) - }); -} -var Zo = /*@__PURE__*/ O("ZodUnion", (e, t) => { - mr.init(e, t), J.init(e, t), e._zod.processJSONSchema = (t, n, r) => Ba(e, t, n, r), e.options = t.options; -}); -function Qo(e, t) { - return new Zo({ - type: "union", - options: e, - ...b(t) - }); -} -var $o = /*@__PURE__*/ O("ZodDiscriminatedUnion", (e, t) => { - Zo.init(e, t), gr.init(e, t); -}); -function es(e, t, n) { - return new $o({ - type: "union", - options: t, - discriminator: e, - ...b(n) - }); -} -var ts = /*@__PURE__*/ O("ZodIntersection", (e, t) => { - _r.init(e, t), J.init(e, t), e._zod.processJSONSchema = (t, n, r) => Va(e, t, n, r); -}); -function ns(e, t) { - return new ts({ - type: "intersection", - left: e, - right: t - }); -} -var rs = /*@__PURE__*/ O("ZodEnum", (e, t) => { - br.init(e, t), J.init(e, t), e._zod.processJSONSchema = (t, n, r) => Na(e, t, n, r), e.enum = t.entries, e.options = [...e._zod.values]; - let n = new Set(Object.keys(t.entries)); - e.extract = (e, r) => { - let i = {}; - for (let r of e) if (n.has(r)) i[r] = t.entries[r]; - else throw Error(`Key ${r} not found in enum`); - return new rs({ - ...t, - checks: [], - ...b(r), - entries: i - }); - }, e.exclude = (e, r) => { - let i = { ...t.entries }; - for (let t of e) if (n.has(t)) delete i[t]; - else throw Error(`Key ${t} not found in enum`); - return new rs({ - ...t, - checks: [], - ...b(r), - entries: i - }); - }; -}); -function is(e, t) { - return new rs({ - type: "enum", - entries: Array.isArray(e) ? Object.fromEntries(e.map((e) => [e, e])) : e, - ...b(t) - }); -} -var as = /*@__PURE__*/ O("ZodLiteral", (e, t) => { - xr.init(e, t), J.init(e, t), e._zod.processJSONSchema = (t, n, r) => Pa(e, t, n, r), e.values = new Set(t.values), Object.defineProperty(e, "value", { get() { - if (t.values.length > 1) throw Error("This schema contains multiple valid literal values. Use `.values` instead."); - return t.values[0]; - } }); -}); -function os(e, t) { - return new as({ - type: "literal", - values: Array.isArray(e) ? e : [e], - ...b(t) - }); -} -var ss = /*@__PURE__*/ O("ZodTransform", (e, t) => { - mo(), Sr.init(e, t), J.init(e, t), e._zod.processJSONSchema = (t, n, r) => Ia(e, t, n, r), e._zod.parse = (n, r) => { - if (r.direction === "backward") throw new Be(e.constructor.name); - n.addIssue = (r) => { - if (typeof r == "string") n.issues.push(w(r, n.value, t)); - else { - let t = r; - t.fatal && (t.continue = !1), t.code ??= "custom", "input" in t || (t.input = n.value), t.inst ??= e, n.issues.push(w(t)); - } - }; - let i = t.transform(n.value, n); - return i instanceof Promise ? i.then((e) => (n.value = e, n)) : (n.value = i, n); - }; -}); -function cs(e) { - return new ss({ - type: "transform", - transform: e - }); -} -var ls = /*@__PURE__*/ O("ZodOptional", (e, t) => { - wr.init(e, t), J.init(e, t), e._zod.processJSONSchema = (t, n, r) => Za(e, t, n, r), e.unwrap = () => e._zod.def.innerType; -}); -function us(e) { - return new ls({ - type: "optional", - innerType: e - }); -} -var ds = /*@__PURE__*/ O("ZodExactOptional", (e, t) => { - Tr.init(e, t), J.init(e, t), e._zod.processJSONSchema = (t, n, r) => Za(e, t, n, r), e.unwrap = () => e._zod.def.innerType; -}); -function fs(e) { - return new ds({ - type: "optional", - innerType: e - }); -} -var ps = /*@__PURE__*/ O("ZodNullable", (e, t) => { - Er.init(e, t), J.init(e, t), e._zod.processJSONSchema = (t, n, r) => Ha(e, t, n, r), e.unwrap = () => e._zod.def.innerType; -}); -function ms(e) { - return new ps({ - type: "nullable", - innerType: e - }); -} -var hs = /*@__PURE__*/ O("ZodDefault", (e, t) => { - Dr.init(e, t), J.init(e, t), e._zod.processJSONSchema = (t, n, r) => Ka(e, t, n, r), e.unwrap = () => e._zod.def.innerType, e.removeDefault = e.unwrap; -}); -function gs(e, t) { - return new hs({ - type: "default", - innerType: e, - get defaultValue() { - return typeof t == "function" ? t() : ie(t); - } - }); -} -var _s = /*@__PURE__*/ O("ZodPrefault", (e, t) => { - kr.init(e, t), J.init(e, t), e._zod.processJSONSchema = (t, n, r) => qa(e, t, n, r), e.unwrap = () => e._zod.def.innerType; -}); -function vs(e, t) { - return new _s({ - type: "prefault", - innerType: e, - get defaultValue() { - return typeof t == "function" ? t() : ie(t); - } - }); -} -var ys = /*@__PURE__*/ O("ZodNonOptional", (e, t) => { - Ar.init(e, t), J.init(e, t), e._zod.processJSONSchema = (t, n, r) => Ua(e, t, n, r), e.unwrap = () => e._zod.def.innerType; -}); -function bs(e, t) { - return new ys({ - type: "nonoptional", - innerType: e, - ...b(t) - }); -} -var xs = /*@__PURE__*/ O("ZodCatch", (e, t) => { - Nr.init(e, t), J.init(e, t), e._zod.processJSONSchema = (t, n, r) => Ja(e, t, n, r), e.unwrap = () => e._zod.def.innerType, e.removeCatch = e.unwrap; -}); -function Ss(e, t) { - return new xs({ - type: "catch", - innerType: e, - catchValue: typeof t == "function" ? t : Fe(t) - }); -} -var Cs = /*@__PURE__*/ O("ZodPipe", (e, t) => { - Pr.init(e, t), J.init(e, t), e._zod.processJSONSchema = (t, n, r) => Ya(e, t, n, r), e.in = t.in, e.out = t.out; -}); -function ws(e, t) { - return new Cs({ - type: "pipe", - in: e, - out: t - }); -} -var Ts = /*@__PURE__*/ O("ZodReadonly", (e, t) => { - Fr.init(e, t), J.init(e, t), e._zod.processJSONSchema = (t, n, r) => Xa(e, t, n, r), e.unwrap = () => e._zod.def.innerType; -}); -function Es(e) { - return new Ts({ - type: "readonly", - innerType: e - }); -} -var Ds = /*@__PURE__*/ O("ZodCustom", (e, t) => { - Lr.init(e, t), J.init(e, t), e._zod.processJSONSchema = (t, n, r) => Fa(e, t, n, r); -}); -function Os(e, t = {}) { - return /* @__PURE__ */ ra(Ds, e, t); -} -function ks(e, t) { - return /* @__PURE__ */ ia(e, t); -} -//#endregion -//#region app/javascript/utils/create-byte-limited-string-schema/index.ts -var As = new TextEncoder(); -function Q(e, { prefix: t, required: n = !1 } = {}) { - return _o().refine((r) => (!n || r !== "") && (!t || r === "" || r.startsWith(t)) && As.encode(r).length <= e); -} -//#endregion -//#region app/javascript/utils/review-anchor/constants.ts -var js = 16384, Ms = 2048, Ns = 2048, Ps = 1024, Fs = 4096, Is = 1e3, Ls = 2e3, Rs = 1e6, zs = 1e5, Bs = new TextEncoder(), Vs = X().min(0).max(Rs), $ = X().min(-Rs).max(Rs), Hs = X().min(0).max(Rs), Us = Z({ - x: X().min(0).max(1), - y: X().min(0).max(1) -}).strict(), Ws = Z({ - pathname: Q(Ms, { - prefix: "/", - required: !0 - }), - search: Q(Ns, { prefix: "?" }), - hash: Q(Ps, { prefix: "#" }) -}).strict(), Gs = Z({ - x: Vs, - y: Vs, - width: Hs, - height: Hs -}).strict(); -Z({ - x: $, - y: $ -}).strict(); -var Ks = Z({ - width: X().min(1).max(zs), - height: X().min(1).max(zs), - scrollX: Vs, - scrollY: Vs -}).strict(), qs = Z({ - schemaVersion: os(1), - kind: os("element"), - route: Ws, - selector: Q(Fs, { required: !0 }), - accessibleName: Q(Is), - tagName: Q(64, { required: !0 }).regex(/^[a-z][a-z0-9-]*$/), - selectedText: Q(Ls), - rect: Gs, - viewport: Ks, - elementOffset: Us -}).strict().refine((e) => Bs.encode(JSON.stringify(e)).length <= js), Js = Z({ - selector: Q(Fs, { required: !0 }), - accessibleName: Q(Is), - tagName: Q(64, { required: !0 }).regex(/^[a-z][a-z0-9-]*$/), - role: Q(64), - textExcerpt: Q(500), - rect: Gs -}).strict(), Ys = es("kind", [qs, Z({ - schemaVersion: os(1), - kind: os("area"), - route: Ws, - path: Yo(Us).min(2).max(160), - rect: Gs, - viewport: Ks, - elements: Yo(Js).max(8) -}).strict().refine((e) => Math.hypot(e.rect.width, e.rect.height) >= 8).refine((e) => Bs.encode(JSON.stringify(e)).length <= js)]); -es("status", [Z({ - commentId: X().int().positive().max(2 ** 53 - 1), - status: is(["resolved", "moved"]), - rect: Z({ - x: $, - y: $, - width: Hs, - height: Hs - }).strict(), - point: Z({ - x: $, - y: $ - }).strict() -}).strict(), Z({ - commentId: X().int().positive().max(2 ** 53 - 1), - status: is([ - "changed", - "missing", - "route-mismatch" - ]) -}).strict()]); -//#endregion -//#region app/javascript/utils/review-anchor/validate-anchor.ts -function Xs(e) { - return Ys.parse(e); -} -//#endregion -export { Xs as validateAnchor }; +Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0])a(n);else{if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}(e.metadataRegistry.get(n[0])?.id||r.cycle||r.count>1&&e.reused===`ref`)&&a(n)}}e.external&&(e.sharedDefsExtractedFor=e.external)}function la(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let n=[];for(let e of t){if(!e||typeof e!=`object`)return;la(e);let t=Object.keys(e);if(t.length!==1||t[0]!==`type`)return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if(typeof e!=`string`)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=n.length===1?n[0]:n}var ua=/* @__PURE__ */ new Set([`type`,`properties`,`required`,`additionalProperties`]),da=[`oneOf`,`anyOf`];function fa(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function pa(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!ua.has(e))return null;t.push(n)}let n={},r=/* @__PURE__ */ new Set;for(let e of t){for(let r in e.properties){if(Object.prototype.hasOwnProperty.call(n,r))continue;let e=[];for(let n of t){let t=n.properties?.[r]??fa(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}c(n,r,e.length===1?e[0]:pa(e)??{allOf:e})}for(let t of e.required??[])r.add(t)}let i={type:`object`,properties:n};if(r.size&&(i.required=[...r]),t.every(e=>e.additionalProperties===!1))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=fa(n);t&&!e.some(e=>JSON.stringify(e)===JSON.stringify(t))&&e.push(t)}e.length===1?i.additionalProperties=e[0]:e.length>1&&(i.additionalProperties={allOf:e})}return i}function ma(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of ua)if(t in e)return;let n=t.filter(e=>da.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=pa(t);else{let e=n[0],i=da.find(t=>Array.isArray(e[t]));if(Object.keys(e).length!==1)return;let a=t.filter(t=>t!==e),o=e[i].map(e=>pa([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,B(e,r))}function ha(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):B(i,s),B(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let t of[...e.seen.entries()].reverse())r(t[0]);if(e.target!==`openapi-3.0`)for(let t of e.seen.entries())la(t[1].def??t[1].schema);for(let t of e.deferred)t();if(e.intersections.length){let t=/* @__PURE__ */ new Map;for(let n of e.seen.values())for(let e of[n.schema,n.def]){let n=e?.allOf;if(!Array.isArray(n))continue;let r=t.get(n);r?r.push(e):t.set(n,[e])}for(let n of e.intersections)for(let e of t.get(n)??[])ma(e)}}let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}B(i,n.defId?n.schema:n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,c(o,e.defId,e.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:_a(t,`input`,e.processors),output:_a(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function U(e,t){let n=t??{seen:/* @__PURE__ */ new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return U(r.element,n);if(r.type===`set`)return U(r.valueType,n);if(r.type===`lazy`)return U(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`||r.type===`catch`)return U(r.innerType,n);if(r.type===`intersection`)return U(r.left,n)||U(r.right,n);if(r.type===`record`||r.type===`map`)return U(r.keyType,n)||U(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:U(r.in,n)||U(r.out,n);if(r.type===`object`){for(let e in r.shape)if(U(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(U(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(U(e,n))return!0;return!!(r.rest&&U(r.rest,n))}return!1}var ga=(e,t={})=>n=>{let r=oa({...n,processors:t});return H(e,r),ca(r,e),ha(r,e)},_a=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=oa({...i??{},target:a,io:t,processors:n});return H(e,o),ca(o,e),ha(o,e)},W=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},G=(e,t,n)=>{(e[t]===void 0||n{W(e,`minimum`,t),G(e,`maximum`,t)},ya=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},ba=(e,t)=>{e.patterns??=/* @__PURE__ */ new Set,e.patterns.add(t)},xa=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},Sa=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},Ca=(e,t)=>W(e,`minimum`,t.minimum),wa=(e,t)=>G(e,`maximum`,t.maximum),Ta=e=>(t,n)=>{Sa(t,n.format);let[r,i]=e[n.format];W(t,`minimum`,r),G(t,`maximum`,i)},Ea={greater_than:(e,t)=>W(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>G(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>ya(e,t.value),number_format:Ta(ce),bigint_format:Ta(le),min_length:Ca,max_length:wa,length_equals:(e,t)=>va(e,t.length),min_size:Ca,max_size:wa,size_equals:(e,t)=>va(e,t.size),string_format:(e,t)=>{Sa(e,t.format),t.pattern&&ba(e,t.pattern),(t.format===`base64`||t.format===`base64url`)&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>xa(e,t.mime)};function K(e){let t={},n=e._zod.def,r=e._zod.traits.has(`$ZodCheck`)?[e,...n.checks??[]]:n.checks??[];for(let e of r)Ea[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&W(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&W(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&G(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&G(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&ya(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&xa(t,i.mime);for(let e of i.patterns??[])ba(t,e);return t}var Da={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Oa=/* @__PURE__ */ new Map([[qn,Nt],[Yn,Pt]]),ka=e=>Oa.get(e)??e,Aa=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=K(e);if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Da[s]??s,i.format===``&&delete i.format,(s===`time`||u)&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c].map(ka);e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},ja=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,multipleOf:s,exclusiveMaximum:c,exclusiveMinimum:l,isInt:u}=K(e);i.type=u?`integer`:`number`;let d=typeof l==`number`&&l>=(a??-1/0),f=typeof c==`number`&&c<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;if(d?p?(i.minimum=l,i.exclusiveMinimum=!0):i.exclusiveMinimum=l:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=c,i.exclusiveMaximum=!0):i.exclusiveMaximum=c:typeof o==`number`&&(i.maximum=o),s){let n=/* @__PURE__ */ new Set;for(let a of s)Number.isFinite(a)&&a!==0?n.add(Math.abs(a)):V(e,t,i,r,`A multipleOf divisor of ${a} cannot be represented in JSON Schema`);let[a,...o]=n;a!==void 0&&(i.multipleOf=a),o.length&&(i.allOf=[...i.allOf??[],...o.map(e=>({multipleOf:e}))])}},Ma=(e,t,n,r)=>{n.not={}},Na=(t,n,r,i)=>{let a=t._zod.def,o=e(a.entries);o.length===0?r.not={}:(o.every(e=>typeof e==`number`)&&(r.type=`number`),o.every(e=>typeof e==`string`)&&(r.type=`string`),r.enum=o)},Pa=(e,t,n,r)=>{let i=e._zod.def;if(i.values.length===0){n.not={};return}let a=[];for(let o of i.values)if(o===void 0){if(V(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof o==`bigint`){if(V(e,t,n,r,`BigInt literals cannot be represented in JSON Schema`))return;a.push(Number(o))}else a.push(o);if(a.length!==0){if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a}},Fa=(e,t,n,r)=>{V(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},Ia=(e,t,n,r)=>{V(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},La=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=K(e);typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=H(a.element,t,{...r,path:[...r.path,`items`]})};function Ra(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?Ra(t.out):t.type===`catch`?Ra(t.innerType):e._zod.optin}var za=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&V(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)c(i.properties,e,H(o[e],t,{...r,path:[...r.path,`properties`,e]}));let s=[];for(let e of Object.keys(o)){let n=a.shape[e];(t.io===`input`?Ra(n)===void 0:n._zod.optout===void 0)&&s.push(e)}s.length>0&&(i.required=s),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=H(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Ba=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>H(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Va=(e,t,n,r)=>{let i=e._zod.def,a=H(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=H(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];n.allOf=c,t.intersections.push(c)},Ha=(e,t,n,r)=>{let i=e._zod.def,a=H(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Ua=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Wa=Symbol();function Ga(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(V(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),Wa):JSON.parse(o)}var Ka=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=Ga(i.defaultValue,e,t,n,r);o!==Wa&&(n.default=o)},qa=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=Ga(i.defaultValue,e,t,n,r);o!==Wa&&(n._prefault=o)},Ja=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{V(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},Ya=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;H(o,t,r);let s=t.seen.get(e);s.ref=o},Xa=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Za=(e,t,n,r)=>{let i=e._zod.def;H(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Qa=/* @__PURE__ */ new WeakSet([Object.prototype,Error.prototype]);function $a(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=n(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}var q=/*@__PURE__*/ O(`ZodError`,(e,t)=>{qe.init(e,t),e.name=`ZodError`;let r=Object.getPrototypeOf(e);Qa.has(r)||(Qa.add(r),$a(r,`format`,e=>t=>Xe(e,t)),$a(r,`flatten`,e=>t=>Ye(e,t)),$a(r,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,n,2)}),$a(r,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,n,2)}),Object.defineProperty(r,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),eo=/* @__PURE__ */ Qe(q),to=/* @__PURE__ */ $e(q),no=/* @__PURE__ */ et(q),ro=/* @__PURE__ */ nt(q),io=/* @__PURE__ */ ct(q),ao=/* @__PURE__ */ lt(q),oo=/* @__PURE__ */ ut(q),so=/* @__PURE__ */ dt(q),co=/* @__PURE__ */ ft(q),lo=/* @__PURE__ */ pt(q),uo=/* @__PURE__ */ mt(q),fo=/* @__PURE__ */ ht(q);function po(){A.localeError||j(ti())}function mo(){A.memoizer||j({memoizer:Qr()})}var J=/*@__PURE__*/ O(`ZodType`,(e,t)=>(po(),N.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(h(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return y(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(Os(e,t))},superRefine(e,t){return this.check(ks(e,t))},overwrite(e){return this.check(/* @__PURE__ */ z(e))},optional(){return us(this)},exactOptional(){return fs(this)},nullable(){return ms(this)},nullish(){return us(ms(this))},nonoptional(e){return bs(this,e)},array(){return Yo(this)},or(e){return Qo([this,e])},and(e){return ns(this,e)},transform(e){return ws(this,cs(e))},default(e){return gs(this,e)},prefault(e){return vs(this,e)},catch(e){return Ss(this,e)},pipe(e){return ws(this,e)},readonly(){return Es(this)},describe(e){let t=this.clone();return R.add(t,{description:e}),t},meta(...e){if(e.length===0)return R.get(this);let t=this.clone();return R.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return De(this,`~standard`,{...hn(this),jsonSchema:{input:_a(this,`input`),output:_a(this,`output`)}})},set"~standard"(e){T(this,`~standard`,e)},parse:function e(t,n){return eo(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await to(this,t,n,{callee:e})},safeParse(e,t){return no(this,e,t)},async safeParseAsync(e,t){return ro(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){T(this,`spa`,e)},validate(e,t){return at(this,e,t)},validateAsync(e,t){return st(this,e,t)},encode:function e(t,n){return io(this,t,n,{callee:e})},decode:function e(t,n){return ao(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await oo(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await so(this,t,n,{callee:e})},safeEncode(e,t){return co(this,e,t)},safeDecode(e,t){return lo(this,e,t)},async safeEncodeAsync(e,t){return uo(this,e,t)},async safeDecodeAsync(e,t){return fo(this,e,t)},toJSONSchema(e){return ga(this,{})(e)},get description(){return R.get(this)?.description},get _def(){return this._zod.def}}),ho=/*@__PURE__*/ O(`_ZodString`,(e,t)=>{gn.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Aa(e,t,n,r)},/*@__PURE__*/ Oe({format:e=>K(e).format??null,minLength:e=>K(e).minimum??null,maxLength:e=>K(e).maximum??null},{regex(...e){return this.check(/* @__PURE__ */ Gi(...e))},includes(...e){return this.check(/* @__PURE__ */ Ji(...e))},startsWith(...e){return this.check(/* @__PURE__ */ Yi(...e))},endsWith(...e){return this.check(/* @__PURE__ */ Xi(...e))},min(...e){return this.check(/* @__PURE__ */ Ui(...e))},max(...e){return this.check(/* @__PURE__ */ Hi(...e))},length(...e){return this.check(/* @__PURE__ */ Wi(...e))},nonempty(...e){return this.check(/* @__PURE__ */ Ui(1,...e))},lowercase(e){return this.check(/* @__PURE__ */ Ki(e))},uppercase(e){return this.check(/* @__PURE__ */ qi(e))},trim(){return this.check(/* @__PURE__ */ Qi())},normalize(...e){return this.check(/* @__PURE__ */ Zi(...e))},toLowerCase(){return this.check(/* @__PURE__ */ $i())},toUpperCase(){return this.check(/* @__PURE__ */ ea())},slugify(){return this.check(/* @__PURE__ */ ta())}})),go=/*@__PURE__*/ O(`ZodString`,(e,t)=>{gn.init(e,t),ho.init(e,t)},{email(e){return this.check(/* @__PURE__ */ si(So,e))},url(e){return this.check(/* @__PURE__ */ pi(To,e))},jwt(e){return this.check(/* @__PURE__ */ Oi(Bo,e))},emoji(e){return this.check(/* @__PURE__ */ mi(Eo,e))},guid(e){return this.check(/* @__PURE__ */ ci(Co,e))},uuid(e){return this.check(/* @__PURE__ */ li(wo,e))},uuidv4(e){return this.check(/* @__PURE__ */ ui(wo,e))},uuidv6(e){return this.check(/* @__PURE__ */ di(wo,e))},uuidv7(e){return this.check(/* @__PURE__ */ fi(wo,e))},nanoid(e){return this.check(/* @__PURE__ */ hi(Do,e))},cuid(e){return this.check(/* @__PURE__ */ gi(Oo,e))},cuid2(e){return this.check(/* @__PURE__ */ _i(ko,e))},ulid(e){return this.check(/* @__PURE__ */ vi(Ao,e))},base64(e){return this.check(/* @__PURE__ */ Ti(Lo,e))},base64url(e){return this.check(/* @__PURE__ */ Ei(Ro,e))},xid(e){return this.check(/* @__PURE__ */ yi(jo,e))},ksuid(e){return this.check(/* @__PURE__ */ bi(Mo,e))},ipv4(e){return this.check(/* @__PURE__ */ xi(No,e))},ipv6(e){return this.check(/* @__PURE__ */ Si(Po,e))},cidrv4(e){return this.check(/* @__PURE__ */ Ci(Fo,e))},cidrv6(e){return this.check(/* @__PURE__ */ wi(Io,e))},e164(e){return this.check(/* @__PURE__ */ Di(zo,e))},datetime(e){return this.check(/* @__PURE__ */ ki(vo,e))},date(e){return this.check(/* @__PURE__ */ Ai(yo,e))},time(e){return this.check(/* @__PURE__ */ ji(bo,e))},duration(e){return this.check(/* @__PURE__ */ Mi(xo,e))}});function _o(e){return/* @__PURE__ */ oi(go,e)}var Y=/*@__PURE__*/ O(`ZodStringFormat`,(e,t)=>{P.init(e,t),ho.init(e,t)}),vo=/*@__PURE__*/ O(`ZodISODateTime`,(e,t)=>{Fn.init(e,t),Y.init(e,t)}),yo=/*@__PURE__*/ O(`ZodISODate`,(e,t)=>{In.init(e,t),Y.init(e,t)}),bo=/*@__PURE__*/ O(`ZodISOTime`,(e,t)=>{Ln.init(e,t),Y.init(e,t)}),xo=/*@__PURE__*/ O(`ZodISODuration`,(e,t)=>{Rn.init(e,t),Y.init(e,t)}),So=/*@__PURE__*/ O(`ZodEmail`,(e,t)=>{yn.init(e,t),Y.init(e,t)}),Co=/*@__PURE__*/ O(`ZodGUID`,(e,t)=>{_n.init(e,t),Y.init(e,t)}),wo=/*@__PURE__*/ O(`ZodUUID`,(e,t)=>{vn.init(e,t),Y.init(e,t)}),To=/*@__PURE__*/ O(`ZodURL`,(e,t)=>{Dn.init(e,t),Y.init(e,t)}),Eo=/*@__PURE__*/ O(`ZodEmoji`,(e,t)=>{On.init(e,t),Y.init(e,t)}),Do=/*@__PURE__*/ O(`ZodNanoID`,(e,t)=>{kn.init(e,t),Y.init(e,t)}),Oo=/*@__PURE__*/ O(`ZodCUID`,(e,t)=>{An.init(e,t),Y.init(e,t)}),ko=/*@__PURE__*/ O(`ZodCUID2`,(e,t)=>{jn.init(e,t),Y.init(e,t)}),Ao=/*@__PURE__*/ O(`ZodULID`,(e,t)=>{Mn.init(e,t),Y.init(e,t)}),jo=/*@__PURE__*/ O(`ZodXID`,(e,t)=>{Nn.init(e,t),Y.init(e,t)}),Mo=/*@__PURE__*/ O(`ZodKSUID`,(e,t)=>{Pn.init(e,t),Y.init(e,t)}),No=/*@__PURE__*/ O(`ZodIPv4`,(e,t)=>{zn.init(e,t),Y.init(e,t)}),Po=/*@__PURE__*/ O(`ZodIPv6`,(e,t)=>{Hn.init(e,t),Y.init(e,t)}),Fo=/*@__PURE__*/ O(`ZodCIDRv4`,(e,t)=>{Un.init(e,t),Y.init(e,t)}),Io=/*@__PURE__*/ O(`ZodCIDRv6`,(e,t)=>{Gn.init(e,t),Y.init(e,t)}),Lo=/*@__PURE__*/ O(`ZodBase64`,(e,t)=>{Jn.init(e,t),Y.init(e,t)}),Ro=/*@__PURE__*/ O(`ZodBase64URL`,(e,t)=>{Zn.init(e,t),Y.init(e,t)}),zo=/*@__PURE__*/ O(`ZodE164`,(e,t)=>{Qn.init(e,t),Y.init(e,t)}),Bo=/*@__PURE__*/ O(`ZodJWT`,(e,t)=>{er.init(e,t),Y.init(e,t)}),Vo=/*@__PURE__*/ O(`ZodNumber`,(e,t)=>{tr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ja(e,t,n,r),e.isFinite=!0},/*@__PURE__*/ Oe({minValue:e=>{let{minimum:t,exclusiveMinimum:n}=K(e);return Math.max(t??-1/0,n??-1/0)},maxValue:e=>{let{maximum:t,exclusiveMaximum:n}=K(e);return Math.min(t??1/0,n??1/0)},isInt:e=>{let{isInt:t,multipleOf:n}=K(e);return!!t||!!n?.some(Number.isSafeInteger)},format:e=>K(e).format??null},{gt(e,t){return this.check(/* @__PURE__ */ zi(e,t))},gte(e,t){return this.check(/* @__PURE__ */ Bi(e,t))},min(e,t){return this.check(/* @__PURE__ */ Bi(e,t))},lt(e,t){return this.check(/* @__PURE__ */ Li(e,t))},lte(e,t){return this.check(/* @__PURE__ */ Ri(e,t))},max(e,t){return this.check(/* @__PURE__ */ Ri(e,t))},int(e){return this.check(Uo(e))},safe(e){return this.check(Uo(e))},positive(e){return this.check(/* @__PURE__ */ zi(0,e))},nonnegative(e){return this.check(/* @__PURE__ */ Bi(0,e))},negative(e){return this.check(/* @__PURE__ */ Li(0,e))},nonpositive(e){return this.check(/* @__PURE__ */ Ri(0,e))},multipleOf(e,t){return this.check(/* @__PURE__ */ Vi(e,t))},step(e,t){return this.check(/* @__PURE__ */ Vi(e,t))},finite(){return this}}));function X(e){return/* @__PURE__ */ Ni(Vo,e)}var Ho=/*@__PURE__*/ O(`ZodNumberFormat`,(e,t)=>{nr.init(e,t),Vo.init(e,t)});function Uo(e){return/* @__PURE__ */ Pi(Ho,e)}var Wo=/*@__PURE__*/ O(`ZodUnknown`,(e,t)=>{rr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Go(){return/* @__PURE__ */ Fi(Wo)}var Ko=/*@__PURE__*/ O(`ZodNever`,(e,t)=>{ir.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ma(e,t,n,r)});function qo(e){return/* @__PURE__ */ Ii(Ko,e)}var Jo=/*@__PURE__*/ O(`ZodArray`,(e,t)=>{mo(),or.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>La(e,t,n,r),e.element=t.element},{min(e,t){return this.check(/* @__PURE__ */ Ui(e,t))},nonempty(e){return this.check(/* @__PURE__ */ Ui(1,e))},max(e,t){return this.check(/* @__PURE__ */ Hi(e,t))},length(e,t){return this.check(/* @__PURE__ */ Wi(e,t))},unwrap(){return this.element}});function Yo(e,t){return/* @__PURE__ */ na(Jo,e,t)}var Xo=/*@__PURE__*/ O(`ZodObject`,(e,t)=>{mo(),fr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>za(e,t,n,r),Ne(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return is(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(h(this._zod.def,{catchall:e}))},passthrough(){return this.clone(h(this._zod.def,{catchall:Go()}))},loose(){return this.clone(h(this._zod.def,{catchall:Go()}))},strict(){return this.clone(h(this._zod.def,{catchall:qo()}))},strip(){return this.clone(h(this._zod.def,{catchall:void 0}))},extend(e){return pe(this,e)},safeExtend(e){return he(this,e)},merge(e){return ge(this,e)},pick(e){return ue(this,e)},omit(e){return fe(this,e)},partial(...e){return _e(ls,this,e[0])},exactPartial(...e){return _e(ds,this,e[0],`exactPartial`)},required(...e){return ve(ys,this,e[0])}});function Z(e,t){return new Xo({type:`object`,shape:e??{},...b(t)})}var Zo=/*@__PURE__*/ O(`ZodUnion`,(e,t)=>{mr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ba(e,t,n,r),e.options=t.options});function Qo(e,t){return new Zo({type:`union`,options:e,...b(t)})}var $o=/*@__PURE__*/ O(`ZodDiscriminatedUnion`,(e,t)=>{Zo.init(e,t),gr.init(e,t)});function es(e,t,n){return new $o({type:`union`,options:t,discriminator:e,...b(n)})}var ts=/*@__PURE__*/ O(`ZodIntersection`,(e,t)=>{_r.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Va(e,t,n,r)});function ns(e,t){return new ts({type:`intersection`,left:e,right:t})}var rs=/*@__PURE__*/ O(`ZodEnum`,(e,t)=>{br.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Na(e,t,n,r),e.enum=t.entries,e.options=[...e._zod.values];let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new rs({...t,checks:[],...b(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new rs({...t,checks:[],...b(r),entries:i})}});function is(e,t){return new rs({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...b(t)})}var as=/*@__PURE__*/ O(`ZodLiteral`,(e,t)=>{xr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pa(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function os(e,t){return new as({type:`literal`,values:Array.isArray(e)?e:[e],...b(t)})}var ss=/*@__PURE__*/ O(`ZodTransform`,(e,t)=>{mo(),Sr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ia(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Be(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(w(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,`input`in t||(t.input=n.value),t.inst??=e,n.issues.push(w(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function cs(e){return new ss({type:`transform`,transform:e})}var ls=/*@__PURE__*/ O(`ZodOptional`,(e,t)=>{wr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Za(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function us(e){return new ls({type:`optional`,innerType:e})}var ds=/*@__PURE__*/ O(`ZodExactOptional`,(e,t)=>{Tr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Za(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function fs(e){return new ds({type:`optional`,innerType:e})}var ps=/*@__PURE__*/ O(`ZodNullable`,(e,t)=>{Er.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ha(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ms(e){return new ps({type:`nullable`,innerType:e})}var hs=/*@__PURE__*/ O(`ZodDefault`,(e,t)=>{Dr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ka(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function gs(e,t){return new hs({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():ie(t)}})}var _s=/*@__PURE__*/ O(`ZodPrefault`,(e,t)=>{kr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function vs(e,t){return new _s({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():ie(t)}})}var ys=/*@__PURE__*/ O(`ZodNonOptional`,(e,t)=>{Ar.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ua(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function bs(e,t){return new ys({type:`nonoptional`,innerType:e,...b(t)})}var xs=/*@__PURE__*/ O(`ZodCatch`,(e,t)=>{Nr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ja(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Ss(e,t){return new xs({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:Fe(t)})}var Cs=/*@__PURE__*/ O(`ZodPipe`,(e,t)=>{Pr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ya(e,t,n,r),e.in=t.in,e.out=t.out});function ws(e,t){return new Cs({type:`pipe`,in:e,out:t})}var Ts=/*@__PURE__*/ O(`ZodReadonly`,(e,t)=>{Fr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Es(e){return new Ts({type:`readonly`,innerType:e})}var Ds=/*@__PURE__*/ O(`ZodCustom`,(e,t)=>{Lr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fa(e,t,n,r)});function Os(e,t={}){return/* @__PURE__ */ ra(Ds,e,t)}function ks(e,t){return/* @__PURE__ */ ia(e,t)}var As=new TextEncoder;function Q(e,{prefix:t,required:n=!1}={}){return _o().refine(r=>(!n||r!==``)&&(!t||r===``||r.startsWith(t))&&As.encode(r).length<=e)}var js=16384,Ms=2048,Ns=2048,Ps=1024,Fs=4096,Is=1e3,Ls=2e3,Rs=1e6,zs=1e5,Bs=new TextEncoder,Vs=X().min(0).max(Rs),$=X().min(-Rs).max(Rs),Hs=X().min(0).max(Rs),Us=Z({x:X().min(0).max(1),y:X().min(0).max(1)}).strict(),Ws=Z({pathname:Q(Ms,{prefix:`/`,required:!0}),search:Q(Ns,{prefix:`?`}),hash:Q(Ps,{prefix:`#`})}).strict(),Gs=Z({x:Vs,y:Vs,width:Hs,height:Hs}).strict();Z({x:$,y:$}).strict();var Ks=Z({width:X().min(1).max(zs),height:X().min(1).max(zs),scrollX:Vs,scrollY:Vs}).strict(),qs=Z({schemaVersion:os(1),kind:os(`element`),route:Ws,selector:Q(Fs,{required:!0}),accessibleName:Q(Is),tagName:Q(64,{required:!0}).regex(/^[a-z][a-z0-9-]*$/),selectedText:Q(Ls),rect:Gs,viewport:Ks,elementOffset:Us}).strict().refine(e=>Bs.encode(JSON.stringify(e)).length<=js),Js=Z({selector:Q(Fs,{required:!0}),accessibleName:Q(Is),tagName:Q(64,{required:!0}).regex(/^[a-z][a-z0-9-]*$/),role:Q(64),textExcerpt:Q(500),rect:Gs}).strict(),Ys=es(`kind`,[qs,Z({schemaVersion:os(1),kind:os(`area`),route:Ws,path:Yo(Us).min(2).max(160),rect:Gs,viewport:Ks,elements:Yo(Js).max(8)}).strict().refine(e=>Math.hypot(e.rect.width,e.rect.height)>=8).refine(e=>Bs.encode(JSON.stringify(e)).length<=js)]);es(`status`,[Z({commentId:X().int().positive().max(2**53-1),status:is([`resolved`,`moved`]),rect:Z({x:$,y:$,width:Hs,height:Hs}).strict(),point:Z({x:$,y:$}).strict()}).strict(),Z({commentId:X().int().positive().max(2**53-1),status:is([`changed`,`missing`,`route-mismatch`])}).strict()]);function Xs(e){return Ys.parse(e)}export{Xs as validateAnchor}; \ No newline at end of file diff --git a/.github/extensions/replica-prototype/capture-review-revision/index.mjs b/.github/extensions/replica-prototype/capture-review-revision/index.mjs new file mode 100644 index 00000000..56422f37 --- /dev/null +++ b/.github/extensions/replica-prototype/capture-review-revision/index.mjs @@ -0,0 +1,97 @@ +import { mkdtemp, rm } from "node:fs/promises" +import path from "node:path" + +import { runCommand } from "../run-command/index.mjs" + +export async function captureReviewRevision(context) { + const gitDirectory = await runCommand( + "git", + ["rev-parse", "--absolute-git-dir"], + context.repositoryPath, + ) + if (!gitDirectory.ok) throw new Error("Could not locate the local review Git directory.") + const directory = await mkdtemp(path.join(gitDirectory.stdout.trim(), "replica-review-")) + const env = { ...process.env, GIT_INDEX_FILE: path.join(directory, "index") } + const config = ["-c", "core.fsmonitor=false", "-c", "core.hooksPath=/dev/null"] + async function git(args, optional = false) { + const result = await runCommand("git", [...config, ...args], context.repositoryPath, { env }) + if (!result.ok && !(optional && result.exitCode === 1)) + throw new Error(`Could not capture the local review revision: ${result.error}`) + return result + } + try { + // Snapshotting must not execute repository-defined clean filters or filter processes. + const filters = await git( + ["config", "--name-only", "--get-regexp", "^filter\\..*\\.(clean|process|required)$"], + true, + ) + for (const key of filters.stdout.trim().split("\n").filter(Boolean)) { + config.push("-c", `${key}=${key.endsWith(".required") ? "false" : ""}`) + } + const head = (await git(["rev-parse", "HEAD"])).stdout.trim() + const branch = (await git(["branch", "--show-current"])).stdout.trim() + const headTree = (await git(["rev-parse", "HEAD^{tree}"])).stdout.trim() + if (!/^[0-9a-f]{40}$/.test(head) || !branch) + throw new Error("Open a committed, named branch before commenting.") + await git(["read-tree", head]) + const files = ( + await git(["ls-files", "-z", "--cached", "--others", "--exclude-standard"]) + ).stdout + .split("\0") + .filter(Boolean) + for (let offset = 0; offset < files.length; offset += 100) { + const attributes = ( + await git([ + "--literal-pathspecs", + "check-attr", + "-z", + "filter", + "--", + ...files.slice(offset, offset + 100), + ]) + ).stdout.split("\0") + for (let index = 2; index < attributes.length; index += 3) { + if (!["unspecified", "unset"].includes(attributes[index])) + throw new Error("Local review revisions do not support Git clean filters.") + } + } + const submodules = await git([ + "diff", + "--no-ext-diff", + "--no-textconv", + "--ignore-submodules=none", + "--name-only", + "-z", + "--diff-filter=M", + head, + "--", + ]) + const changedPaths = new Set(submodules.stdout.split("\0")) + const entries = (await git(["ls-files", "--stage", "-z"])).stdout + if ( + entries + .split("\0") + .some( + (entry) => + entry.startsWith("160000 ") && changedPaths.has(entry.slice(entry.indexOf("\t") + 1)), + ) + ) + throw new Error("Commit or discard submodule changes before commenting on this preview.") + await git(["add", "--all", "--", "."]) + const treeSha = (await git(["write-tree"])).stdout.trim() + const currentHead = (await git(["rev-parse", "HEAD"])).stdout.trim() + const currentBranch = (await git(["branch", "--show-current"])).stdout.trim() + const remaining = await git( + ["diff", "--no-ext-diff", "--no-textconv", "--quiet", "--ignore-submodules=none"], + true, + ) + const untracked = (await git(["ls-files", "--others", "--exclude-standard"])).stdout + if (currentHead !== head || currentBranch !== branch || !remaining.ok || untracked) + throw new Error("The checkout changed while capturing this review revision. Try again.") + if (!/^[0-9a-f]{40}$/.test(treeSha)) + throw new Error("Could not verify the local review source tree.") + return { treeSha, commitSha: head, clean: treeSha === headTree } + } finally { + await rm(directory, { recursive: true, force: true }) + } +} diff --git a/.github/extensions/replica-prototype/capture-review-revision/index.test.mjs b/.github/extensions/replica-prototype/capture-review-revision/index.test.mjs new file mode 100644 index 00000000..80d7b71d --- /dev/null +++ b/.github/extensions/replica-prototype/capture-review-revision/index.test.mjs @@ -0,0 +1,142 @@ +import assert from "node:assert/strict" +import { execFileSync } from "node:child_process" +import { randomUUID } from "node:crypto" +import { mkdir, readFile, rm, writeFile } from "node:fs/promises" +import path from "node:path" +import { describe, it } from "node:test" + +import { captureReviewRevision } from "./index.mjs" + +async function withRepository(run) { + const workspace = path.join(process.cwd(), "storage/replica-extension-tests", randomUUID()) + const repositoryPath = path.join(workspace, "repository") + await mkdir(repositoryPath, { recursive: true }) + function git(...args) { + return execFileSync("git", args, { + cwd: repositoryPath, + encoding: "utf8", + stdio: "pipe", + }).trim() + } + try { + git("init", "-q", "-b", "prototype") + git("config", "user.name", "Replica") + git("config", "user.email", "replica@example.com") + git("config", "commit.gpgsign", "false") + await writeFile(path.join(repositoryPath, "tracked.txt"), "original\n") + await writeFile(path.join(repositoryPath, ".gitignore"), "ignored.txt\n") + git("add", ".") + git("commit", "-qm", "Fixture") + await run({ repositoryPath }, git, workspace) + } finally { + await rm(workspace, { recursive: true, force: true }) + } +} + +describe("captureReviewRevision()", () => { + it("returns the actual HEAD tree and commit for a clean checkout and excludes ignored files", async () => { + await withRepository(async (context, git) => { + await writeFile(path.join(context.repositoryPath, "ignored.txt"), "local secret\n") + + const revision = await captureReviewRevision(context) + + assert.deepEqual(revision, { + treeSha: git("rev-parse", "HEAD^{tree}"), + commitSha: git("rev-parse", "HEAD"), + clean: true, + }) + await writeFile(path.join(context.repositoryPath, "ignored.txt"), "changed secret\n") + assert.deepEqual(await captureReviewRevision(context), revision) + }) + }) + + it("captures working-tree contents rather than staged contents without changing the real index", async () => { + await withRepository(async (context, git) => { + const tracked = path.join(context.repositoryPath, "tracked.txt") + await writeFile(tracked, "staged\n") + git("add", "tracked.txt") + const indexPath = path.join(context.repositoryPath, ".git/index") + const stagedTree = git("write-tree") + const index = await readFile(indexPath) + const stagedRevision = await captureReviewRevision(context) + assert.equal(stagedRevision.treeSha, stagedTree) + assert.equal(stagedRevision.clean, false) + assert.deepEqual(await readFile(indexPath), index) + await writeFile(tracked, "unstaged after staging\n") + + const revision = await captureReviewRevision(context) + + assert.equal(revision.clean, false) + assert.equal(revision.commitSha, git("rev-parse", "HEAD")) + assert.notEqual(revision.treeSha, stagedTree) + assert.notEqual(revision.treeSha, git("rev-parse", "HEAD^{tree}")) + assert.equal(git("show", `${revision.treeSha}:tracked.txt`), "unstaged after staging") + assert.deepEqual(await readFile(indexPath), index) + assert.equal(git("write-tree"), stagedTree) + assert.deepEqual(await captureReviewRevision(context), revision) + }) + }) + + it("includes nonignored untracked files even when Git status hides them", async () => { + await withRepository(async (context, git) => { + git("config", "status.showUntrackedFiles", "no") + const originalTree = git("rev-parse", "HEAD^{tree}") + await writeFile(path.join(context.repositoryPath, "new file.txt"), "new contents\n") + + const revision = await captureReviewRevision(context) + + assert.equal(revision.clean, false) + assert.notEqual(revision.treeSha, originalTree) + assert.equal(git("show", `${revision.treeSha}:new file.txt`), "new contents") + assert.equal(git("diff", "--cached"), "") + await rm(path.join(context.repositoryPath, "new file.txt")) + assert.equal((await captureReviewRevision(context)).treeSha, originalTree) + }) + }) + + it("records tracked deletions without staging them", async () => { + await withRepository(async (context, git) => { + await rm(path.join(context.repositoryPath, "tracked.txt")) + + const revision = await captureReviewRevision(context) + + assert.equal(revision.clean, false) + assert.notEqual(revision.treeSha, git("rev-parse", "HEAD^{tree}")) + assert.equal(git("ls-tree", "--name-only", revision.treeSha, "tracked.txt"), "") + assert.equal(git("diff", "--cached"), "") + }) + }) + + it("rejects dirty submodules instead of claiming their unchanged gitlink identifies the preview", async () => { + await withRepository(async (context, git, workspace) => { + const source = path.join(workspace, "submodule-source") + await mkdir(source) + execFileSync("git", ["init", "-q", source], { stdio: "pipe" }) + await writeFile(path.join(source, "component.txt"), "original\n") + execFileSync("git", ["-C", source, "add", "."], { stdio: "pipe" }) + execFileSync( + "git", + [ + "-C", + source, + "-c", + "user.name=Replica", + "-c", + "user.email=replica@example.com", + "-c", + "commit.gpgsign=false", + "commit", + "-qm", + "Submodule fixture", + ], + { stdio: "pipe" }, + ) + git("-c", "protocol.file.allow=always", "submodule", "add", source, "component") + git("commit", "-qm", "Add submodule") + assert.equal((await captureReviewRevision(context)).clean, true) + await writeFile(path.join(context.repositoryPath, "component/component.txt"), "dirty\n") + + await assert.rejects(() => captureReviewRevision(context), /submodule/i) + }) + }) +}) diff --git a/.github/extensions/replica-prototype/hub-client/authorization.test.mjs b/.github/extensions/replica-prototype/create-hub-client/authorization.test.mjs similarity index 100% rename from .github/extensions/replica-prototype/hub-client/authorization.test.mjs rename to .github/extensions/replica-prototype/create-hub-client/authorization.test.mjs diff --git a/.github/extensions/replica-prototype/hub-client/automatic-registration.test.mjs b/.github/extensions/replica-prototype/create-hub-client/automatic-registration.test.mjs similarity index 100% rename from .github/extensions/replica-prototype/hub-client/automatic-registration.test.mjs rename to .github/extensions/replica-prototype/create-hub-client/automatic-registration.test.mjs diff --git a/.github/extensions/replica-prototype/hub-client/fresh-authorization.test.mjs b/.github/extensions/replica-prototype/create-hub-client/fresh-authorization.test.mjs similarity index 100% rename from .github/extensions/replica-prototype/hub-client/fresh-authorization.test.mjs rename to .github/extensions/replica-prototype/create-hub-client/fresh-authorization.test.mjs diff --git a/.github/extensions/replica-prototype/hub-client/index.mjs b/.github/extensions/replica-prototype/create-hub-client/index.mjs similarity index 95% rename from .github/extensions/replica-prototype/hub-client/index.mjs rename to .github/extensions/replica-prototype/create-hub-client/index.mjs index 81d658ff..fa6c012e 100644 --- a/.github/extensions/replica-prototype/hub-client/index.mjs +++ b/.github/extensions/replica-prototype/create-hub-client/index.mjs @@ -5,41 +5,7 @@ import path from "node:path" import { readCanvasRepository } from "../read-canvas-repository/index.mjs" import { runCommand } from "../run-command/index.mjs" import { createPrivateStore } from "../private-store/index.mjs" - -export class InvalidHubOrigin extends Error {} - -function parseHubUrl(value, name) { - let origin - try { - origin = new URL(value) - } catch { - throw new InvalidHubOrigin(`${name} must be an HTTP or HTTPS origin without credentials.`) - } - if (!["http:", "https:"].includes(origin.protocol) || origin.username || origin.password) { - throw new InvalidHubOrigin(`${name} must be an HTTP or HTTPS origin without credentials.`) - } - if ( - origin.protocol === "http:" && - origin.hostname !== "localhost" && - origin.hostname !== "127.0.0.1" && - !origin.hostname.endsWith(".localhost") - ) { - throw new InvalidHubOrigin("Remote Replica Hub connections require HTTPS.") - } - return origin -} - -export function normalizeHubOrigin(value, name = "REPLICA_HUB_ORIGIN") { - const origin = parseHubUrl(value, name) - if (origin.pathname !== "/" || origin.search || origin.hash) { - throw new InvalidHubOrigin(`${name} must be an HTTP or HTTPS origin without credentials.`) - } - return origin.origin -} - -export function normalizeSelectedHubOrigin(value) { - return parseHubUrl(value, "Hub URL").origin -} +import { normalizeHubOrigin } from "../normalize-hub-origin/index.mjs" function registrationReason(value) { if (value == null) return undefined @@ -311,6 +277,10 @@ export function createHubClient(context, options = {}) { return { origin: origin.origin, checkout, + async connectionKey(repository) { + const credential = await credentialFor(repository) + return credential ? connectionIdentity(credential) : null + }, async status({ register = true, expectedTarget, connectionScope } = {}) { const target = await checkout() if (!target.repository) { @@ -356,7 +326,9 @@ export function createHubClient(context, options = {}) { return { state: "undiscovered", repositoryAuthorized: true, + reviewConnectionId: connectionIdentity(credential), canPublish: connection.canPublish, + viewerLogin: connection.viewerLogin, ...connectionViewer(connection), repository: target.repository, commitSha: target.commitSha, @@ -378,7 +350,9 @@ export function createHubClient(context, options = {}) { return { state: "undiscovered", repositoryAuthorized: true, + reviewConnectionId: connectionIdentity(credential), canPublish: connection.canPublish, + viewerLogin: connection.viewerLogin, ...connectionViewer(connection), repository: target.repository, branch: target.branch, @@ -431,6 +405,7 @@ export function createHubClient(context, options = {}) { return { state: "connected", repositoryAuthorized: true, + reviewConnectionId: connectionIdentity(credential), repository: target.repository, branch: target.branch, commitSha: target.commitSha, @@ -629,7 +604,10 @@ export function createHubClient(context, options = {}) { ) ) throw new Error("Hub returned invalid learnings.") - return { text: result.text, memories: memories.map(({ id, digest }) => ({ id, digest })) } + return { + text: result.text, + memories: memories.map(({ id, digest }) => ({ id, digest })), + } }, async activity() { const { target, credential } = await connected() diff --git a/.github/extensions/replica-prototype/hub-client/index.test.mjs b/.github/extensions/replica-prototype/create-hub-client/index.test.mjs similarity index 98% rename from .github/extensions/replica-prototype/hub-client/index.test.mjs rename to .github/extensions/replica-prototype/create-hub-client/index.test.mjs index 5f1c7cd1..0ed6da8d 100644 --- a/.github/extensions/replica-prototype/hub-client/index.test.mjs +++ b/.github/extensions/replica-prototype/create-hub-client/index.test.mjs @@ -7,12 +7,11 @@ import path from "node:path" import { describe, it } from "node:test" import { createCanvasContext, currentCanvasContext } from "../create-canvas-context/index.mjs" -import { - createHubClient, - InvalidHubOrigin, - normalizeHubOrigin, - normalizeSelectedHubOrigin, -} from "./index.mjs" +import { InvalidHubOrigin } from "../invalid-hub-origin/index.mjs" +import { normalizeHubOrigin } from "../normalize-hub-origin/index.mjs" +import { normalizeSelectedHubOrigin } from "../normalize-selected-hub-origin/index.mjs" + +import { createHubClient } from "./index.mjs" describe("normalizeSelectedHubOrigin()", () => { it("converts manually selected Hub URLs to origins and preserves ports", () => { diff --git a/.github/extensions/replica-prototype/hub-client/rate-limits.test.mjs b/.github/extensions/replica-prototype/create-hub-client/rate-limits.test.mjs similarity index 100% rename from .github/extensions/replica-prototype/hub-client/rate-limits.test.mjs rename to .github/extensions/replica-prototype/create-hub-client/rate-limits.test.mjs diff --git a/.github/extensions/replica-prototype/hub-client/renewal.test.mjs b/.github/extensions/replica-prototype/create-hub-client/renewal.test.mjs similarity index 100% rename from .github/extensions/replica-prototype/hub-client/renewal.test.mjs rename to .github/extensions/replica-prototype/create-hub-client/renewal.test.mjs diff --git a/.github/extensions/replica-prototype/hub-connection/index.mjs b/.github/extensions/replica-prototype/create-hub-connection/index.mjs similarity index 91% rename from .github/extensions/replica-prototype/hub-connection/index.mjs rename to .github/extensions/replica-prototype/create-hub-connection/index.mjs index ce4133b7..2308a5b8 100644 --- a/.github/extensions/replica-prototype/hub-connection/index.mjs +++ b/.github/extensions/replica-prototype/create-hub-connection/index.mjs @@ -1,9 +1,7 @@ -import { - createHubClient, - InvalidHubOrigin, - normalizeSelectedHubOrigin, -} from "../hub-client/index.mjs" -import { createHubOriginStore } from "../hub-origin-store/index.mjs" +import { createHubClient } from "../create-hub-client/index.mjs" +import { InvalidHubOrigin } from "../invalid-hub-origin/index.mjs" +import { normalizeSelectedHubOrigin } from "../normalize-selected-hub-origin/index.mjs" +import { createHubOriginStore } from "../create-hub-origin-store/index.mjs" import { discoverHub } from "../discover-hub/index.mjs" import { readCanvasRepository } from "../read-canvas-repository/index.mjs" diff --git a/.github/extensions/replica-prototype/hub-origin-store/index.mjs b/.github/extensions/replica-prototype/create-hub-origin-store/index.mjs similarity index 95% rename from .github/extensions/replica-prototype/hub-origin-store/index.mjs rename to .github/extensions/replica-prototype/create-hub-origin-store/index.mjs index 88b3c3a6..a4fced73 100644 --- a/.github/extensions/replica-prototype/hub-origin-store/index.mjs +++ b/.github/extensions/replica-prototype/create-hub-origin-store/index.mjs @@ -2,7 +2,7 @@ import { createHash } from "node:crypto" import os from "node:os" import path from "node:path" -import { normalizeHubOrigin } from "../hub-client/index.mjs" +import { normalizeHubOrigin } from "../normalize-hub-origin/index.mjs" import { createPrivateStore } from "../private-store/index.mjs" export function createHubOriginStore(options = {}) { diff --git a/.github/extensions/replica-prototype/hub-origin-store/index.test.mjs b/.github/extensions/replica-prototype/create-hub-origin-store/index.test.mjs similarity index 95% rename from .github/extensions/replica-prototype/hub-origin-store/index.test.mjs rename to .github/extensions/replica-prototype/create-hub-origin-store/index.test.mjs index 3ec18b36..f84e070f 100644 --- a/.github/extensions/replica-prototype/hub-origin-store/index.test.mjs +++ b/.github/extensions/replica-prototype/create-hub-origin-store/index.test.mjs @@ -4,7 +4,7 @@ import { readdir, readFile, rm, writeFile } from "node:fs/promises" import path from "node:path" import { describe, it } from "node:test" -import { InvalidHubOrigin } from "../hub-client/index.mjs" +import { InvalidHubOrigin } from "../invalid-hub-origin/index.mjs" import { createHubOriginStore } from "./index.mjs" describe("createHubOriginStore()", () => { diff --git a/.github/extensions/replica-prototype/recall-learnings/index.mjs b/.github/extensions/replica-prototype/create-learnings-hook/index.mjs similarity index 98% rename from .github/extensions/replica-prototype/recall-learnings/index.mjs rename to .github/extensions/replica-prototype/create-learnings-hook/index.mjs index 1d9fd6ef..c3e6b81f 100644 --- a/.github/extensions/replica-prototype/recall-learnings/index.mjs +++ b/.github/extensions/replica-prototype/create-learnings-hook/index.mjs @@ -1,7 +1,7 @@ import path from "node:path" -import { createHubClient } from "../hub-client/index.mjs" -import { createHubOriginStore } from "../hub-origin-store/index.mjs" +import { createHubClient } from "../create-hub-client/index.mjs" +import { createHubOriginStore } from "../create-hub-origin-store/index.mjs" import { readCanvasRepository } from "../read-canvas-repository/index.mjs" const TIMEOUT_MS = 3_000 diff --git a/.github/extensions/replica-prototype/recall-learnings/index.test.mjs b/.github/extensions/replica-prototype/create-learnings-hook/index.test.mjs similarity index 100% rename from .github/extensions/replica-prototype/recall-learnings/index.test.mjs rename to .github/extensions/replica-prototype/create-learnings-hook/index.test.mjs diff --git a/.github/extensions/replica-prototype/create-local-review-comments/index.mjs b/.github/extensions/replica-prototype/create-local-review-comments/index.mjs new file mode 100644 index 00000000..d237c0f5 --- /dev/null +++ b/.github/extensions/replica-prototype/create-local-review-comments/index.mjs @@ -0,0 +1,219 @@ +import { createHash, randomBytes } from "node:crypto" +import os from "node:os" +import path from "node:path" +import { isDeepStrictEqual } from "node:util" + +import { createPrivateStore } from "../private-store/index.mjs" +import { runCommand } from "../run-command/index.mjs" + +export function createLocalReviewComments(context, options = {}) { + const store = createPrivateStore( + options.directory || path.join(os.homedir(), ".config", "replica", "canvas", "local-comments"), + ) + function filename(scope) { + if (!scope.hubOrigin || !scope.repository || !scope.branch || !scope.viewerLogin) + throw new Error("Connect to a named branch before saving local comments.") + return `${createHash("sha256") + .update( + JSON.stringify([ + context.repositoryPath, + scope.hubOrigin, + scope.repository, + scope.branch, + scope.viewerLogin, + ]), + ) + .digest("hex")}.json` + } + function validateBody(body) { + if (typeof body !== "string" || !body.trim() || Buffer.byteLength(body) > 10_000) + throw Object.assign(new Error("Comments must contain between 1 and 10000 bytes."), { + statusCode: 422, + }) + return body.trim() + } + async function entries(scope) { + return (await store.read(filename(scope))) || [] + } + async function mutate(scope, action) { + const file = filename(scope) + return store.lock(file, async () => { + const drafts = await entries(scope) + const result = await action(drafts) + await store.write(file, drafts) + return result + }) + } + function editable(drafts, id, discarding = false) { + const draft = drafts.find((entry) => entry.comment.id === Number(id)) + if (!draft) + throw Object.assign(new Error("Local comment not found."), { + statusCode: 404, + }) + if (draft.sendingAt && !discarding) + throw new Error("Check Hub before changing this comment: its upload could not be confirmed.") + return draft + } + return { + async list(scope) { + return (await entries(scope)).map((entry) => ({ + ...entry.comment, + viewerCanEdit: !entry.sendingAt, + })) + }, + async create(scope, revision, attributes) { + const body = validateBody(attributes.body) + if ( + !Number.isSafeInteger(revision.id) || + revision.id < 1 || + !/^[0-9a-f]{40}$/.test(revision.treeSha) || + !attributes.anchor || + !["element", "area"].includes(attributes.anchor.kind) + ) + throw Object.assign(new Error("Select a valid local preview target."), { + statusCode: 422, + }) + return mutate(scope, (drafts) => { + const now = new Date().toISOString() + const comment = { + id: 2 ** 48 + randomBytes(6).readUIntBE(0, 6), + kind: "root", + body, + anchor: attributes.anchor, + buildNumber: null, + buildPath: null, + draftRevisionId: revision.id, + createdAt: now, + updatedAt: now, + editedAt: null, + deletedAt: null, + author: { login: scope.viewerLogin, name: null, avatarUrl: null }, + viewerCanEdit: true, + viewerCanDelete: true, + reactions: [], + resolvedAt: null, + resolvedBy: null, + activityVersion: 1, + viewerLastSeenActivityVersion: 1, + } + drafts.push({ + treeSha: revision.treeSha, + prototypeId: revision.prototypeId ?? null, + comment, + }) + return comment + }) + }, + async update(scope, id, body) { + const text = validateBody(body) + return mutate(scope, (drafts) => { + const draft = editable(drafts, id) + const now = new Date().toISOString() + draft.comment = { + ...draft.comment, + body: text, + editedAt: now, + updatedAt: now, + } + return draft.comment + }) + }, + async remove(scope, id) { + return mutate(scope, (drafts) => { + const draft = editable(drafts, id, true) + drafts.splice(drafts.indexOf(draft), 1) + return { + ...draft.comment, + body: null, + deletedAt: new Date().toISOString(), + } + }) + }, + async sync(scope, build, hub) { + if (!(await entries(scope)).length) return + if (!/^[0-9a-f]{40}$/.test(build.commitSha)) + throw new Error("Hub returned an invalid Build commit.") + if (!Number.isFinite(Date.parse(build.publishedAt))) + throw new Error("Hub did not return the Build publication time.") + const tree = await runCommand( + "git", + ["rev-parse", `${build.commitSha}^{tree}`], + context.repositoryPath, + ) + if (!tree.ok) throw new Error("Fetch the published Build commit to sync local comments.") + const file = filename(scope) + await store.lock(file, async () => { + const drafts = await entries(scope) + const base = `/api/canvas/repositories/${build.repositoryId}/prototypes/${build.prototypeId}/review_comments` + for (const draft of [...drafts]) { + if (draft.prototypeId !== null && draft.prototypeId !== build.prototypeId) continue + if (draft.treeSha !== tree.stdout.trim()) continue + if (Date.parse(build.publishedAt) < Date.parse(draft.comment.createdAt)) continue + if (draft.sendingAt) { + const remote = [] + let cursor + do { + const page = await hub.request( + `${base}${cursor ? `?cursor=${encodeURIComponent(cursor)}` : ""}`, + { + expectedTarget: scope, + connectionScope: { identity: scope.connectionId }, + }, + ) + remote.push(...page.comments) + cursor = page.hasMore ? page.nextCursor : null + } while (cursor) + const saved = remote.some( + (comment) => + comment.kind === "root" && + comment.buildNumber === draft.sendingBuildNumber && + comment.author.login === scope.viewerLogin && + comment.body === draft.comment.body && + isDeepStrictEqual(comment.anchor, draft.comment.anchor) && + Date.parse(comment.createdAt) >= Date.parse(draft.sendingAt) - 1000, + ) + if (!saved) + throw new Error( + "A local comment upload could not be confirmed. Check the published review, then discard the local copy before saving it again if needed.", + ) + } else { + draft.sendingAt = new Date().toISOString() + draft.sendingBuildNumber = build.number + await store.write(file, drafts) + try { + const result = await hub.request(base, { + method: "POST", + interactive: true, + expectedTarget: scope, + connectionScope: { identity: scope.connectionId }, + body: { + review_comment: { + build_number: build.number, + body: draft.comment.body, + anchor: draft.comment.anchor, + }, + }, + }) + if ( + !result.comments?.some( + (comment) => comment.kind === "root" && comment.buildNumber === build.number, + ) + ) + throw new Error("Hub did not confirm the saved comment.") + } catch (error) { + // An HTTP rejection confirms no save; transport failures require reconciliation. + if (error.statusCode >= 400 && error.statusCode < 500) { + delete draft.sendingAt + delete draft.sendingBuildNumber + await store.write(file, drafts) + } + throw error + } + } + drafts.splice(drafts.indexOf(draft), 1) + await store.write(file, drafts) + } + }) + }, + } +} diff --git a/.github/extensions/replica-prototype/create-local-review-comments/index.test.mjs b/.github/extensions/replica-prototype/create-local-review-comments/index.test.mjs new file mode 100644 index 00000000..592e28d9 --- /dev/null +++ b/.github/extensions/replica-prototype/create-local-review-comments/index.test.mjs @@ -0,0 +1,307 @@ +import assert from "node:assert/strict" +import { execFileSync } from "node:child_process" +import { writeFile } from "node:fs/promises" +import path from "node:path" +import { describe, it } from "node:test" + +import { createLocalReviewComments } from "./index.mjs" +import { withContext } from "../test-support/with-context/index.mjs" + +function git(context, ...args) { + return execFileSync("git", args, { + cwd: context.repositoryPath, + encoding: "utf8", + }).trim() +} + +function revision(context) { + const treeSha = git(context, "rev-parse", "HEAD^{tree}") + return { id: Number.parseInt(treeSha.slice(0, 12), 16), treeSha } +} + +function localComments(context) { + return createLocalReviewComments(context, { + directory: path.join(context.repositoryPath, ".git", "local-review-comments"), + }) +} + +function build(context) { + return { + repositoryId: 5, + prototypeId: 4, + number: 7, + commitSha: git(context, "rev-parse", "HEAD"), + publishedAt: "2099-01-01T00:00:00Z", + } +} + +function fixture(context) { + return { + scope: { + hubOrigin: "https://hub.example.com", + repository: "github/replica", + branch: "prototype", + viewerLogin: "octocat", + }, + comments: localComments(context), + captured: revision(context), + } +} + +describe("createLocalReviewComments()", () => { + it("persists local edits and deletion across instances", async () => { + await withContext(async (context) => { + const { scope, captured } = fixture(context) + const anchor = { schemaVersion: 1, kind: "element", selector: "#save" } + const created = await localComments(context).create(scope, captured, { + body: "Keep this selection", + anchor, + }) + assert.deepEqual(await localComments(context).list(scope), [created]) + const updated = await localComments(context).update(scope, created.id, "Revised feedback") + assert.equal(updated.body, "Revised feedback") + assert.deepEqual(await localComments(context).list(scope), [updated]) + await localComments(context).remove(scope, created.id) + assert.deepEqual(await localComments(context).list(scope), []) + }) + }) + + it("isolates comments by Hub, repository, branch and reviewer", async () => { + await withContext(async (context) => { + const { comments, captured, scope } = fixture(context) + const original = await comments.create(scope, captured, { + body: "Original reviewer", + anchor: { schemaVersion: 1, kind: "element", selector: "#save" }, + }) + for (const changed of [ + { hubOrigin: "https://another-hub.example.com" }, + { repository: "github/another" }, + { branch: "another-branch" }, + { viewerLogin: "mona" }, + ]) { + const isolated = { ...scope, ...changed } + assert.deepEqual(await comments.list(isolated), []) + } + assert.deepEqual(await localComments(context).list(scope), [original]) + }) + }) + + it("uploads only matching source to an imported Build even when its commit differs", async () => { + await withContext(async (context) => { + const { comments, captured, scope } = fixture(context) + const originalCommit = git(context, "rev-parse", "HEAD") + const anchor = { + schemaVersion: 1, + kind: "element", + selector: "#original", + } + await comments.create(scope, captured, { + body: "Matching source", + anchor, + }) + await writeFile(path.join(context.repositoryPath, "new.txt"), "Different source") + git(context, "add", "new.txt") + const otherTree = git(context, "write-tree") + const other = { + id: Number.parseInt(otherTree.slice(0, 12), 16), + treeSha: otherTree, + } + const retained = await comments.create(scope, other, { + body: "Not in this Build", + anchor: { schemaVersion: 1, kind: "element", selector: "#save" }, + }) + git(context, "reset", "--quiet") + git( + context, + "-c", + "user.name=Test", + "-c", + "user.email=test@example.com", + "-c", + "commit.gpgsign=false", + "commit", + "--allow-empty", + "-qm", + "Same source, different commit", + ) + const imported = build(context) + assert.notEqual(imported.commitSha, originalCommit) + const requests = [] + await comments.sync(scope, imported, { + async request(route, options) { + requests.push({ route, options }) + return { + comments: [{ id: 900, kind: "root", buildNumber: imported.number }], + } + }, + }) + assert.equal(requests.length, 1) + assert.deepEqual(requests[0].options.body.review_comment, { + body: "Matching source", + anchor, + build_number: imported.number, + }) + assert.deepEqual(await localComments(context).list(scope), [retained]) + await comments.sync(scope, imported, { + async request() { + assert.fail("A synchronized comment must not be uploaded twice.") + }, + }) + await assert.rejects( + comments.sync( + scope, + { ...imported, commitSha: "f".repeat(40) }, + { + async request() { + assert.fail("An unknown Build must not receive local feedback.") + }, + }, + ), + /Fetch the published Build commit/, + ) + assert.deepEqual(await localComments(context).list(scope), [retained]) + }) + }) + + it("does not attach new feedback to an older Build with the same source tree", async () => { + await withContext(async (context) => { + const { comments, captured, scope } = fixture(context) + const imported = build(context) + const draft = await comments.create(scope, captured, { + body: "Feedback captured after the old Build", + anchor: { schemaVersion: 1, kind: "element", selector: "#save" }, + }) + await comments.sync( + scope, + { + ...imported, + publishedAt: new Date(Date.parse(draft.createdAt) - 1).toISOString(), + }, + { + async request() { + assert.fail("A Build published before the feedback must not claim it.") + }, + }, + ) + assert.deepEqual(await localComments(context).list(scope), [draft]) + }) + }) + + it("retains rejected uploads for a later retry and propagates the Hub error", async () => { + await withContext(async (context) => { + const { comments, captured, scope } = fixture(context) + const draft = await comments.create(scope, captured, { + body: "Retry this feedback", + anchor: { schemaVersion: 1, kind: "element", selector: "#save" }, + }) + const failure = Object.assign(new Error("Hub denied the request"), { + statusCode: 403, + }) + await assert.rejects( + comments.sync(scope, build(context), { + async request() { + throw failure + }, + }), + (error) => error === failure, + ) + assert.deepEqual(await localComments(context).list(scope), [draft]) + let retries = 0 + await localComments(context).sync(scope, build(context), { + async request() { + retries += 1 + return { comments: [{ id: 901, kind: "root", buildNumber: 7 }] } + }, + }) + assert.equal(retries, 1) + assert.deepEqual(await localComments(context).list(scope), []) + }) + }) + + it("keeps previous Prototype feedback separate even when a new history has the same source", async () => { + await withContext(async (context) => { + const { comments, captured, scope } = fixture(context) + const previous = await comments.create( + scope, + { ...captured, prototypeId: 4 }, + { + body: "Feedback for the previous history", + anchor: { schemaVersion: 1, kind: "element", selector: "#save" }, + }, + ) + await comments.create( + scope, + { ...captured, prototypeId: 9 }, + { + body: "Feedback for the current history", + anchor: { schemaVersion: 1, kind: "element", selector: "#save" }, + }, + ) + const imported = { ...build(context), prototypeId: 9 } + let uploads = 0 + await localComments(context).sync(scope, imported, { + async request(route, options) { + uploads += 1 + assert.equal(route, "/api/canvas/repositories/5/prototypes/9/review_comments") + assert.equal(options.body.review_comment.body, "Feedback for the current history") + return { + comments: [{ id: 904, kind: "root", buildNumber: imported.number }], + } + }, + }) + assert.equal(uploads, 1) + assert.deepEqual(await localComments(context).list(scope), [previous]) + }) + }) + + it("reconciles an ambiguous upload to its original Build after a newer Build arrives", async () => { + await withContext(async (context) => { + const { comments, captured, scope } = fixture(context) + const draft = await comments.create(scope, captured, { + body: "Response was lost", + anchor: { schemaVersion: 1, kind: "element", selector: "#save" }, + }) + const imported = build(context) + const failure = new Error("Connection lost after sending") + await assert.rejects( + comments.sync(scope, imported, { + async request() { + throw failure + }, + }), + (error) => error === failure, + ) + const pending = [{ ...draft, viewerCanEdit: false }] + assert.deepEqual(await localComments(context).list(scope), pending) + const newerBuild = { ...imported, number: imported.number + 1 } + await assert.rejects( + localComments(context).sync(scope, newerBuild, { + async request(route, options) { + assert.notEqual(options.method, "POST", "An uncertain save must never be replayed.") + return { comments: [], hasMore: false, nextCursor: null } + }, + }), + /could not be confirmed/, + ) + assert.deepEqual(await localComments(context).list(scope), pending) + await localComments(context).sync(scope, newerBuild, { + async request(route, options) { + assert.notEqual(options.method, "POST", "Reconciliation must not create another root.") + return { + comments: [ + { + ...draft, + id: 902, + buildNumber: imported.number, + createdAt: new Date().toISOString(), + }, + ], + hasMore: false, + nextCursor: null, + } + }, + }) + assert.deepEqual(await localComments(context).list(scope), []) + }) + }) +}) diff --git a/.github/extensions/replica-prototype/discover-hub/index.mjs b/.github/extensions/replica-prototype/discover-hub/index.mjs index 0abecbc8..a19bf2a8 100644 --- a/.github/extensions/replica-prototype/discover-hub/index.mjs +++ b/.github/extensions/replica-prototype/discover-hub/index.mjs @@ -4,7 +4,7 @@ import os from "node:os" import path from "node:path" import { promisify } from "node:util" -import { normalizeHubOrigin } from "../hub-client/index.mjs" +import { normalizeHubOrigin } from "../normalize-hub-origin/index.mjs" import { createPrivateStore } from "../private-store/index.mjs" import { readCanvasRepository } from "../read-canvas-repository/index.mjs" diff --git a/.github/extensions/replica-prototype/discover-hub/index.test.mjs b/.github/extensions/replica-prototype/discover-hub/index.test.mjs index 2bdf04de..335f2ae8 100644 --- a/.github/extensions/replica-prototype/discover-hub/index.test.mjs +++ b/.github/extensions/replica-prototype/discover-hub/index.test.mjs @@ -8,7 +8,7 @@ import { describe, it } from "node:test" import { discoverHub } from "./index.mjs" import { startCanvasServer } from "../start-canvas-server/index.mjs" import { createCanvasContext } from "../create-canvas-context/index.mjs" -import { createHubOriginStore } from "../hub-origin-store/index.mjs" +import { createHubOriginStore } from "../create-hub-origin-store/index.mjs" import { createPrivateStore } from "../private-store/index.mjs" import { runCommand } from "../run-command/index.mjs" diff --git a/.github/extensions/replica-prototype/improvement-notes/index.mjs b/.github/extensions/replica-prototype/improvement-notes/index.mjs index 61e5a12b..8c2872d9 100644 --- a/.github/extensions/replica-prototype/improvement-notes/index.mjs +++ b/.github/extensions/replica-prototype/improvement-notes/index.mjs @@ -6,6 +6,7 @@ import { isDeepStrictEqual } from "node:util" import { createPrivateStore } from "../private-store/index.mjs" import { currentCanvasContext } from "../create-canvas-context/index.mjs" +import { captureReviewRevision } from "../capture-review-revision/index.mjs" import { runCommand } from "../run-command/index.mjs" import { validateAnchor } from "../assets/review-anchor-validation.mjs" import { improvementBatchResult } from "../improvement-batch-result/index.mjs" @@ -21,6 +22,8 @@ const statuses = new Set(["open", "sent", "ready", "resolved", "blocked"]) const maximumCapture = 1_500_000 const maximumNotes = 200 const maximumStoreBytes = maximumNotes * (maximumCapture + 64_000) * 2 +const missingSourceMessage = + "This local improvement has no captured source. It cannot sync. Keep it locally or select its target again as a new improvement." const pickAndPolishSkillUrl = new URL("../skills/replica-pick-and-polish/SKILL.md", import.meta.url) export async function readPickAndPolishInstructions(skillUrl = pickAndPolishSkillUrl) { @@ -54,6 +57,13 @@ function checkNote(note, owner) { Buffer.byteLength(note.body) > 10_000 || !Number.isSafeInteger(note.revision) || note.revision < 1 || + (note.buildNumber !== undefined && + (!Number.isSafeInteger(note.buildNumber) || note.buildNumber < 1)) || + (note.source !== undefined && + (!/^[0-9a-f]{40}$/.test(note.source?.treeSha) || + !/^[0-9a-f]{40}$/.test(note.source?.commitSha) || + typeof note.source?.clean !== "boolean" || + !Number.isFinite(Date.parse(note.createdAt)))) || (note.syncedRevision !== undefined && (!Number.isSafeInteger(note.syncedRevision) || note.syncedRevision < 1 || @@ -106,6 +116,7 @@ export function createImprovementNotes(getContext, session, getHub, options = {} options.directory || path.join(os.homedir(), ".config", "replica", "improvement-notes") const store = createPrivateStore(directory) const profiles = new Map() + const captures = new Map() async function identity() { const context = await currentCanvasContext(getContext()) @@ -302,6 +313,16 @@ export function createImprovementNotes(getContext, session, getHub, options = {} } return { + async capture() { + const { key, context } = await identity() + const source = await captureReviewRevision(context) + if ((await identity()).key !== key) + fail("The prototype branch changed while selecting a target. Try again.", 409) + const sourceId = randomUUID() + if (captures.size >= maximumNotes) captures.delete(captures.keys().next().value) + captures.set(sourceId, { identity: key, source }) + return { identity: key, sourceId } + }, async load() { const { key, context } = await identity() const record = await read(key) @@ -382,6 +403,9 @@ export function createImprovementNotes(getContext, session, getHub, options = {} if (record.notes.length >= maximumNotes) fail("This prototype has reached its 200-note storage limit.") const { anchor, body, capture = "" } = input + const selected = input.sourceId === undefined ? null : captures.get(input.sourceId) + if (input.sourceId !== undefined && selected?.identity !== input.identity) + fail("The selected source expired. Select the target again before saving.", 409) const note = checkNote({ id: record.nextId++, localId: randomUUID(), @@ -393,6 +417,8 @@ export function createImprovementNotes(getContext, session, getHub, options = {} revision: 1, status: "open", sync: "local", + createdAt: new Date().toISOString(), + ...(selected ? { source: selected.source } : {}), }) if (author) { if (profile?.owner) record.owner = profile.owner @@ -410,6 +436,7 @@ export function createImprovementNotes(getContext, session, getHub, options = {} rect: anchor.rect, }) record.notes.push(note) + if (!selected) record.syncError = missingSourceMessage return } const note = record.notes.find((item) => item.id === input.id && !item.deleted) @@ -550,6 +577,13 @@ export function createImprovementNotes(getContext, session, getHub, options = {} if (item.kind !== "improvement_note" || item.author?.login !== owner.login) fail("Hub returned another author's improvement note.", 502) const existing = record.notes.find((note) => note.localId === item.localId) + if (existing?.buildNumber !== undefined && item.buildNumber !== existing.buildNumber) + fail("Hub returned a changed improvement Build.", 409) + if (existing?.syncedRevision && item.buildNumber !== undefined) { + if (!Number.isSafeInteger(item.buildNumber) || item.buildNumber < 1) + fail("Hub returned an invalid improvement Build.", 502) + existing.buildNumber = item.buildNumber + } if (existing && existing.sync !== "synced") continue if (existing && item.revision < existing.revision) fail("Hub returned an older improvement-note revision.", 409) @@ -564,6 +598,7 @@ export function createImprovementNotes(getContext, session, getHub, options = {} author: item.thread?.originalAuthor ? owner.login : "local", revision: item.revision, syncedRevision: item.revision, + ...(item.buildNumber !== undefined ? { buildNumber: item.buildNumber } : {}), body: item.body ?? existing?.body ?? "Deleted improvement note", status: item.status, anchor, @@ -591,8 +626,50 @@ export function createImprovementNotes(getContext, session, getHub, options = {} return } invalidateBatchRequests(record) + let publishedTree for (const note of record.notes.filter((item) => item.sync !== "synced")) { try { + if (note.buildNumber === undefined && !note.syncedRevision) { + if (note.deleted) continue + if (!note.source) { + record.syncError = missingSourceMessage + continue + } + const build = status.prototype.build + if (!build) { + record.syncError = + "Improvements are saved locally until their captured source has a published Build." + continue + } + if ( + !Number.isSafeInteger(build.number) || + build.number < 1 || + !/^[0-9a-f]{40}$/.test(build.commitSha) || + !Number.isFinite(Date.parse(build.publishedAt)) + ) + fail("Hub did not return a valid published Build.", 502) + if (publishedTree === undefined) { + const tree = await runCommand( + "git", + ["rev-parse", `${build.commitSha}^{tree}`], + context.repositoryPath, + ) + if (!tree.ok) + fail("Fetch the published Build commit to sync local improvements.", 409) + publishedTree = tree.stdout.trim() + } + if ( + note.source.treeSha !== publishedTree || + Date.parse(build.publishedAt) < Date.parse(note.createdAt) + ) { + record.syncError = + "Improvements are saved locally until their captured source has a published Build." + continue + } + // Keep the selected Build on retries, even if the upload response is lost. + note.buildNumber = build.number + await store.write(`${input.identity}.json`, record) + } const result = await hub.request(base, { ...requestOptions, method: "POST", @@ -600,6 +677,7 @@ export function createImprovementNotes(getContext, session, getHub, options = {} local_id: note.localId, revision: note.revision, previous_revision: note.syncedRevision ?? 0, + ...(note.buildNumber !== undefined ? { build_number: note.buildNumber } : {}), body: note.body, anchor: note.anchor, status: note.status, @@ -611,10 +689,14 @@ export function createImprovementNotes(getContext, session, getHub, options = {} if ( result.localId !== note.localId || result.revision !== note.revision || + (note.buildNumber !== undefined && result.buildNumber !== note.buildNumber) || + (result.buildNumber !== undefined && + (!Number.isSafeInteger(result.buildNumber) || result.buildNumber < 1)) || !isDeepStrictEqual(result.thread, note.deleted ? null : note.thread) ) fail("Hub did not confirm the saved note revision.", 502) note.sync = "synced" + if (result.buildNumber !== undefined) note.buildNumber = result.buildNumber note.syncedRevision = note.revision if (note.author !== "local" || note.thread.originalAuthor) note.author = owner.login } catch (error) { diff --git a/.github/extensions/replica-prototype/improvement-notes/index.test.mjs b/.github/extensions/replica-prototype/improvement-notes/index.test.mjs index fb9c04de..a760354f 100644 --- a/.github/extensions/replica-prototype/improvement-notes/index.test.mjs +++ b/.github/extensions/replica-prototype/improvement-notes/index.test.mjs @@ -9,7 +9,7 @@ import { promisify } from "node:util" import { it, mock } from "node:test" import { createCanvasContext } from "../create-canvas-context/index.mjs" -import { createHubClient } from "../hub-client/index.mjs" +import { createHubClient } from "../create-hub-client/index.mjs" import * as improvementNotes from "./index.mjs" const { createImprovementNotes } = improvementNotes @@ -31,6 +31,19 @@ async function fixture(run) { await mkdir(root, { recursive: true }) const exec = promisify(execFile) await exec("git", ["init", "-q", "-b", "prototype/demo", root]) + await exec("git", [ + "-C", + root, + "-c", + "user.name=Test", + "-c", + "user.email=test@example.com", + "commit", + "-qm", + "Initial prototype", + "--allow-empty", + ]) + const commitSha = (await exec("git", ["-C", root, "rev-parse", "HEAD"])).stdout.trim() await exec("git", [ "-C", root, @@ -66,9 +79,48 @@ async function fixture(run) { ...storeOptions, }) } + function createPublished(getHub, storeOptions) { + const store = create(async () => { + const hub = await getHub() + if (!hub) return null + return { + ...hub, + status: async (...args) => { + const status = await hub.status(...args) + if (status.prototype && status.prototype.build === undefined) + status.prototype.build = { + number: 1, + commitSha, + publishedAt: new Date(Date.now() + 1000).toISOString(), + } + return status + }, + request: async (...args) => { + const response = await hub.request(...args) + if (args[1]?.method === "POST") + return { buildNumber: args[1].body.build_number, ...response } + return { + ...response, + ...(response.notes + ? { notes: response.notes.map((note) => ({ buildNumber: 1, ...note })) } + : {}), + } + }, + } + }, storeOptions) + return { + ...store, + save: async (input) => + store.save({ + ...(input.operation === "create" ? await store.capture() : {}), + ...input, + }), + } + } try { await run({ create, + createPublished, context, messages, session, @@ -99,9 +151,231 @@ it("keeps notes across provider restarts and sessions without committing them", }) }) +it("publishes only the selected source after its Build imports and retains that Build for later changes", async () => { + await fixture(async ({ create, anchor, root, exec }) => { + const originalCommit = (await exec("git", ["-C", root, "rev-parse", "HEAD"])).stdout.trim() + let build = null + const writes = [] + const hub = { + origin: "https://hub.example.com", + status: async () => ({ + state: "connected", + repository: "example/prototype", + branch: "prototype/demo", + prototype: { + id: 7, + repositoryId: 9, + viewerLogin: "octocat", + viewerId: 1, + build, + }, + }), + request: async (_url, options) => { + if (options.method !== "POST") return { threadVersion: 2, notes: [] } + writes.push(structuredClone(options.body)) + return { + localId: options.body.local_id, + revision: options.body.revision, + thread: options.body.deleted ? null : options.body.thread, + buildNumber: options.body.build_number, + } + }, + } + const store = create(async () => hub) + await writeFile(path.join(root, "screen.txt"), "Selected preview") + await exec("git", ["-C", root, "add", "screen.txt"]) + await writeFile(path.join(root, "screen.txt"), "Selected preview with unstaged changes") + const indexBefore = await readFile(path.join(root, ".git/index")) + const selection = await store.capture() + assert.deepEqual(await readFile(path.join(root, ".git/index")), indexBefore) + await writeFile(path.join(root, "screen.txt"), "Edited after selecting the target") + let state = await store.save({ + ...(await store.load()), + ...selection, + operation: "create", + body: "Clarify the selected preview", + anchor, + }) + const source = state.notes[0].source + assert.equal(source.commitSha, originalCommit) + assert.equal(source.clean, false) + state = await store.sync(state) + assert.equal(writes.length, 0) + build = { + number: 1, + commitSha: originalCommit, + publishedAt: new Date(Date.now() + 1000).toISOString(), + } + state = await store.sync(state) + assert.equal(writes.length, 0) + + async function commitPreview() { + await exec("git", ["-C", root, "add", "screen.txt"]) + await exec("git", [ + "-C", + root, + "-c", + "user.name=Test", + "-c", + "user.email=test@example.com", + "commit", + "-qm", + "Publish preview", + ]) + return (await exec("git", ["-C", root, "rev-parse", "HEAD"])).stdout.trim() + } + build = { ...build, number: 2, commitSha: await commitPreview() } + const restarted = create(async () => hub) + state = await restarted.sync(state) + assert.equal(writes.length, 0) + assert.deepEqual(state.notes[0].source, source) + await writeFile(path.join(root, "screen.txt"), "Selected preview with unstaged changes") + build = { + number: 3, + commitSha: await commitPreview(), + publishedAt: "2000-01-01T00:00:00Z", + } + state = await restarted.sync(state) + assert.equal(writes.length, 0) + build.publishedAt = new Date(Date.now() + 1000).toISOString() + await writeFile(path.join(root, "screen.txt"), "Another local edit") + state = await restarted.sync(state) + assert.equal(state.notes[0].sync, "synced") + assert.equal(state.notes[0].buildNumber, 3) + assert.equal(writes.length, 1) + assert.equal(writes[0].build_number, 3) + assert.deepEqual(writes[0].anchor, anchor) + + build = null + state = await restarted.save({ + ...state, + operation: "follow-up", + id: 1, + expectedNoteRevision: state.notes[0].revision, + body: "A later request", + }) + state = await restarted.sync(state) + assert.equal(writes[1].build_number, 3) + assert.equal(writes[1].previous_revision, 1) + assert.deepEqual(state.notes[0].source, source) + assert.equal(state.notes[0].body, "Clarify the selected preview") + state = await restarted.save({ + ...state, + operation: "delete", + id: 1, + expectedNoteRevision: state.notes[0].revision, + }) + await restarted.sync(state) + assert.equal(writes[2].build_number, 3) + assert.equal(writes[2].deleted, true) + }) +}) + +it("keeps legacy notes without captured provenance local instead of assigning the current source", async () => { + await fixture(async ({ create, anchor, root, exec }) => { + const commitSha = (await exec("git", ["-C", root, "rev-parse", "HEAD"])).stdout.trim() + let uploads = 0 + const hub = { + origin: "https://hub.example.com", + status: async () => ({ + state: "connected", + repository: "example/prototype", + branch: "prototype/demo", + prototype: { + id: 7, + repositoryId: 9, + viewerLogin: "octocat", + viewerId: 1, + build: { number: 1, commitSha, publishedAt: new Date().toISOString() }, + }, + }), + request: async (_url, options) => { + if (options.method !== "POST") return { threadVersion: 2, notes: [] } + uploads++ + return {} + }, + } + const store = create(async () => hub) + let state = await store.save({ + ...(await store.load()), + operation: "create", + body: "Saved by an older client", + anchor, + }) + state = await create(async () => hub).sync(state) + assert.equal(uploads, 0) + assert.equal(state.notes[0].sync, "local") + assert.equal(state.notes[0].source, undefined) + assert.equal(state.notes[0].buildNumber, undefined) + assert.match(state.syncError, /no captured source/) + await assert.rejects( + store.save({ + ...state, + operation: "create", + sourceId: randomUUID(), + body: "Expired selection", + anchor, + }), + /selected source expired/, + ) + }) +}) + +it("persists the selected Build before an uncertain upload and reuses it after a restart", async () => { + await fixture(async ({ createPublished, create, anchor }) => { + const builds = [] + let currentBuild + const hub = { + origin: "https://hub.example.com", + status: async () => ({ + state: "connected", + repository: "example/prototype", + branch: "prototype/demo", + prototype: { + id: 7, + repositoryId: 9, + viewerLogin: "octocat", + viewerId: 1, + build: currentBuild, + }, + }), + request: async (_url, options) => { + if (options.method !== "POST") return { threadVersion: 2, notes: [] } + builds.push(options.body.build_number) + const persisted = await create(async () => hub).load() + assert.equal(persisted.notes[0].buildNumber, 1) + if (builds.length === 1) throw new Error("Upload result lost") + return { + localId: options.body.local_id, + revision: options.body.revision, + thread: options.body.thread, + } + }, + } + const store = createPublished(async () => hub) + let state = await store.save({ + ...(await store.load()), + operation: "create", + body: "Retain the original Build", + anchor, + }) + state = await store.sync(state) + assert.equal(state.notes[0].sync, "failed") + assert.match(state.syncError, /Upload result lost/) + currentBuild = { + number: 2, + commitSha: "f".repeat(40), + publishedAt: new Date().toISOString(), + } + state = await createPublished(async () => hub).sync(state) + assert.equal(state.notes[0].sync, "synced") + assert.deepEqual(builds, [1, 1]) + }) +}) + it("snapshots verified authors without attributing unowned originals and gates older Hub synchronization", async () => { - await fixture(async ({ create, anchor, directory }) => { - const offline = create() + await fixture(async ({ createPublished: create, anchor, directory }) => { + const offline = create(async () => null) let state = await offline.save({ ...(await offline.load()), operation: "create", @@ -906,8 +1180,8 @@ it("reports dispatch failure durably without automatically replaying the request }) }) -it("syncs a discovered branch before a Build and refuses another author's account", async () => { - await fixture(async ({ create, anchor }) => { +it("syncs a published branch and refuses another author's account", async () => { + await fixture(async ({ createPublished: create, anchor }) => { let login = "octocat" const writes = [] const hub = { @@ -924,7 +1198,6 @@ it("syncs a discovered branch before a Build and refuses another author's accoun repositoryId: 9, viewerLogin: login, viewerId: login === "octocat" ? 1 : 2, - build: null, registered: false, }, } @@ -1069,7 +1342,7 @@ it("retains local notes when Hub cannot sync and rejects malformed note input", }) it("cancels a pending batch after Hub reopens its captured requests", async () => { - await fixture(async ({ create, anchor, messages }) => { + await fixture(async ({ createPublished: create, anchor, messages }) => { let remote const hub = { origin: "https://hub.example.com", @@ -1126,7 +1399,7 @@ it("cancels a pending batch after Hub reopens its captured requests", async () = }) it("pulls creator notes while preserving unsynchronized edits and rejecting foreign authors", async () => { - await fixture(async ({ create, anchor }) => { + await fixture(async ({ createPublished: create, anchor }) => { let remote = [] let rejectUpload = false const hub = { @@ -1295,7 +1568,7 @@ it("rejects an older draft even after polling advances the collection revision", }) it("does not upload owner-bound notes after the Hub connection changes during a pull", async () => { - await fixture(async ({ create, anchor }) => { + await fixture(async ({ createPublished: create, anchor }) => { let account = "octocat" let writes = 0 const hub = { @@ -1565,7 +1838,7 @@ it("reserves escaped answer bytes and preserves saved history when full", async }) it("roundtrips immutable requests and answers through Hub to another isolated local store", async () => { - await fixture(async ({ create, anchor, directory }) => { + await fixture(async ({ createPublished: create, anchor, directory }) => { const remote = [] let supported = false const hub = { @@ -1646,6 +1919,7 @@ it("roundtrips immutable requests and answers through Hub to another isolated lo directory: path.join(directory, "another-local-store"), }) const pulled = await second.sync(await second.load()) + assert.equal(pulled.notes[0].buildNumber, 1) assert.deepEqual(pulled.notes[0].thread, state.notes[0].thread) assert.equal(pulled.notes[0].body, "Original") assert.equal(pulled.notes[0].thread.messages[0].body, "Saved answer") @@ -1804,7 +2078,7 @@ for (const status of ["open", "sent"]) { } it("saves and pulls the canonical validator's zero-size elements and narrow areas", async () => { - await fixture(async ({ create, anchor, directory }) => { + await fixture(async ({ createPublished: create, anchor, directory }) => { const remote = [] const hub = { origin: "https://hub.example.com", @@ -1920,7 +2194,7 @@ it("keeps a freshly pulled original unattributed until explicitly claimed despit for (const statusCode of [409, 422, undefined, 401, 403, 429, 500]) { it(`${[409, 422].includes(statusCode) ? "continues independent uploads after" : "stops uploads after"} ${statusCode ?? "a connection failure"} without clearing its error`, async () => { - await fixture(async ({ create, anchor }) => { + await fixture(async ({ createPublished: create, anchor }) => { const uploaded = [] const hub = { origin: "https://hub.example.com", @@ -1961,7 +2235,7 @@ for (const statusCode of [409, 422, undefined, 401, 403, 429, 500]) { } it("ignores an old batch's reopened request after a remote resend while another note keeps the batch alive", async () => { - await fixture(async ({ create, anchor }) => { + await fixture(async ({ createPublished: create, anchor }) => { const remote = [] const hub = { origin: "https://hub.example.com", @@ -2029,7 +2303,7 @@ for (const scenario of [ "partial legacy page", ]) { it(`${scenario === "complete" ? "collects every page before applying remote notes or uploading" : `preserves every local note and skips uploads after ${scenario}`}`, async () => { - await fixture(async ({ create, anchor }) => { + await fixture(async ({ createPublished: create, anchor }) => { let paging = false let pageReads = 0 const uploaded = [] diff --git a/.github/extensions/replica-prototype/invalid-hub-origin/index.mjs b/.github/extensions/replica-prototype/invalid-hub-origin/index.mjs new file mode 100644 index 00000000..03d9115a --- /dev/null +++ b/.github/extensions/replica-prototype/invalid-hub-origin/index.mjs @@ -0,0 +1 @@ +export class InvalidHubOrigin extends Error {} diff --git a/.github/extensions/replica-prototype/normalize-hub-origin/index.mjs b/.github/extensions/replica-prototype/normalize-hub-origin/index.mjs new file mode 100644 index 00000000..301eb105 --- /dev/null +++ b/.github/extensions/replica-prototype/normalize-hub-origin/index.mjs @@ -0,0 +1,10 @@ +import { InvalidHubOrigin } from "../invalid-hub-origin/index.mjs" +import { parseHubUrl } from "../parse-hub-url/index.mjs" + +export function normalizeHubOrigin(value, name = "REPLICA_HUB_ORIGIN") { + const origin = parseHubUrl(value, name) + if (origin.pathname !== "/" || origin.search || origin.hash) { + throw new InvalidHubOrigin(`${name} must be an HTTP or HTTPS origin without credentials.`) + } + return origin.origin +} diff --git a/.github/extensions/replica-prototype/normalize-selected-hub-origin/index.mjs b/.github/extensions/replica-prototype/normalize-selected-hub-origin/index.mjs new file mode 100644 index 00000000..019f0170 --- /dev/null +++ b/.github/extensions/replica-prototype/normalize-selected-hub-origin/index.mjs @@ -0,0 +1,5 @@ +import { parseHubUrl } from "../parse-hub-url/index.mjs" + +export function normalizeSelectedHubOrigin(value) { + return parseHubUrl(value, "Hub URL").origin +} diff --git a/.github/extensions/replica-prototype/parse-hub-url/index.mjs b/.github/extensions/replica-prototype/parse-hub-url/index.mjs new file mode 100644 index 00000000..73c18841 --- /dev/null +++ b/.github/extensions/replica-prototype/parse-hub-url/index.mjs @@ -0,0 +1,22 @@ +import { InvalidHubOrigin } from "../invalid-hub-origin/index.mjs" + +export function parseHubUrl(value, name) { + let origin + try { + origin = new URL(value) + } catch { + throw new InvalidHubOrigin(`${name} must be an HTTP or HTTPS origin without credentials.`) + } + if (!["http:", "https:"].includes(origin.protocol) || origin.username || origin.password) { + throw new InvalidHubOrigin(`${name} must be an HTTP or HTTPS origin without credentials.`) + } + if ( + origin.protocol === "http:" && + origin.hostname !== "localhost" && + origin.hostname !== "127.0.0.1" && + !origin.hostname.endsWith(".localhost") + ) { + throw new InvalidHubOrigin("Remote Replica Hub connections require HTTPS.") + } + return origin +} diff --git a/.github/extensions/replica-prototype/register-prototype-canvas/index.mjs b/.github/extensions/replica-prototype/register-prototype-canvas/index.mjs index 01e80c32..b6996966 100644 --- a/.github/extensions/replica-prototype/register-prototype-canvas/index.mjs +++ b/.github/extensions/replica-prototype/register-prototype-canvas/index.mjs @@ -13,18 +13,18 @@ import { PUBLISH_RESULT_OUTCOMES, reportPublishResult, } from "../report-publish-result/index.mjs" -import { normalizeHubOrigin } from "../hub-client/index.mjs" +import { normalizeHubOrigin } from "../normalize-hub-origin/index.mjs" import { startCanvasServer } from "../start-canvas-server/index.mjs" import { agentCommands, MAX_RELOAD_ADDRESS_LENGTH } from "../agent-commands/index.mjs" import { startMissingPrototypeServer } from "../start-missing-prototype-server/index.mjs" import { commentActions } from "../comment-actions/index.mjs" -import { createHubConnection } from "../hub-connection/index.mjs" +import { createHubConnection } from "../create-hub-connection/index.mjs" import { createCommentStore } from "../comment-store/index.mjs" import { reviewAction } from "../review-action/index.mjs" import { projectValidation, validateControls } from "../validate-controls/index.mjs" import { projectControlsStatus } from "../controls-status/index.mjs" import { improvementBatchResult } from "../improvement-batch-result/index.mjs" -import { createLearningsHook } from "../recall-learnings/index.mjs" +import { createLearningsHook } from "../create-learnings-hook/index.mjs" export { improvementBatchResult } from "../improvement-batch-result/index.mjs" @@ -454,7 +454,9 @@ export async function registerPrototypeCanvas( const devServers = createDevServerManager({ discover }) const session = await joinSession({ - hooks: { onUserPromptSubmitted: createLearningsHook(canvasOptions.hubOptions) }, + hooks: { + onUserPromptSubmitted: createLearningsHook(canvasOptions.hubOptions), + }, canvases: [ createCanvas({ id: canvasOptions.id ?? "replica-prototype", @@ -825,7 +827,10 @@ export async function registerPrototypeCanvas( required: ["outcome", "target"], properties: { outcome: { type: "string", enum: PUBLISH_RESULT_OUTCOMES }, - reason: { type: "string", maxLength: MAX_PUBLISH_RESULT_REASON_LENGTH }, + reason: { + type: "string", + maxLength: MAX_PUBLISH_RESULT_REASON_LENGTH, + }, target: { type: "object", additionalProperties: true, @@ -845,7 +850,10 @@ export async function registerPrototypeCanvas( originFingerprint: { type: ["string", "null"] }, pushFingerprint: { type: ["string", "null"] }, canvasInstanceId: { type: "string" }, - mode: { type: "string", enum: ["commit-changes", "committed-only"] }, + mode: { + type: "string", + enum: ["commit-changes", "committed-only"], + }, }, }, }, @@ -928,7 +936,10 @@ export async function registerPrototypeCanvas( ) const input = ctx.input?.prototypeUrl ? ctx.input - : { ...(existing?.input ?? (await connection.read())), ...ctx.input } + : { + ...(existing?.input ?? (await connection.read())), + ...ctx.input, + } let entry = existing if (!entry) { let devServer diff --git a/.github/extensions/replica-prototype/register-prototype-canvas/index.test.mjs b/.github/extensions/replica-prototype/register-prototype-canvas/index.test.mjs index b01e7a99..d14bc161 100644 --- a/.github/extensions/replica-prototype/register-prototype-canvas/index.test.mjs +++ b/.github/extensions/replica-prototype/register-prototype-canvas/index.test.mjs @@ -13,7 +13,7 @@ import { readState } from "../read-state/index.mjs" import { requestPublish } from "../request-publish/index.mjs" import { writeState } from "../write-state/index.mjs" import { createPrivateStore } from "../private-store/index.mjs" -import { createHubOriginStore } from "../hub-origin-store/index.mjs" +import { createHubOriginStore } from "../create-hub-origin-store/index.mjs" import { rankForRecall, renderRecall } from "../../../../packages/learning/src/recall.mjs" import { metadataUpdateAcknowledgement, diff --git a/.github/extensions/replica-prototype/start-canvas-server/index.mjs b/.github/extensions/replica-prototype/start-canvas-server/index.mjs index bc64f318..75a08220 100644 --- a/.github/extensions/replica-prototype/start-canvas-server/index.mjs +++ b/.github/extensions/replica-prototype/start-canvas-server/index.mjs @@ -1,4 +1,4 @@ -import { randomBytes } from "node:crypto" +import { createHash, randomBytes } from "node:crypto" import { readFile } from "node:fs/promises" import { createServer } from "node:http" @@ -6,8 +6,8 @@ import { MAX_RELOAD_ADDRESS_LENGTH } from "../agent-commands/index.mjs" import { projectControlsStatus } from "../controls-status/index.mjs" import { currentCanvasContext } from "../create-canvas-context/index.mjs" import { getPrototypeState } from "../get-prototype-state/index.mjs" -import { createHubConnection } from "../hub-connection/index.mjs" -import { InvalidHubOrigin } from "../hub-client/index.mjs" +import { createHubConnection } from "../create-hub-connection/index.mjs" +import { InvalidHubOrigin } from "../invalid-hub-origin/index.mjs" import { openBrowser } from "../open-browser/index.mjs" import { readCanvasRepository } from "../read-canvas-repository/index.mjs" import { readPrototypeStartPage } from "../read-prototype-start-page/index.mjs" @@ -24,6 +24,8 @@ import { createCommentStore } from "../comment-store/index.mjs" import { createImprovementNotes } from "../improvement-notes/index.mjs" import { createShareLinks } from "../share-links/index.mjs" import { startPreviewProxy } from "../start-preview-proxy/index.mjs" +import { captureReviewRevision } from "../capture-review-revision/index.mjs" +import { createLocalReviewComments } from "../create-local-review-comments/index.mjs" const ASSET_PATHS = new Map([ [ @@ -70,6 +72,21 @@ export async function startCanvasServer(initialContext, session, options = {}) { const improvementNotes = createImprovementNotes(() => context, session, hubClient, { directory: options.improvementNotesDirectory, }) + const localComments = createLocalReviewComments(initialContext, { + directory: options.localCommentsDirectory, + }) + async function localScope(hub, status) { + const connectionId = await hub.connectionKey(status.repository) + if (!connectionId || connectionId !== status.reviewConnectionId) + throw httpError(409, "The Hub connection changed. Refresh before using local comments.") + return { + hubOrigin: hub.origin, + repository: status.repository, + branch: status.branch, + viewerLogin: status.prototype?.viewerLogin || status.viewerLogin, + connectionId, + } + } async function updateMetadata({ name, description, startPage }, expectedTarget) { const hub = await hubClient() if (!hub) throw httpError(409, "Enter a Hub URL before connecting.") @@ -171,13 +188,77 @@ export async function startCanvasServer(initialContext, session, options = {}) { const hub = await hubClient() const { repository } = await readCanvasRepository(context) const discovery = discoveries.get(repository) - const status = hub + let status = hub ? await hub.status() : { state: "unconfigured", repository, message: "Enter a Hub URL to connect.", } + if ( + hub && + status.repositoryAuthorized && + status.branch && + status.registrationReason !== "branch_not_reviewable" + ) { + try { + const connectionId = await hub.connectionKey(status.repository) + if (!connectionId) throw httpError(401, "Connect to Hub before commenting.") + const snapshot = await captureReviewRevision(context) + if (snapshot.commitSha !== status.commitSha) + throw httpError( + 409, + "The checkout changed while preparing local comments. Refresh again.", + ) + const scope = await localScope(hub, status) + if (scope.connectionId !== connectionId) + throw httpError(409, "The Hub connection changed while preparing local comments.") + if (!scope.viewerLogin) throw new Error("Hub did not identify the connected reviewer.") + if (status.prototype?.build) { + try { + await localComments.sync( + scope, + { + ...status.prototype.build, + repositoryId: status.prototype.repositoryId, + prototypeId: status.prototype.id, + }, + hub, + ) + } catch (error) { + status = { + ...status, + localCommentsError: `Local comments not synced: ${error.message}`, + } + } + } + const published = + snapshot.clean && status.prototype?.build?.commitSha === snapshot.commitSha + status = { + ...status, + reviewRevision: { + ...snapshot, + id: published + ? null + : Number.parseInt( + createHash("sha256").update(snapshot.treeSha).digest("hex").slice(0, 12), + 16, + ) + 1, + prototypeId: status.prototype?.id ?? null, + repository: status.repository, + branch: status.branch, + buildNumber: published ? status.prototype.build.number : null, + hubOrigin: hub.origin, + connectionId, + }, + } + } catch (error) { + status = { + ...status, + reviewError: `Local comments unavailable: ${error.message}`, + } + } + } const ownsStartPage = status.state === "connected" && (status.prototype?.startPageSet ?? status.prototype?.startPage !== undefined) @@ -220,18 +301,24 @@ export async function startCanvasServer(initialContext, session, options = {}) { shareLinks, publishPreferences, improvementNotes, + localComments, + localScope, ) } catch (error) { - sendJson(response, error?.statusCode || 500, { - error: error instanceof Error ? error.message : String(error), - ...(request.url?.startsWith("/api/hub/share-links") - ? { - code: error.code, - deliveryPhase: error.deliveryPhase, - authorization: error.authorization, - } - : {}), - }) + sendJson( + response, + error?.statusCode || (error?.code === "stale_comment_target" ? 409 : 500), + { + error: error instanceof Error ? error.message : String(error), + ...(request.url?.startsWith("/api/hub/share-links") + ? { + code: error.code, + deliveryPhase: error.deliveryPhase, + authorization: error.authorization, + } + : {}), + }, + ) } }) @@ -327,6 +414,8 @@ async function routeRequest( shareLinks, publishPreferences, improvementNotes, + localComments, + localScope, ) { const requestUrl = new URL(request.url || "/", "http://127.0.0.1") @@ -350,6 +439,10 @@ async function routeRequest( } requireToken(request, token) + if (requestUrl.pathname === "/api/improvement-notes/capture" && request.method === "POST") { + sendJson(response, 200, await improvementNotes.capture()) + return + } if (requestUrl.pathname === "/api/improvement-notes" && request.method === "GET") { sendJson(response, 200, await improvementNotes.load()) return @@ -527,13 +620,25 @@ async function routeRequest( return } if (requestUrl.pathname === "/api/hub/comments" && request.method === "GET") { - const base = await reviewPath(hub) + const status = await hub.status() + if (!status.repositoryAuthorized) throw httpError(403, "Connect to Hub before commenting.") + const scope = await localScope(hub, status) const cursor = requestUrl.searchParams.get("cursor") - sendJson( - response, - 200, - await hub.request(`${base}${cursor ? `?cursor=${encodeURIComponent(cursor)}` : ""}`), - ) + const page = status.prototype + ? await hub.request( + `${await reviewPath(hub)}${cursor ? `?cursor=${encodeURIComponent(cursor)}` : ""}`, + ) + : { comments: [], hasMore: false, nextCursor: null } + const revision = requestUrl.searchParams.get("local_revision_id") + const drafts = cursor + ? [] + : (await localComments.list(scope)).filter( + (comment) => !revision || comment.draftRevisionId === Number(revision), + ) + sendJson(response, 200, { + ...page, + comments: [...page.comments, ...drafts], + }) return } if (requestUrl.pathname === "/api/hub/mention-candidates" && request.method === "GET") { @@ -549,14 +654,52 @@ async function routeRequest( return } if (requestUrl.pathname === "/api/hub/comments" && request.method === "POST") { - const base = await reviewPath(hub) + const body = await readJson(request, 32_768) + const expected = body.review_revision + const status = await hub.status() + if ( + !expected || + expected.hubOrigin !== hub.origin || + typeof expected.connectionId !== "string" || + !expected.connectionId || + !status.repositoryAuthorized || + (status.prototype?.id ?? null) !== expected.prototypeId || + status.repository !== expected.repository || + status.branch !== expected.branch || + expected.connectionId !== (await hub.connectionKey(status.repository)) + ) + throw httpError( + 409, + "The Hub review target changed. Select a target again before commenting.", + ) + const attributes = { + body: body.review_comment?.body, + anchor: body.review_comment?.anchor, + } + if (expected.id === null) { + if (!Number.isSafeInteger(expected.buildNumber) || expected.buildNumber < 1) + throw httpError(400, "Select a valid published Build before commenting.") + attributes.build_number = expected.buildNumber + } else { + if (!Number.isSafeInteger(expected.id) || expected.id < 1) + throw httpError(400, "Select a valid local revision before commenting.") + const scope = await localScope(hub, status) + if (scope.connectionId !== expected.connectionId) + throw httpError(409, "The Hub connection changed. Select a target again.") + const comment = await localComments.create(scope, expected, attributes) + sendJson(response, 201, { comments: [comment] }) + return + } + const base = `/api/canvas/repositories/${status.prototype.repositoryId}/prototypes/${status.prototype.id}/review_comments` sendJson( response, 201, await hub.request(base, { method: "POST", interactive: true, - body: await readJson(request), + expectedTarget: status, + connectionScope: { identity: expected.connectionId }, + body: { review_comment: attributes }, }), ) return @@ -611,6 +754,22 @@ async function routeRequest( operation === "reactions" ? await readJson(request) : undefined + const status = await hub.status() + if (!status.repositoryAuthorized) throw httpError(403, "Connect to Hub before commenting.") + const scope = await localScope(hub, status) + if ((await localComments.list(scope)).some((comment) => comment.id === Number(id))) { + if (operation === "read" && method === "POST") { + sendJson(response, 200, {}) + return + } + if (operation) throw httpError(409, "Publish this comment before starting a conversation.") + const comment = + method === "PATCH" + ? await localComments.update(scope, id, body?.review_comment?.body) + : await localComments.remove(scope, id) + sendJson(response, 200, { comments: [comment] }) + return + } const suffix = operation ? `/${operation}${content ? `/${content}` : ""}` : "" sendJson( response, diff --git a/.github/extensions/replica-prototype/start-canvas-server/index.test.mjs b/.github/extensions/replica-prototype/start-canvas-server/index.test.mjs index 47fed930..e93b6095 100644 --- a/.github/extensions/replica-prototype/start-canvas-server/index.test.mjs +++ b/.github/extensions/replica-prototype/start-canvas-server/index.test.mjs @@ -36,6 +36,9 @@ describe("startCanvasServer()", () => { const headers = { "X-Replica-Canvas-Token": token } const endpoint = new URL("/api/improvement-notes", canvas.url) assert.equal((await fetch(endpoint)).status, 403) + const captureEndpoint = new URL("/api/improvement-notes/capture", canvas.url) + assert.equal((await fetch(captureEndpoint, { method: "POST" })).status, 403) + const captured = await (await fetch(captureEndpoint, { method: "POST", headers })).json() const state = await (await fetch(endpoint, { headers })).json() const response = await fetch(endpoint, { method: "POST", @@ -44,6 +47,7 @@ describe("startCanvasServer()", () => { identity: state.identity, revision: state.revision, operation: "create", + sourceId: captured.sourceId, body: "Improve the selected button.", anchor: { schemaVersion: 1, @@ -61,6 +65,7 @@ describe("startCanvasServer()", () => { }) const saved = await response.json() assert.equal(response.status, 200, JSON.stringify(saved)) + assert.match(saved.notes[0].source.treeSha, /^[0-9a-f]{40}$/) await canvas.close() canvas = await startCanvasServer(context, { send: assert.fail }, options) const reopenedHtml = await (await fetch(canvas.url)).text() @@ -832,6 +837,10 @@ esac const calls = [] const publishPrompts = [] const prototypes = new Map() + let currentPrototypeId = 4 + let currentBuildNumber = 2 + let currentBuildCommit = "1".padStart(40, "0") + let accessToken = "rp_secret" let canRegister = true let registrationError = false let registrationPending @@ -857,20 +866,32 @@ esac const branch = new URL(request.url, "http://localhost").searchParams.get("branch") if (branch === "prototype/second") { response.writeHead(404, { "Content-Type": "application/json" }) - response.end(JSON.stringify({ error: "Hub has not discovered this branch." })) + response.end( + JSON.stringify({ + error: "Hub has not discovered this branch.", + registrationReason: "remote_branch_missing", + }), + ) return } result = { - id: 4, + id: currentPrototypeId, repositoryId: 5, repository: "github/replica", viewerLogin: "octocat", branch, registered: prototypes.has(branch), + canEdit: true, canRegister, canManageShareLinks: true, published: sharingPublished, - build: sharingPublished ? { number: 2 } : null, + build: sharingPublished + ? { + number: currentBuildNumber, + commitSha: currentBuildCommit, + publishedAt: "2099-01-01T00:00:00Z", + } + : null, name: prototypes.get(branch)?.name ?? null, description: null, startPage: null, @@ -893,13 +914,13 @@ esac result = { deviceCode: "device", userCode: "ABCD", - verificationUrl: `${process.env.REPLICA_HUB_ORIGIN}/canvas/pair/ABCD`, + verificationUrl: `http://${request.headers.host}/canvas/pair/ABCD`, } } else if (request.url === "/api/canvas/pairings/token" && request.method === "POST") { result = { status: "approved", repository: "github/replica", - accessToken: "rp_secret", + accessToken, expiresAt: new Date(Date.now() + 60_000).toISOString(), } } else if (request.url === "/api/canvas/connection") { @@ -969,7 +990,24 @@ esac nextCursor: null, } } else if (request.url?.includes("/review_comments")) { - result = { comments: [], hasMore: false, nextCursor: null } + const attributes = body ? JSON.parse(body).review_comment : null + result = { + comments: + request.method === "POST" && request.url.endsWith("/review_comments") + ? [ + { + id: 9, + kind: "root", + body: attributes.body, + anchor: attributes.anchor, + author: { login: "octocat" }, + buildNumber: attributes.build_number, + }, + ] + : [], + hasMore: false, + nextCursor: null, + } } else { result = { name: "Updated" } } @@ -982,10 +1020,15 @@ esac await writeFile( path.join(workspace, "git"), `#!/bin/sh +while [ "$1" = "-c" ]; do shift 2; done case "$1:$2" in remote:get-url) echo https://github.com/\${TEST_REPOSITORY:-github/replica}.git ;; branch:--show-current) echo "\${TEST_BRANCH:-prototype/first}" ;; rev-parse:HEAD) printf '%040d\\n' "\${TEST_HEAD:-1}" ;; + rev-parse:HEAD^{tree}) printf '%040d\\n' "\${TEST_HEAD_TREE:-2}" ;; + rev-parse:*^{tree}) printf '%040d\\n' "\${TEST_HEAD_TREE:-2}" ;; + write-tree:) printf '%040d\\n' "\${TEST_TREE:-2}" ;; + config:*) exit 1 ;; esac `, { mode: 0o755 }, @@ -1000,27 +1043,33 @@ esac sessionWorkspacePath: workspace, repositoryPath: workspace, }) - canvas = await startCanvasServer( - context, - { - send(message) { - publishPrompts.push({ - prompt: message.prompt, - registrations: calls.filter( - ({ path, method }) => path === "/api/canvas/prototype" && method === "PATCH", - ).length, - }) - return "message" + function startCanvas() { + return startCanvasServer( + context, + { + send(message) { + publishPrompts.push({ + prompt: message.prompt, + registrations: calls.filter( + ({ path, method }) => path === "/api/canvas/prototype" && method === "PATCH", + ).length, + }) + return "message" + }, }, - }, - { - hubOptions: { directory: path.join(workspace, "credentials") }, - openBrowser: async (url) => { - browserUrls.push(url) - return browserUnavailable ? { ok: false, error: "No browser available." } : { ok: true } + { + localCommentsDirectory: path.join(workspace, "local-comments"), + hubOptions: { directory: path.join(workspace, "credentials") }, + openBrowser: async (url) => { + browserUrls.push(url) + return browserUnavailable + ? { ok: false, error: "No browser available." } + : { ok: true } + }, }, - }, - ) + ) + } + canvas = await startCanvas() const page = await (await fetch(canvas.url)).text() let token = JSON.parse(page.match(/window\.__REPLICA_CANVAS__ = ([^;]+);/)[1]).token assert.equal((await fetch(new URL("/api/hub/status", canvas.url))).status, 403) @@ -1234,17 +1283,88 @@ esac (await send("/api/hub/mention-candidates?repositoryId=5&prototypeId=99")).status, 409, ) + const previousRevision = (await send("/api/hub/status")).body.reviewRevision + const beforeChangedRevision = calls.filter( + ({ path, method }) => path.endsWith("/review_comments") && method === "POST", + ).length + process.env.TEST_TREE = "3" + const posted = await send("/api/hub/comments", "POST", { + review_revision: previousRevision, + review_comment: { + body: "New thread", + anchor: { schemaVersion: 1, kind: "element", selector: "#save" }, + }, + }) + assert.equal(posted.status, 201) + const localRoots = (await send("/api/hub/comments")).body.comments + assert.equal(localRoots.length, 1) + assert.equal(localRoots[0].body, "New thread") + assert.equal(localRoots[0].draftRevisionId, previousRevision.id) + assert.equal(localRoots[0].buildNumber, null) + await canvas.close() + canvas = await startCanvas() + const reloadedPage = await (await fetch(canvas.url)).text() + token = JSON.parse(reloadedPage.match(/window\.__REPLICA_CANVAS__ = ([^;]+);/)[1]).token + assert.deepEqual((await send("/api/hub/comments")).body.comments, localRoots) + assert.equal( + calls.filter(({ path, method }) => path.endsWith("/review_comments") && method === "POST") + .length, + beforeChangedRevision, + ) + delete process.env.TEST_TREE + sharingPublished = true + const selectedBuild = (await send("/api/hub/status")).body.reviewRevision + assert.equal(selectedBuild.id, null) + assert.equal(selectedBuild.buildNumber, 2) + assert.equal((await send("/api/hub/comments")).body.comments.length, 0) + process.env.TEST_TREE = "3" + process.env.TEST_HEAD = "2" + process.env.TEST_HEAD_TREE = "3" + currentBuildNumber = 3 + currentBuildCommit = "2".padStart(40, "0") assert.equal( ( await send("/api/hub/comments", "POST", { + review_revision: selectedBuild, + review_comment: { body: "Keep the selected Build", anchor: { schemaVersion: 1 } }, + }) + ).status, + 201, + ) + assert.equal(JSON.parse(calls.at(-1).body).review_comment.build_number, 2) + sharingPublished = false + currentBuildNumber = 2 + currentBuildCommit = "1".padStart(40, "0") + delete process.env.TEST_HEAD + delete process.env.TEST_HEAD_TREE + delete process.env.TEST_TREE + assert.equal( + ( + await send("/api/hub/comments", "POST", { + review_revision: { ...previousRevision, hubOrigin: "https://another-hub.example.com" }, + review_comment: { body: "Wrong Hub", anchor: { schemaVersion: 1 } }, + }) + ).status, + 409, + ) + currentPrototypeId = 9 + assert.equal( + ( + await send("/api/hub/comments", "POST", { + review_revision: previousRevision, review_comment: { - build_number: 2, - body: "New thread", + body: "Stale Hub target", anchor: { schemaVersion: 1 }, }, }) ).status, - 201, + 409, + ) + currentPrototypeId = 4 + assert.equal( + calls.filter(({ path, method }) => path.endsWith("/review_comments") && method === "POST") + .length, + beforeChangedRevision + 2, ) assert.equal( ( @@ -1379,6 +1499,27 @@ esac const unpublishedRepositoryPage = await canvas.reviewAction("list_repository_comments", {}) assert.equal(unpublishedRepositoryPage.scanComplete, true) assert.equal(unpublishedRepositoryPage.target.branch, "prototype/second") + const draftOnly = (await send("/api/hub/status")).body + assert.equal(draftOnly.state, "undiscovered") + assert.equal(draftOnly.prototype, undefined) + const beforeUnpublishedSave = calls.length + assert.equal( + ( + await send("/api/hub/comments", "POST", { + review_revision: draftOnly.reviewRevision, + review_comment: { + body: "Review before Hub discovers the branch", + anchor: { schemaVersion: 1, kind: "element", selector: "#save" }, + }, + }) + ).status, + 201, + ) + assert.equal((await send("/api/hub/comments")).body.comments[0].buildNumber, null) + assert.ok( + calls.slice(beforeUnpublishedSave).every(({ method }) => method === "GET"), + "Saving unpublished feedback must not create any Hub records.", + ) assert.equal((await send("/api/publish", "POST", {})).status, 202) assert.equal(publishData(publishPrompts.at(-1).prompt).branch, "prototype/second") assert.equal(publishPrompts.at(-1).registrations, previousRegistrations) @@ -1425,6 +1566,38 @@ esac ) const originalHub = process.env.REPLICA_HUB_ORIGIN + const otherHub = `http://localhost:${hub.address().port}` + assert.equal((await send("/api/hub/origin", "POST", { origin: otherHub })).status, 200) + await send("/api/hub/pair", "POST", {}) + await send("/api/hub/poll", "POST", {}) + const otherHubStatus = (await send("/api/hub/status")).body + assert.equal(otherHubStatus.state, "connected") + const selectedConnection = otherHubStatus.reviewRevision + await send("/api/hub/disconnect", "POST", {}) + accessToken = "rp_reconnected" + await send("/api/hub/pair", "POST", {}) + await send("/api/hub/poll", "POST", {}) + const reconnectedStatus = (await send("/api/hub/status")).body + assert.equal(reconnectedStatus.state, "connected") + assert.notEqual( + reconnectedStatus.reviewRevision.connectionId, + selectedConnection.connectionId, + ) + const beforeReconnectedSave = calls.filter( + ({ path, method }) => path.endsWith("/review_comments") && method === "POST", + ).length + const reconnectedSave = await send("/api/hub/comments", "POST", { + review_revision: selectedConnection, + review_comment: { body: "Old connection", anchor: { schemaVersion: 1 } }, + }) + assert.equal(reconnectedSave.status, 409, JSON.stringify(reconnectedSave.body)) + assert.equal( + calls.filter(({ path, method }) => path.endsWith("/review_comments") && method === "POST") + .length, + beforeReconnectedSave, + ) + assert.equal((await send("/api/hub/origin", "POST", { origin: originalHub })).status, 200) + await send("/api/hub/status") const invalid = await send("/api/hub/origin", "POST", { origin: "http://hub.example.com", }) @@ -1468,7 +1641,10 @@ esac canvas = await startCanvasServer( context, { send() {} }, - { hubOptions: { directory: path.join(workspace, "credentials") } }, + { + hubOptions: { directory: path.join(workspace, "credentials") }, + localCommentsDirectory: path.join(workspace, "local-comments"), + }, ) const reopenedPage = await (await fetch(canvas.url)).text() token = JSON.parse(reopenedPage.match(/window\.__REPLICA_CANVAS__ = ([^;]+);/)[1]).token @@ -1485,6 +1661,8 @@ esac delete process.env.TEST_BRANCH delete process.env.TEST_REPOSITORY delete process.env.TEST_HEAD + delete process.env.TEST_HEAD_TREE + delete process.env.TEST_TREE if (originalOrigin === undefined) delete process.env.REPLICA_HUB_ORIGIN else process.env.REPLICA_HUB_ORIGIN = originalOrigin await new Promise((resolve, reject) => diff --git a/AGENTS.md b/AGENTS.md index 54114727..f452c368 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -35,7 +35,7 @@ Follow the [commit and PR conventions](CONTRIBUTING.md#commits-and-pull-requests Hub releases use `hub-v*` tags. The starter follows `main` and has no separate release process. Start a new agent session after copying the starter so its local skills are discovered. -To create a local prototype repository, download and review `scripts/install-starter.sh` with `curl`, then run it without `gh`, credentials, or a clone. From a local Replica checkout, use `scripts/create-prototype-repo.sh ` instead. Choose a new destination outside this checkout; either path creates an independent, uncommitted repository. Start a fresh agent session there before invoking its `/setup-skills` skill; the running session in this checkout will not discover the copied skills. Use an existing Node.js installation matching `engines.node` in [starter/package.json](starter/package.json). On macOS or Linux, obtain approval before installing nodenv, node-build, or Node.js or changing shell configuration; do not install them automatically. +For requests to create a prototype repository or set up an existing repository for prototyping, read [prototype repository setup](docs/prototype-repository-setup.md) before acting. It owns target selection, starter installation, the fresh-session handoff, and the path from local preview to optional guidance, a team baseline, or Hub. ## Browser validation and Playwright fallback diff --git a/README.md b/README.md index 07220ffa..47fdfe3e 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,9 @@ Replica has four parts: **Ready to make prototypes?** Follow [Get started with Replica](docs/getting-started.md) to install the GitHub Copilot app, add your team's prototyping repository, install the canvas, and create your first prototype. It also covers connecting to Hub, publishing, sharing and commenting, and adding controls. -**Setting up Replica for your organization?** Follow [environment setup](docs/prototype-environment.md) to create your team's prototyping repository, add your design system and guidance, and deploy Hub. Your organization deploys and runs Hub on its own infrastructure. GitHub doesn't host it. +**Creating a prototyping repository?** Point your agent at [prototype repository setup](docs/prototype-repository-setup.md). It covers new and existing repositories, getting the starter running locally, and continuing with product guidance or a shared team baseline. Local prototyping needs no Hub. + +**Setting up Replica for your organization?** Follow [environment setup](docs/prototype-environment.md) to add shared guidance and starting pages, deploy Hub, and connect publishing and team feedback. Your organization deploys and runs Hub on its own infrastructure. GitHub doesn't host it. **How did setup go?** [Share your feedback](https://survey.alchemer.com/s3/9055055/Replica-feedback). It helps us make Replica easier to start. diff --git a/docs/README.md b/docs/README.md index 3e52667f..449de56f 100644 --- a/docs/README.md +++ b/docs/README.md @@ -6,6 +6,8 @@ These guides apply across the Replica monorepo. Start with [Contributing](../CON [Get started with Replica](getting-started.md) walks new users through installing Copilot, adding their team's repository and canvas, creating and publishing a prototype, sharing feedback, and adding controls. +[Set up a prototype repository](prototype-repository-setup.md) guides agents through new or existing repository targets, starter installation, the fresh-session handoff, and a verified local preview before optional product guidance or team setup. + [Set up and configure your prototype environment](prototype-environment.md) walks environment maintainers through creating the shared repository, adding design-system guidance and templates, deploying Hub with Docker, connecting builds, and inviting the team. ## Shared conventions diff --git a/docs/getting-started.md b/docs/getting-started.md index e67f5388..650cb9fd 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -2,7 +2,7 @@ Create an interactive prototype with GitHub Copilot, publish it to Replica Hub, and collect feedback from your team. This guide helps you join your organization's prototyping environment and create your first shared prototype. -You can create and try prototypes locally without Hub. Publishing and team comments need a Hub hosted by your organization, a connected GitHub repository, and the repository's Replica build workflow. Ask your team for its Hub URL and repository, or follow [environment setup](prototype-environment.md) if you are setting these up for the first time. +You can create and try prototypes locally without Hub. To create a repository rather than join an existing one, follow [prototype repository setup](prototype-repository-setup.md). Publishing and team comments need a Hub hosted by your organization, a connected GitHub repository, and the repository's Replica build workflow. Ask your team for its Hub URL and repository, or follow [environment setup](prototype-environment.md) if you are setting up shared hosting for the first time. ## 1. Download the GitHub Copilot app diff --git a/docs/prototype-environment.md b/docs/prototype-environment.md index 50926255..4cdde0d3 100644 --- a/docs/prototype-environment.md +++ b/docs/prototype-environment.md @@ -4,6 +4,8 @@ Give your organization a shared place to create prototypes with its own componen This guide is for the people setting up and maintaining that environment, not everyone creating a prototype. It covers the starter repository, design-system guidance, Docker deployment, GitHub connection, and handoff to your team. If your organization already has an environment, follow [Get started with Replica](getting-started.md) to join it instead. +For a local prototype repository without hosted publishing or comments, use [prototype repository setup](prototype-repository-setup.md). It does not require the server, domain, Docker, or GitHub App described below. + The linked technical guides own deployment configuration, access rules, and recovery procedures. Keep them open as you work through the steps below. ## Who should be involved @@ -22,23 +24,9 @@ Install [GitHub CLI](https://cli.github.com/) on the author's computer for canva ## 1. Create the team's prototype repository -Start with Replica Starter in a new directory, separate from your live product and the Replica source checkout. In a terminal on your computer, go to the folder where you keep projects and download the installer: - -```sh -curl -fLSs https://raw.githubusercontent.com/github/replica/main/scripts/install-starter.sh -o install-starter.sh -``` - -Read the downloaded script before running it. Choose a new destination that does not already exist: - -```sh -bash install-starter.sh my-prototype -``` - -The installer creates an independent, uncommitted Git repository with no remote. It needs no GitHub credentials and publishes nothing. From a local Replica checkout, use [`scripts/create-prototype-repo.sh`](../scripts/create-prototype-repo.sh) instead, with a new destination outside that checkout. - -In the Copilot app, click **+** beside **Projects**, choose **Local folder or repository**, and select `my-prototype`. Start a fresh session so Copilot discovers the starter's local skills. Ask Copilot to install the dependencies, reviewing commands before approval. +Follow steps 1 through 3 of [prototype repository setup](prototype-repository-setup.md) to create an independent starter, open a fresh Copilot session, and verify its local preview. Then return here to prepare the team's guidance and starting pages. -Create an empty GitHub repository in your organization for this environment. Connect the local repository to it as `origin`, review the starter files, make the initial commit, and push the default branch. Ask an engineer to help with these Git steps if needed. Give prototype authors write access and reviewers read access. Keep production credentials and real customer data out of it. +Use a GitHub repository in your organization for this shared environment. Give prototype authors write access and reviewers read access. Keep production credentials and real customer data out of it. Continue below to prepare guidance and starting pages before inviting the team. ## 2. Add your product and design-system guidance @@ -56,7 +44,7 @@ Add a small set of representative pages with sample data, such as a list, a deta The hub always offers **Default**, which opens the repository's root page. To offer additional templates, declare their names, descriptions, and routes in `.github/replica.json`. See [template configuration](../hub/docs/github-actions-builds.md#uploaded-artifact) for the format and limits, and [templates in the hub](../hub/docs/gallery.md#templates) for how people use them. -Review the pages and guidance together, then commit them to the team's default branch. New prototypes start from that shared version without changing it. +Review the pages and guidance together, then follow [share the baseline on GitHub](prototype-repository-setup.md#share-the-baseline-on-github) to create or use the intended organization repository, connect `origin`, and commit and push the reviewed baseline when authorized. For an existing shared repository, merge through its contribution process. Verify the actual default branch contains the baseline before continuing to Hub setup. New prototypes start from that shared version without changing it. ## 4. Deploy the hub diff --git a/docs/prototype-repository-setup.md b/docs/prototype-repository-setup.md new file mode 100644 index 00000000..6c4045d2 --- /dev/null +++ b/docs/prototype-repository-setup.md @@ -0,0 +1,84 @@ +# Set up a prototype repository + +Use this guide when someone points an agent at `github/replica` and asks it to set up a prototyping repository. The first milestone is an independent starter app with a verified local preview. Product guidance, reference components, a shared team baseline, and Hub publishing are separate milestones. + +This guide uses the existing installer and starter workflows. It does not change `/setup-skills`, which drafts the full shared context library on plain setup. + +## 1. Resolve the target and requested outcome + +Reuse the repository name, destination, references, and decisions already supplied. Ask only for missing information needed for the next action. + +| Target | Next action | +| --- | --- | +| New local repository | Choose a new directory outside the Replica checkout, then follow step 2. | +| Existing local or GitHub repository | Inspect its instructions, files, Git state, and remote before proposing changes. If it already uses Replica, continue from its current setup state. | +| Existing empty directory or repository | Explain that the installer requires a new destination. Propose creating the starter in a separate directory and reviewing how to integrate it into the intended repository. Get approval before transferring files or changing repository configuration. | +| Existing repository with another app | Agree whether to adapt that app or create a separate prototype repository before installing anything. Preserve existing files and history. | + +A local repository needs no GitHub credentials or Hub. If the user also requests a GitHub repository, resolve its owner and visibility before creating it. Follow the host's authorization rules for repository creation, commits, and pushes; local setup alone does not authorize them. + +When a reference app is supplied, retain it for the guidance and component work in step 4. A request to create the repository does not require a design-system questionnaire before copying the starter. + +## 2. Create the independent starter + +Without a local Replica checkout, download the installer: + +```sh +curl -fLSs https://raw.githubusercontent.com/github/replica/main/scripts/install-starter.sh -o install-starter.sh +``` + +Read the downloaded script before running it. Use a destination that does not exist and whose parent directory exists: + +```sh +bash install-starter.sh my-prototype +``` + +From a local Replica checkout, use the checked-out script instead: + +```sh +bash scripts/create-prototype-repo.sh ../my-prototype +``` + +Both paths create an independent, uncommitted Git repository with no remote. They copy the starter without Replica's source history, require no GitHub credentials, and publish nothing. The installer does not install Node.js or app dependencies. + +Before asking the user to accept the copied repository's Copilot app configuration, review `.github/github-app.yml` and the startup details in the copied `README.md`. Explain that session startup can install Copilot CLI globally when missing, install or enable the Replica plugin, and will run `npm ci`. + +Add the new directory to the Copilot app using **Projects → + → Local folder or repository**, then start a fresh session there. The session in the Replica checkout cannot discover the copied local skills. + +Before ending the originating session, provide a paste-ready kickoff message headed **Prompt 1: Continue prototype repository setup**. Tell the user to paste it into the fresh session; a new session does not inherit the previous conversation. Include the user's goal, repository path, supplied references, requested milestone, settled decisions and approvals, completed actions, blockers, and next step. + +The kickoff must tell the new session to follow the copied repository's `AGENTS.md` and resume this guide at step 3. Include the [absolute guide URL](https://github.com/github/replica/blob/main/docs/prototype-repository-setup.md#3-verify-the-existing-app-locally), since this guide is not copied into the starter. If that version is not yet available at the URL, include steps 3 through 5 inline instead. The new session reuses settled answers and checks which actions and approvals remain applicable. + +## 3. Verify the existing app locally + +Check `node --version` against `engines.node` in the copied `package.json`. Reuse a compatible installed runtime. On macOS or Linux, obtain approval before installing Node.js, nodenv, or node-build, or changing shell configuration. + +The fresh session does not receive the setup output, so ask the user to inspect it and report any failures before repeating setup. Dependency installation success does not prove that the current session loaded the canvas. + +Follow the copied README's **Connect the Replica canvas** and **Canvas preflight** sections for plugin activation and recovery. Complete that preflight before starting a preview. Use its **Run it** commands, reuse an existing responsive server when appropriate, and open the actual printed URL. Verify that the included app renders; a successful dependency install or HTTP response alone is not a rendered check. + +This milestone checks the existing starter page without building product UI. Report a missing runtime, unavailable canvas, or failed preview with its specific recovery step. Hub connection is not required for local preview. + +## 4. Continue only to the requested milestone + +| Requested outcome | Continue with | +| --- | --- | +| Local starter and preview | Report the verified state and stop. No guidance authoring or Hub setup is needed just to inspect the included app. | +| Product or design-system setup | Run the new repository's `/setup-skills` with the supplied sources. Reuse prior answers. Follow its source intake, installation approval, draft review, and separate activation steps. | +| Reference-based starting UI | Complete the applicable guidance setup, then use the local `create-prototype` skill to build the requested shell or page. Establish whether components come from an installable package, permitted source reuse, or newly authored components. Verify the rendered result against the authorized reference. | +| Shared team baseline | Complete the applicable guidance setup, [prepare useful starting pages](prototype-environment.md#3-prepare-useful-starting-pages), and review them together. Then [share the baseline on GitHub](#share-the-baseline-on-github). | +| Hosted publishing and comments | First [share the reviewed baseline on GitHub and verify it on the actual default branch](#share-the-baseline-on-github), then follow [deploy the hub](prototype-environment.md#4-deploy-the-hub) and the remaining environment setup steps, or connect to an existing team Hub. | + +Guidance drafts are not active guidance. Installed tokens or packages are not proof that reference components are usable or that a shell resembles the reference. Keep those outcomes distinct. + +### Share the baseline on GitHub + +After reviewing the starter files, guidance, and starting pages, use the intended empty GitHub repository or create one with the agreed owner and visibility. Connect it as a remote named `origin`, make the initial commit, and push the intended default branch only when authorized. For an existing shared repository, follow its contribution process to merge the reviewed changes instead of replacing its remote or history. Ask an engineer for help with these Git steps if needed. + +Verify the repository's actual default branch contains the intended baseline before calling it ready for teammates or continuing to Hub repository connection. A local preview is not evidence of a published Hub Build. + +## 5. Report what is ready + +Finish with a short status summary based on observed results. Distinguish **verified**, **blocked**, **not checked**, and **not requested** rather than saying only "setup complete." + +Cover the runtime and dependencies, current-session canvas availability, rendered preview and URL, guidance activation, reference components or shell, default-branch baseline, and Hub publishing only as applicable. Name the next blocker and its recovery action. Preserve this summary across a required session handoff. diff --git a/docs/testing-and-review.md b/docs/testing-and-review.md index 962f693f..504fe329 100644 --- a/docs/testing-and-review.md +++ b/docs/testing-and-review.md @@ -20,6 +20,8 @@ Start with the intended behavior and the regression a test should catch. Inspect Choose assertions that survive an equivalent implementation. Check outcomes such as saved state, returned data, navigation, access decisions, and usable controls. Exact protocol values, serialization, accessible names, meaningful state mappings, and safety restrictions can be contracts worth asserting. Ordinary copy, icon counts, internal markup, and whole configuration snapshots usually are not. A text query that identifies a control is different from a test whose only purpose is freezing its wording. For agent instructions, distinguish discoverable metadata and required safety guidance from incidental phrasing; phrase presence alone does not prove agent behavior. +Use human review for visual appearance, supported by relevant screenshots or recordings in pull requests with meaningful UI changes. Do not freeze colors, spacing, typography, icon pixels, or cosmetic CSS structure in automated assertions. Test behavior and accessibility instead. Geometry that defines functional data, such as a captured selection's bounds, is different from checking rendered styling. + Keep each behavior at its owning layer and use integration tests to prove important connections. Repeating all lower-level cases through every consumer adds cost without necessarily adding confidence. Keep separate cases for distinct failures; combine assertions when they describe one coherent scenario. Parameterization improves readability but still runs every input. Fewer case names or assertions do not establish a faster suite. For a bug fix, reproduce the failure before the fix when feasible. For new behavior, establish an expected-result failure before implementation when the interface allows it. A missing dependency, syntax error, or test setup failure is not evidence that the test catches the regression. If the implementation already exists, explain the plausible incorrect behavior the test would reject; report red-phase evidence as unavailable unless it was actually observed. diff --git a/hub/.storybook/preview-fixtures/build-controls/controls.js b/hub/.storybook/preview-fixtures/build-controls/controls.js index d9bf0c28..a94fd2fc 100644 --- a/hub/.storybook/preview-fixtures/build-controls/controls.js +++ b/hub/.storybook/preview-fixtures/build-controls/controls.js @@ -1,4 +1,4 @@ (function(){var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=((n,r,o)=>(o=n==null?{}:e(i(n)),s(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n)))(o((e=>{var t=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),n=t((e=>{Object.defineProperty(e,"__esModule",{value:!0});function t(e){let t=e.length,n=0,r=0,i;for(;r=55296&&i<=56319&&r{t.exports=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t==`object`&&typeof n==`object`){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if(!e(t[o],n[o]))return!1}return!0}return t!==t&&n!==n}})),i=t((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=r();t.code=`require("ajv/dist/runtime/equal").default`,e.default=t}));e.validateShape=P;var a={type:`object`,additionalProperties:!1,required:[`version`,`scope`,`controls`],properties:{$schema:{type:`string`},version:{const:1},scope:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},role:{enum:[`shared`,`page`]},container:{$ref:`#/$defs/selector`},panel:{type:`object`,additionalProperties:!1,required:[`width`],properties:{width:{type:`integer`,minimum:160,maximum:4096}}},groups:{type:`array`,maxItems:100,items:{type:`object`,additionalProperties:!1,required:[`id`,`label`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},when:{$ref:`#/$defs/condition`}}}},controls:{type:`array`,maxItems:500,items:{oneOf:[{$ref:`#/$defs/boolean`},{$ref:`#/$defs/number`},{$ref:`#/$defs/slider`},{$ref:`#/$defs/choice`},{$ref:`#/$defs/checkboxGroup`},{$ref:`#/$defs/text`},{$ref:`#/$defs/color`},{$ref:`#/$defs/button`}]}}}},o=Object.prototype.hasOwnProperty,s=n().default,c=RegExp(`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`,`u`),l={type:[`string`,`number`,`boolean`]},u=i().default,d={validate:f};function f(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0,s=o,p=!1,m=null,h=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.control===void 0){let e={instancePath:t,schemaPath:`#/oneOf/0/required`,keyword:`required`,params:{missingProperty:`control`},message:`must have required property 'control'`};a===null?a=[e]:a.push(e),o++}if(e.equals===void 0){let e={instancePath:t,schemaPath:`#/oneOf/0/required`,keyword:`required`,params:{missingProperty:`equals`},message:`must have required property 'equals'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`control`&&n!==`equals`){let e={instancePath:t,schemaPath:`#/oneOf/0/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.control!==void 0){let n=e.control;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.equals!==void 0){let n=e.equals;if(typeof n!=`string`&&!(typeof n==`number`&&isFinite(n))&&typeof n!=`boolean`){let e={instancePath:t+`/equals`,schemaPath:`#/$defs/scalar/type`,keyword:`type`,params:{type:l.type},message:`must be string,number,boolean`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/0/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var g=h===o;g&&(p=!0,m=0);let _=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.control===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`control`},message:`must have required property 'control'`};a===null?a=[e]:a.push(e),o++}if(e.in===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`in`},message:`must have required property 'in'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`control`&&n!==`in`){let e={instancePath:t,schemaPath:`#/oneOf/1/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.control!==void 0){let n=e.control;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.in!==void 0){let n=e.in;if(Array.isArray(n)){if(n.length>20){let e={instancePath:t+`/in`,schemaPath:`#/oneOf/1/properties/in/maxItems`,keyword:`maxItems`,params:{limit:20},message:`must NOT have more than 20 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/in`,schemaPath:`#/oneOf/1/properties/in/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r1){outer0:for(;r--;)for(i=r;i--;)if(u(n[r],n[i])){let e={instancePath:t+`/in`,schemaPath:`#/oneOf/1/properties/in/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[e]:a.push(e),o++;break outer0}}}else{let e={instancePath:t+`/in`,schemaPath:`#/oneOf/1/properties/in/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/1/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var g=_===o;if(g&&p)p=!1,m=[m,1];else{g&&(p=!0,m=1);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.control===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`control`},message:`must have required property 'control'`};a===null?a=[e]:a.push(e),o++}if(e.includes===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`includes`},message:`must have required property 'includes'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`control`&&n!==`includes`){let e={instancePath:t,schemaPath:`#/oneOf/2/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.control!==void 0){let n=e.control;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.includes!==void 0&&typeof e.includes!=`string`){let e={instancePath:t+`/includes`,schemaPath:`#/oneOf/2/properties/includes/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t,schemaPath:`#/oneOf/2/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var g=n===o;if(g&&p)p=!1,m=[m,2];else{g&&(p=!0,m=2);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.all===void 0){let e={instancePath:t,schemaPath:`#/oneOf/3/required`,keyword:`required`,params:{missingProperty:`all`},message:`must have required property 'all'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`all`){let e={instancePath:t,schemaPath:`#/oneOf/3/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.all!==void 0){let n=e.all;if(Array.isArray(n)){if(n.length>10){let e={instancePath:t+`/all`,schemaPath:`#/oneOf/3/properties/all/maxItems`,keyword:`maxItems`,params:{limit:10},message:`must NOT have more than 10 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/all`,schemaPath:`#/oneOf/3/properties/all/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r10){let e={instancePath:t+`/any`,schemaPath:`#/oneOf/4/properties/any/maxItems`,keyword:`maxItems`,params:{limit:10},message:`must NOT have more than 10 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/any`,schemaPath:`#/oneOf/4/properties/any/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r512){let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/maxLength`,keyword:`maxLength`,params:{limit:512},message:`must NOT have more than 512 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/0/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=d===o;f&&(l=!0,u=0);let v=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.selector===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`selector`},message:`must have required property 'selector'`};a===null?a=[e]:a.push(e),o++}if(e.property===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`property`},message:`must have required property 'property'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`type`&&n!==`selector`&&n!==`property`){let e={instancePath:t,schemaPath:`#/oneOf/1/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.type!==void 0&&e.type!==`style`){let e={instancePath:t+`/type`,schemaPath:`#/oneOf/1/properties/type/const`,keyword:`const`,params:{allowedValue:`style`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.selector!==void 0){let n=e.selector;if(typeof n==`string`){if(s(n)>512){let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/maxLength`,keyword:`maxLength`,params:{limit:512},message:`must NOT have more than 512 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.property!==void 0){let n=e.property;if(typeof n==`string`){if(s(n)>100){let e={instancePath:t+`/property`,schemaPath:`#/oneOf/1/properties/property/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};a===null?a=[e]:a.push(e),o++}if(!m.test(n)){let e={instancePath:t+`/property`,schemaPath:`#/oneOf/1/properties/property/pattern`,keyword:`pattern`,params:{pattern:`^(--[a-zA-Z0-9_-]+|[a-z][a-z-]*)$`},message:`must match pattern "^(--[a-zA-Z0-9_-]+|[a-z][a-z-]*)$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/property`,schemaPath:`#/oneOf/1/properties/property/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/1/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=v===o;if(f&&l)l=!1,u=[u,1];else{f&&(l=!0,u=1);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.key===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`key`},message:`must have required property 'key'`};a===null?a=[e]:a.push(e),o++}if(e.mode===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`mode`},message:`must have required property 'mode'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`type`&&n!==`key`&&n!==`mode`){let e={instancePath:t,schemaPath:`#/oneOf/2/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.type!==void 0&&e.type!==`query`){let e={instancePath:t+`/type`,schemaPath:`#/oneOf/2/properties/type/const`,keyword:`const`,params:{allowedValue:`query`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.key!==void 0){let n=e.key;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/key`,schemaPath:`#/oneOf/2/properties/key/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/key`,schemaPath:`#/oneOf/2/properties/key/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/key`,schemaPath:`#/oneOf/2/properties/key/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.mode!==void 0){let n=e.mode;if(n!==`in-place`&&n!==`navigate`){let e={instancePath:t+`/mode`,schemaPath:`#/oneOf/2/properties/mode/enum`,keyword:`enum`,params:{allowedValues:p.oneOf[2].properties.mode.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/2/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=n===o;if(f&&l)l=!1,u=[u,2];else{f&&(l=!0,u=2);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={instancePath:t,schemaPath:`#/oneOf/3/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.mode===void 0){let e={instancePath:t,schemaPath:`#/oneOf/3/required`,keyword:`required`,params:{missingProperty:`mode`},message:`must have required property 'mode'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`type`&&n!==`mode`){let e={instancePath:t,schemaPath:`#/oneOf/3/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.type!==void 0&&e.type!==`hash`){let e={instancePath:t+`/type`,schemaPath:`#/oneOf/3/properties/type/const`,keyword:`const`,params:{allowedValue:`hash`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.mode!==void 0){let n=e.mode;if(n!==`in-place`&&n!==`navigate`){let e={instancePath:t+`/mode`,schemaPath:`#/oneOf/3/properties/mode/enum`,keyword:`enum`,params:{allowedValues:p.oneOf[3].properties.mode.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/3/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=n===o;if(f&&l)l=!1,u=[u,3];else{f&&(l=!0,u=3);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={instancePath:t,schemaPath:`#/oneOf/4/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.object===void 0){let e={instancePath:t,schemaPath:`#/oneOf/4/required`,keyword:`required`,params:{missingProperty:`object`},message:`must have required property 'object'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`type`&&n!==`object`&&n!==`read`&&n!==`write`&&n!==`action`&&n!==`subscribe`&&n!==`pollMs`){let e={instancePath:t,schemaPath:`#/oneOf/4/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.type!==void 0&&e.type!==`api`){let e={instancePath:t+`/type`,schemaPath:`#/oneOf/4/properties/type/const`,keyword:`const`,params:{allowedValue:`api`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.object!==void 0){let n=e.object;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/object`,schemaPath:`#/oneOf/4/properties/object/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(!h.test(n)){let e={instancePath:t+`/object`,schemaPath:`#/oneOf/4/properties/object/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z_$][a-zA-Z0-9_$]*(\\.[a-zA-Z_$][a-zA-Z0-9_$]*)*$`},message:`must match pattern "^[a-zA-Z_$][a-zA-Z0-9_$]*(\\.[a-zA-Z_$][a-zA-Z0-9_$]*)*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/object`,schemaPath:`#/oneOf/4/properties/object/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.read!==void 0){let n=e.read;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/read`,schemaPath:`#/$defs/method/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};a===null?a=[e]:a.push(e),o++}if(!g.test(n)){let e={instancePath:t+`/read`,schemaPath:`#/$defs/method/pattern`,keyword:`pattern`,params:{pattern:`^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$`},message:`must match pattern "^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/read`,schemaPath:`#/$defs/method/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.write!==void 0){let n=e.write;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/write`,schemaPath:`#/$defs/method/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};a===null?a=[e]:a.push(e),o++}if(!g.test(n)){let e={instancePath:t+`/write`,schemaPath:`#/$defs/method/pattern`,keyword:`pattern`,params:{pattern:`^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$`},message:`must match pattern "^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/write`,schemaPath:`#/$defs/method/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.action!==void 0){let n=e.action;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/action`,schemaPath:`#/$defs/method/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};a===null?a=[e]:a.push(e),o++}if(!g.test(n)){let e={instancePath:t+`/action`,schemaPath:`#/$defs/method/pattern`,keyword:`pattern`,params:{pattern:`^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$`},message:`must match pattern "^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/action`,schemaPath:`#/$defs/method/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.subscribe!==void 0){let n=e.subscribe;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/subscribe`,schemaPath:`#/$defs/method/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};a===null?a=[e]:a.push(e),o++}if(!g.test(n)){let e={instancePath:t+`/subscribe`,schemaPath:`#/$defs/method/pattern`,keyword:`pattern`,params:{pattern:`^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$`},message:`must match pattern "^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/subscribe`,schemaPath:`#/$defs/method/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.pollMs!==void 0){let n=e.pollMs;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/pollMs`,schemaPath:`#/oneOf/4/properties/pollMs/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),o++}if(typeof n==`number`&&isFinite(n)){if(n>6e4||isNaN(n)){let e={instancePath:t+`/pollMs`,schemaPath:`#/oneOf/4/properties/pollMs/maximum`,keyword:`maximum`,params:{comparison:`<=`,limit:6e4},message:`must be <= 60000`};a===null?a=[e]:a.push(e),o++}if(n<100||isNaN(n)){let e={instancePath:t+`/pollMs`,schemaPath:`#/oneOf/4/properties/pollMs/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:100},message:`must be >= 100`};a===null?a=[e]:a.push(e),o++}}}}else{let e={instancePath:t,schemaPath:`#/oneOf/4/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=n===o;f&&l?(l=!1,u=[u,4]):f&&(l=!0,u=4)}}}if(l)o=c,a!==null&&(c?a.length=c:a=null);else{let e={instancePath:t,schemaPath:`#/oneOf`,keyword:`oneOf`,params:{passingSchemas:u},message:`must match exactly one schema in oneOf`};a===null?a=[e]:a.push(e),o++}return _.errors=a,o===0}function v(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`boolean`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`boolean`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.default!==void 0&&typeof e.default!=`boolean`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return v.errors=a,o===0}var y={type:`object`,additionalProperties:!1,required:[`id`,`label`,`type`,`default`,`min`,`max`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},type:{const:`number`},default:{type:`number`},binding:{$ref:`#/$defs/binding`},min:{type:`number`},max:{type:`number`},step:{type:`number`,exclusiveMinimum:0},group:{$ref:`#/$defs/id`},when:{$ref:`#/$defs/condition`}}};function b(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}if(e.min===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`min`},message:`must have required property 'min'`};a===null?a=[e]:a.push(e),l++}if(e.max===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`max`},message:`must have required property 'max'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(y.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0&&e.type!==`number`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`number`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),l++}if(e.default!==void 0){let n=e.default;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.min!==void 0){let n=e.min;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/min`,schemaPath:`#/properties/min/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.max!==void 0){let n=e.max;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/max`,schemaPath:`#/properties/max/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.step!==void 0){let n=e.step;if(typeof n==`number`&&isFinite(n)){if(n<=0||isNaN(n)){let e={instancePath:t+`/step`,schemaPath:`#/properties/step/exclusiveMinimum`,keyword:`exclusiveMinimum`,params:{comparison:`>`,limit:0},message:`must be > 0`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/step`,schemaPath:`#/properties/step/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return b.errors=a,l===0}var x={type:`object`,additionalProperties:!1,required:[`id`,`label`,`type`,`default`,`min`,`max`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},type:{const:`slider`},default:{type:`number`},binding:{$ref:`#/$defs/binding`},min:{type:`number`},max:{type:`number`},step:{type:`number`,exclusiveMinimum:0},group:{$ref:`#/$defs/id`},when:{$ref:`#/$defs/condition`}}};function S(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}if(e.min===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`min`},message:`must have required property 'min'`};a===null?a=[e]:a.push(e),l++}if(e.max===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`max`},message:`must have required property 'max'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(x.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0&&e.type!==`slider`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`slider`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),l++}if(e.default!==void 0){let n=e.default;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.min!==void 0){let n=e.min;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/min`,schemaPath:`#/properties/min/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.max!==void 0){let n=e.max;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/max`,schemaPath:`#/properties/max/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.step!==void 0){let n=e.step;if(typeof n==`number`&&isFinite(n)){if(n<=0||isNaN(n)){let e={instancePath:t+`/step`,schemaPath:`#/properties/step/exclusiveMinimum`,keyword:`exclusiveMinimum`,params:{comparison:`>`,limit:0},message:`must be > 0`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/step`,schemaPath:`#/properties/step/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return S.errors=a,l===0}var C={type:`object`,additionalProperties:!1,required:[`id`,`label`,`type`,`default`,`options`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},type:{enum:[`select`,`radio`,`segmented`]},default:{type:`string`},binding:{$ref:`#/$defs/binding`},options:{$ref:`#/$defs/options`},group:{$ref:`#/$defs/id`},when:{$ref:`#/$defs/condition`}}};function w(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}if(e.options===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`options`},message:`must have required property 'options'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`options`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0){let n=e.type;if(n!==`select`&&n!==`radio`&&n!==`segmented`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/enum`,keyword:`enum`,params:{allowedValues:C.properties.type.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),o++}}if(e.default!==void 0&&typeof e.default!=`string`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.options!==void 0){let n=e.options;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(e)<1){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}let r=n.length,i;if(r>1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/options`,schemaPath:`#/$defs/options/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return w.errors=a,o===0}function T(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}if(e.options===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`options`},message:`must have required property 'options'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!==`binding`&&n!=="default"&&n!==`options`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`checkboxGroup`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`checkboxGroup`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.default!==void 0){let n=e.default;if(Array.isArray(n)){let e=n.length;for(let r=0;r1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/default`,schemaPath:`#/properties/default/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.options!==void 0){let n=e.options;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(e)<1){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}let r=n.length,i;if(r>1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/options`,schemaPath:`#/$defs/options/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return T.errors=a,o===0}var E={type:`object`,additionalProperties:!1,required:[`id`,`label`,`type`,`default`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},type:{enum:[`text`,`textarea`]},default:{type:`string`},binding:{$ref:`#/$defs/binding`},minLength:{type:`integer`,minimum:0},maxLength:{type:`integer`,minimum:0},group:{$ref:`#/$defs/id`},when:{$ref:`#/$defs/condition`}}};function D(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(E.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0){let n=e.type;if(n!==`text`&&n!==`textarea`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/enum`,keyword:`enum`,params:{allowedValues:E.properties.type.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),l++}}if(e.default!==void 0&&typeof e.default!=`string`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.minLength!==void 0){let n=e.minLength;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/minLength`,schemaPath:`#/properties/minLength/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),l++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/minLength`,schemaPath:`#/properties/minLength/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};a===null?a=[e]:a.push(e),l++}}if(e.maxLength!==void 0){let n=e.maxLength;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/maxLength`,schemaPath:`#/properties/maxLength/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),l++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/maxLength`,schemaPath:`#/properties/maxLength/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return D.errors=a,l===0}var O=RegExp(`^#[0-9a-fA-F]{6}$`,`u`);function k(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`color`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`color`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.default!==void 0){let n=e.default;if(typeof n==`string`){if(!O.test(n)){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/pattern`,keyword:`pattern`,params:{pattern:`^#[0-9a-fA-F]{6}$`},message:`must match pattern "^#[0-9a-fA-F]{6}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return k.errors=a,o===0}function A(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`button`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`button`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return A.errors=a,o===0}function j(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let l=null,u=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.version===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`version`},message:`must have required property 'version'`};l===null?l=[e]:l.push(e),u++}if(e.scope===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`scope`},message:`must have required property 'scope'`};l===null?l=[e]:l.push(e),u++}if(e.controls===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`controls`},message:`must have required property 'controls'`};l===null?l=[e]:l.push(e),u++}for(let n in e)if(!o.call(a.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.$schema!==void 0&&typeof e.$schema!=`string`){let e={instancePath:t+`/$schema`,schemaPath:`#/properties/%24schema/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}if(e.version!==void 0&&e.version!==1){let e={instancePath:t+`/version`,schemaPath:`#/properties/version/const`,keyword:`const`,params:{allowedValue:1},message:`must be equal to constant`};l===null?l=[e]:l.push(e),u++}if(e.scope!==void 0){let n=e.scope;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/scope`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/scope`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.role!==void 0){let n=e.role;if(n!==`shared`&&n!==`page`){let e={instancePath:t+`/role`,schemaPath:`#/properties/role/enum`,keyword:`enum`,params:{allowedValues:a.properties.role.enum},message:`must be equal to one of the allowed values`};l===null?l=[e]:l.push(e),u++}}if(e.container!==void 0){let n=e.container;if(typeof n==`string`){if(s(n)>512){let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/maxLength`,keyword:`maxLength`,params:{limit:512},message:`must NOT have more than 512 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.panel!==void 0){let n=e.panel;if(n&&typeof n==`object`&&!Array.isArray(n)){if(n.width===void 0){let e={instancePath:t+`/panel`,schemaPath:`#/properties/panel/required`,keyword:`required`,params:{missingProperty:`width`},message:`must have required property 'width'`};l===null?l=[e]:l.push(e),u++}for(let e in n)if(e!==`width`){let n={instancePath:t+`/panel`,schemaPath:`#/properties/panel/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e},message:`must NOT have additional properties`};l===null?l=[n]:l.push(n),u++}if(n.width!==void 0){let e=n.width;if(typeof e!=`number`||e%1||isNaN(e)||!isFinite(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};l===null?l=[e]:l.push(e),u++}if(typeof e==`number`&&isFinite(e)){if(e>4096||isNaN(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/maximum`,keyword:`maximum`,params:{comparison:`<=`,limit:4096},message:`must be <= 4096`};l===null?l=[e]:l.push(e),u++}if(e<160||isNaN(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:160},message:`must be >= 160`};l===null?l=[e]:l.push(e),u++}}}}else{let e={instancePath:t+`/panel`,schemaPath:`#/properties/panel/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.groups!==void 0){let n=e.groups;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/groups`,schemaPath:`#/properties/groups/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/groups/`+r+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(l=l===null?f.errors:l.concat(f.errors),u=l.length))}else{let e={instancePath:t+`/groups/`+r,schemaPath:`#/properties/groups/items/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t+`/groups`,schemaPath:`#/properties/groups/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.controls!==void 0){let n=e.controls;if(Array.isArray(n)){if(n.length>500){let e={instancePath:t+`/controls`,schemaPath:`#/properties/controls/maxItems`,keyword:`maxItems`,params:{limit:500},message:`must NOT have more than 500 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r100){let e={instancePath:t+`/sets`,schemaPath:`#/properties/sets/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/sets`,schemaPath:`#/properties/sets/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.role!==void 0){let n=e.role;if(n!==`shared`&&n!==`page`){let e={instancePath:t+`/role`,schemaPath:`#/properties/role/enum`,keyword:`enum`,params:{allowedValues:a.properties.role.enum},message:`must be equal to one of the allowed values`};l===null?l=[e]:l.push(e),u++}}if(e.container!==void 0){let n=e.container;if(typeof n==`string`){if(s(n)>512){let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/maxLength`,keyword:`maxLength`,params:{limit:512},message:`must NOT have more than 512 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.panel!==void 0){let n=e.panel;if(n&&typeof n==`object`&&!Array.isArray(n)){if(n.width===void 0){let e={instancePath:t+`/panel`,schemaPath:`#/properties/panel/required`,keyword:`required`,params:{missingProperty:`width`},message:`must have required property 'width'`};l===null?l=[e]:l.push(e),u++}for(let e in n)if(e!==`width`){let n={instancePath:t+`/panel`,schemaPath:`#/properties/panel/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e},message:`must NOT have additional properties`};l===null?l=[n]:l.push(n),u++}if(n.width!==void 0){let e=n.width;if(typeof e!=`number`||e%1||isNaN(e)||!isFinite(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};l===null?l=[e]:l.push(e),u++}if(typeof e==`number`&&isFinite(e)){if(e>4096||isNaN(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/maximum`,keyword:`maximum`,params:{comparison:`<=`,limit:4096},message:`must be <= 4096`};l===null?l=[e]:l.push(e),u++}if(e<160||isNaN(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:160},message:`must be >= 160`};l===null?l=[e]:l.push(e),u++}}}}else{let e={instancePath:t+`/panel`,schemaPath:`#/properties/panel/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.groups!==void 0){let n=e.groups;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/groups`,schemaPath:`#/properties/groups/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/groups/`+r+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(l=l===null?f.errors:l.concat(f.errors),u=l.length))}else{let e={instancePath:t+`/groups/`+r,schemaPath:`#/properties/groups/items/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t+`/groups`,schemaPath:`#/properties/groups/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.controls!==void 0){let n=e.controls;if(Array.isArray(n)){if(n.length>500){let e={instancePath:t+`/controls`,schemaPath:`#/properties/controls/maxItems`,keyword:`maxItems`,params:{limit:500},message:`must NOT have more than 500 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r100){let e={instancePath:t+`/sets`,schemaPath:`#/properties/sets/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/sets`,schemaPath:`#/properties/sets/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`boolean`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`boolean`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.default!==void 0&&typeof e.default!=`boolean`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return L.errors=a,o===0}e.number=R;function R(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}if(e.min===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`min`},message:`must have required property 'min'`};a===null?a=[e]:a.push(e),l++}if(e.max===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`max`},message:`must have required property 'max'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(y.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0&&e.type!==`number`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`number`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),l++}if(e.default!==void 0){let n=e.default;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.min!==void 0){let n=e.min;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/min`,schemaPath:`#/properties/min/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.max!==void 0){let n=e.max;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/max`,schemaPath:`#/properties/max/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.step!==void 0){let n=e.step;if(typeof n==`number`&&isFinite(n)){if(n<=0||isNaN(n)){let e={instancePath:t+`/step`,schemaPath:`#/properties/step/exclusiveMinimum`,keyword:`exclusiveMinimum`,params:{comparison:`>`,limit:0},message:`must be > 0`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/step`,schemaPath:`#/properties/step/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return R.errors=a,l===0}e.slider=z;function z(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}if(e.min===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`min`},message:`must have required property 'min'`};a===null?a=[e]:a.push(e),l++}if(e.max===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`max`},message:`must have required property 'max'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(x.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0&&e.type!==`slider`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`slider`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),l++}if(e.default!==void 0){let n=e.default;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.min!==void 0){let n=e.min;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/min`,schemaPath:`#/properties/min/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.max!==void 0){let n=e.max;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/max`,schemaPath:`#/properties/max/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.step!==void 0){let n=e.step;if(typeof n==`number`&&isFinite(n)){if(n<=0||isNaN(n)){let e={instancePath:t+`/step`,schemaPath:`#/properties/step/exclusiveMinimum`,keyword:`exclusiveMinimum`,params:{comparison:`>`,limit:0},message:`must be > 0`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/step`,schemaPath:`#/properties/step/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return z.errors=a,l===0}e.choice=B;function B(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}if(e.options===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`options`},message:`must have required property 'options'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`options`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0){let n=e.type;if(n!==`select`&&n!==`radio`&&n!==`segmented`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/enum`,keyword:`enum`,params:{allowedValues:C.properties.type.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),o++}}if(e.default!==void 0&&typeof e.default!=`string`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.options!==void 0){let n=e.options;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(e)<1){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}let r=n.length,i;if(r>1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/options`,schemaPath:`#/$defs/options/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return B.errors=a,o===0}e.checkboxGroup=V;function V(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}if(e.options===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`options`},message:`must have required property 'options'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!==`binding`&&n!=="default"&&n!==`options`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`checkboxGroup`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`checkboxGroup`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.default!==void 0){let n=e.default;if(Array.isArray(n)){let e=n.length;for(let r=0;r1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/default`,schemaPath:`#/properties/default/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.options!==void 0){let n=e.options;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(e)<1){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}let r=n.length,i;if(r>1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/options`,schemaPath:`#/$defs/options/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return V.errors=a,o===0}e.text=H;function H(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(E.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0){let n=e.type;if(n!==`text`&&n!==`textarea`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/enum`,keyword:`enum`,params:{allowedValues:E.properties.type.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),l++}}if(e.default!==void 0&&typeof e.default!=`string`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.minLength!==void 0){let n=e.minLength;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/minLength`,schemaPath:`#/properties/minLength/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),l++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/minLength`,schemaPath:`#/properties/minLength/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};a===null?a=[e]:a.push(e),l++}}if(e.maxLength!==void 0){let n=e.maxLength;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/maxLength`,schemaPath:`#/properties/maxLength/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),l++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/maxLength`,schemaPath:`#/properties/maxLength/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return H.errors=a,l===0}e.color=U;function U(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`color`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`color`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.default!==void 0){let n=e.default;if(typeof n==`string`){if(!O.test(n)){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/pattern`,keyword:`pattern`,params:{pattern:`^#[0-9a-fA-F]{6}$`},message:`must match pattern "^#[0-9a-fA-F]{6}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return U.errors=a,o===0}e.button=W;function W(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`button`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`button`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return W.errors=a,o===0}}))(),1);function l(e){if(e&&typeof e==`object`){for(let t of Object.values(e))l(t);Object.freeze(e)}return e}function u(e){return Array.isArray(e)?`[${e.map(u).join(`,`)}]`:e&&typeof e==`object`?`{${Object.keys(e).sort().map(t=>`${JSON.stringify(t)}:${u(e[t])}`).join(`,`)}}`:JSON.stringify(e)}function d(e,t){if(!e)return!0;if(e.all)return e.all.every(e=>d(e,t));if(e.any)return e.any.some(e=>d(e,t));let n=t[e.control];return`equals`in e?n===e.equals:`in`in e?e.in.includes(n):Array.isArray(n)&&n.includes(e.includes)}var{validateDocumentShape:f,validateDeclaration:p}=c.default,m={boolean:`boolean`,number:`number`,slider:`slider`,select:`choice`,radio:`choice`,segmented:`choice`,checkboxGroup:`checkboxGroup`,text:`text`,textarea:`text`,color:`color`,button:`button`};function h(e){let t=[...p.errors].filter(e=>!/^\/controls\/\d+(?:\/|$)/.test(e.instancePath)).map(e=>({...e}));return Array.isArray(e?.controls)&&e.controls.forEach((e,n)=>{let r=Object.hasOwn(m,e?.type)?m[e.type]:void 0,i=r&&c.default[r];i?i(e)||t.push(...i.errors.map(e=>({...e,instancePath:`/controls/${n}${e.instancePath}`}))):t.push({instancePath:`/controls/${n}/type`,message:`must name a supported control type`})}),t.map(e=>({path:e.instancePath,message:e.keyword===`additionalProperties`?`${e.message}: "${e.params.additionalProperty}"`:e.message,keyword:e.keyword,params:e.params}))}var g=class extends Error{constructor(e){super(`Invalid controls.replica.json:\n${e.map(e=>` ${e.path||`/`}: ${e.message}`).join(` `)}`),this.name=`ControlsValidationError`,this.issues=e}};function _(e,t){switch(e.type){case`boolean`:return typeof t==`boolean`?null:`must be a boolean`;case`number`:case`slider`:{if(typeof t!=`number`||!Number.isFinite(t))return`must be a finite number`;if(e.min!==void 0&&t= min`;if(e.max!==void 0&&t>e.max)return`must be <= max`;let n=(t-e.min)/(e.step??1);return!Number.isFinite(n)||Math.abs(n-Math.round(n))>1e-8?`must align with step (anchored at min)`:null}case`select`:case`radio`:case`segmented`:return e.options.includes(t)?null:`must be a declared option`;case`checkboxGroup`:return Array.isArray(t)&&new Set(t).size===t.length&&t.every(t=>e.options.includes(t))?null:`must be unique declared options`;case`text`:case`textarea`:return typeof t==`string`?e.minLength!==void 0&&[...t].lengthe.maxLength?`longer than maxLength`:null:`must be a string`;case`color`:return typeof t==`string`&&/^#[0-9a-fA-F]{6}$/.test(t)?null:`must be a six-digit hex color`;default:return`button controls have no value`}}function v(e){return e?e.control?[e.control]:(e.all??e.any).flatMap(v):[]}function y(e){let t=new Map((e.groups??[]).map(e=>[e.id,e])),n=new Map(e.controls.map(e=>[e.id,e])),r=new Set,i=new Set,a=[];function o(e){if(r.has(e))return;if(i.has(e))throw new g([{path:`/controls/${e}/when`,message:`conditional dependency cycle (including groups)`}]);i.add(e);let s=n.get(e);for(let e of[...v(s.when),...v(t.get(s.group)?.when)])o(e);i.delete(e),r.add(e),a.push(e)}for(let e of n.keys())o(e);return a}function b(e){let t=new Set;function n(e,r=0){if(r>24)throw new g([{path:`/`,message:`document nesting exceeds 24`}]);if(typeof e==`number`&&!Number.isFinite(e))throw new g([{path:`/`,message:`numbers must be finite`}]);if(![`string`,`number`,`boolean`,`object`].includes(typeof e))throw new g([{path:`/`,message:`must contain only JSON values`}]);if(e&&typeof e==`object`){if(!Array.isArray(e)&&Object.getPrototypeOf(e)!==Object.prototype&&Object.getPrototypeOf(e)!==null)throw new g([{path:`/`,message:`must contain only JSON objects`}]);if(t.has(e))throw new g([{path:`/`,message:`must be an acyclic JSON document`}]);t.add(e);for(let t of Object.values(e))n(t,r+1);t.delete(e)}}n(e)}function x(e){b(e);let t=e&&typeof e==`object`&&Object.hasOwn(e,`sets`)?e.sets:[e];if(!e||typeof e!=`object`||!Object.hasOwn(e,`sets`))return C(e),S(e),e;if(!f(e))throw new g(f.errors.map(e=>({path:e.instancePath,message:e.keyword===`additionalProperties`?`${e.message}: "${e.params.additionalProperty}"`:e.message,keyword:e.keyword,params:e.params})));let n=new Set;return t.forEach((e,t)=>{try{C(e),S(e)}catch(e){throw e instanceof g?new g(e.issues.map(e=>({...e,path:`/sets/${t}${e.path}`}))):e}if(n.has(e.scope))throw new g([{path:`/sets/${t}/scope`,message:`duplicate scope ${e.scope}`}]);n.add(e.scope)}),e}function S(e){let t=[];for(let[n,r]of e.controls.entries()){let e=r.binding,i=`/controls/${n}/binding`;e?((r.type===`button`&&![`button`,`api`].includes(e.type)||r.type!==`button`&&e.type===`button`)&&t.push({path:i,message:`binding does not match the control type`}),e.type===`query`&&(e.key===`rc`||e.key.startsWith(`rc.`))&&t.push({path:i,message:`rc and rc.* are reserved for control settings`}),e.type===`api`&&(([`window`,`globalThis`,`self`,`parent`,`top`,`document`,`location`,`history`,`navigator`].includes(e.object.split(`.`)[0])||[e.read,e.write,e.action,e.subscribe].some(e=>[`eval`,`Function`].includes(e)))&&t.push({path:i,message:`API bindings must name an app-owned object and ordinary methods`}),e.object.split(`.`).some(e=>[`constructor`,`prototype`,`__proto__`].includes(e))&&t.push({path:i,message:`API object must name the app's own exposed object`}),r.type===`button`?(!e.action||e.read||e.write||e.subscribe||e.pollMs)&&t.push({path:i,message:`API buttons require only object and action`}):(!e.read||!e.write||e.action||!!e.subscribe==!!e.pollMs)&&t.push({path:i,message:`API values require read, write, and either subscribe or pollMs`}))):t.push({path:i,message:`each control requires a binding`})}if(t.length)throw new g(t)}function C(e){if(b(e),!p(e))throw new g(h(e));let t=[];function n(e,n){t.push({path:e,message:n})}let r=new Set,i=new Map((e.groups??[]).map(e=>[e.id,e])),a=new Map(e.controls.map(e=>[e.id,e]));for(let[t,i]of[[`groups`,e.groups??[]],[`controls`,e.controls]])i.forEach((e,i)=>{r.has(e.id)&&n(`/${t}/${i}/id`,`duplicate ID ${e.id}`),r.add(e.id)});function o(e,t,r=0){if(!e)return;if(r>4){n(t,`conditions support at most five levels`);return}if(e.all||e.any){let n=e.all?`all`:`any`;e[n].forEach((e,i)=>o(e,`${t}/${n}/${i}`,r+1));return}let i=a.get(e.control);if(!i||i.type===`button`)n(t,`condition must reference a value control`);else if(`includes`in e)(i.type!==`checkboxGroup`||!i.options.includes(e.includes))&&n(t,`includes requires a declared checkboxGroup option`);else if(i.type===`checkboxGroup`)n(t,`checkboxGroup conditions must use includes`);else for(let r of`in`in e?e.in:[e.equals]){let e=_(i,r);e&&n(t,`invalid condition for ${i.id}: ${e}`)}}if(e.controls.forEach((e,t)=>{let r=`/controls/${t}`;if(e.group&&!i.has(e.group)&&n(`${r}/group`,`unknown group`),e.min!==void 0&&e.max!==void 0&&e.min>e.max&&n(r,`min must not exceed max`),e.minLength!==void 0&&e.maxLength!==void 0&&e.minLength>e.maxLength&&n(r,`minLength must not exceed maxLength`),e.type===`segmented`&&e.options.length>3&&n(`${r}/options`,`segmented supports at most three options`),e.type!==`button`){let t=_(e,e.default);t&&n(`${r}/default`,t)}o(e.when,`${r}/when`)}),(e.groups??[]).forEach((e,t)=>o(e.when,`/groups/${t}/when`)),t.length)throw new g(t);return y(e),e}var w=Symbol.for(`replica.controls.injected.runtime`),T=new WeakMap;function E(){let e=globalThis[w];if(e&&e.version!==2)throw Error(`Replica controls runtime version mismatch; reload the page`);if(!e){let e=new Map,t=new Set,n=Object.freeze({version:2,create:e=>D(e),list:()=>Object.freeze([...e.values()].map(e=>e.controller)),subscribe(e){return t.add(e),()=>t.delete(e)}});T.set(n,{scopes:e,notify:()=>{for(let e of[...t])e()}}),globalThis[w]=n}return globalThis[w]}function D(e){C(e);let t=l(structuredClone(e)),n=u(t),r=E(),i=r.list().find(e=>e.declaration.scope===t.scope);if(i){if(u(i.declaration)!==n)throw Error(`Conflicting controls declaration for scope "${t.scope}"; reload after schema changes`);return i}let a=T.get(r);if(!a)return r.create(e);let o=new Map(t.controls.map(e=>[e.id,e])),s=new Map((t.groups??[]).map(e=>[e.id,e])),c=y(t),f=new Set,p=new Map,m=new Set,h={},g=0,v=!1,b=!1,x;function S(e){for(let t of[...p.values()].reverse()){let n=t();if(Object.hasOwn(n,e)&&typeof n[e]==`function`)return n}}function w(e){let n={};for(let t of c){let r=o.get(t);n[t]=d(r.when,e)&&d(s.get(r.group)?.when,e),!n[t]&&r.type!==`button`&&(e[t]=structuredClone(r.default))}return l({values:e,visible:n,groups:Object.fromEntries([...s].map(([t,n])=>[t,d(n.when,e)])),actions:Object.fromEntries(t.controls.filter(e=>e.type===`button`).map(e=>[e.id,{available:!!S(e.id)&&!h[e.id]?.error,busy:m.has(e.id)}])),...Object.keys(h).length?{bindings:structuredClone(h)}:{}})}function D(){return Object.fromEntries(t.controls.filter(e=>e.type!==`button`).map(e=>[e.id,structuredClone(e.default)]))}x=l({...w(D()),revision:g});function O(e){let t=w(e),n={values:x.values,visible:x.visible,groups:x.groups,actions:x.actions,...x.bindings?{bindings:x.bindings}:{}};if(u(t)!==u(n)&&(x=l({...t,revision:++g}),b=!0,!v)){v=!0;try{for(;b;){b=!1;for(let e of[...f])e();a.notify()}}finally{v=!1}}}function k(e){let t=o.get(e);if(!t)throw Error(`Unknown control "${e}"`);if(!x.visible[e])throw Error(`Control "${e}" is hidden`);return t}let A=Object.freeze({declaration:t,getSnapshot:()=>x,subscribe(e){return f.add(e),()=>f.delete(e)},update(e,t){let n=_(k(e),t);if(n)throw Error(`Control "${e}": ${n}`);O({...x.values,[e]:structuredClone(t)})},restore(e){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Controls restore requires an object`);let t={...x.values};for(let[n,r]of Object.entries(e)){let e=o.get(n);if(!e)throw Error(`Unknown control "${n}"`);let i=_(e,r);if(i)throw Error(`Control "${n}": ${i}`);t[n]=structuredClone(r)}O(t)},refreshActions(){O({...x.values})},bindingStatus(e,t,n=!1,r=!t){if(!o.has(e))throw Error(`Unknown control "${e}"`);h[e]={error:t.slice(0,500),busy:n,available:r},O({...x.values})},reset(e){if(e===void 0)return O(D());let t=k(e);if(t.type===`button`)throw Error(`Buttons cannot be reset`);O({...x.values,[e]:structuredClone(t.default)})},async action(e){if(k(e).type!==`button`)throw Error(`Control "${e}" is not a button`);let t=S(e);if(!t)throw Error(`No mounted action handler for "${e}"`);if(m.has(e))throw Error(`Action "${e}" is busy`);m.add(e),O({...x.values});try{return await t[e]()}finally{m.delete(e),O({...x.values})}},mount(e=()=>({})){let t=Symbol();p.set(t,e);try{O({...x.values}),a.notify()}catch(e){throw p.delete(t),O({...x.values}),a.notify(),e}let n=!0;return()=>{n&&(n=!1,p.delete(t),O({...x.values}),a.notify())}},get mountedCount(){return p.size}});return a.scopes.set(t.scope,Object.freeze({canonical:n,controller:A})),a.notify(),A}function O(e,t=!1){if(!(e instanceof HTMLElement)||!e.isConnected)return`The binding target is missing or stale.`;let n=e.getBoundingClientRect();for(let t=e;t;t=t.parentElement){let e=window.getComputedStyle(t);if(t.hasAttribute(`hidden`)||t.hasAttribute(`inert`)||t.getAttribute(`aria-hidden`)===`true`||t.getAttribute(`aria-disabled`)===`true`||e.visibility===`hidden`||e.visibility===`collapse`||e.display===`none`||Number(e.opacity||1)===0)return`The binding target is hidden or disabled.`}if(e.hasAttribute(`data-replica-canvas-bridge`)||e.matches(`:disabled`)||!n.width||!n.height)return`The binding target is hidden or disabled.`;if(!t)return``;let r=document.elementFromPoint(n.left+n.width/2,n.top+n.height/2);if(!r||r!==e&&!e.contains(r))return`The binding target is blocked by another element.`;let i=e.closest(`button, input, select, textarea, [role="button"], [role="link"], a`),a=e.closest(`form`)||(e instanceof HTMLButtonElement||e instanceof HTMLInputElement?e.form:null);if(i!==e||a)return`The binding target is not a safe standalone control.`;let o=e.closest(`a`);if(o){let e=o.getAttribute(`href`),t;try{t=new URL(e||``,window.location.href)}catch{return`The binding target has an invalid link URL.`}if(!e||![`http:`,`https:`].includes(t.protocol)||t.origin!==window.location.origin||t.username||t.password||o.hasAttribute(`download`)||o.hasAttribute(`target`)&&o.getAttribute(`target`)!==`_self`)return`The binding target leaves the prototype or downloads a file.`}return``}function k(e,t){return JSON.stringify(e)===JSON.stringify(t)}function A(){let e=new URL(window.location.href);for(let t of[...e.searchParams.keys()])(t===`rc`||t.startsWith(`rc.`))&&e.searchParams.delete(t);return e.href}function j(e){let t=document.querySelectorAll(e);if(t.length!==1)throw Error(t.length?`The binding target is ambiguous.`:`The binding target is missing.`);return t[0]}function M(e){let t=window;for(let n of e.split(`.`)){if(!t||!Object.hasOwn(t,n))throw Error(`The app API "${e}" is unavailable.`);t=t[n]}if(!t||typeof t!=`object`&&typeof t!=`function`)throw Error(`The app API "${e}" is not an object.`);if([window,window.document,window.location,window.history,window.navigator].includes(t))throw Error(`API bindings must use an app-owned object, not a browser API.`);return t}function N(e){let t=e.binding;if(t.type===`api`){let e=M(t.object);for(let n of[t.read,t.write,t.action,t.subscribe].filter(Boolean))if(!Object.hasOwn(e,n)||typeof e[n]!=`function`)throw Error(`The app API method "${n}" is unavailable.`);return e}if(t.type===`query`||t.type===`hash`)return window;let n=j(t.selector),r=O(n,t.type===`button`);if(r)throw Error(r);if(t.type===`field`){if(!(n instanceof HTMLInputElement||n instanceof HTMLSelectElement||n instanceof HTMLTextAreaElement)||n instanceof HTMLInputElement&&[`button`,`submit`,`reset`,`image`,`file`,`password`,`hidden`].includes(n.type))throw Error(`The binding requires a supported native form field.`);if(e.type===`boolean`&&!(n instanceof HTMLInputElement&&n.type===`checkbox`))throw Error(`A boolean field binding requires a checkbox.`);if(e.type===`checkboxGroup`&&!(n instanceof HTMLSelectElement&&n.multiple))throw Error(`A checkboxGroup field binding requires a multiple select.`);if(n.readOnly)throw Error(`The binding target is read-only.`)}if(t.type===`style`&&e.type===`checkboxGroup`)throw Error(`Style bindings require a scalar control.`);return n}function P(e,t){if(e.type===`boolean`)return t===`true`||t!==`false`&&t;if(e.type===`number`||e.type===`slider`)return t.trim()===``?NaN:Number(t);if(e.type===`checkboxGroup`)return JSON.parse(t);if(e.type===`color`&&/^rgb\(/.test(t)){let e=t.match(/\d+/g);if(e?.length===3)return`#${e.map(e=>Number(e).toString(16).padStart(2,`0`)).join(``)}`}return t}function F(e){return Array.isArray(e)?JSON.stringify(e):String(e)}function I(e,t){let n=e.binding;if(n.type===`api`)return t[n.read]();if(n.type===`field`)return e.type===`boolean`?t.checked:e.type===`checkboxGroup`?[...t.selectedOptions].map(e=>e.value):P(e,t.value);if(n.type===`style`)return P(e,window.getComputedStyle(t).getPropertyValue(n.property).trim());let r=new URL(window.location.href),i=n.type===`query`?r.searchParams.get(n.key):decodeURIComponent(r.hash.slice(1));return i===null?structuredClone(e.default):P(e,i)}function L(e){let t=typeof e==`string`?e:e?.message;return Error(typeof t==`string`&&t?t:`The app binding failed without an error message.`)}async function R(e,t=5e3){let n;try{return await Promise.race([Promise.resolve().then(e),new Promise((e,r)=>{n=window.setTimeout(()=>r(Error(`The app API timed out. Its outcome is unknown.`)),t)})])}catch(e){throw L(e)}finally{window.clearTimeout(n)}}function z(e,t,n){let r=e instanceof HTMLInputElement?HTMLInputElement.prototype:e instanceof HTMLSelectElement?HTMLSelectElement.prototype:HTMLTextAreaElement.prototype;Object.getOwnPropertyDescriptor(r,t).set.call(e,n)}async function B(e,t,n){let r=e.binding;if(r.type===`api`){await R(()=>t[r.write](structuredClone(n)));return}if(r.type===`field`){if(t instanceof HTMLSelectElement)for(let e of Array.isArray(n)?n:[F(n)]){let n=[...t.options].filter(t=>t.value===e);if(n.length!==1||n[0].disabled||n[0].closest(`optgroup[disabled], [hidden], [inert]`))throw Error(`The native option is missing, ambiguous, hidden or disabled.`)}if(e.type===`checkboxGroup`)for(let e of t.options)e.selected=n.includes(e.value);else e.type===`boolean`?t.checked!==n&&t.click():z(t,`value`,F(n));t.dispatchEvent(new Event(`input`,{bubbles:!0})),t.dispatchEvent(new Event(`change`,{bubbles:!0}));return}if(r.type===`style`){t.style.setProperty(r.property,F(n));return}let i=new URL(window.location.href);if(r.type===`query`?i.searchParams.set(r.key,F(n)):i.hash=`#${F(n).replace(/%/g,`%25`)}`,i.href===window.location.href)return;if(i.origin!==window.location.origin)throw Error(`URL bindings cannot leave the prototype.`);if(r.mode===`navigate`)return i;window.history.replaceState(window.history.state,``,i);let a=new Event(r.type===`hash`?`hashchange`:`popstate`);Object.defineProperty(a,"replicaControlsBinding",{value:!0}),window.dispatchEvent(a)}function V(e){x(e);let t=(e.sets??[e]).map(e=>({controller:D(e),release:void 0,records:new Map(e.controls.map(e=>[e.id,{control:e,object:void 0,cleanup:void 0,initialized:!1,lastRead:0,reading:!1}]))})),n=!1,r=0,i=Promise.resolve(),a=Promise.resolve(),o=!1,s=!1,c,l=new Set,u=``;function d(){let e=JSON.stringify(t.map(({controller:e})=>[e.declaration.scope,e.mountedCount,e.getSnapshot().revision]));if(e!==u){u=e;for(let e of l)e()}}let f=E().subscribe(()=>{!s&&!r&&d()});function p(e){if(!e.controller.declaration.container)return!0;let t=document.querySelectorAll(e.controller.declaration.container);if(t.length>1)throw Error(`The page container is ambiguous.`);return t.length===1&&!O(t[0])}function m(e,t){let n=t.cleanup;t.cleanup=void 0,t.object=void 0,t.initialized=!1;try{n?.()}catch(n){let r=Error(`API cleanup failed: ${L(n).message}`);return e.controller.bindingStatus(t.control.id,r.message),r}}function h(e){let n=e.binding;if(n.type===`query`||n.type===`hash`){let e=new Set;for(let r of t){let t;try{t=p(r)}catch{continue}if(t)for(let t of r.records.values()){let i=t.control.binding;i.type===n.type&&(n.type===`hash`||i.key===n.key)&&e.add(F(r.controller.getSnapshot().values[t.control.id]))}}if(e.size>1)throw Error(`This URL setting has conflicting active Controls bindings.`)}return N(e)}function g(e,t,r,i){let a=t.control.binding.type===`api`?new URL(A()).origin!==new URL(i).origin:A()!==i;if(n||!p(e)||a||h(t.control)!==r)throw Error(`The binding target or prototype route changed. The outcome is unknown.`)}async function v(e,t,n,r){let i=await R(()=>I(t.control,n));g(e,t,n,r);let a=_(t.control,i);if(a)throw Error(`The app value ${a}.`);return e.controller.restore({[t.control.id]:i}),t.lastRead=Date.now(),i}async function b(e,t,n){let{control:r}=t,i=e.controller.getSnapshot().values[r.id],a=A(),o;e.controller.bindingStatus(r.id,``,!0);try{o=h(r);let i=await B(r,o,n);if(i){let t=new URL(c?.href??window.location.href);return r.binding.type===`query`?t.searchParams.set(r.binding.key,i.searchParams.get(r.binding.key)):t.hash=i.hash,c=t,e.controller.restore({[r.id]:n}),e.controller.bindingStatus(r.id,``),n}await new Promise(e=>{let t=window.setTimeout(()=>{window.cancelAnimationFrame(n),e()},100),n=window.requestAnimationFrame(()=>{window.clearTimeout(t),e()})});let s=[`query`,`hash`].includes(r.binding.type),l=await v(e,t,o,s?A():a);if(!k(l,n))throw t.rejection=`The app rejected or adjusted this value. Its actual value is shown.`,t.rejectedValue=l,Error(`The app rejected or adjusted this value. Its actual value is shown.`);return t.rejection=``,e.controller.bindingStatus(r.id,``),l}catch(s){let c=L(s),l=!1;if(o)try{let n=await v(e,t,o,a);t.rejection=c.message,t.rejectedValue=n,l=!0}catch(e){c=Error(`${c.message} ${L(e).message}`)}throw!l&&k(e.controller.getSnapshot().values[r.id],n)&&e.controller.restore({[r.id]:i}),e.controller.bindingStatus(r.id,c.message,!1,l),c}}async function S(e,t){let{control:n}=t;if(!t.reading){t.reading=!0;try{let r=h(n);if(t.object!==r){let i=m(e,t);if(i)throw i;if(t.object=r,n.binding.type===`api`&&n.binding.subscribe){let e=r[n.binding.subscribe](()=>{t.lastRead=0,C()});if(typeof e!=`function`)throw Error(`The API notification method must return a cleanup function.`);t.cleanup=e}}if(n.type===`button`){e.controller.bindingStatus(n.id,t.rejection||``,!1,!0);return}if(!t.initialized)t.initialized=!0,await b(e,t,e.controller.getSnapshot().values[n.id]);else{let i=n.binding.type===`api`?n.binding.pollMs:250;if(t.lastRead===0||i&&Date.now()-t.lastRead>=i){if(!e.controller.getSnapshot().visible[n.id]&&!k(await R(()=>I(n,r)),n.default))await b(e,t,n.default);else{let n=await v(e,t,r,A());t.rejection&&!k(n,t.rejectedValue)&&(t.rejection=``)}e.controller.bindingStatus(n.id,t.rejection||``,!1,!0)}}}catch(t){e.controller.bindingStatus(n.id,L(t).message)}finally{t.reading=!1}}}function C(){return o||(o=!0,a=a.then(async()=>{if(!(n||r)){s=!0;try{await Promise.all(t.map(async e=>{let t,n=!1;try{t=p(e)}catch(r){t=!0,n=!0;for(let t of e.records.values())e.controller.bindingStatus(t.control.id,`Invalid page container: ${r.message}`)}if(t){if(!e.release){let t=Object.fromEntries([...e.records.values()].filter(e=>e.control.type===`button`).map(t=>[t.control.id,async()=>{let n=h(t.control),r=A();t.control.binding.type===`api`?await R(()=>n[t.control.binding.action](),3e4):n.click(),g(e,t,n,r)}]));e.release=e.controller.mount(()=>t)}n||await Promise.all([...e.records.values()].map(t=>S(e,t)))}else{e.release?.(),e.release=void 0;for(let t of e.records.values())m(e,t)}}))}finally{s=!1,d()}}}).finally(()=>{o=!1})),a}function w(e,t){let n=i.then(async()=>{await a,t?.(),c=void 0,r++;try{return await e()}catch(e){throw c=void 0,e}finally{r--,d()}});return i=n.catch(()=>{}),n}function T(e){let n=t.find(t=>t.controller===e);if(!n)throw Error(`Unknown controls set.`);return n}async function j(e,t,n){let r=T(e),i=e.getSnapshot();n?.(),e.restore(t);let a=[];for(let o of y(e.declaration)){n?.();let s=r.records.get(o);if(s.control.type===`button`)continue;let c=e.getSnapshot().values[o];if(Object.hasOwn(t,o)||!k(c,i.values[o])||[`query`,`hash`].includes(s.control.binding.type)&&s.control.binding.mode===`navigate`)try{await b(r,s,c)}catch(t){e.getSnapshot().bindings[o]?.available!==!0&&k(e.getSnapshot().values[o],c)&&e.restore({[o]:i.values[o]}),a.push(`${s.control.label}: ${t.message}`)}}if(n?.(),a.length)throw Error(a.join(` `).slice(0,1e3))}let M=window.setInterval(()=>{C()},250);function P(e){for(let n of t)for(let t of n.records.values())if(t.control.binding.type!==`api`&&t.control.type!==`button`){if(e.type===`input`||e.type===`change`){if(e.target!==t.object)continue;try{let e=I(t.control,t.object),r=_(t.control,e);if(r)throw Error(`The app value ${r}.`);n.controller.restore({[t.control.id]:e})}catch(e){n.controller.bindingStatus(t.control.id,e.message)}}t.lastRead=0}C()}for(let e of[`input`,`change`,`popstate`,`hashchange`])window.addEventListener(e,P);return C(),{runtime:E(),pending:()=>r>0||s,subscribe(e){return l.add(e),()=>l.delete(e)},settled:()=>a,restore:(e,t,n)=>w(()=>j(e,t,n),n),update:(e,t,n,r)=>w(()=>{let i=e.declaration.controls.find(e=>e.id===t),a=i?_(i,n):`Unknown control.`;if(a)throw Error(a);if(!e.getSnapshot().visible[t])throw Error(`This control is hidden.`);return j(e,{[t]:n},r)},r),takeNavigation(){if(!c)return;let e=c;c=void 0;for(let t of[...e.searchParams.keys()])(t===`rc`||t.startsWith(`rc.`))&&e.searchParams.delete(t);for(let[t,n]of new URL(window.location.href).searchParams)(t===`rc`||t.startsWith(`rc.`))&&e.searchParams.append(t,n);return e.href},navigate(){let e=this.takeNavigation();e&&window.location.assign(e)},reset:(e,n)=>w(async()=>{let r=e?[T(e)]:t,i=[];for(let e of r){let t=Object.fromEntries(e.controller.declaration.controls.filter(e=>e.type!==`button`).map(e=>[e.id,e.default]));if(!e.release)e.controller.reset();else try{await j(e.controller,t,n)}catch(e){i.push(e.message)}}if(i.length)throw Error(i.join(` -`).slice(0,1e3))},n),dispose(){n=!0,f(),window.clearInterval(M);for(let e of[`input`,`change`,`popstate`,`hashchange`])window.removeEventListener(e,P);for(let e of t){e.release?.();for(let t of e.records.values())m(e,t)}}}}async function H(){let e=await fetch(`/controls.replica.json`,{credentials:`same-origin`,redirect:`error`});if(e.status===404||e.status===410)return;if(!e.ok)throw Error(`controls.replica.json returned HTTP ${e.status}.`);let t=``,n=e.body?.getReader();if(n){let e=new TextDecoder,r=0;for(;;){let{done:i,value:a}=await n.read();if(i)break;if(r+=a.byteLength,r>256e3)throw await n.cancel(),Error(`controls.replica.json exceeds the 256,000-byte limit.`);t+=e.decode(a,{stream:!0})}t+=e.decode()}else t=await e.text();if(new TextEncoder().encode(t).length>256e3)throw Error(`controls.replica.json exceeds the 256,000-byte limit.`);if(!(e.headers.get(`content-type`)?.startsWith(`text/html`)&&/^\s*<(?:!doctype html|html)/i.test(t)))return V(JSON.parse(t))}function U(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.entries(e).every(([e,t])=>/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e)&&(typeof t==`string`||typeof t==`boolean`||typeof t==`number`&&Number.isFinite(t)||Array.isArray(t)&&t.length<=100&&t.every(e=>typeof e==`string`)))}var W=`replica:controls`;function G(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;try{let n=JSON.stringify(e);if(!(typeof n==`string`&&new Blob([n]).size<=512e3&&Object.keys(e).every(e=>[`protocol`,`version`,`epoch`,`requestId`,`type`,`sequence`,`state`,`error`,`command`,`controlQuery`,`fromFrameUrl`].includes(e))&&(t.error===void 0||typeof t.error==`string`&&t.error.length<=1e3)&&(t.controlQuery===void 0||[`hello`,`snapshot`,`reply`].includes(t.type)&&typeof t.controlQuery==`string`&&new Blob([t.controlQuery]).size<=8192)&&(t.fromFrameUrl===void 0||t.type===`hello`&&typeof t.fromFrameUrl==`boolean`)&&t.protocol===`replica:controls`&&t.version===1&&typeof t.epoch==`string`&&/^[a-zA-Z0-9-]{1,100}$/.test(t.epoch)&&typeof t.requestId==`string`&&/^[a-zA-Z0-9-]{1,100}$/.test(t.requestId)&&[`hello`,`snapshot`,`command`,`reply`].includes(t.type)))return!1;if(t.type!==`command`)return t.command===void 0;let r=t.command;if(!r||typeof r!=`object`||Array.isArray(r))return!1;if(r.operation===`url`)return Object.keys(r).every(e=>[`operation`,`query`,`scope`].includes(e))&&(r.scope===void 0||typeof r.scope==`string`&&/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.scope))&&typeof r.query==`string`&&new Blob([r.query]).size<=8192&&[...new URLSearchParams(r.query).keys()].every(e=>/^rc\.[a-zA-Z][a-zA-Z0-9_-]{0,63}\.[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e));if(r.operation===`reset-all`)return Object.keys(r).every(e=>[`operation`,`contexts`].includes(e))&&Array.isArray(r.contexts)&&r.contexts.length<=100&&new Set(r.contexts.map(e=>e?.scope)).size===r.contexts.length&&r.contexts.every(e=>typeof e==`object`&&!!e&&Object.keys(e).length===3&&typeof e.scope==`string`&&/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e.scope)&&typeof e.fingerprint==`string`&&Number.isSafeInteger(e.revision)&&e.revision>=0);let i=[`operation`,`scope`,`fingerprint`,`revision`];return typeof r.scope!=`string`||!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.scope)||typeof r.fingerprint!=`string`||!Number.isSafeInteger(r.revision)||r.revision===void 0||r.revision<0?!1:r.operation===`restore`?Object.keys(r).every(e=>[...i,`values`].includes(e))&&U(r.values):r.operation===`reset`?Object.keys(r).every(e=>i.includes(e)):r.operation!==`action`&&r.operation!==`update`||typeof r.id!=`string`||!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.id)?!1:Object.keys(r).every(e=>[...i,`id`,...r.operation===`update`?[`value`]:[]].includes(e))&&(r.operation===`action`||U({[r.id]:r.value}))}catch{return!1}}function K(e){return C(e.declaration),JSON.parse(JSON.stringify({declaration:e.declaration,fingerprint:JSON.stringify(e.declaration),snapshot:e.getSnapshot()}))}var q=/^rc\.([a-zA-Z][a-zA-Z0-9_-]{0,63})\.([a-zA-Z][a-zA-Z0-9_-]{0,63})$/;function J(e){let t=new URLSearchParams;for(let n of Object.keys(e).sort()){let r=e[n];if(!U(r))throw Error(`Invalid control settings.`);for(let e of Object.keys(r).sort()){let i=`rc.${n}.${e}`;if(!q.test(i))throw Error(`Invalid control settings identifier.`);t.set(i,JSON.stringify(r[e]))}}let n=t.toString();if(new Blob([n]).size>8192)throw Error(`Control settings exceed the 8 KB URL limit. Reduce the settings before sharing.`);return n}function Y(e){let t=new URLSearchParams(e),n=[...t].filter(([e])=>e.startsWith(`rc.`));if(new Blob([new URLSearchParams(n).toString()]).size>8192)return{scopes:{},notice:`Control settings in this URL exceed 8 KB. Defaults were used.`};let r=new Map,i=!1;for(let[e,a]of n){let n=q.exec(e);if(!n||t.getAll(e).length!==1){i=!0;continue}let o=n[1],s=n[2],c;try{c=JSON.parse(a)}catch{c=a}if(!U({[s]:c})){i=!0;continue}let l=r.get(o)??new Map;l.set(s,c),r.set(o,l)}let a=Object.fromEntries([...r].map(([e,t])=>[e,Object.fromEntries(t)]));try{J(a)}catch{return{scopes:{},notice:`Control settings in this URL exceed 8 KB. Defaults were used.`}}return{scopes:a,notice:i?`Some URL control settings were invalid. Defaults were used instead.`:``}}function X(e,t){let n=new URL(e,window.location.href),r=Y(t);if(r.notice)throw Error(r.notice);for(let e of[...n.searchParams.keys()])e.startsWith(`rc.`)&&n.searchParams.delete(e);for(let[e,t]of new URLSearchParams(J(r.scopes)))n.searchParams.set(e,t);return n.toString()}function Z(e,t,n){let r=window.history.pushState.bind(window.history),i=window.history.replaceState.bind(window.history),a=!1,o=document.readyState===`complete`||(performance.getEntriesByType?.(`navigation`)??[]).some(e=>`domContentLoadedEventStart`in e&&typeof e.domContentLoadedEventStart==`number`&&e.domContentLoadedEventStart>0),s=new URLSearchParams([...new URLSearchParams(window.location.search)].filter(([e])=>e.startsWith(`rc.`))).toString();function c(){try{let e=J({...Y(s).scopes,...t()});return n(``),e}catch(e){return n(e instanceof Error?e.message:`Controls could not be saved in the URL.`),s}}function l(e){if(!a||!o)return new URL(String(e??window.location.href),window.location.href).toString();let t=new URL(X(String(e??window.location.href),c()));return t.searchParams.set(`rc`,`1`),t.toString()}function u(e,t,n){r(e,t,l(n))}function d(e,t,n){i(e,t,l(n))}window.history.pushState=u,window.history.replaceState=d;function f(t){`replicaControlsBinding`in t&&t.replicaControlsBinding===!0||(s=new URLSearchParams([...new URLSearchParams(window.location.search)].filter(([e])=>e.startsWith(`rc.`))).toString(),e(s))}function p(e){if(!a||!o||e.defaultPrevented||!(e.target instanceof Element))return;let t=e.target.closest(`a[href]`);if(!(t instanceof HTMLAnchorElement)||t.hasAttribute(`download`)||t.target&&t.target!==`_self`)return;let n=new URL(t.href);n.origin===window.location.origin&&(t.href=l(n))}window.addEventListener(`popstate`,f),window.addEventListener(`click`,p,!0);function m(){if(!a||!o)return;s=c();let e=l(window.location.href);e!==window.location.href&&i(window.history.state,``,e)}function h(){o=!0,m()}return document.addEventListener(`DOMContentLoaded`,h,{once:!0}),{set(e){let t=Y(e);if(t.notice)throw Error(t.notice);s=J(t.scopes),a=!0,m()},refresh:m,current(){return new URLSearchParams([...new URLSearchParams(window.location.search)].filter(([e])=>e.startsWith(`rc.`))).toString()},managed(){return new URLSearchParams(window.location.search).get(`rc`)===`1`},dispose(){window.history.pushState===u&&(window.history.pushState=r),window.history.replaceState===d&&(window.history.replaceState=i),window.removeEventListener(`popstate`,f),window.removeEventListener(`click`,p,!0),document.removeEventListener(`DOMContentLoaded`,h)}}}function ee(e){return Object.fromEntries(e.declaration.controls.filter(t=>t.type!==`button`&&e.snapshot.visible[t.id]&&JSON.stringify(e.snapshot.values[t.id])!==JSON.stringify(t.default)).map(t=>[t.id,e.snapshot.values[t.id]]))}var te={improvementNotesLoading:`Loading improvement notes demo...`,mentionSuggestions:`Mention suggestions`,mentionSuggestionsError:`Mention suggestions are unavailable. Try again.`,mentionSuggestionsLoading:`Loading people...`,mentionSuggestionsEmpty:`No matching people. You can type a GitHub login to check it when sending.`,mentionLimit:`Each message can mention at most 10 distinct people.`,controls:`Controls`,controlsMove:`Move controls`,controlsMoveHint:`Drag to move. Use arrow keys, or Shift and arrow keys for smaller steps.`,controlsCollapse:`Collapse controls`,controlsExpand:`Expand controls`,controlsCollapseGroup:e=>`Collapse ${e}`,controlsExpandGroup:e=>`Expand ${e}`,controlsDescription:`Settings stay in this prototype's URL. The app may paint before Controls apply declared defaults.`,controlsConnecting:`Connecting controls...`,controlsEmpty:`No active controls. This prototype may have no declaration or this route may not mount controls.`,controlsLearnMore:`Learn more`,controlsMissingRuntime:`No supported controls runtime found.`,controlsLocalMissingRuntime:`Local controls couldn't connect.`,controlsLocalConnectionFailed:`The preview has not responded to controls. Retry the connection or ask Copilot to diagnose the cause.`,controlsLocalStorageFailed:`Controls could not be saved in the prototype URL. Changes remain in memory.`,controlsDiagnose:`Diagnose with Copilot`,controlsFix:`Fix with Copilot`,controlsDiagnostics:`Technical details`,controlsUnavailable:e=>`${e} is unavailable`,controlsNotApplied:e=>`${e} could not be applied`,controlsDiagnosisRequested:`Requested in chat`,controlsDiagnosisFailed:`Could not request a diagnosis. Try again.`,controlsUnsupportedRuntime:`This controls runtime version is unsupported. Upgrade only after an approved release.`,controlsInvalid:`The Controls definitions are invalid. Fix controls.replica.json and reload.`,controlsScopeError:(e,t)=>`Controls scope "${e}" did not connect. ${t}`,controlsRetry:`Retry connection`,controlsRetryStorage:`Retry saving`,controlsResetAll:`Reset all controls`,controlsRegion:`Prototype controls`,controlsActionBusy:` - Working...`,controlsActionUnavailable:`No mounted action handler.`,controlsValueNotApplied:`This value was not applied.`,browserNavigation:`Prototype navigation`,browserBack:`Back`,browserForward:`Forward`,browserReload:`Reload preview`,browserAddress:`Prototype address`,browserAddressInvalid:`Enter a valid URL or route.`,browserAddressOrigin:`The address must stay on this prototype's origin.`,browserOpenTab:`Open preview in browser`,browserAppearance:`Preview appearance`,browserLight:`Light appearance`,browserDark:`Dark appearance`,commentingUnavailable:`Commenting needs attention`,commentingDescription:`The canvas could not connect to the preview's commenting bridge.`,closeCommentingDialog:`Close commenting dialog`,commentingFix:`Fix with Copilot`,commentingFixRequested:`Requested in chat`,commentingDismiss:`Dismiss`,commentingMissing:`The preview has not responded through its local proxy. Check that the selected server is running, then reopen the canvas. Script or framing policies, certificate errors, and origin-dependent apps can prevent connection. A Vite plugin or server restart is not required to connect.`,commentingIncompatible:`The preview responded with an incompatible commenting protocol. Update the installed Replica extension and reopen the canvas, or use Fix with Copilot to check the preview connection.`,connectToHub:`Connect to the Hub`,closeConnectionDialog:`Close connection dialog`,connectionDescription:`Connecting to the hub lets you share the prototype with others and enables commenting.`,connectionBeforePublishing:`Connect to the hub before publishing this prototype.`,connectionRepositoryRequired:`Open a repository with a GitHub origin before connecting.`,connectionHubRequired:`Enter and save a Hub URL before connecting.`,connectionOpeningBrowser:`Opening browser...`,connectionApproval:`Browser approval`,connectionWaiting:`Make sure your browser shows the same code`,connectionApprovalExpired:`The approval expired or was declined. Connect again to retry.`,connectionBrowserFailed:e=>`Could not open your browser. Open or copy the approval link below. ${e}`,hubUrl:`Hub URL`,editHubUrl:`Edit Hub URL`,saveHub:`Save Hub`,disconnectFailed:(e,t)=>`Could not disconnect from ${e}: ${t} The previous connection may still be active. Save another Hub URL to switch this canvas locally, or retry Disconnect Hub.`,resetHubUrl:`Reset to repository Hub URL`,resetHubUnavailable:`No repository Hub URL is available. Enter a URL manually or retry reset.`,hubHttpsHint:`Remote Hubs require HTTPS`,copyApprovalLink:`Copy Hub approval link`,approvalLinkCopied:`Approval link copied`,approvalCopyFailed:`Could not copy the link. Copy the Connect to the hub link manually.`,invalidResponse:`The extension returned an invalid response.`,startPage:`Start page`,prototypeFrameTitle:e=>`${e} prototype`,startPageOrigin:`Hub returned a start page outside the prototype.`,hubStatusUnavailable:e=>`Hub status unavailable: ${e}`,hubBuildImported:`Hub imported this Build.`,hubBuildMissing:`Hub has not imported a successful registered Build.`,hubPublicationUnavailable:`Connect to Hub to verify publication.`,editDetails:`Edit details`,startPageHint:`Paste a prototype URL or route. Leave blank to start at /.`,requestFailed:`The request failed.`,statusUnavailable:`Publish status unavailable.`,publishRequestPending:`Waiting for the current commit to run through the publish workflow.`,waitingForHubImport:`The workflow completed. Waiting for Hub to import this Build.`,workingTreeChanged:`Uncommitted changes`,workingTreeClean:`Working tree clean`,buildDetails:`Build details`,latestBuild:`Latest Build`,buildTitle:e=>`Build #${e}`,buildCommit:`Commit`,unknownCommitAuthor:`Unknown`,showBuildHistory:`Show build history`,closeBuildDetails:`Close build details`,branch:`Branch`,sessionId:`Session ID`,comparison:`Branch comparison`,comparisonNeedsRefresh:`Branch comparison unavailable until Git stats refresh.`,upToDate:`Up to date`,commitsBehind:e=>`${e} ${e===1?`commit`:`commits`} behind`,copyBranch:`Copy branch`,copySessionId:`Copy session ID`,branchCopied:`Branch copied`,sessionIdCopied:`Session ID copied`,buildDetailsCopyFailed:e=>`${e} could not be copied. Select it and copy it manually.`,unavailable:`Unavailable`,publishLabels:{succeeded:`Awaiting Hub`,failed:`Retry`,in_progress:`Publishing`,not_published:`Publish`,published:`Published`,requested:`Requested`,unavailable:`Publish`}};function ne(e,t){let n=e.snapshot.bindings?.[t.id],r=e.snapshot.actions[t.id];return{scope:e.declaration.scope,id:t.id,visible:e.snapshot.visible[t.id]===!0,available:(t.type!==`button`||r?.available===!0)&&(!n?.error||n.available===!0),busy:n?.busy===!0||r?.busy===!0,error:n?.error||(t.type===`button`&&!r?.available?te.controlsActionUnavailable:``)}}function re(e,t,n){return{status:t?`pending`:e.status,url:n,error:t?``:e.error??``,controls:t?[]:e.scopes.flatMap(e=>e.declaration.controls.map(t=>ne(e,t)))}}function ie(e){let t=``,n,r,i=``,a=!1,o=new Set,s=!1,c=0,l,u,d=!1,f,p=new Set,m=new Set,h=``,g=Z(e=>{m.clear(),x(`snapshot`,`event`,void 0,e)},()=>Object.fromEntries((n?.list()??[]).filter(e=>m.has(e.declaration.scope)).map(e=>[e.declaration.scope,ee(K(e))])),e=>{h!==e&&(h=e,x(`snapshot`,`event`))});async function _(){try{if(u=await H(),a){u?.dispose();return}n=u?.runtime,r=u?.subscribe(S),await u?.settled();let e=u;e&&v()&&await new Promise(t=>{function n(){clearTimeout(i),a(),f=void 0,t()}function r(){v()||n()}let i=setTimeout(n,500),a=e.subscribe(r);f=n,r()})}catch(e){l={status:`invalid-config`,error:e instanceof Error?e.message.slice(0,1e3):`Controls definitions could not be read.`}}finally{d=!0}S()}function v(){return n?.list().some(e=>Object.values(e.getSnapshot().bindings??{}).some(e=>e.error))}function y(){let e=!!n;if(l)return{runtimeAvailable:e,scopes:[],...l};if(!n)return{runtimeAvailable:!1,status:d?`no-controls`:`missing-runtime`,scopes:[]};try{let e=n.list().filter(e=>e.mountedCount>0).map(K);return e.length>100?{runtimeAvailable:!0,status:`invalid-config`,scopes:[],error:`Too many active controls scopes.`}:{runtimeAvailable:!0,status:e.length?`ready`:`no-controls`,scopes:e}}catch{return{runtimeAvailable:!0,status:`invalid-config`,scopes:[],error:`The Controls definitions are invalid.`}}}function b(){return{...y(),scopeErrors:[],reconnectRequired:s,...s?{error:`Reconnect controls before sending more commands.`}:{},...h?{error:`${h} Changes remain in memory and are not in the URL.`}:{}}}function x(n,r,i,o){if(a||!t)return;let s={protocol:W,version:1,type:n,epoch:t,requestId:r,sequence:++c,state:b(),...i?{error:i}:{},...o===void 0?{}:{controlQuery:o}};window.parent.postMessage(G(s)?s:{...s,state:{runtimeAvailable:!0,status:`invalid-config`,scopes:[],error:`Controls exceed the transport size limit.`},error:`Controls exceed the transport size limit.`},e)}function S(){for(let e of p)e();if(!d||u?.pending())return;g?.refresh();let e=JSON.stringify(b());e!==i&&(i=e,x(`snapshot`,`event`))}async function C(r){if(r.source===window.parent&&r.origin===e&&r.data&&typeof r.data==`object`&&`type`in r.data&&r.data.type===`replica:controls:status`&&`nonce`in r.data&&typeof r.data.nonce==`string`&&r.data.nonce.length<=100&&`timeoutMs`in r.data&&Number.isInteger(r.data.timeoutMs)&&typeof r.data.timeoutMs==`number`&&r.data.timeoutMs>=0&&r.data.timeoutMs<=1e4){let{nonce:t,timeoutMs:n}=r.data;function i(){return!d||u?.pending()===!0&&!b().scopes.some(({snapshot:e})=>[...Object.values(e.actions),...Object.values(e.bindings??{})].some(e=>e.busy))}i()&&n>0&&await new Promise(e=>{function t(){clearTimeout(o),p.delete(r),e()}function r(){(a||!i())&&t()}let o=setTimeout(t,n);p.add(r),r()}),a||window.parent.postMessage({type:`replica:controls:status-result`,nonce:t,value:re(b(),i(),window.location.href)},e);return}if(r.source!==window.parent||r.origin!==e||!G(r.data))return;let c=r.data;if(c.type===`hello`){t=c.epoch,o.clear(),s=!1,m.clear();let e=c.fromFrameUrl&&g?.managed();g?.set(e?g.current():c.controlQuery??``),d||await w,x(`reply`,c.requestId,void 0,e?g?.current():void 0);return}if(c.type!==`command`||c.epoch!==t||o.has(c.requestId))return;if(o.size>=2e3){s=!0,x(`reply`,c.requestId,`Reconnect controls before sending more commands.`);return}o.add(c.requestId);let l=c.command;function f(){if(a||t!==c.epoch)throw Error(`The preview reconnected. The command outcome is unknown.`)}try{if(l?.operation===`url`){g.set(l.query??``),l.scope&&n?.list().some(e=>e.declaration.scope===l.scope&&e.mountedCount>0)&&(m.add(l.scope),g.refresh()),x(`reply`,c.requestId);return}if(!l||!n||![`ready`,`no-controls`].includes(b().status))throw Error(`Controls runtime is unavailable.`);if(l.operation===`reset-all`){if(n.list().some(e=>Object.values(e.getSnapshot().actions).some(e=>e.busy)))throw Error(`Wait for pending actions before resetting controls.`);let e=n.list().filter(e=>e.mountedCount>0);if(!Array.isArray(l.contexts)||l.contexts.length!==e.length||e.some(e=>!l.contexts?.some(t=>t.scope===e.declaration.scope&&t.fingerprint===JSON.stringify(e.declaration)&&t.revision===e.getSnapshot().revision)))throw Error(`Controls changed. The stale reset was not applied.`);m.clear(),await u?.reset(void 0,f)}else{let e=n.list().find(e=>e.declaration.scope===l.scope&&e.mountedCount>0);if(!e)throw Error(`This controls scope is no longer active.`);if(l.fingerprint!==JSON.stringify(e.declaration)||l.revision!==e.getSnapshot().revision)throw Error(`Controls changed. The stale command was not applied.`);if(l.operation===`restore`){if(!U(l.values))throw Error(`Invalid saved controls.`);await u?.restore(e,l.values,f),m.add(e.declaration.scope),g?.refresh()}else if(l.operation===`reset`)m.add(e.declaration.scope),await u?.reset(e,f);else{let t=e.declaration.controls.find(e=>e.id===l.id);if(!t||!e.getSnapshot().visible[t.id])throw Error(`This control is unknown or hidden.`);if(m.add(e.declaration.scope),l.operation===`update`){let n={[t.id]:l.value};if(!U(n))throw Error(`Invalid control value.`);let r=n[t.id];if(r===void 0)throw Error(`Missing control value.`);await u?.update(e,t.id,r,f)}else if(l.operation===`action`)await e.action(t.id);else throw Error(`Unknown controls command.`)}S()}t===c.epoch&&(x(`reply`,c.requestId),u?.navigate())}catch(e){t===c.epoch&&x(`reply`,c.requestId,e instanceof Error?e.message.slice(0,300):`The controls command failed.`)}}let w=_();function T(e){C(e)}return window.addEventListener(`message`,T),()=>{a=!0,f?.();for(let e of p)e();r?.(),u?.dispose(),window.removeEventListener(`message`,T),g?.dispose()}}var Q={enabled:!0,title:`Build preview`,items:3};function $(){let e=document.querySelector(`h1`),t=document.querySelector(`p`),n=document.querySelector(`ul`);if(!e||!t||!n)throw Error(`Build controls story markup is missing.`);e.textContent=Q.title,t.hidden=!Q.enabled,n.replaceChildren(...Array.from({length:Q.items},(e,t)=>{let n=document.createElement(`li`);return n.textContent=`Item ${t+1}`,n}))}Object.assign(window,{buildPreview:{readEnabled:()=>Q.enabled,writeEnabled:e=>{Q.enabled=e,$()},readTitle:()=>Q.title,writeTitle:e=>{Q.title=e,$()},readItems:()=>Q.items,writeItems:e=>{Q.items=e,$()},add:()=>{Q.items=Math.min(8,Q.items+1),$()}}}),$(),ie(window.location.origin)})(); \ No newline at end of file +`).slice(0,1e3))},n),dispose(){n=!0,f(),window.clearInterval(M);for(let e of[`input`,`change`,`popstate`,`hashchange`])window.removeEventListener(e,P);for(let e of t){e.release?.();for(let t of e.records.values())m(e,t)}}}}async function H(){let e=await fetch(`/controls.replica.json`,{credentials:`same-origin`,redirect:`error`});if(e.status===404||e.status===410)return;if(!e.ok)throw Error(`controls.replica.json returned HTTP ${e.status}.`);let t=``,n=e.body?.getReader();if(n){let e=new TextDecoder,r=0;for(;;){let{done:i,value:a}=await n.read();if(i)break;if(r+=a.byteLength,r>256e3)throw await n.cancel(),Error(`controls.replica.json exceeds the 256,000-byte limit.`);t+=e.decode(a,{stream:!0})}t+=e.decode()}else t=await e.text();if(new TextEncoder().encode(t).length>256e3)throw Error(`controls.replica.json exceeds the 256,000-byte limit.`);if(!(e.headers.get(`content-type`)?.startsWith(`text/html`)&&/^\s*<(?:!doctype html|html)/i.test(t)))return V(JSON.parse(t))}function U(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.entries(e).every(([e,t])=>/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e)&&(typeof t==`string`||typeof t==`boolean`||typeof t==`number`&&Number.isFinite(t)||Array.isArray(t)&&t.length<=100&&t.every(e=>typeof e==`string`)))}var W=`replica:controls`;function G(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;try{let n=JSON.stringify(e);if(!(typeof n==`string`&&new Blob([n]).size<=512e3&&Object.keys(e).every(e=>[`protocol`,`version`,`epoch`,`requestId`,`type`,`sequence`,`state`,`error`,`command`,`controlQuery`,`fromFrameUrl`].includes(e))&&(t.error===void 0||typeof t.error==`string`&&t.error.length<=1e3)&&(t.controlQuery===void 0||[`hello`,`snapshot`,`reply`].includes(t.type)&&typeof t.controlQuery==`string`&&new Blob([t.controlQuery]).size<=8192)&&(t.fromFrameUrl===void 0||t.type===`hello`&&typeof t.fromFrameUrl==`boolean`)&&t.protocol===`replica:controls`&&t.version===1&&typeof t.epoch==`string`&&/^[a-zA-Z0-9-]{1,100}$/.test(t.epoch)&&typeof t.requestId==`string`&&/^[a-zA-Z0-9-]{1,100}$/.test(t.requestId)&&[`hello`,`snapshot`,`command`,`reply`].includes(t.type)))return!1;if(t.type!==`command`)return t.command===void 0;let r=t.command;if(!r||typeof r!=`object`||Array.isArray(r))return!1;if(r.operation===`url`)return Object.keys(r).every(e=>[`operation`,`query`,`scope`].includes(e))&&(r.scope===void 0||typeof r.scope==`string`&&/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.scope))&&typeof r.query==`string`&&new Blob([r.query]).size<=8192&&[...new URLSearchParams(r.query).keys()].every(e=>/^rc\.[a-zA-Z][a-zA-Z0-9_-]{0,63}\.[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e));if(r.operation===`reset-all`)return Object.keys(r).every(e=>[`operation`,`contexts`].includes(e))&&Array.isArray(r.contexts)&&r.contexts.length<=100&&new Set(r.contexts.map(e=>e?.scope)).size===r.contexts.length&&r.contexts.every(e=>typeof e==`object`&&!!e&&Object.keys(e).length===3&&typeof e.scope==`string`&&/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e.scope)&&typeof e.fingerprint==`string`&&Number.isSafeInteger(e.revision)&&e.revision>=0);let i=[`operation`,`scope`,`fingerprint`,`revision`];return typeof r.scope!=`string`||!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.scope)||typeof r.fingerprint!=`string`||!Number.isSafeInteger(r.revision)||r.revision===void 0||r.revision<0?!1:r.operation===`restore`?Object.keys(r).every(e=>[...i,`values`].includes(e))&&U(r.values):r.operation===`reset`?Object.keys(r).every(e=>i.includes(e)):r.operation!==`action`&&r.operation!==`update`||typeof r.id!=`string`||!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.id)?!1:Object.keys(r).every(e=>[...i,`id`,...r.operation===`update`?[`value`]:[]].includes(e))&&(r.operation===`action`||U({[r.id]:r.value}))}catch{return!1}}function K(e){return C(e.declaration),JSON.parse(JSON.stringify({declaration:e.declaration,fingerprint:JSON.stringify(e.declaration),snapshot:e.getSnapshot()}))}var q=/^rc\.([a-zA-Z][a-zA-Z0-9_-]{0,63})\.([a-zA-Z][a-zA-Z0-9_-]{0,63})$/;function J(e){let t=new URLSearchParams;for(let n of Object.keys(e).sort()){let r=e[n];if(!U(r))throw Error(`Invalid control settings.`);for(let e of Object.keys(r).sort()){let i=`rc.${n}.${e}`;if(!q.test(i))throw Error(`Invalid control settings identifier.`);t.set(i,JSON.stringify(r[e]))}}let n=t.toString();if(new Blob([n]).size>8192)throw Error(`Control settings exceed the 8 KB URL limit. Reduce the settings before sharing.`);return n}function Y(e){let t=new URLSearchParams(e),n=[...t].filter(([e])=>e.startsWith(`rc.`));if(new Blob([new URLSearchParams(n).toString()]).size>8192)return{scopes:{},notice:`Control settings in this URL exceed 8 KB. Defaults were used.`};let r=new Map,i=!1;for(let[e,a]of n){let n=q.exec(e);if(!n||t.getAll(e).length!==1){i=!0;continue}let o=n[1],s=n[2],c;try{c=JSON.parse(a)}catch{c=a}if(!U({[s]:c})){i=!0;continue}let l=r.get(o)??new Map;l.set(s,c),r.set(o,l)}let a=Object.fromEntries([...r].map(([e,t])=>[e,Object.fromEntries(t)]));try{J(a)}catch{return{scopes:{},notice:`Control settings in this URL exceed 8 KB. Defaults were used.`}}return{scopes:a,notice:i?`Some URL control settings were invalid. Defaults were used instead.`:``}}function X(e,t){let n=new URL(e,window.location.href),r=Y(t);if(r.notice)throw Error(r.notice);for(let e of[...n.searchParams.keys()])e.startsWith(`rc.`)&&n.searchParams.delete(e);for(let[e,t]of new URLSearchParams(J(r.scopes)))n.searchParams.set(e,t);return n.toString()}function Z(e,t,n){let r=window.history.pushState.bind(window.history),i=window.history.replaceState.bind(window.history),a=!1,o=document.readyState===`complete`||(performance.getEntriesByType?.(`navigation`)??[]).some(e=>`domContentLoadedEventStart`in e&&typeof e.domContentLoadedEventStart==`number`&&e.domContentLoadedEventStart>0),s=new URLSearchParams([...new URLSearchParams(window.location.search)].filter(([e])=>e.startsWith(`rc.`))).toString();function c(){try{let e=J({...Y(s).scopes,...t()});return n(``),e}catch(e){return n(e instanceof Error?e.message:`Controls could not be saved in the URL.`),s}}function l(e){if(!a||!o)return new URL(String(e??window.location.href),window.location.href).toString();let t=new URL(X(String(e??window.location.href),c()));return t.searchParams.set(`rc`,`1`),t.toString()}function u(e,t,n){r(e,t,l(n))}function d(e,t,n){i(e,t,l(n))}window.history.pushState=u,window.history.replaceState=d;function f(t){`replicaControlsBinding`in t&&t.replicaControlsBinding===!0||(s=new URLSearchParams([...new URLSearchParams(window.location.search)].filter(([e])=>e.startsWith(`rc.`))).toString(),e(s))}function p(e){if(!a||!o||e.defaultPrevented||!(e.target instanceof Element))return;let t=e.target.closest(`a[href]`);if(!(t instanceof HTMLAnchorElement)||t.hasAttribute(`download`)||t.target&&t.target!==`_self`)return;let n=new URL(t.href);n.origin===window.location.origin&&(t.href=l(n))}window.addEventListener(`popstate`,f),window.addEventListener(`click`,p,!0);function m(){if(!a||!o)return;s=c();let e=l(window.location.href);e!==window.location.href&&i(window.history.state,``,e)}function h(){o=!0,m()}return document.addEventListener(`DOMContentLoaded`,h,{once:!0}),{set(e){let t=Y(e);if(t.notice)throw Error(t.notice);s=J(t.scopes),a=!0,m()},refresh:m,current(){return new URLSearchParams([...new URLSearchParams(window.location.search)].filter(([e])=>e.startsWith(`rc.`))).toString()},managed(){return new URLSearchParams(window.location.search).get(`rc`)===`1`},dispose(){window.history.pushState===u&&(window.history.pushState=r),window.history.replaceState===d&&(window.history.replaceState=i),window.removeEventListener(`popstate`,f),window.removeEventListener(`click`,p,!0),document.removeEventListener(`DOMContentLoaded`,h)}}}function ee(e){return Object.fromEntries(e.declaration.controls.filter(t=>t.type!==`button`&&e.snapshot.visible[t.id]&&JSON.stringify(e.snapshot.values[t.id])!==JSON.stringify(t.default)).map(t=>[t.id,e.snapshot.values[t.id]]))}var te={improvementNotesLoading:`Loading improvement notes...`,localCommentsSaved:`Comments stay on this device until a Build with matching content is published and the canvas syncs them to Hub.`,commentPagesExceeded:`Too many review comment pages.`,commentPreparationFailed:`Hub could not prepare this comment.`,commentRefreshFailed:e=>`The comment was saved, but Hub could not be refreshed: ${e}`,commentLiveUpdatesPaused:`Live updates paused; checking every 30 seconds.`,mentionSuggestions:`Mention suggestions`,mentionSuggestionsError:`Mention suggestions are unavailable. Try again.`,mentionSuggestionsLoading:`Loading people...`,mentionSuggestionsEmpty:`No matching people. You can type a GitHub login to check it when sending.`,mentionLimit:`Each message can mention at most 10 distinct people.`,controls:`Controls`,controlsMove:`Move controls`,controlsMoveHint:`Drag to move. Use arrow keys, or Shift and arrow keys for smaller steps.`,controlsCollapse:`Collapse controls`,controlsExpand:`Expand controls`,controlsCollapseGroup:e=>`Collapse ${e}`,controlsExpandGroup:e=>`Expand ${e}`,controlsDescription:`Settings stay in this prototype's URL. The app may paint before Controls apply declared defaults.`,controlsConnecting:`Connecting controls...`,controlsEmpty:`No active controls. This prototype may have no declaration or this route may not mount controls.`,controlsLearnMore:`Learn more`,controlsMissingRuntime:`No supported controls runtime found.`,controlsLocalMissingRuntime:`Local controls couldn't connect.`,controlsLocalConnectionFailed:`The preview has not responded to controls. Retry the connection or ask Copilot to diagnose the cause.`,controlsLocalStorageFailed:`Controls could not be saved in the prototype URL. Changes remain in memory.`,controlsDiagnose:`Diagnose with Copilot`,controlsFix:`Fix with Copilot`,controlsDiagnostics:`Technical details`,controlsUnavailable:e=>`${e} is unavailable`,controlsNotApplied:e=>`${e} could not be applied`,controlsDiagnosisRequested:`Requested in chat`,controlsDiagnosisFailed:`Could not request a diagnosis. Try again.`,controlsUnsupportedRuntime:`This controls runtime version is unsupported. Upgrade only after an approved release.`,controlsInvalid:`The Controls definitions are invalid. Fix controls.replica.json and reload.`,controlsScopeError:(e,t)=>`Controls scope "${e}" did not connect. ${t}`,controlsRetry:`Retry connection`,controlsRetryStorage:`Retry saving`,controlsResetAll:`Reset all controls`,controlsRegion:`Prototype controls`,controlsActionBusy:` - Working...`,controlsActionUnavailable:`No mounted action handler.`,controlsValueNotApplied:`This value was not applied.`,browserNavigation:`Prototype navigation`,browserBack:`Back`,browserForward:`Forward`,browserReload:`Reload preview`,browserAddress:`Prototype address`,browserAddressInvalid:`Enter a valid URL or route.`,browserAddressOrigin:`The address must stay on this prototype's origin.`,browserOpenTab:`Open preview in browser`,browserAppearance:`Preview appearance`,browserLight:`Light appearance`,browserDark:`Dark appearance`,commentingUnavailable:`Commenting needs attention`,commentingDescription:`The canvas could not connect to the preview's commenting bridge.`,closeCommentingDialog:`Close commenting dialog`,commentingFix:`Fix with Copilot`,commentingFixRequested:`Requested in chat`,commentingDismiss:`Dismiss`,commentingMissing:`The preview has not responded through its local proxy. Check that the selected server is running, then reopen the canvas. Script or framing policies, certificate errors, and origin-dependent apps can prevent connection. A Vite plugin or server restart is not required to connect.`,commentingIncompatible:`The preview responded with an incompatible commenting protocol. Update the installed Replica extension and reopen the canvas, or use Fix with Copilot to check the preview connection.`,connectToHub:`Connect to the Hub`,closeConnectionDialog:`Close connection dialog`,connectionDescription:`Connecting to the hub lets you share the prototype with others and enables commenting.`,connectionBeforePublishing:`Connect to the hub before publishing this prototype.`,connectionRepositoryRequired:`Open a repository with a GitHub origin before connecting.`,connectionHubRequired:`Enter and save a Hub URL before connecting.`,connectionOpeningBrowser:`Opening browser...`,connectionApproval:`Browser approval`,connectionWaiting:`Make sure your browser shows the same code`,connectionApprovalExpired:`The approval expired or was declined. Connect again to retry.`,connectionBrowserFailed:e=>`Could not open your browser. Open or copy the approval link below. ${e}`,hubUrl:`Hub URL`,editHubUrl:`Edit Hub URL`,saveHub:`Save Hub`,disconnectFailed:(e,t)=>`Could not disconnect from ${e}: ${t} The previous connection may still be active. Save another Hub URL to switch this canvas locally, or retry Disconnect Hub.`,resetHubUrl:`Reset to repository Hub URL`,resetHubUnavailable:`No repository Hub URL is available. Enter a URL manually or retry reset.`,hubHttpsHint:`Remote Hubs require HTTPS`,copyApprovalLink:`Copy Hub approval link`,approvalLinkCopied:`Approval link copied`,approvalCopyFailed:`Could not copy the link. Copy the Connect to the hub link manually.`,invalidResponse:`The extension returned an invalid response.`,startPage:`Start page`,prototypeFrameTitle:e=>`${e} prototype`,startPageOrigin:`Hub returned a start page outside the prototype.`,hubStatusUnavailable:e=>`Hub status unavailable: ${e}`,hubBuildImported:`Hub imported this Build.`,hubBuildMissing:`Hub has not imported a successful registered Build.`,hubPublicationUnavailable:`Connect to Hub to verify publication.`,editDetails:`Edit details`,startPageHint:`Paste a prototype URL or route. Leave blank to start at /.`,requestFailed:`The request failed.`,statusUnavailable:`Publish status unavailable.`,publishRequestPending:`Waiting for the current commit to run through the publish workflow.`,waitingForHubImport:`The workflow completed. Waiting for Hub to import this Build.`,workingTreeChanged:`Uncommitted changes`,workingTreeClean:`Working tree clean`,buildDetails:`Build details`,latestBuild:`Latest Build`,buildTitle:e=>`Build #${e}`,buildCommit:`Commit`,unknownCommitAuthor:`Unknown`,showBuildHistory:`Show build history`,closeBuildDetails:`Close build details`,branch:`Branch`,sessionId:`Session ID`,comparison:`Branch comparison`,comparisonNeedsRefresh:`Branch comparison unavailable until Git stats refresh.`,upToDate:`Up to date`,commitsBehind:e=>`${e} ${e===1?`commit`:`commits`} behind`,copyBranch:`Copy branch`,copySessionId:`Copy session ID`,branchCopied:`Branch copied`,sessionIdCopied:`Session ID copied`,buildDetailsCopyFailed:e=>`${e} could not be copied. Select it and copy it manually.`,unavailable:`Unavailable`,publishLabels:{succeeded:`Awaiting Hub`,failed:`Retry`,in_progress:`Publishing`,not_published:`Publish`,published:`Published`,requested:`Requested`,unavailable:`Publish`}};function ne(e,t){let n=e.snapshot.bindings?.[t.id],r=e.snapshot.actions[t.id];return{scope:e.declaration.scope,id:t.id,visible:e.snapshot.visible[t.id]===!0,available:(t.type!==`button`||r?.available===!0)&&(!n?.error||n.available===!0),busy:n?.busy===!0||r?.busy===!0,error:n?.error||(t.type===`button`&&!r?.available?te.controlsActionUnavailable:``)}}function re(e,t,n){return{status:t?`pending`:e.status,url:n,error:t?``:e.error??``,controls:t?[]:e.scopes.flatMap(e=>e.declaration.controls.map(t=>ne(e,t)))}}function ie(e){let t=``,n,r,i=``,a=!1,o=new Set,s=!1,c=0,l,u,d=!1,f,p=new Set,m=new Set,h=``,g=Z(e=>{m.clear(),x(`snapshot`,`event`,void 0,e)},()=>Object.fromEntries((n?.list()??[]).filter(e=>m.has(e.declaration.scope)).map(e=>[e.declaration.scope,ee(K(e))])),e=>{h!==e&&(h=e,x(`snapshot`,`event`))});async function _(){try{if(u=await H(),a){u?.dispose();return}n=u?.runtime,r=u?.subscribe(S),await u?.settled();let e=u;e&&v()&&await new Promise(t=>{function n(){clearTimeout(i),a(),f=void 0,t()}function r(){v()||n()}let i=setTimeout(n,500),a=e.subscribe(r);f=n,r()})}catch(e){l={status:`invalid-config`,error:e instanceof Error?e.message.slice(0,1e3):`Controls definitions could not be read.`}}finally{d=!0}S()}function v(){return n?.list().some(e=>Object.values(e.getSnapshot().bindings??{}).some(e=>e.error))}function y(){let e=!!n;if(l)return{runtimeAvailable:e,scopes:[],...l};if(!n)return{runtimeAvailable:!1,status:d?`no-controls`:`missing-runtime`,scopes:[]};try{let e=n.list().filter(e=>e.mountedCount>0).map(K);return e.length>100?{runtimeAvailable:!0,status:`invalid-config`,scopes:[],error:`Too many active controls scopes.`}:{runtimeAvailable:!0,status:e.length?`ready`:`no-controls`,scopes:e}}catch{return{runtimeAvailable:!0,status:`invalid-config`,scopes:[],error:`The Controls definitions are invalid.`}}}function b(){return{...y(),scopeErrors:[],reconnectRequired:s,...s?{error:`Reconnect controls before sending more commands.`}:{},...h?{error:`${h} Changes remain in memory and are not in the URL.`}:{}}}function x(n,r,i,o){if(a||!t)return;let s={protocol:W,version:1,type:n,epoch:t,requestId:r,sequence:++c,state:b(),...i?{error:i}:{},...o===void 0?{}:{controlQuery:o}};window.parent.postMessage(G(s)?s:{...s,state:{runtimeAvailable:!0,status:`invalid-config`,scopes:[],error:`Controls exceed the transport size limit.`},error:`Controls exceed the transport size limit.`},e)}function S(){for(let e of p)e();if(!d||u?.pending())return;g?.refresh();let e=JSON.stringify(b());e!==i&&(i=e,x(`snapshot`,`event`))}async function C(r){if(r.source===window.parent&&r.origin===e&&r.data&&typeof r.data==`object`&&`type`in r.data&&r.data.type===`replica:controls:status`&&`nonce`in r.data&&typeof r.data.nonce==`string`&&r.data.nonce.length<=100&&`timeoutMs`in r.data&&Number.isInteger(r.data.timeoutMs)&&typeof r.data.timeoutMs==`number`&&r.data.timeoutMs>=0&&r.data.timeoutMs<=1e4){let{nonce:t,timeoutMs:n}=r.data;function i(){return!d||u?.pending()===!0&&!b().scopes.some(({snapshot:e})=>[...Object.values(e.actions),...Object.values(e.bindings??{})].some(e=>e.busy))}i()&&n>0&&await new Promise(e=>{function t(){clearTimeout(o),p.delete(r),e()}function r(){(a||!i())&&t()}let o=setTimeout(t,n);p.add(r),r()}),a||window.parent.postMessage({type:`replica:controls:status-result`,nonce:t,value:re(b(),i(),window.location.href)},e);return}if(r.source!==window.parent||r.origin!==e||!G(r.data))return;let c=r.data;if(c.type===`hello`){t=c.epoch,o.clear(),s=!1,m.clear();let e=c.fromFrameUrl&&g?.managed();g?.set(e?g.current():c.controlQuery??``),d||await w,x(`reply`,c.requestId,void 0,e?g?.current():void 0);return}if(c.type!==`command`||c.epoch!==t||o.has(c.requestId))return;if(o.size>=2e3){s=!0,x(`reply`,c.requestId,`Reconnect controls before sending more commands.`);return}o.add(c.requestId);let l=c.command;function f(){if(a||t!==c.epoch)throw Error(`The preview reconnected. The command outcome is unknown.`)}try{if(l?.operation===`url`){g.set(l.query??``),l.scope&&n?.list().some(e=>e.declaration.scope===l.scope&&e.mountedCount>0)&&(m.add(l.scope),g.refresh()),x(`reply`,c.requestId);return}if(!l||!n||![`ready`,`no-controls`].includes(b().status))throw Error(`Controls runtime is unavailable.`);if(l.operation===`reset-all`){if(n.list().some(e=>Object.values(e.getSnapshot().actions).some(e=>e.busy)))throw Error(`Wait for pending actions before resetting controls.`);let e=n.list().filter(e=>e.mountedCount>0);if(!Array.isArray(l.contexts)||l.contexts.length!==e.length||e.some(e=>!l.contexts?.some(t=>t.scope===e.declaration.scope&&t.fingerprint===JSON.stringify(e.declaration)&&t.revision===e.getSnapshot().revision)))throw Error(`Controls changed. The stale reset was not applied.`);m.clear(),await u?.reset(void 0,f)}else{let e=n.list().find(e=>e.declaration.scope===l.scope&&e.mountedCount>0);if(!e)throw Error(`This controls scope is no longer active.`);if(l.fingerprint!==JSON.stringify(e.declaration)||l.revision!==e.getSnapshot().revision)throw Error(`Controls changed. The stale command was not applied.`);if(l.operation===`restore`){if(!U(l.values))throw Error(`Invalid saved controls.`);await u?.restore(e,l.values,f),m.add(e.declaration.scope),g?.refresh()}else if(l.operation===`reset`)m.add(e.declaration.scope),await u?.reset(e,f);else{let t=e.declaration.controls.find(e=>e.id===l.id);if(!t||!e.getSnapshot().visible[t.id])throw Error(`This control is unknown or hidden.`);if(m.add(e.declaration.scope),l.operation===`update`){let n={[t.id]:l.value};if(!U(n))throw Error(`Invalid control value.`);let r=n[t.id];if(r===void 0)throw Error(`Missing control value.`);await u?.update(e,t.id,r,f)}else if(l.operation===`action`)await e.action(t.id);else throw Error(`Unknown controls command.`)}S()}t===c.epoch&&(x(`reply`,c.requestId),u?.navigate())}catch(e){t===c.epoch&&x(`reply`,c.requestId,e instanceof Error?e.message.slice(0,300):`The controls command failed.`)}}let w=_();function T(e){C(e)}return window.addEventListener(`message`,T),()=>{a=!0,f?.();for(let e of p)e();r?.(),u?.dispose(),window.removeEventListener(`message`,T),g?.dispose()}}var Q={enabled:!0,title:`Build preview`,items:3};function $(){let e=document.querySelector(`h1`),t=document.querySelector(`p`),n=document.querySelector(`ul`);if(!e||!t||!n)throw Error(`Build controls story markup is missing.`);e.textContent=Q.title,t.hidden=!Q.enabled,n.replaceChildren(...Array.from({length:Q.items},(e,t)=>{let n=document.createElement(`li`);return n.textContent=`Item ${t+1}`,n}))}Object.assign(window,{buildPreview:{readEnabled:()=>Q.enabled,writeEnabled:e=>{Q.enabled=e,$()},readTitle:()=>Q.title,writeTitle:e=>{Q.title=e,$()},readItems:()=>Q.items,writeItems:e=>{Q.items=e,$()},add:()=>{Q.items=Math.min(8,Q.items+1),$()}}}),$(),ie(window.location.origin)})(); \ No newline at end of file diff --git a/hub/app/javascript/application/prototype-canvas/index.tsx b/hub/app/javascript/application/prototype-canvas/index.tsx index 5d4c8b50..2efd3591 100644 --- a/hub/app/javascript/application/prototype-canvas/index.tsx +++ b/hub/app/javascript/application/prototype-canvas/index.tsx @@ -5,7 +5,7 @@ import { AppDialogs } from "@features/prototype-canvas-dialogs" import { BrowserBar } from "@components/prototype-browser-bar" import { ControlsPanel } from "@components/prototype-controls-panel" import type { ControlsPanelLayout } from "@components/prototype-controls-panel/types" -import { HubPanel } from "@features/prototype-canvas-hub-panel" +import { PrototypeCanvasHubPanel } from "@features/prototype-canvas-hub-panel" import { copy } from "@utils/prototype-canvas/en" import { request } from "@utils/prototype-canvas-request" import { resolveShareReadiness } from "@utils/resolve-prototype-share-readiness" @@ -59,6 +59,7 @@ export function App({ config }: Props) { collapsedGroups: {}, }) const [hubOpen, setHubOpen] = useState(false) + const [improvementControls, setImprovementControls] = useState(null) const [buildDetailsOpen, setBuildDetailsOpen] = useState(false) const closeHub = useCallback(() => { setHubOpen(false) @@ -210,6 +211,7 @@ export function App({ config }: Props) { - setHubOpen(false), onNavigate: navigate, diff --git a/hub/app/javascript/application/prototype-canvas/tests/improvement-notes.test.tsx b/hub/app/javascript/application/prototype-canvas/tests/improvement-notes.test.tsx index 9b377aac..068c5f9d 100644 --- a/hub/app/javascript/application/prototype-canvas/tests/improvement-notes.test.tsx +++ b/hub/app/javascript/application/prototype-canvas/tests/improvement-notes.test.tsx @@ -40,7 +40,7 @@ function receive( }) } -function savedNotesFixture() { +function savedNotesFixture(captureFails = false) { const { fetch } = sharingFixture() const original = fetch.getMockImplementation()! const saved = { @@ -52,6 +52,10 @@ function savedNotesFixture() { } fetch.mockImplementation(async (path, options) => { if (!path.startsWith("/api/improvement-notes")) return original(path, options) + if (path.endsWith("/capture")) + return captureFails + ? Response.json({ error: "Source capture unavailable." }, { status: 409 }) + : Response.json({ identity: saved.identity, sourceId: "selected-source" }) if (options?.method === "POST") { if (typeof options.body !== "string") throw new Error("Expected a JSON notes request.") const input: unknown = JSON.parse(options.body) @@ -230,7 +234,7 @@ describe("App()", () => { view.unmount() }) - it("keeps a failed save visible inside the padded composer with the draft intact", async () => { + it("keeps a failed save visible in the composer with the draft intact", async () => { vi.spyOn(crypto, "randomUUID").mockReturnValue(nonce) const { fetch, saved } = savedNotesFixture() const original = fetch.getMockImplementation()! @@ -260,6 +264,7 @@ describe("App()", () => { }) await waitFor(() => expect(annotate).toBeEnabled()) fireEvent.click(annotate) + await waitFor(() => expect(annotate).toHaveAttribute("aria-pressed", "true")) receive(frame, { type: "replica:canvas:selected", anchor }) const composer = within(screen.getByRole("dialog", { name: copy.add })) fireEvent.change(composer.getByRole("textbox", { name: copy.label }), { @@ -269,7 +274,6 @@ describe("App()", () => { const alert = await composer.findByRole("alert") expect(alert).toBeVisible() expect(alert).toHaveTextContent("Notes could not be saved.") - expect(alert).toHaveClass("improvement-demo__notice") expect(composer.getByRole("textbox", { name: copy.label })).toHaveValue( "Keep the save action visible.", ) @@ -325,11 +329,10 @@ describe("App()", () => { fireEvent.click(screen.getByRole("button", { name: threadCopy.close })) expect(screen.queryByRole("button", { name: threadCopy.point(1) })).not.toBeInTheDocument() fireEvent.click(picker) - expect(picker).toHaveAttribute("aria-pressed", "true") + await waitFor(() => expect(picker).toHaveAttribute("aria-pressed", "true")) expect(screen.queryByRole("complementary", { name: copy.notes })).not.toBeInTheDocument() const marker = screen.getByRole("button", { name: threadCopy.point(1) }) expect(marker).toBeVisible() - expect(marker).toHaveStyle({ left: "80px", top: "50px" }) fireEvent.click(marker) const dialog = screen.getByRole("dialog", { name: threadCopy.conversation }) expect(dialog).toBeVisible() @@ -350,6 +353,7 @@ describe("App()", () => { fireEvent.click(picker) expect(screen.queryByRole("button", { name: threadCopy.point(1) })).not.toBeInTheDocument() fireEvent.click(picker) + await waitFor(() => expect(picker).toHaveAttribute("aria-pressed", "true")) expect(screen.getByRole("button", { name: threadCopy.point(1) })).toBeVisible() receive(frame, { type: "replica:canvas:resolved", results: [] }) expect(screen.queryByRole("button", { name: threadCopy.point(1) })).not.toBeInTheDocument() @@ -389,10 +393,8 @@ describe("App()", () => { if (visible) { const alert = await screen.findByText(syncError) expect(alert).toHaveAttribute("role", "alert") - expect(alert).toHaveClass("thread-sample__error") } else { expect(screen.queryByText(syncError)).not.toBeInTheDocument() - expect(view.container.querySelector(".thread-sample__error")).toBeNull() } expect(saved.syncError).toBe(syncError) view.unmount() @@ -452,12 +454,7 @@ describe("App()", () => { const controls = within(await screen.findByRole("group", { name: copy.title })) const annotate = controls.getByRole("button", { name: copy.annotate }) expect(annotate).toBeDisabled() - expect(screen.getByRole("complementary", { name: copy.notes })).toHaveClass("hub-sidebar") - expect(screen.queryByText(copy.demo)).not.toBeInTheDocument() - expect(screen.queryByText(copy.canvasDemoNotice)).not.toBeInTheDocument() - expect(screen.queryByText(copy.owner)).not.toBeInTheDocument() - expect(screen.queryByText(copy.authorContext)).not.toBeInTheDocument() - expect(screen.queryByText(copy.syncControls)).not.toBeInTheDocument() + expect(screen.getByRole("complementary", { name: copy.notes })).toBeVisible() expect(screen.getByRole("button", { name: threadCopy.simulate(0) })).toBeDisabled() expect(view.container.querySelector(".canvas-review-controls")).toBeNull() const initialWrites = fetch.mock.calls.filter(([, options]) => options?.method === "POST") @@ -476,6 +473,7 @@ describe("App()", () => { await waitFor(() => expect(annotate).toBeEnabled()) const post = vi.spyOn(frame.contentWindow!, "postMessage") fireEvent.click(annotate) + await waitFor(() => expect(annotate).toHaveAttribute("aria-pressed", "true")) expect(post).toHaveBeenCalledWith( { type: "replica:canvas:select", nonce, mode: "improvement" }, previewOrigin, @@ -542,17 +540,13 @@ describe("App()", () => { type: "replica:canvas:resolved", results: [{ id: 1, x: 80, y: 50 }], }) - expect(screen.getByRole("button", { name: "Open improvement 1" })).toHaveStyle({ - left: "80px", - top: "50px", - }) + expect(screen.getByRole("button", { name: "Open improvement 1" })).toBeVisible() expect(screen.getAllByText("Clarify this action.")).toHaveLength(2) fireEvent.click(screen.getByRole("button", { name: threadCopy.back })) expect( controls.queryByRole("button", { name: threadCopy.simulate(1) }), ).not.toBeInTheDocument() fireEvent.click(screen.getByRole("button", { name: threadCopy.simulate(1) })) - expect(screen.queryByRole("dialog", { name: copy.handoff })).not.toBeInTheDocument() await waitFor(() => expect(screen.getByRole("button", { name: threadCopy.simulate(0) })).toBeDisabled(), ) @@ -560,14 +554,51 @@ describe("App()", () => { .filter(([, options]) => options?.method === "POST") .slice(initialWrites.length) expect(writes.map(([path]) => path)).toEqual([ + "/api/improvement-notes/capture", "/api/improvement-notes", "/api/improvement-notes/fix", ]) + const savedBody = writes.find(([path]) => path === "/api/improvement-notes")?.[1]?.body + if (typeof savedBody !== "string") throw new Error("Expected a serialized improvement.") + expect(JSON.parse(savedBody)).toMatchObject({ sourceId: "selected-source", anchor }) expect(saved.notes[0]).toMatchObject({ capture: "", anchor, body: "Clarify this action." }) view.unmount() }, ) + it("explains capture failure while still allowing an improvement to be saved privately", async () => { + vi.spyOn(crypto, "randomUUID").mockReturnValue(nonce) + const { fetch, saved } = savedNotesFixture(true) + render( + , + ) + const frame = screen.getByTitle("Demo prototype") + if (!(frame instanceof HTMLIFrameElement)) throw new Error("Expected the prototype iframe.") + const picker = await screen.findByRole("button", { name: copy.annotate }) + receive(frame, { + type: "replica:canvas:ready", + protocolVersion: 1, + improvementSelection: true, + route: anchor.route, + }) + await waitFor(() => expect(picker).toBeEnabled()) + fireEvent.click(picker) + await waitFor(() => expect(picker).toHaveAttribute("aria-pressed", "true")) + receive(frame, { type: "replica:canvas:selected", anchor }) + const composer = within(screen.getByRole("dialog", { name: copy.add })) + expect(composer.getByRole("alert")).toHaveTextContent(copy.sourceUnavailable) + fireEvent.change(composer.getByRole("textbox", { name: copy.label }), { + target: { value: "Keep this private local request" }, + }) + fireEvent.click(composer.getByRole("button", { name: copy.save })) + await waitFor(() => expect(saved.notes).toHaveLength(1)) + const write = fetch.mock.calls.find( + ([path, options]) => path === "/api/improvement-notes" && options?.method === "POST", + ) + if (typeof write?.[1]?.body !== "string") throw new Error("Expected a local save.") + expect(JSON.parse(write[1].body)).not.toHaveProperty("sourceId") + }) + it("preserves images already stored with saved notes", async () => { vi.spyOn(crypto, "randomUUID").mockReturnValue(nonce) const { saved } = savedNotesFixture() @@ -614,10 +645,7 @@ describe("App()", () => { type: "replica:canvas:resolved", results: [{ id: 1, x: 80, y: 50 }], }) - expect(await screen.findByRole("button", { name: "Open improvement 1" })).toHaveStyle({ - left: "80px", - top: "50px", - }) + expect(await screen.findByRole("button", { name: "Open improvement 1" })).toBeVisible() view.unmount() }) @@ -644,8 +672,8 @@ describe("App()", () => { canvas={{ token: "local", frameRef: { current: null }, + toolbarTarget: null, prototypeUrl: origin, - branch: "prototype/demo", hubOpen: false, onOpenNotes: vi.fn(), onNavigate: vi.fn(), @@ -726,8 +754,8 @@ describe("App()", () => { canvas={{ token: "local", frameRef: { current: null }, + toolbarTarget: null, prototypeUrl: origin, - branch: "prototype/demo", hubOpen: false, onOpenNotes: vi.fn(), onNavigate: vi.fn(), diff --git a/hub/app/javascript/components/hub-counter/index.test.tsx b/hub/app/javascript/components/hub-counter/index.test.tsx index d23570bf..4e9849f6 100644 --- a/hub/app/javascript/components/hub-counter/index.test.tsx +++ b/hub/app/javascript/components/hub-counter/index.test.tsx @@ -2,7 +2,6 @@ import { render, screen } from "@testing-library/react" import { describe, expect, it } from "vitest" import { HubCounter } from "." -import styles from "./styles.css?inline" describe("HubCounter()", () => { it("preserves exact counts and caller accessibility attributes", () => { @@ -12,13 +11,5 @@ describe("HubCounter()", () => { , ) expect(screen.getByLabelText("27 pending requests")).toHaveTextContent("27") - expect(screen.getByLabelText("27 pending requests")).toHaveClass("hub-counter", "pending") - }) - - it("supports a scoped background while retaining its default and inherited foreground", () => { - expect(styles).toContain( - "background: var(--hub-counter-background, color-mix(in srgb, currentColor 10%, Canvas))", - ) - expect(styles).toContain("color: inherit") }) }) diff --git a/hub/app/javascript/components/prototype-build-details-dialog/index.test.tsx b/hub/app/javascript/components/prototype-build-details-dialog/index.test.tsx index 52d3d172..b8153898 100644 --- a/hub/app/javascript/components/prototype-build-details-dialog/index.test.tsx +++ b/hub/app/javascript/components/prototype-build-details-dialog/index.test.tsx @@ -44,9 +44,6 @@ describe("BuildDetailsDialog()", () => { expect(screen.getByRole("button", { name: "Close build details" })).toHaveClass( "hub-icon-button", ) - expect(screen.getByRole("button", { name: "Close build details" })).not.toHaveClass( - "hub-icon-button--invisible", - ) const branch = screen.getByText("prototype/welcome") expect(branch).toBeInTheDocument() expect(branch.closest("dd")?.querySelector(".octicon-git-branch")).toBeInTheDocument() diff --git a/hub/app/javascript/components/prototype-canvas-toolbar/index.test.tsx b/hub/app/javascript/components/prototype-canvas-toolbar/index.test.tsx index baf6df7b..0aacaa5a 100644 --- a/hub/app/javascript/components/prototype-canvas-toolbar/index.test.tsx +++ b/hub/app/javascript/components/prototype-canvas-toolbar/index.test.tsx @@ -4,7 +4,6 @@ import { createRef } from "react" import { describe, expect, it, vi } from "vitest" import { Toolbar } from "." -import styles from "./styles.css?inline" const config = { name: "Demo", prototypeUrl: "http://localhost:3000", token: "local-token" } const props = { @@ -17,27 +16,6 @@ const props = { } describe("Toolbar()", () => { - it("uses existing hover and pressed fills only for enabled selected toolbar toggles", () => { - expect(styles).not.toContain("--hub-toolbar-button-bg-") - expect(styles).not.toContain("--brand-button-secondary-bgColor-rest:") - const rules = styles.match(/\.canvas-toolbar\s+button:is\([^}]+\}/g) - expect(rules).toHaveLength(2) - expect(styles).toContain( - "--hub-toolbar-selected-bg: var(--brand-button-secondary-bgColor-hover)", - ) - expect(styles).toContain( - "--hub-toolbar-selected-hover-bg: var(--brand-button-secondary-bgColor-active)", - ) - expect(rules?.[0]).toContain("background-color: var(--hub-toolbar-selected-bg)") - expect(rules?.[1]).toContain(":is(:hover, :active)") - expect(rules?.[1]).toContain("background-color: var(--hub-toolbar-selected-hover-bg)") - for (const rule of rules ?? []) { - expect(rule).toContain('[aria-pressed="true"], [aria-expanded="true"]') - expect(rule).toContain(".canvas-title,\n .canvas-publish-button") - expect(rule).toContain(':not(:disabled):not([aria-disabled="true"])') - } - }) - it("preserves the full long branch in its accessible name and hover title", () => { const branch = "prototype/refine-project-navigation-and-review-workflow" render( @@ -47,7 +25,6 @@ describe("Toolbar()", () => { ) const title = screen.getByRole("button", { name: branch }) expect(title).toHaveAttribute("title", expect.stringContaining(branch)) - expect(title).toHaveClass("canvas-title") expect(title).toHaveTextContent(branch) }) @@ -89,8 +66,6 @@ describe("Toolbar()", () => { expect(hubButtonRef.current).toBe(button) expect(button).toHaveAttribute("aria-expanded", "true") expect(button).toHaveAttribute("title", "Edit details") - expect(button).toHaveClass("canvas-toolbar-compact-button") - expect(button.querySelector(".octicon-pencil")).not.toBeNull() fireEvent.click(button) expect(onHub).toHaveBeenCalledOnce() expect(screen.queryByRole("button", { name: "Hub" })).not.toBeInTheDocument() diff --git a/hub/app/javascript/components/prototype-canvas-toolbar/index.tsx b/hub/app/javascript/components/prototype-canvas-toolbar/index.tsx index 0f926c13..8225fb59 100644 --- a/hub/app/javascript/components/prototype-canvas-toolbar/index.tsx +++ b/hub/app/javascript/components/prototype-canvas-toolbar/index.tsx @@ -1,6 +1,6 @@ import { CheckCircleIcon, LinkIcon, PencilIcon, SyncIcon, UploadIcon } from "@primer/octicons-react" import { Button, Tooltip } from "@primer/react-brand" -import type { RefObject } from "react" +import type { Ref, RefObject } from "react" import { ControlsToggle } from "../prototype-controls-toggle" import { HubIconButton } from "@components/hub-icon-button" @@ -14,6 +14,7 @@ import "./styles.css" type Props = { toolbarRef?: RefObject + improvementControlsRef?: Ref config: CanvasConfig onPublish: () => void publishButtonRef: RefObject @@ -35,6 +36,7 @@ type Props = { export function Toolbar({ toolbarRef, + improvementControlsRef, config, onPublish, publishButtonRef, @@ -122,7 +124,7 @@ export function Toolbar({
{config.pickAndPolish || config.improvementNotesDemo ? ( -
+
) : null} {onControls ? ( diff --git a/hub/app/javascript/components/prototype-controls-panel/index.test.tsx b/hub/app/javascript/components/prototype-controls-panel/index.test.tsx index 6ff52c30..b61be322 100644 --- a/hub/app/javascript/components/prototype-controls-panel/index.test.tsx +++ b/hub/app/javascript/components/prototype-controls-panel/index.test.tsx @@ -141,22 +141,16 @@ beforeEach(() => { }) describe("ControlsPanel()", () => { - it("links to the Controls README only at the bottom of the genuine empty state", () => { + it("links to the Controls README only in the genuine empty state", () => { const empty: PanelState = { ...ready, scopes: [], status: "no-controls" } const view = render() const link = screen.getByRole("link", { name: "Learn more" }) - expect(link.closest("footer")).toHaveClass("canvas-controls-footer") expect(link).toHaveAttribute( "href", "https://github.com/github/replica/blob/main/starter/README.md#prototype-controls", ) expect(link).toHaveAttribute("target", "_blank") expect(link).toHaveAttribute("rel", "noopener noreferrer") - expect(link).toHaveClass("canvas-controls-learn-more") - const externalIcon = link.querySelector("svg.octicon-link-external") - expect(externalIcon).toHaveAttribute("aria-hidden", "true") - expect(externalIcon).not.toHaveAttribute("tabindex") - expect(link.lastElementChild).toBe(externalIcon) expect(link).toHaveAccessibleName("Learn more") expect(screen.getByText(/^No active controls\./)).toBeVisible() for (const state of [ diff --git a/hub/app/javascript/features/install-replica-controls-bridge/bridge.js b/hub/app/javascript/features/install-replica-controls-bridge/bridge.js index aa20e803..2eebcaa3 100644 --- a/hub/app/javascript/features/install-replica-controls-bridge/bridge.js +++ b/hub/app/javascript/features/install-replica-controls-bridge/bridge.js @@ -1,4 +1,4 @@ (function(){var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=((n,r,o)=>(o=n==null?{}:e(i(n)),s(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n)))(o((e=>{var t=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),n=t((e=>{Object.defineProperty(e,"__esModule",{value:!0});function t(e){let t=e.length,n=0,r=0,i;for(;r=55296&&i<=56319&&r{t.exports=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t==`object`&&typeof n==`object`){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if(!e(t[o],n[o]))return!1}return!0}return t!==t&&n!==n}})),i=t((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=r();t.code=`require("ajv/dist/runtime/equal").default`,e.default=t}));e.validateShape=P;var a={type:`object`,additionalProperties:!1,required:[`version`,`scope`,`controls`],properties:{$schema:{type:`string`},version:{const:1},scope:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},role:{enum:[`shared`,`page`]},container:{$ref:`#/$defs/selector`},panel:{type:`object`,additionalProperties:!1,required:[`width`],properties:{width:{type:`integer`,minimum:160,maximum:4096}}},groups:{type:`array`,maxItems:100,items:{type:`object`,additionalProperties:!1,required:[`id`,`label`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},when:{$ref:`#/$defs/condition`}}}},controls:{type:`array`,maxItems:500,items:{oneOf:[{$ref:`#/$defs/boolean`},{$ref:`#/$defs/number`},{$ref:`#/$defs/slider`},{$ref:`#/$defs/choice`},{$ref:`#/$defs/checkboxGroup`},{$ref:`#/$defs/text`},{$ref:`#/$defs/color`},{$ref:`#/$defs/button`}]}}}},o=Object.prototype.hasOwnProperty,s=n().default,c=RegExp(`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`,`u`),l={type:[`string`,`number`,`boolean`]},u=i().default,d={validate:f};function f(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0,s=o,p=!1,m=null,h=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.control===void 0){let e={instancePath:t,schemaPath:`#/oneOf/0/required`,keyword:`required`,params:{missingProperty:`control`},message:`must have required property 'control'`};a===null?a=[e]:a.push(e),o++}if(e.equals===void 0){let e={instancePath:t,schemaPath:`#/oneOf/0/required`,keyword:`required`,params:{missingProperty:`equals`},message:`must have required property 'equals'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`control`&&n!==`equals`){let e={instancePath:t,schemaPath:`#/oneOf/0/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.control!==void 0){let n=e.control;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.equals!==void 0){let n=e.equals;if(typeof n!=`string`&&!(typeof n==`number`&&isFinite(n))&&typeof n!=`boolean`){let e={instancePath:t+`/equals`,schemaPath:`#/$defs/scalar/type`,keyword:`type`,params:{type:l.type},message:`must be string,number,boolean`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/0/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var g=h===o;g&&(p=!0,m=0);let _=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.control===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`control`},message:`must have required property 'control'`};a===null?a=[e]:a.push(e),o++}if(e.in===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`in`},message:`must have required property 'in'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`control`&&n!==`in`){let e={instancePath:t,schemaPath:`#/oneOf/1/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.control!==void 0){let n=e.control;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.in!==void 0){let n=e.in;if(Array.isArray(n)){if(n.length>20){let e={instancePath:t+`/in`,schemaPath:`#/oneOf/1/properties/in/maxItems`,keyword:`maxItems`,params:{limit:20},message:`must NOT have more than 20 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/in`,schemaPath:`#/oneOf/1/properties/in/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r1){outer0:for(;r--;)for(i=r;i--;)if(u(n[r],n[i])){let e={instancePath:t+`/in`,schemaPath:`#/oneOf/1/properties/in/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[e]:a.push(e),o++;break outer0}}}else{let e={instancePath:t+`/in`,schemaPath:`#/oneOf/1/properties/in/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/1/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var g=_===o;if(g&&p)p=!1,m=[m,1];else{g&&(p=!0,m=1);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.control===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`control`},message:`must have required property 'control'`};a===null?a=[e]:a.push(e),o++}if(e.includes===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`includes`},message:`must have required property 'includes'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`control`&&n!==`includes`){let e={instancePath:t,schemaPath:`#/oneOf/2/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.control!==void 0){let n=e.control;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/control`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.includes!==void 0&&typeof e.includes!=`string`){let e={instancePath:t+`/includes`,schemaPath:`#/oneOf/2/properties/includes/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t,schemaPath:`#/oneOf/2/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var g=n===o;if(g&&p)p=!1,m=[m,2];else{g&&(p=!0,m=2);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.all===void 0){let e={instancePath:t,schemaPath:`#/oneOf/3/required`,keyword:`required`,params:{missingProperty:`all`},message:`must have required property 'all'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`all`){let e={instancePath:t,schemaPath:`#/oneOf/3/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.all!==void 0){let n=e.all;if(Array.isArray(n)){if(n.length>10){let e={instancePath:t+`/all`,schemaPath:`#/oneOf/3/properties/all/maxItems`,keyword:`maxItems`,params:{limit:10},message:`must NOT have more than 10 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/all`,schemaPath:`#/oneOf/3/properties/all/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r10){let e={instancePath:t+`/any`,schemaPath:`#/oneOf/4/properties/any/maxItems`,keyword:`maxItems`,params:{limit:10},message:`must NOT have more than 10 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/any`,schemaPath:`#/oneOf/4/properties/any/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r512){let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/maxLength`,keyword:`maxLength`,params:{limit:512},message:`must NOT have more than 512 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/0/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=d===o;f&&(l=!0,u=0);let v=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.selector===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`selector`},message:`must have required property 'selector'`};a===null?a=[e]:a.push(e),o++}if(e.property===void 0){let e={instancePath:t,schemaPath:`#/oneOf/1/required`,keyword:`required`,params:{missingProperty:`property`},message:`must have required property 'property'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`type`&&n!==`selector`&&n!==`property`){let e={instancePath:t,schemaPath:`#/oneOf/1/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.type!==void 0&&e.type!==`style`){let e={instancePath:t+`/type`,schemaPath:`#/oneOf/1/properties/type/const`,keyword:`const`,params:{allowedValue:`style`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.selector!==void 0){let n=e.selector;if(typeof n==`string`){if(s(n)>512){let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/maxLength`,keyword:`maxLength`,params:{limit:512},message:`must NOT have more than 512 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/selector`,schemaPath:`#/$defs/selector/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.property!==void 0){let n=e.property;if(typeof n==`string`){if(s(n)>100){let e={instancePath:t+`/property`,schemaPath:`#/oneOf/1/properties/property/maxLength`,keyword:`maxLength`,params:{limit:100},message:`must NOT have more than 100 characters`};a===null?a=[e]:a.push(e),o++}if(!m.test(n)){let e={instancePath:t+`/property`,schemaPath:`#/oneOf/1/properties/property/pattern`,keyword:`pattern`,params:{pattern:`^(--[a-zA-Z0-9_-]+|[a-z][a-z-]*)$`},message:`must match pattern "^(--[a-zA-Z0-9_-]+|[a-z][a-z-]*)$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/property`,schemaPath:`#/oneOf/1/properties/property/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/1/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=v===o;if(f&&l)l=!1,u=[u,1];else{f&&(l=!0,u=1);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.key===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`key`},message:`must have required property 'key'`};a===null?a=[e]:a.push(e),o++}if(e.mode===void 0){let e={instancePath:t,schemaPath:`#/oneOf/2/required`,keyword:`required`,params:{missingProperty:`mode`},message:`must have required property 'mode'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`type`&&n!==`key`&&n!==`mode`){let e={instancePath:t,schemaPath:`#/oneOf/2/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.type!==void 0&&e.type!==`query`){let e={instancePath:t+`/type`,schemaPath:`#/oneOf/2/properties/type/const`,keyword:`const`,params:{allowedValue:`query`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.key!==void 0){let n=e.key;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/key`,schemaPath:`#/oneOf/2/properties/key/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/key`,schemaPath:`#/oneOf/2/properties/key/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/key`,schemaPath:`#/oneOf/2/properties/key/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.mode!==void 0){let n=e.mode;if(n!==`in-place`&&n!==`navigate`){let e={instancePath:t+`/mode`,schemaPath:`#/oneOf/2/properties/mode/enum`,keyword:`enum`,params:{allowedValues:p.oneOf[2].properties.mode.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/2/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=n===o;if(f&&l)l=!1,u=[u,2];else{f&&(l=!0,u=2);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={instancePath:t,schemaPath:`#/oneOf/3/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.mode===void 0){let e={instancePath:t,schemaPath:`#/oneOf/3/required`,keyword:`required`,params:{missingProperty:`mode`},message:`must have required property 'mode'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`type`&&n!==`mode`){let e={instancePath:t,schemaPath:`#/oneOf/3/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.type!==void 0&&e.type!==`hash`){let e={instancePath:t+`/type`,schemaPath:`#/oneOf/3/properties/type/const`,keyword:`const`,params:{allowedValue:`hash`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.mode!==void 0){let n=e.mode;if(n!==`in-place`&&n!==`navigate`){let e={instancePath:t+`/mode`,schemaPath:`#/oneOf/3/properties/mode/enum`,keyword:`enum`,params:{allowedValues:p.oneOf[3].properties.mode.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),o++}}}else{let e={instancePath:t,schemaPath:`#/oneOf/3/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=n===o;if(f&&l)l=!1,u=[u,3];else{f&&(l=!0,u=3);let n=o;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.type===void 0){let e={instancePath:t,schemaPath:`#/oneOf/4/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.object===void 0){let e={instancePath:t,schemaPath:`#/oneOf/4/required`,keyword:`required`,params:{missingProperty:`object`},message:`must have required property 'object'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`type`&&n!==`object`&&n!==`read`&&n!==`write`&&n!==`action`&&n!==`subscribe`&&n!==`pollMs`){let e={instancePath:t,schemaPath:`#/oneOf/4/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.type!==void 0&&e.type!==`api`){let e={instancePath:t+`/type`,schemaPath:`#/oneOf/4/properties/type/const`,keyword:`const`,params:{allowedValue:`api`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.object!==void 0){let n=e.object;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/object`,schemaPath:`#/oneOf/4/properties/object/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(!h.test(n)){let e={instancePath:t+`/object`,schemaPath:`#/oneOf/4/properties/object/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z_$][a-zA-Z0-9_$]*(\\.[a-zA-Z_$][a-zA-Z0-9_$]*)*$`},message:`must match pattern "^[a-zA-Z_$][a-zA-Z0-9_$]*(\\.[a-zA-Z_$][a-zA-Z0-9_$]*)*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/object`,schemaPath:`#/oneOf/4/properties/object/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.read!==void 0){let n=e.read;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/read`,schemaPath:`#/$defs/method/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};a===null?a=[e]:a.push(e),o++}if(!g.test(n)){let e={instancePath:t+`/read`,schemaPath:`#/$defs/method/pattern`,keyword:`pattern`,params:{pattern:`^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$`},message:`must match pattern "^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/read`,schemaPath:`#/$defs/method/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.write!==void 0){let n=e.write;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/write`,schemaPath:`#/$defs/method/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};a===null?a=[e]:a.push(e),o++}if(!g.test(n)){let e={instancePath:t+`/write`,schemaPath:`#/$defs/method/pattern`,keyword:`pattern`,params:{pattern:`^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$`},message:`must match pattern "^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/write`,schemaPath:`#/$defs/method/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.action!==void 0){let n=e.action;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/action`,schemaPath:`#/$defs/method/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};a===null?a=[e]:a.push(e),o++}if(!g.test(n)){let e={instancePath:t+`/action`,schemaPath:`#/$defs/method/pattern`,keyword:`pattern`,params:{pattern:`^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$`},message:`must match pattern "^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/action`,schemaPath:`#/$defs/method/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.subscribe!==void 0){let n=e.subscribe;if(typeof n==`string`){if(s(n)>64){let e={instancePath:t+`/subscribe`,schemaPath:`#/$defs/method/maxLength`,keyword:`maxLength`,params:{limit:64},message:`must NOT have more than 64 characters`};a===null?a=[e]:a.push(e),o++}if(!g.test(n)){let e={instancePath:t+`/subscribe`,schemaPath:`#/$defs/method/pattern`,keyword:`pattern`,params:{pattern:`^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$`},message:`must match pattern "^(?!constructor$|prototype$|__proto__$)[a-zA-Z_$][a-zA-Z0-9_$]*$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/subscribe`,schemaPath:`#/$defs/method/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.pollMs!==void 0){let n=e.pollMs;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/pollMs`,schemaPath:`#/oneOf/4/properties/pollMs/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),o++}if(typeof n==`number`&&isFinite(n)){if(n>6e4||isNaN(n)){let e={instancePath:t+`/pollMs`,schemaPath:`#/oneOf/4/properties/pollMs/maximum`,keyword:`maximum`,params:{comparison:`<=`,limit:6e4},message:`must be <= 60000`};a===null?a=[e]:a.push(e),o++}if(n<100||isNaN(n)){let e={instancePath:t+`/pollMs`,schemaPath:`#/oneOf/4/properties/pollMs/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:100},message:`must be >= 100`};a===null?a=[e]:a.push(e),o++}}}}else{let e={instancePath:t,schemaPath:`#/oneOf/4/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}var f=n===o;f&&l?(l=!1,u=[u,4]):f&&(l=!0,u=4)}}}if(l)o=c,a!==null&&(c?a.length=c:a=null);else{let e={instancePath:t,schemaPath:`#/oneOf`,keyword:`oneOf`,params:{passingSchemas:u},message:`must match exactly one schema in oneOf`};a===null?a=[e]:a.push(e),o++}return _.errors=a,o===0}function v(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`boolean`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`boolean`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.default!==void 0&&typeof e.default!=`boolean`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return v.errors=a,o===0}var y={type:`object`,additionalProperties:!1,required:[`id`,`label`,`type`,`default`,`min`,`max`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},type:{const:`number`},default:{type:`number`},binding:{$ref:`#/$defs/binding`},min:{type:`number`},max:{type:`number`},step:{type:`number`,exclusiveMinimum:0},group:{$ref:`#/$defs/id`},when:{$ref:`#/$defs/condition`}}};function b(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}if(e.min===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`min`},message:`must have required property 'min'`};a===null?a=[e]:a.push(e),l++}if(e.max===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`max`},message:`must have required property 'max'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(y.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0&&e.type!==`number`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`number`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),l++}if(e.default!==void 0){let n=e.default;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.min!==void 0){let n=e.min;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/min`,schemaPath:`#/properties/min/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.max!==void 0){let n=e.max;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/max`,schemaPath:`#/properties/max/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.step!==void 0){let n=e.step;if(typeof n==`number`&&isFinite(n)){if(n<=0||isNaN(n)){let e={instancePath:t+`/step`,schemaPath:`#/properties/step/exclusiveMinimum`,keyword:`exclusiveMinimum`,params:{comparison:`>`,limit:0},message:`must be > 0`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/step`,schemaPath:`#/properties/step/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return b.errors=a,l===0}var x={type:`object`,additionalProperties:!1,required:[`id`,`label`,`type`,`default`,`min`,`max`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},type:{const:`slider`},default:{type:`number`},binding:{$ref:`#/$defs/binding`},min:{type:`number`},max:{type:`number`},step:{type:`number`,exclusiveMinimum:0},group:{$ref:`#/$defs/id`},when:{$ref:`#/$defs/condition`}}};function S(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}if(e.min===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`min`},message:`must have required property 'min'`};a===null?a=[e]:a.push(e),l++}if(e.max===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`max`},message:`must have required property 'max'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(x.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0&&e.type!==`slider`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`slider`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),l++}if(e.default!==void 0){let n=e.default;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.min!==void 0){let n=e.min;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/min`,schemaPath:`#/properties/min/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.max!==void 0){let n=e.max;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/max`,schemaPath:`#/properties/max/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.step!==void 0){let n=e.step;if(typeof n==`number`&&isFinite(n)){if(n<=0||isNaN(n)){let e={instancePath:t+`/step`,schemaPath:`#/properties/step/exclusiveMinimum`,keyword:`exclusiveMinimum`,params:{comparison:`>`,limit:0},message:`must be > 0`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/step`,schemaPath:`#/properties/step/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return S.errors=a,l===0}var C={type:`object`,additionalProperties:!1,required:[`id`,`label`,`type`,`default`,`options`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},type:{enum:[`select`,`radio`,`segmented`]},default:{type:`string`},binding:{$ref:`#/$defs/binding`},options:{$ref:`#/$defs/options`},group:{$ref:`#/$defs/id`},when:{$ref:`#/$defs/condition`}}};function w(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}if(e.options===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`options`},message:`must have required property 'options'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`options`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0){let n=e.type;if(n!==`select`&&n!==`radio`&&n!==`segmented`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/enum`,keyword:`enum`,params:{allowedValues:C.properties.type.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),o++}}if(e.default!==void 0&&typeof e.default!=`string`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.options!==void 0){let n=e.options;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(e)<1){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}let r=n.length,i;if(r>1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/options`,schemaPath:`#/$defs/options/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return w.errors=a,o===0}function T(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}if(e.options===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`options`},message:`must have required property 'options'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!==`binding`&&n!=="default"&&n!==`options`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`checkboxGroup`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`checkboxGroup`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.default!==void 0){let n=e.default;if(Array.isArray(n)){let e=n.length;for(let r=0;r1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/default`,schemaPath:`#/properties/default/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.options!==void 0){let n=e.options;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(e)<1){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}let r=n.length,i;if(r>1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/options`,schemaPath:`#/$defs/options/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return T.errors=a,o===0}var E={type:`object`,additionalProperties:!1,required:[`id`,`label`,`type`,`default`],properties:{id:{$ref:`#/$defs/id`},label:{$ref:`#/$defs/label`},type:{enum:[`text`,`textarea`]},default:{type:`string`},binding:{$ref:`#/$defs/binding`},minLength:{type:`integer`,minimum:0},maxLength:{type:`integer`,minimum:0},group:{$ref:`#/$defs/id`},when:{$ref:`#/$defs/condition`}}};function D(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(E.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0){let n=e.type;if(n!==`text`&&n!==`textarea`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/enum`,keyword:`enum`,params:{allowedValues:E.properties.type.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),l++}}if(e.default!==void 0&&typeof e.default!=`string`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.minLength!==void 0){let n=e.minLength;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/minLength`,schemaPath:`#/properties/minLength/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),l++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/minLength`,schemaPath:`#/properties/minLength/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};a===null?a=[e]:a.push(e),l++}}if(e.maxLength!==void 0){let n=e.maxLength;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/maxLength`,schemaPath:`#/properties/maxLength/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),l++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/maxLength`,schemaPath:`#/properties/maxLength/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return D.errors=a,l===0}var O=RegExp(`^#[0-9a-fA-F]{6}$`,`u`);function k(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`color`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`color`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.default!==void 0){let n=e.default;if(typeof n==`string`){if(!O.test(n)){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/pattern`,keyword:`pattern`,params:{pattern:`^#[0-9a-fA-F]{6}$`},message:`must match pattern "^#[0-9a-fA-F]{6}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return k.errors=a,o===0}function A(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`button`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`button`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return A.errors=a,o===0}function j(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let l=null,u=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.version===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`version`},message:`must have required property 'version'`};l===null?l=[e]:l.push(e),u++}if(e.scope===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`scope`},message:`must have required property 'scope'`};l===null?l=[e]:l.push(e),u++}if(e.controls===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`controls`},message:`must have required property 'controls'`};l===null?l=[e]:l.push(e),u++}for(let n in e)if(!o.call(a.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};l===null?l=[e]:l.push(e),u++}if(e.$schema!==void 0&&typeof e.$schema!=`string`){let e={instancePath:t+`/$schema`,schemaPath:`#/properties/%24schema/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}if(e.version!==void 0&&e.version!==1){let e={instancePath:t+`/version`,schemaPath:`#/properties/version/const`,keyword:`const`,params:{allowedValue:1},message:`must be equal to constant`};l===null?l=[e]:l.push(e),u++}if(e.scope!==void 0){let n=e.scope;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/scope`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/scope`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.role!==void 0){let n=e.role;if(n!==`shared`&&n!==`page`){let e={instancePath:t+`/role`,schemaPath:`#/properties/role/enum`,keyword:`enum`,params:{allowedValues:a.properties.role.enum},message:`must be equal to one of the allowed values`};l===null?l=[e]:l.push(e),u++}}if(e.container!==void 0){let n=e.container;if(typeof n==`string`){if(s(n)>512){let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/maxLength`,keyword:`maxLength`,params:{limit:512},message:`must NOT have more than 512 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.panel!==void 0){let n=e.panel;if(n&&typeof n==`object`&&!Array.isArray(n)){if(n.width===void 0){let e={instancePath:t+`/panel`,schemaPath:`#/properties/panel/required`,keyword:`required`,params:{missingProperty:`width`},message:`must have required property 'width'`};l===null?l=[e]:l.push(e),u++}for(let e in n)if(e!==`width`){let n={instancePath:t+`/panel`,schemaPath:`#/properties/panel/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e},message:`must NOT have additional properties`};l===null?l=[n]:l.push(n),u++}if(n.width!==void 0){let e=n.width;if(typeof e!=`number`||e%1||isNaN(e)||!isFinite(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};l===null?l=[e]:l.push(e),u++}if(typeof e==`number`&&isFinite(e)){if(e>4096||isNaN(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/maximum`,keyword:`maximum`,params:{comparison:`<=`,limit:4096},message:`must be <= 4096`};l===null?l=[e]:l.push(e),u++}if(e<160||isNaN(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:160},message:`must be >= 160`};l===null?l=[e]:l.push(e),u++}}}}else{let e={instancePath:t+`/panel`,schemaPath:`#/properties/panel/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.groups!==void 0){let n=e.groups;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/groups`,schemaPath:`#/properties/groups/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/groups/`+r+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(l=l===null?f.errors:l.concat(f.errors),u=l.length))}else{let e={instancePath:t+`/groups/`+r,schemaPath:`#/properties/groups/items/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t+`/groups`,schemaPath:`#/properties/groups/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.controls!==void 0){let n=e.controls;if(Array.isArray(n)){if(n.length>500){let e={instancePath:t+`/controls`,schemaPath:`#/properties/controls/maxItems`,keyword:`maxItems`,params:{limit:500},message:`must NOT have more than 500 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r100){let e={instancePath:t+`/sets`,schemaPath:`#/properties/sets/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/sets`,schemaPath:`#/properties/sets/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.role!==void 0){let n=e.role;if(n!==`shared`&&n!==`page`){let e={instancePath:t+`/role`,schemaPath:`#/properties/role/enum`,keyword:`enum`,params:{allowedValues:a.properties.role.enum},message:`must be equal to one of the allowed values`};l===null?l=[e]:l.push(e),u++}}if(e.container!==void 0){let n=e.container;if(typeof n==`string`){if(s(n)>512){let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/maxLength`,keyword:`maxLength`,params:{limit:512},message:`must NOT have more than 512 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/container`,schemaPath:`#/$defs/selector/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}if(e.panel!==void 0){let n=e.panel;if(n&&typeof n==`object`&&!Array.isArray(n)){if(n.width===void 0){let e={instancePath:t+`/panel`,schemaPath:`#/properties/panel/required`,keyword:`required`,params:{missingProperty:`width`},message:`must have required property 'width'`};l===null?l=[e]:l.push(e),u++}for(let e in n)if(e!==`width`){let n={instancePath:t+`/panel`,schemaPath:`#/properties/panel/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:e},message:`must NOT have additional properties`};l===null?l=[n]:l.push(n),u++}if(n.width!==void 0){let e=n.width;if(typeof e!=`number`||e%1||isNaN(e)||!isFinite(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};l===null?l=[e]:l.push(e),u++}if(typeof e==`number`&&isFinite(e)){if(e>4096||isNaN(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/maximum`,keyword:`maximum`,params:{comparison:`<=`,limit:4096},message:`must be <= 4096`};l===null?l=[e]:l.push(e),u++}if(e<160||isNaN(e)){let e={instancePath:t+`/panel/width`,schemaPath:`#/properties/panel/properties/width/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:160},message:`must be >= 160`};l===null?l=[e]:l.push(e),u++}}}}else{let e={instancePath:t+`/panel`,schemaPath:`#/properties/panel/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}if(e.groups!==void 0){let n=e.groups;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/groups`,schemaPath:`#/properties/groups/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};l===null?l=[e]:l.push(e),u++}if(s(n)<1){let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};l===null?l=[e]:l.push(e),u++}}else{let e={instancePath:t+`/groups/`+r+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};l===null?l=[e]:l.push(e),u++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/groups/`+r+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(l=l===null?f.errors:l.concat(f.errors),u=l.length))}else{let e={instancePath:t+`/groups/`+r,schemaPath:`#/properties/groups/items/type`,keyword:`type`,params:{type:`object`},message:`must be object`};l===null?l=[e]:l.push(e),u++}}}else{let e={instancePath:t+`/groups`,schemaPath:`#/properties/groups/type`,keyword:`type`,params:{type:`array`},message:`must be array`};l===null?l=[e]:l.push(e),u++}}if(e.controls!==void 0){let n=e.controls;if(Array.isArray(n)){if(n.length>500){let e={instancePath:t+`/controls`,schemaPath:`#/properties/controls/maxItems`,keyword:`maxItems`,params:{limit:500},message:`must NOT have more than 500 items`};l===null?l=[e]:l.push(e),u++}let e=n.length;for(let r=0;r100){let e={instancePath:t+`/sets`,schemaPath:`#/properties/sets/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/sets`,schemaPath:`#/properties/sets/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`boolean`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`boolean`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.default!==void 0&&typeof e.default!=`boolean`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`boolean`},message:`must be boolean`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return L.errors=a,o===0}e.number=R;function R(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}if(e.min===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`min`},message:`must have required property 'min'`};a===null?a=[e]:a.push(e),l++}if(e.max===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`max`},message:`must have required property 'max'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(y.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0&&e.type!==`number`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`number`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),l++}if(e.default!==void 0){let n=e.default;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.min!==void 0){let n=e.min;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/min`,schemaPath:`#/properties/min/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.max!==void 0){let n=e.max;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/max`,schemaPath:`#/properties/max/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.step!==void 0){let n=e.step;if(typeof n==`number`&&isFinite(n)){if(n<=0||isNaN(n)){let e={instancePath:t+`/step`,schemaPath:`#/properties/step/exclusiveMinimum`,keyword:`exclusiveMinimum`,params:{comparison:`>`,limit:0},message:`must be > 0`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/step`,schemaPath:`#/properties/step/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return R.errors=a,l===0}e.slider=z;function z(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}if(e.min===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`min`},message:`must have required property 'min'`};a===null?a=[e]:a.push(e),l++}if(e.max===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`max`},message:`must have required property 'max'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(x.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0&&e.type!==`slider`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`slider`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),l++}if(e.default!==void 0){let n=e.default;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.min!==void 0){let n=e.min;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/min`,schemaPath:`#/properties/min/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.max!==void 0){let n=e.max;if(!(typeof n==`number`&&isFinite(n))){let e={instancePath:t+`/max`,schemaPath:`#/properties/max/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.step!==void 0){let n=e.step;if(typeof n==`number`&&isFinite(n)){if(n<=0||isNaN(n)){let e={instancePath:t+`/step`,schemaPath:`#/properties/step/exclusiveMinimum`,keyword:`exclusiveMinimum`,params:{comparison:`>`,limit:0},message:`must be > 0`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/step`,schemaPath:`#/properties/step/type`,keyword:`type`,params:{type:`number`},message:`must be number`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return z.errors=a,l===0}e.choice=B;function B(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}if(e.options===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`options`},message:`must have required property 'options'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`options`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0){let n=e.type;if(n!==`select`&&n!==`radio`&&n!==`segmented`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/enum`,keyword:`enum`,params:{allowedValues:C.properties.type.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),o++}}if(e.default!==void 0&&typeof e.default!=`string`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.options!==void 0){let n=e.options;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(e)<1){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}let r=n.length,i;if(r>1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/options`,schemaPath:`#/$defs/options/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return B.errors=a,o===0}e.checkboxGroup=V;function V(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}if(e.options===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`options`},message:`must have required property 'options'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!==`binding`&&n!=="default"&&n!==`options`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`checkboxGroup`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`checkboxGroup`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.default!==void 0){let n=e.default;if(Array.isArray(n)){let e=n.length;for(let r=0;r1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/default`,schemaPath:`#/properties/default/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.options!==void 0){let n=e.options;if(Array.isArray(n)){if(n.length>100){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/maxItems`,keyword:`maxItems`,params:{limit:100},message:`must NOT have more than 100 items`};a===null?a=[e]:a.push(e),o++}if(n.length<1){let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/minItems`,keyword:`minItems`,params:{limit:1},message:`must NOT have fewer than 1 items`};a===null?a=[e]:a.push(e),o++}let e=n.length;for(let r=0;r200){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(e)<1){let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/options/`+r,schemaPath:`#/$defs/options/items/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}let r=n.length,i;if(r>1){let e={};for(;r--;){let s=n[r];if(typeof s==`string`){if(typeof e[s]==`number`){i=e[s];let n={instancePath:t+`/options`,schemaPath:`#/$defs/options/uniqueItems`,keyword:`uniqueItems`,params:{i:r,j:i},message:`must NOT have duplicate items (items ## `+i+` and `+r+` are identical)`};a===null?a=[n]:a.push(n),o++;break}e[s]=r}}}}else{let e={instancePath:t+`/options`,schemaPath:`#/$defs/options/type`,keyword:`type`,params:{type:`array`},message:`must be array`};a===null?a=[e]:a.push(e),o++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return V.errors=a,o===0}e.text=H;function H(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,l=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),l++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),l++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),l++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),l++}for(let n in e)if(!o.call(E.properties,n)){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),l++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),l++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}if(e.type!==void 0){let n=e.type;if(n!==`text`&&n!==`textarea`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/enum`,keyword:`enum`,params:{allowedValues:E.properties.type.enum},message:`must be equal to one of the allowed values`};a===null?a=[e]:a.push(e),l++}}if(e.default!==void 0&&typeof e.default!=`string`){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),l=a.length)),e.minLength!==void 0){let n=e.minLength;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/minLength`,schemaPath:`#/properties/minLength/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),l++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/minLength`,schemaPath:`#/properties/minLength/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};a===null?a=[e]:a.push(e),l++}}if(e.maxLength!==void 0){let n=e.maxLength;if(typeof n!=`number`||n%1||isNaN(n)||!isFinite(n)){let e={instancePath:t+`/maxLength`,schemaPath:`#/properties/maxLength/type`,keyword:`type`,params:{type:`integer`},message:`must be integer`};a===null?a=[e]:a.push(e),l++}if(typeof n==`number`&&isFinite(n)&&(n<0||isNaN(n))){let e={instancePath:t+`/maxLength`,schemaPath:`#/properties/maxLength/minimum`,keyword:`minimum`,params:{comparison:`>=`,limit:0},message:`must be >= 0`};a===null?a=[e]:a.push(e),l++}}if(e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),l++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),l++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),l=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),l++}return H.errors=a,l===0}e.color=U;function U(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}if(e.default===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`default`},message:`must have required property 'default'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!=="default"&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`color`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`color`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.default!==void 0){let n=e.default;if(typeof n==`string`){if(!O.test(n)){let e={instancePath:t+`/default`,schemaPath:`#/properties/default/pattern`,keyword:`pattern`,params:{pattern:`^#[0-9a-fA-F]{6}$`},message:`must match pattern "^#[0-9a-fA-F]{6}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/default`,schemaPath:`#/properties/default/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return U.errors=a,o===0}e.button=W;function W(e,{instancePath:t=``,parentData:n,parentDataProperty:r,rootData:i=e}={}){let a=null,o=0;if(e&&typeof e==`object`&&!Array.isArray(e)){if(e.id===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`id`},message:`must have required property 'id'`};a===null?a=[e]:a.push(e),o++}if(e.label===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`label`},message:`must have required property 'label'`};a===null?a=[e]:a.push(e),o++}if(e.type===void 0){let e={instancePath:t,schemaPath:`#/required`,keyword:`required`,params:{missingProperty:`type`},message:`must have required property 'type'`};a===null?a=[e]:a.push(e),o++}for(let n in e)if(n!==`id`&&n!==`label`&&n!==`type`&&n!==`binding`&&n!==`group`&&n!==`when`){let e={instancePath:t,schemaPath:`#/additionalProperties`,keyword:`additionalProperties`,params:{additionalProperty:n},message:`must NOT have additional properties`};a===null?a=[e]:a.push(e),o++}if(e.id!==void 0){let n=e.id;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/id`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.label!==void 0){let n=e.label;if(typeof n==`string`){if(s(n)>200){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/maxLength`,keyword:`maxLength`,params:{limit:200},message:`must NOT have more than 200 characters`};a===null?a=[e]:a.push(e),o++}if(s(n)<1){let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/minLength`,keyword:`minLength`,params:{limit:1},message:`must NOT have fewer than 1 characters`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/label`,schemaPath:`#/$defs/label/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}if(e.type!==void 0&&e.type!==`button`){let e={instancePath:t+`/type`,schemaPath:`#/properties/type/const`,keyword:`const`,params:{allowedValue:`button`},message:`must be equal to constant`};a===null?a=[e]:a.push(e),o++}if(e.binding!==void 0&&(_(e.binding,{instancePath:t+`/binding`,parentData:e,parentDataProperty:`binding`,rootData:i})||(a=a===null?_.errors:a.concat(_.errors),o=a.length)),e.group!==void 0){let n=e.group;if(typeof n==`string`){if(!c.test(n)){let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/pattern`,keyword:`pattern`,params:{pattern:`^[a-zA-Z][a-zA-Z0-9_-]{0,63}$`},message:`must match pattern "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"`};a===null?a=[e]:a.push(e),o++}}else{let e={instancePath:t+`/group`,schemaPath:`#/$defs/id/type`,keyword:`type`,params:{type:`string`},message:`must be string`};a===null?a=[e]:a.push(e),o++}}e.when!==void 0&&(f(e.when,{instancePath:t+`/when`,parentData:e,parentDataProperty:`when`,rootData:i})||(a=a===null?f.errors:a.concat(f.errors),o=a.length))}else{let e={instancePath:t,schemaPath:`#/type`,keyword:`type`,params:{type:`object`},message:`must be object`};a===null?a=[e]:a.push(e),o++}return W.errors=a,o===0}}))(),1);function l(e){if(e&&typeof e==`object`){for(let t of Object.values(e))l(t);Object.freeze(e)}return e}function u(e){return Array.isArray(e)?`[${e.map(u).join(`,`)}]`:e&&typeof e==`object`?`{${Object.keys(e).sort().map(t=>`${JSON.stringify(t)}:${u(e[t])}`).join(`,`)}}`:JSON.stringify(e)}function d(e,t){if(!e)return!0;if(e.all)return e.all.every(e=>d(e,t));if(e.any)return e.any.some(e=>d(e,t));let n=t[e.control];return`equals`in e?n===e.equals:`in`in e?e.in.includes(n):Array.isArray(n)&&n.includes(e.includes)}var{validateDocumentShape:f,validateDeclaration:p}=c.default,m={boolean:`boolean`,number:`number`,slider:`slider`,select:`choice`,radio:`choice`,segmented:`choice`,checkboxGroup:`checkboxGroup`,text:`text`,textarea:`text`,color:`color`,button:`button`};function h(e){let t=[...p.errors].filter(e=>!/^\/controls\/\d+(?:\/|$)/.test(e.instancePath)).map(e=>({...e}));return Array.isArray(e?.controls)&&e.controls.forEach((e,n)=>{let r=Object.hasOwn(m,e?.type)?m[e.type]:void 0,i=r&&c.default[r];i?i(e)||t.push(...i.errors.map(e=>({...e,instancePath:`/controls/${n}${e.instancePath}`}))):t.push({instancePath:`/controls/${n}/type`,message:`must name a supported control type`})}),t.map(e=>({path:e.instancePath,message:e.keyword===`additionalProperties`?`${e.message}: "${e.params.additionalProperty}"`:e.message,keyword:e.keyword,params:e.params}))}var g=class extends Error{constructor(e){super(`Invalid controls.replica.json:\n${e.map(e=>` ${e.path||`/`}: ${e.message}`).join(` `)}`),this.name=`ControlsValidationError`,this.issues=e}};function _(e,t){switch(e.type){case`boolean`:return typeof t==`boolean`?null:`must be a boolean`;case`number`:case`slider`:{if(typeof t!=`number`||!Number.isFinite(t))return`must be a finite number`;if(e.min!==void 0&&t= min`;if(e.max!==void 0&&t>e.max)return`must be <= max`;let n=(t-e.min)/(e.step??1);return!Number.isFinite(n)||Math.abs(n-Math.round(n))>1e-8?`must align with step (anchored at min)`:null}case`select`:case`radio`:case`segmented`:return e.options.includes(t)?null:`must be a declared option`;case`checkboxGroup`:return Array.isArray(t)&&new Set(t).size===t.length&&t.every(t=>e.options.includes(t))?null:`must be unique declared options`;case`text`:case`textarea`:return typeof t==`string`?e.minLength!==void 0&&[...t].lengthe.maxLength?`longer than maxLength`:null:`must be a string`;case`color`:return typeof t==`string`&&/^#[0-9a-fA-F]{6}$/.test(t)?null:`must be a six-digit hex color`;default:return`button controls have no value`}}function v(e){return e?e.control?[e.control]:(e.all??e.any).flatMap(v):[]}function y(e){let t=new Map((e.groups??[]).map(e=>[e.id,e])),n=new Map(e.controls.map(e=>[e.id,e])),r=new Set,i=new Set,a=[];function o(e){if(r.has(e))return;if(i.has(e))throw new g([{path:`/controls/${e}/when`,message:`conditional dependency cycle (including groups)`}]);i.add(e);let s=n.get(e);for(let e of[...v(s.when),...v(t.get(s.group)?.when)])o(e);i.delete(e),r.add(e),a.push(e)}for(let e of n.keys())o(e);return a}function b(e){let t=new Set;function n(e,r=0){if(r>24)throw new g([{path:`/`,message:`document nesting exceeds 24`}]);if(typeof e==`number`&&!Number.isFinite(e))throw new g([{path:`/`,message:`numbers must be finite`}]);if(![`string`,`number`,`boolean`,`object`].includes(typeof e))throw new g([{path:`/`,message:`must contain only JSON values`}]);if(e&&typeof e==`object`){if(!Array.isArray(e)&&Object.getPrototypeOf(e)!==Object.prototype&&Object.getPrototypeOf(e)!==null)throw new g([{path:`/`,message:`must contain only JSON objects`}]);if(t.has(e))throw new g([{path:`/`,message:`must be an acyclic JSON document`}]);t.add(e);for(let t of Object.values(e))n(t,r+1);t.delete(e)}}n(e)}function x(e){b(e);let t=e&&typeof e==`object`&&Object.hasOwn(e,`sets`)?e.sets:[e];if(!e||typeof e!=`object`||!Object.hasOwn(e,`sets`))return C(e),S(e),e;if(!f(e))throw new g(f.errors.map(e=>({path:e.instancePath,message:e.keyword===`additionalProperties`?`${e.message}: "${e.params.additionalProperty}"`:e.message,keyword:e.keyword,params:e.params})));let n=new Set;return t.forEach((e,t)=>{try{C(e),S(e)}catch(e){throw e instanceof g?new g(e.issues.map(e=>({...e,path:`/sets/${t}${e.path}`}))):e}if(n.has(e.scope))throw new g([{path:`/sets/${t}/scope`,message:`duplicate scope ${e.scope}`}]);n.add(e.scope)}),e}function S(e){let t=[];for(let[n,r]of e.controls.entries()){let e=r.binding,i=`/controls/${n}/binding`;e?((r.type===`button`&&![`button`,`api`].includes(e.type)||r.type!==`button`&&e.type===`button`)&&t.push({path:i,message:`binding does not match the control type`}),e.type===`query`&&(e.key===`rc`||e.key.startsWith(`rc.`))&&t.push({path:i,message:`rc and rc.* are reserved for control settings`}),e.type===`api`&&(([`window`,`globalThis`,`self`,`parent`,`top`,`document`,`location`,`history`,`navigator`].includes(e.object.split(`.`)[0])||[e.read,e.write,e.action,e.subscribe].some(e=>[`eval`,`Function`].includes(e)))&&t.push({path:i,message:`API bindings must name an app-owned object and ordinary methods`}),e.object.split(`.`).some(e=>[`constructor`,`prototype`,`__proto__`].includes(e))&&t.push({path:i,message:`API object must name the app's own exposed object`}),r.type===`button`?(!e.action||e.read||e.write||e.subscribe||e.pollMs)&&t.push({path:i,message:`API buttons require only object and action`}):(!e.read||!e.write||e.action||!!e.subscribe==!!e.pollMs)&&t.push({path:i,message:`API values require read, write, and either subscribe or pollMs`}))):t.push({path:i,message:`each control requires a binding`})}if(t.length)throw new g(t)}function C(e){if(b(e),!p(e))throw new g(h(e));let t=[];function n(e,n){t.push({path:e,message:n})}let r=new Set,i=new Map((e.groups??[]).map(e=>[e.id,e])),a=new Map(e.controls.map(e=>[e.id,e]));for(let[t,i]of[[`groups`,e.groups??[]],[`controls`,e.controls]])i.forEach((e,i)=>{r.has(e.id)&&n(`/${t}/${i}/id`,`duplicate ID ${e.id}`),r.add(e.id)});function o(e,t,r=0){if(!e)return;if(r>4){n(t,`conditions support at most five levels`);return}if(e.all||e.any){let n=e.all?`all`:`any`;e[n].forEach((e,i)=>o(e,`${t}/${n}/${i}`,r+1));return}let i=a.get(e.control);if(!i||i.type===`button`)n(t,`condition must reference a value control`);else if(`includes`in e)(i.type!==`checkboxGroup`||!i.options.includes(e.includes))&&n(t,`includes requires a declared checkboxGroup option`);else if(i.type===`checkboxGroup`)n(t,`checkboxGroup conditions must use includes`);else for(let r of`in`in e?e.in:[e.equals]){let e=_(i,r);e&&n(t,`invalid condition for ${i.id}: ${e}`)}}if(e.controls.forEach((e,t)=>{let r=`/controls/${t}`;if(e.group&&!i.has(e.group)&&n(`${r}/group`,`unknown group`),e.min!==void 0&&e.max!==void 0&&e.min>e.max&&n(r,`min must not exceed max`),e.minLength!==void 0&&e.maxLength!==void 0&&e.minLength>e.maxLength&&n(r,`minLength must not exceed maxLength`),e.type===`segmented`&&e.options.length>3&&n(`${r}/options`,`segmented supports at most three options`),e.type!==`button`){let t=_(e,e.default);t&&n(`${r}/default`,t)}o(e.when,`${r}/when`)}),(e.groups??[]).forEach((e,t)=>o(e.when,`/groups/${t}/when`)),t.length)throw new g(t);return y(e),e}var w=Symbol.for(`replica.controls.injected.runtime`),T=new WeakMap;function E(){let e=globalThis[w];if(e&&e.version!==2)throw Error(`Replica controls runtime version mismatch; reload the page`);if(!e){let e=new Map,t=new Set,n=Object.freeze({version:2,create:e=>D(e),list:()=>Object.freeze([...e.values()].map(e=>e.controller)),subscribe(e){return t.add(e),()=>t.delete(e)}});T.set(n,{scopes:e,notify:()=>{for(let e of[...t])e()}}),globalThis[w]=n}return globalThis[w]}function D(e){C(e);let t=l(structuredClone(e)),n=u(t),r=E(),i=r.list().find(e=>e.declaration.scope===t.scope);if(i){if(u(i.declaration)!==n)throw Error(`Conflicting controls declaration for scope "${t.scope}"; reload after schema changes`);return i}let a=T.get(r);if(!a)return r.create(e);let o=new Map(t.controls.map(e=>[e.id,e])),s=new Map((t.groups??[]).map(e=>[e.id,e])),c=y(t),f=new Set,p=new Map,m=new Set,h={},g=0,v=!1,b=!1,x;function S(e){for(let t of[...p.values()].reverse()){let n=t();if(Object.hasOwn(n,e)&&typeof n[e]==`function`)return n}}function w(e){let n={};for(let t of c){let r=o.get(t);n[t]=d(r.when,e)&&d(s.get(r.group)?.when,e),!n[t]&&r.type!==`button`&&(e[t]=structuredClone(r.default))}return l({values:e,visible:n,groups:Object.fromEntries([...s].map(([t,n])=>[t,d(n.when,e)])),actions:Object.fromEntries(t.controls.filter(e=>e.type===`button`).map(e=>[e.id,{available:!!S(e.id)&&!h[e.id]?.error,busy:m.has(e.id)}])),...Object.keys(h).length?{bindings:structuredClone(h)}:{}})}function D(){return Object.fromEntries(t.controls.filter(e=>e.type!==`button`).map(e=>[e.id,structuredClone(e.default)]))}x=l({...w(D()),revision:g});function O(e){let t=w(e),n={values:x.values,visible:x.visible,groups:x.groups,actions:x.actions,...x.bindings?{bindings:x.bindings}:{}};if(u(t)!==u(n)&&(x=l({...t,revision:++g}),b=!0,!v)){v=!0;try{for(;b;){b=!1;for(let e of[...f])e();a.notify()}}finally{v=!1}}}function k(e){let t=o.get(e);if(!t)throw Error(`Unknown control "${e}"`);if(!x.visible[e])throw Error(`Control "${e}" is hidden`);return t}let A=Object.freeze({declaration:t,getSnapshot:()=>x,subscribe(e){return f.add(e),()=>f.delete(e)},update(e,t){let n=_(k(e),t);if(n)throw Error(`Control "${e}": ${n}`);O({...x.values,[e]:structuredClone(t)})},restore(e){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Controls restore requires an object`);let t={...x.values};for(let[n,r]of Object.entries(e)){let e=o.get(n);if(!e)throw Error(`Unknown control "${n}"`);let i=_(e,r);if(i)throw Error(`Control "${n}": ${i}`);t[n]=structuredClone(r)}O(t)},refreshActions(){O({...x.values})},bindingStatus(e,t,n=!1,r=!t){if(!o.has(e))throw Error(`Unknown control "${e}"`);h[e]={error:t.slice(0,500),busy:n,available:r},O({...x.values})},reset(e){if(e===void 0)return O(D());let t=k(e);if(t.type===`button`)throw Error(`Buttons cannot be reset`);O({...x.values,[e]:structuredClone(t.default)})},async action(e){if(k(e).type!==`button`)throw Error(`Control "${e}" is not a button`);let t=S(e);if(!t)throw Error(`No mounted action handler for "${e}"`);if(m.has(e))throw Error(`Action "${e}" is busy`);m.add(e),O({...x.values});try{return await t[e]()}finally{m.delete(e),O({...x.values})}},mount(e=()=>({})){let t=Symbol();p.set(t,e);try{O({...x.values}),a.notify()}catch(e){throw p.delete(t),O({...x.values}),a.notify(),e}let n=!0;return()=>{n&&(n=!1,p.delete(t),O({...x.values}),a.notify())}},get mountedCount(){return p.size}});return a.scopes.set(t.scope,Object.freeze({canonical:n,controller:A})),a.notify(),A}function O(e,t=!1){if(!(e instanceof HTMLElement)||!e.isConnected)return`The binding target is missing or stale.`;let n=e.getBoundingClientRect();for(let t=e;t;t=t.parentElement){let e=window.getComputedStyle(t);if(t.hasAttribute(`hidden`)||t.hasAttribute(`inert`)||t.getAttribute(`aria-hidden`)===`true`||t.getAttribute(`aria-disabled`)===`true`||e.visibility===`hidden`||e.visibility===`collapse`||e.display===`none`||Number(e.opacity||1)===0)return`The binding target is hidden or disabled.`}if(e.hasAttribute(`data-replica-canvas-bridge`)||e.matches(`:disabled`)||!n.width||!n.height)return`The binding target is hidden or disabled.`;if(!t)return``;let r=document.elementFromPoint(n.left+n.width/2,n.top+n.height/2);if(!r||r!==e&&!e.contains(r))return`The binding target is blocked by another element.`;let i=e.closest(`button, input, select, textarea, [role="button"], [role="link"], a`),a=e.closest(`form`)||(e instanceof HTMLButtonElement||e instanceof HTMLInputElement?e.form:null);if(i!==e||a)return`The binding target is not a safe standalone control.`;let o=e.closest(`a`);if(o){let e=o.getAttribute(`href`),t;try{t=new URL(e||``,window.location.href)}catch{return`The binding target has an invalid link URL.`}if(!e||![`http:`,`https:`].includes(t.protocol)||t.origin!==window.location.origin||t.username||t.password||o.hasAttribute(`download`)||o.hasAttribute(`target`)&&o.getAttribute(`target`)!==`_self`)return`The binding target leaves the prototype or downloads a file.`}return``}function k(e,t){return JSON.stringify(e)===JSON.stringify(t)}function A(){let e=new URL(window.location.href);for(let t of[...e.searchParams.keys()])(t===`rc`||t.startsWith(`rc.`))&&e.searchParams.delete(t);return e.href}function j(e){let t=document.querySelectorAll(e);if(t.length!==1)throw Error(t.length?`The binding target is ambiguous.`:`The binding target is missing.`);return t[0]}function M(e){let t=window;for(let n of e.split(`.`)){if(!t||!Object.hasOwn(t,n))throw Error(`The app API "${e}" is unavailable.`);t=t[n]}if(!t||typeof t!=`object`&&typeof t!=`function`)throw Error(`The app API "${e}" is not an object.`);if([window,window.document,window.location,window.history,window.navigator].includes(t))throw Error(`API bindings must use an app-owned object, not a browser API.`);return t}function N(e){let t=e.binding;if(t.type===`api`){let e=M(t.object);for(let n of[t.read,t.write,t.action,t.subscribe].filter(Boolean))if(!Object.hasOwn(e,n)||typeof e[n]!=`function`)throw Error(`The app API method "${n}" is unavailable.`);return e}if(t.type===`query`||t.type===`hash`)return window;let n=j(t.selector),r=O(n,t.type===`button`);if(r)throw Error(r);if(t.type===`field`){if(!(n instanceof HTMLInputElement||n instanceof HTMLSelectElement||n instanceof HTMLTextAreaElement)||n instanceof HTMLInputElement&&[`button`,`submit`,`reset`,`image`,`file`,`password`,`hidden`].includes(n.type))throw Error(`The binding requires a supported native form field.`);if(e.type===`boolean`&&!(n instanceof HTMLInputElement&&n.type===`checkbox`))throw Error(`A boolean field binding requires a checkbox.`);if(e.type===`checkboxGroup`&&!(n instanceof HTMLSelectElement&&n.multiple))throw Error(`A checkboxGroup field binding requires a multiple select.`);if(n.readOnly)throw Error(`The binding target is read-only.`)}if(t.type===`style`&&e.type===`checkboxGroup`)throw Error(`Style bindings require a scalar control.`);return n}function P(e,t){if(e.type===`boolean`)return t===`true`||t!==`false`&&t;if(e.type===`number`||e.type===`slider`)return t.trim()===``?NaN:Number(t);if(e.type===`checkboxGroup`)return JSON.parse(t);if(e.type===`color`&&/^rgb\(/.test(t)){let e=t.match(/\d+/g);if(e?.length===3)return`#${e.map(e=>Number(e).toString(16).padStart(2,`0`)).join(``)}`}return t}function F(e){return Array.isArray(e)?JSON.stringify(e):String(e)}function I(e,t){let n=e.binding;if(n.type===`api`)return t[n.read]();if(n.type===`field`)return e.type===`boolean`?t.checked:e.type===`checkboxGroup`?[...t.selectedOptions].map(e=>e.value):P(e,t.value);if(n.type===`style`)return P(e,window.getComputedStyle(t).getPropertyValue(n.property).trim());let r=new URL(window.location.href),i=n.type===`query`?r.searchParams.get(n.key):decodeURIComponent(r.hash.slice(1));return i===null?structuredClone(e.default):P(e,i)}function L(e){let t=typeof e==`string`?e:e?.message;return Error(typeof t==`string`&&t?t:`The app binding failed without an error message.`)}async function R(e,t=5e3){let n;try{return await Promise.race([Promise.resolve().then(e),new Promise((e,r)=>{n=window.setTimeout(()=>r(Error(`The app API timed out. Its outcome is unknown.`)),t)})])}catch(e){throw L(e)}finally{window.clearTimeout(n)}}function z(e,t,n){let r=e instanceof HTMLInputElement?HTMLInputElement.prototype:e instanceof HTMLSelectElement?HTMLSelectElement.prototype:HTMLTextAreaElement.prototype;Object.getOwnPropertyDescriptor(r,t).set.call(e,n)}async function B(e,t,n){let r=e.binding;if(r.type===`api`){await R(()=>t[r.write](structuredClone(n)));return}if(r.type===`field`){if(t instanceof HTMLSelectElement)for(let e of Array.isArray(n)?n:[F(n)]){let n=[...t.options].filter(t=>t.value===e);if(n.length!==1||n[0].disabled||n[0].closest(`optgroup[disabled], [hidden], [inert]`))throw Error(`The native option is missing, ambiguous, hidden or disabled.`)}if(e.type===`checkboxGroup`)for(let e of t.options)e.selected=n.includes(e.value);else e.type===`boolean`?t.checked!==n&&t.click():z(t,`value`,F(n));t.dispatchEvent(new Event(`input`,{bubbles:!0})),t.dispatchEvent(new Event(`change`,{bubbles:!0}));return}if(r.type===`style`){t.style.setProperty(r.property,F(n));return}let i=new URL(window.location.href);if(r.type===`query`?i.searchParams.set(r.key,F(n)):i.hash=`#${F(n).replace(/%/g,`%25`)}`,i.href===window.location.href)return;if(i.origin!==window.location.origin)throw Error(`URL bindings cannot leave the prototype.`);if(r.mode===`navigate`)return i;window.history.replaceState(window.history.state,``,i);let a=new Event(r.type===`hash`?`hashchange`:`popstate`);Object.defineProperty(a,"replicaControlsBinding",{value:!0}),window.dispatchEvent(a)}function V(e){x(e);let t=(e.sets??[e]).map(e=>({controller:D(e),release:void 0,records:new Map(e.controls.map(e=>[e.id,{control:e,object:void 0,cleanup:void 0,initialized:!1,lastRead:0,reading:!1}]))})),n=!1,r=0,i=Promise.resolve(),a=Promise.resolve(),o=!1,s=!1,c,l=new Set,u=``;function d(){let e=JSON.stringify(t.map(({controller:e})=>[e.declaration.scope,e.mountedCount,e.getSnapshot().revision]));if(e!==u){u=e;for(let e of l)e()}}let f=E().subscribe(()=>{!s&&!r&&d()});function p(e){if(!e.controller.declaration.container)return!0;let t=document.querySelectorAll(e.controller.declaration.container);if(t.length>1)throw Error(`The page container is ambiguous.`);return t.length===1&&!O(t[0])}function m(e,t){let n=t.cleanup;t.cleanup=void 0,t.object=void 0,t.initialized=!1;try{n?.()}catch(n){let r=Error(`API cleanup failed: ${L(n).message}`);return e.controller.bindingStatus(t.control.id,r.message),r}}function h(e){let n=e.binding;if(n.type===`query`||n.type===`hash`){let e=new Set;for(let r of t){let t;try{t=p(r)}catch{continue}if(t)for(let t of r.records.values()){let i=t.control.binding;i.type===n.type&&(n.type===`hash`||i.key===n.key)&&e.add(F(r.controller.getSnapshot().values[t.control.id]))}}if(e.size>1)throw Error(`This URL setting has conflicting active Controls bindings.`)}return N(e)}function g(e,t,r,i){let a=t.control.binding.type===`api`?new URL(A()).origin!==new URL(i).origin:A()!==i;if(n||!p(e)||a||h(t.control)!==r)throw Error(`The binding target or prototype route changed. The outcome is unknown.`)}async function v(e,t,n,r){let i=await R(()=>I(t.control,n));g(e,t,n,r);let a=_(t.control,i);if(a)throw Error(`The app value ${a}.`);return e.controller.restore({[t.control.id]:i}),t.lastRead=Date.now(),i}async function b(e,t,n){let{control:r}=t,i=e.controller.getSnapshot().values[r.id],a=A(),o;e.controller.bindingStatus(r.id,``,!0);try{o=h(r);let i=await B(r,o,n);if(i){let t=new URL(c?.href??window.location.href);return r.binding.type===`query`?t.searchParams.set(r.binding.key,i.searchParams.get(r.binding.key)):t.hash=i.hash,c=t,e.controller.restore({[r.id]:n}),e.controller.bindingStatus(r.id,``),n}await new Promise(e=>{let t=window.setTimeout(()=>{window.cancelAnimationFrame(n),e()},100),n=window.requestAnimationFrame(()=>{window.clearTimeout(t),e()})});let s=[`query`,`hash`].includes(r.binding.type),l=await v(e,t,o,s?A():a);if(!k(l,n))throw t.rejection=`The app rejected or adjusted this value. Its actual value is shown.`,t.rejectedValue=l,Error(`The app rejected or adjusted this value. Its actual value is shown.`);return t.rejection=``,e.controller.bindingStatus(r.id,``),l}catch(s){let c=L(s),l=!1;if(o)try{let n=await v(e,t,o,a);t.rejection=c.message,t.rejectedValue=n,l=!0}catch(e){c=Error(`${c.message} ${L(e).message}`)}throw!l&&k(e.controller.getSnapshot().values[r.id],n)&&e.controller.restore({[r.id]:i}),e.controller.bindingStatus(r.id,c.message,!1,l),c}}async function S(e,t){let{control:n}=t;if(!t.reading){t.reading=!0;try{let r=h(n);if(t.object!==r){let i=m(e,t);if(i)throw i;if(t.object=r,n.binding.type===`api`&&n.binding.subscribe){let e=r[n.binding.subscribe](()=>{t.lastRead=0,C()});if(typeof e!=`function`)throw Error(`The API notification method must return a cleanup function.`);t.cleanup=e}}if(n.type===`button`){e.controller.bindingStatus(n.id,t.rejection||``,!1,!0);return}if(!t.initialized)t.initialized=!0,await b(e,t,e.controller.getSnapshot().values[n.id]);else{let i=n.binding.type===`api`?n.binding.pollMs:250;if(t.lastRead===0||i&&Date.now()-t.lastRead>=i){if(!e.controller.getSnapshot().visible[n.id]&&!k(await R(()=>I(n,r)),n.default))await b(e,t,n.default);else{let n=await v(e,t,r,A());t.rejection&&!k(n,t.rejectedValue)&&(t.rejection=``)}e.controller.bindingStatus(n.id,t.rejection||``,!1,!0)}}}catch(t){e.controller.bindingStatus(n.id,L(t).message)}finally{t.reading=!1}}}function C(){return o||(o=!0,a=a.then(async()=>{if(!(n||r)){s=!0;try{await Promise.all(t.map(async e=>{let t,n=!1;try{t=p(e)}catch(r){t=!0,n=!0;for(let t of e.records.values())e.controller.bindingStatus(t.control.id,`Invalid page container: ${r.message}`)}if(t){if(!e.release){let t=Object.fromEntries([...e.records.values()].filter(e=>e.control.type===`button`).map(t=>[t.control.id,async()=>{let n=h(t.control),r=A();t.control.binding.type===`api`?await R(()=>n[t.control.binding.action](),3e4):n.click(),g(e,t,n,r)}]));e.release=e.controller.mount(()=>t)}n||await Promise.all([...e.records.values()].map(t=>S(e,t)))}else{e.release?.(),e.release=void 0;for(let t of e.records.values())m(e,t)}}))}finally{s=!1,d()}}}).finally(()=>{o=!1})),a}function w(e,t){let n=i.then(async()=>{await a,t?.(),c=void 0,r++;try{return await e()}catch(e){throw c=void 0,e}finally{r--,d()}});return i=n.catch(()=>{}),n}function T(e){let n=t.find(t=>t.controller===e);if(!n)throw Error(`Unknown controls set.`);return n}async function j(e,t,n){let r=T(e),i=e.getSnapshot();n?.(),e.restore(t);let a=[];for(let o of y(e.declaration)){n?.();let s=r.records.get(o);if(s.control.type===`button`)continue;let c=e.getSnapshot().values[o];if(Object.hasOwn(t,o)||!k(c,i.values[o])||[`query`,`hash`].includes(s.control.binding.type)&&s.control.binding.mode===`navigate`)try{await b(r,s,c)}catch(t){e.getSnapshot().bindings[o]?.available!==!0&&k(e.getSnapshot().values[o],c)&&e.restore({[o]:i.values[o]}),a.push(`${s.control.label}: ${t.message}`)}}if(n?.(),a.length)throw Error(a.join(` `).slice(0,1e3))}let M=window.setInterval(()=>{C()},250);function P(e){for(let n of t)for(let t of n.records.values())if(t.control.binding.type!==`api`&&t.control.type!==`button`){if(e.type===`input`||e.type===`change`){if(e.target!==t.object)continue;try{let e=I(t.control,t.object),r=_(t.control,e);if(r)throw Error(`The app value ${r}.`);n.controller.restore({[t.control.id]:e})}catch(e){n.controller.bindingStatus(t.control.id,e.message)}}t.lastRead=0}C()}for(let e of[`input`,`change`,`popstate`,`hashchange`])window.addEventListener(e,P);return C(),{runtime:E(),pending:()=>r>0||s,subscribe(e){return l.add(e),()=>l.delete(e)},settled:()=>a,restore:(e,t,n)=>w(()=>j(e,t,n),n),update:(e,t,n,r)=>w(()=>{let i=e.declaration.controls.find(e=>e.id===t),a=i?_(i,n):`Unknown control.`;if(a)throw Error(a);if(!e.getSnapshot().visible[t])throw Error(`This control is hidden.`);return j(e,{[t]:n},r)},r),takeNavigation(){if(!c)return;let e=c;c=void 0;for(let t of[...e.searchParams.keys()])(t===`rc`||t.startsWith(`rc.`))&&e.searchParams.delete(t);for(let[t,n]of new URL(window.location.href).searchParams)(t===`rc`||t.startsWith(`rc.`))&&e.searchParams.append(t,n);return e.href},navigate(){let e=this.takeNavigation();e&&window.location.assign(e)},reset:(e,n)=>w(async()=>{let r=e?[T(e)]:t,i=[];for(let e of r){let t=Object.fromEntries(e.controller.declaration.controls.filter(e=>e.type!==`button`).map(e=>[e.id,e.default]));if(!e.release)e.controller.reset();else try{await j(e.controller,t,n)}catch(e){i.push(e.message)}}if(i.length)throw Error(i.join(` -`).slice(0,1e3))},n),dispose(){n=!0,f(),window.clearInterval(M);for(let e of[`input`,`change`,`popstate`,`hashchange`])window.removeEventListener(e,P);for(let e of t){e.release?.();for(let t of e.records.values())m(e,t)}}}}async function H(){let e=await fetch(`/controls.replica.json`,{credentials:`same-origin`,redirect:`error`});if(e.status===404||e.status===410)return;if(!e.ok)throw Error(`controls.replica.json returned HTTP ${e.status}.`);let t=``,n=e.body?.getReader();if(n){let e=new TextDecoder,r=0;for(;;){let{done:i,value:a}=await n.read();if(i)break;if(r+=a.byteLength,r>256e3)throw await n.cancel(),Error(`controls.replica.json exceeds the 256,000-byte limit.`);t+=e.decode(a,{stream:!0})}t+=e.decode()}else t=await e.text();if(new TextEncoder().encode(t).length>256e3)throw Error(`controls.replica.json exceeds the 256,000-byte limit.`);if(!(e.headers.get(`content-type`)?.startsWith(`text/html`)&&/^\s*<(?:!doctype html|html)/i.test(t)))return V(JSON.parse(t))}function U(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.entries(e).every(([e,t])=>/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e)&&(typeof t==`string`||typeof t==`boolean`||typeof t==`number`&&Number.isFinite(t)||Array.isArray(t)&&t.length<=100&&t.every(e=>typeof e==`string`)))}var W=`replica:controls`;function G(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;try{let n=JSON.stringify(e);if(!(typeof n==`string`&&new Blob([n]).size<=512e3&&Object.keys(e).every(e=>[`protocol`,`version`,`epoch`,`requestId`,`type`,`sequence`,`state`,`error`,`command`,`controlQuery`,`fromFrameUrl`].includes(e))&&(t.error===void 0||typeof t.error==`string`&&t.error.length<=1e3)&&(t.controlQuery===void 0||[`hello`,`snapshot`,`reply`].includes(t.type)&&typeof t.controlQuery==`string`&&new Blob([t.controlQuery]).size<=8192)&&(t.fromFrameUrl===void 0||t.type===`hello`&&typeof t.fromFrameUrl==`boolean`)&&t.protocol===`replica:controls`&&t.version===1&&typeof t.epoch==`string`&&/^[a-zA-Z0-9-]{1,100}$/.test(t.epoch)&&typeof t.requestId==`string`&&/^[a-zA-Z0-9-]{1,100}$/.test(t.requestId)&&[`hello`,`snapshot`,`command`,`reply`].includes(t.type)))return!1;if(t.type!==`command`)return t.command===void 0;let r=t.command;if(!r||typeof r!=`object`||Array.isArray(r))return!1;if(r.operation===`url`)return Object.keys(r).every(e=>[`operation`,`query`,`scope`].includes(e))&&(r.scope===void 0||typeof r.scope==`string`&&/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.scope))&&typeof r.query==`string`&&new Blob([r.query]).size<=8192&&[...new URLSearchParams(r.query).keys()].every(e=>/^rc\.[a-zA-Z][a-zA-Z0-9_-]{0,63}\.[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e));if(r.operation===`reset-all`)return Object.keys(r).every(e=>[`operation`,`contexts`].includes(e))&&Array.isArray(r.contexts)&&r.contexts.length<=100&&new Set(r.contexts.map(e=>e?.scope)).size===r.contexts.length&&r.contexts.every(e=>typeof e==`object`&&!!e&&Object.keys(e).length===3&&typeof e.scope==`string`&&/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e.scope)&&typeof e.fingerprint==`string`&&Number.isSafeInteger(e.revision)&&e.revision>=0);let i=[`operation`,`scope`,`fingerprint`,`revision`];return typeof r.scope!=`string`||!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.scope)||typeof r.fingerprint!=`string`||!Number.isSafeInteger(r.revision)||r.revision===void 0||r.revision<0?!1:r.operation===`restore`?Object.keys(r).every(e=>[...i,`values`].includes(e))&&U(r.values):r.operation===`reset`?Object.keys(r).every(e=>i.includes(e)):r.operation!==`action`&&r.operation!==`update`||typeof r.id!=`string`||!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.id)?!1:Object.keys(r).every(e=>[...i,`id`,...r.operation===`update`?[`value`]:[]].includes(e))&&(r.operation===`action`||U({[r.id]:r.value}))}catch{return!1}}function K(e){return C(e.declaration),JSON.parse(JSON.stringify({declaration:e.declaration,fingerprint:JSON.stringify(e.declaration),snapshot:e.getSnapshot()}))}var q=/^rc\.([a-zA-Z][a-zA-Z0-9_-]{0,63})\.([a-zA-Z][a-zA-Z0-9_-]{0,63})$/;function J(e){let t=new URLSearchParams;for(let n of Object.keys(e).sort()){let r=e[n];if(!U(r))throw Error(`Invalid control settings.`);for(let e of Object.keys(r).sort()){let i=`rc.${n}.${e}`;if(!q.test(i))throw Error(`Invalid control settings identifier.`);t.set(i,JSON.stringify(r[e]))}}let n=t.toString();if(new Blob([n]).size>8192)throw Error(`Control settings exceed the 8 KB URL limit. Reduce the settings before sharing.`);return n}function Y(e){let t=new URLSearchParams(e),n=[...t].filter(([e])=>e.startsWith(`rc.`));if(new Blob([new URLSearchParams(n).toString()]).size>8192)return{scopes:{},notice:`Control settings in this URL exceed 8 KB. Defaults were used.`};let r=new Map,i=!1;for(let[e,a]of n){let n=q.exec(e);if(!n||t.getAll(e).length!==1){i=!0;continue}let o=n[1],s=n[2],c;try{c=JSON.parse(a)}catch{c=a}if(!U({[s]:c})){i=!0;continue}let l=r.get(o)??new Map;l.set(s,c),r.set(o,l)}let a=Object.fromEntries([...r].map(([e,t])=>[e,Object.fromEntries(t)]));try{J(a)}catch{return{scopes:{},notice:`Control settings in this URL exceed 8 KB. Defaults were used.`}}return{scopes:a,notice:i?`Some URL control settings were invalid. Defaults were used instead.`:``}}function X(e,t){let n=new URL(e,window.location.href),r=Y(t);if(r.notice)throw Error(r.notice);for(let e of[...n.searchParams.keys()])e.startsWith(`rc.`)&&n.searchParams.delete(e);for(let[e,t]of new URLSearchParams(J(r.scopes)))n.searchParams.set(e,t);return n.toString()}function Z(e,t,n){let r=window.history.pushState.bind(window.history),i=window.history.replaceState.bind(window.history),a=!1,o=document.readyState===`complete`||(performance.getEntriesByType?.(`navigation`)??[]).some(e=>`domContentLoadedEventStart`in e&&typeof e.domContentLoadedEventStart==`number`&&e.domContentLoadedEventStart>0),s=new URLSearchParams([...new URLSearchParams(window.location.search)].filter(([e])=>e.startsWith(`rc.`))).toString();function c(){try{let e=J({...Y(s).scopes,...t()});return n(``),e}catch(e){return n(e instanceof Error?e.message:`Controls could not be saved in the URL.`),s}}function l(e){if(!a||!o)return new URL(String(e??window.location.href),window.location.href).toString();let t=new URL(X(String(e??window.location.href),c()));return t.searchParams.set(`rc`,`1`),t.toString()}function u(e,t,n){r(e,t,l(n))}function d(e,t,n){i(e,t,l(n))}window.history.pushState=u,window.history.replaceState=d;function f(t){`replicaControlsBinding`in t&&t.replicaControlsBinding===!0||(s=new URLSearchParams([...new URLSearchParams(window.location.search)].filter(([e])=>e.startsWith(`rc.`))).toString(),e(s))}function p(e){if(!a||!o||e.defaultPrevented||!(e.target instanceof Element))return;let t=e.target.closest(`a[href]`);if(!(t instanceof HTMLAnchorElement)||t.hasAttribute(`download`)||t.target&&t.target!==`_self`)return;let n=new URL(t.href);n.origin===window.location.origin&&(t.href=l(n))}window.addEventListener(`popstate`,f),window.addEventListener(`click`,p,!0);function m(){if(!a||!o)return;s=c();let e=l(window.location.href);e!==window.location.href&&i(window.history.state,``,e)}function h(){o=!0,m()}return document.addEventListener(`DOMContentLoaded`,h,{once:!0}),{set(e){let t=Y(e);if(t.notice)throw Error(t.notice);s=J(t.scopes),a=!0,m()},refresh:m,current(){return new URLSearchParams([...new URLSearchParams(window.location.search)].filter(([e])=>e.startsWith(`rc.`))).toString()},managed(){return new URLSearchParams(window.location.search).get(`rc`)===`1`},dispose(){window.history.pushState===u&&(window.history.pushState=r),window.history.replaceState===d&&(window.history.replaceState=i),window.removeEventListener(`popstate`,f),window.removeEventListener(`click`,p,!0),document.removeEventListener(`DOMContentLoaded`,h)}}}function Q(e){return Object.fromEntries(e.declaration.controls.filter(t=>t.type!==`button`&&e.snapshot.visible[t.id]&&JSON.stringify(e.snapshot.values[t.id])!==JSON.stringify(t.default)).map(t=>[t.id,e.snapshot.values[t.id]]))}var $={improvementNotesLoading:`Loading improvement notes demo...`,mentionSuggestions:`Mention suggestions`,mentionSuggestionsError:`Mention suggestions are unavailable. Try again.`,mentionSuggestionsLoading:`Loading people...`,mentionSuggestionsEmpty:`No matching people. You can type a GitHub login to check it when sending.`,mentionLimit:`Each message can mention at most 10 distinct people.`,controls:`Controls`,controlsMove:`Move controls`,controlsMoveHint:`Drag to move. Use arrow keys, or Shift and arrow keys for smaller steps.`,controlsCollapse:`Collapse controls`,controlsExpand:`Expand controls`,controlsCollapseGroup:e=>`Collapse ${e}`,controlsExpandGroup:e=>`Expand ${e}`,controlsDescription:`Settings stay in this prototype's URL. The app may paint before Controls apply declared defaults.`,controlsConnecting:`Connecting controls...`,controlsEmpty:`No active controls. This prototype may have no declaration or this route may not mount controls.`,controlsLearnMore:`Learn more`,controlsMissingRuntime:`No supported controls runtime found.`,controlsLocalMissingRuntime:`Local controls couldn't connect.`,controlsLocalConnectionFailed:`The preview has not responded to controls. Retry the connection or ask Copilot to diagnose the cause.`,controlsLocalStorageFailed:`Controls could not be saved in the prototype URL. Changes remain in memory.`,controlsDiagnose:`Diagnose with Copilot`,controlsFix:`Fix with Copilot`,controlsDiagnostics:`Technical details`,controlsUnavailable:e=>`${e} is unavailable`,controlsNotApplied:e=>`${e} could not be applied`,controlsDiagnosisRequested:`Requested in chat`,controlsDiagnosisFailed:`Could not request a diagnosis. Try again.`,controlsUnsupportedRuntime:`This controls runtime version is unsupported. Upgrade only after an approved release.`,controlsInvalid:`The Controls definitions are invalid. Fix controls.replica.json and reload.`,controlsScopeError:(e,t)=>`Controls scope "${e}" did not connect. ${t}`,controlsRetry:`Retry connection`,controlsRetryStorage:`Retry saving`,controlsResetAll:`Reset all controls`,controlsRegion:`Prototype controls`,controlsActionBusy:` - Working...`,controlsActionUnavailable:`No mounted action handler.`,controlsValueNotApplied:`This value was not applied.`,browserNavigation:`Prototype navigation`,browserBack:`Back`,browserForward:`Forward`,browserReload:`Reload preview`,browserAddress:`Prototype address`,browserAddressInvalid:`Enter a valid URL or route.`,browserAddressOrigin:`The address must stay on this prototype's origin.`,browserOpenTab:`Open preview in browser`,browserAppearance:`Preview appearance`,browserLight:`Light appearance`,browserDark:`Dark appearance`,commentingUnavailable:`Commenting needs attention`,commentingDescription:`The canvas could not connect to the preview's commenting bridge.`,closeCommentingDialog:`Close commenting dialog`,commentingFix:`Fix with Copilot`,commentingFixRequested:`Requested in chat`,commentingDismiss:`Dismiss`,commentingMissing:`The preview has not responded through its local proxy. Check that the selected server is running, then reopen the canvas. Script or framing policies, certificate errors, and origin-dependent apps can prevent connection. A Vite plugin or server restart is not required to connect.`,commentingIncompatible:`The preview responded with an incompatible commenting protocol. Update the installed Replica extension and reopen the canvas, or use Fix with Copilot to check the preview connection.`,connectToHub:`Connect to the Hub`,closeConnectionDialog:`Close connection dialog`,connectionDescription:`Connecting to the hub lets you share the prototype with others and enables commenting.`,connectionBeforePublishing:`Connect to the hub before publishing this prototype.`,connectionRepositoryRequired:`Open a repository with a GitHub origin before connecting.`,connectionHubRequired:`Enter and save a Hub URL before connecting.`,connectionOpeningBrowser:`Opening browser...`,connectionApproval:`Browser approval`,connectionWaiting:`Make sure your browser shows the same code`,connectionApprovalExpired:`The approval expired or was declined. Connect again to retry.`,connectionBrowserFailed:e=>`Could not open your browser. Open or copy the approval link below. ${e}`,hubUrl:`Hub URL`,editHubUrl:`Edit Hub URL`,saveHub:`Save Hub`,disconnectFailed:(e,t)=>`Could not disconnect from ${e}: ${t} The previous connection may still be active. Save another Hub URL to switch this canvas locally, or retry Disconnect Hub.`,resetHubUrl:`Reset to repository Hub URL`,resetHubUnavailable:`No repository Hub URL is available. Enter a URL manually or retry reset.`,hubHttpsHint:`Remote Hubs require HTTPS`,copyApprovalLink:`Copy Hub approval link`,approvalLinkCopied:`Approval link copied`,approvalCopyFailed:`Could not copy the link. Copy the Connect to the hub link manually.`,invalidResponse:`The extension returned an invalid response.`,startPage:`Start page`,prototypeFrameTitle:e=>`${e} prototype`,startPageOrigin:`Hub returned a start page outside the prototype.`,hubStatusUnavailable:e=>`Hub status unavailable: ${e}`,hubBuildImported:`Hub imported this Build.`,hubBuildMissing:`Hub has not imported a successful registered Build.`,hubPublicationUnavailable:`Connect to Hub to verify publication.`,editDetails:`Edit details`,startPageHint:`Paste a prototype URL or route. Leave blank to start at /.`,requestFailed:`The request failed.`,statusUnavailable:`Publish status unavailable.`,publishRequestPending:`Waiting for the current commit to run through the publish workflow.`,waitingForHubImport:`The workflow completed. Waiting for Hub to import this Build.`,workingTreeChanged:`Uncommitted changes`,workingTreeClean:`Working tree clean`,buildDetails:`Build details`,latestBuild:`Latest Build`,buildTitle:e=>`Build #${e}`,buildCommit:`Commit`,unknownCommitAuthor:`Unknown`,showBuildHistory:`Show build history`,closeBuildDetails:`Close build details`,branch:`Branch`,sessionId:`Session ID`,comparison:`Branch comparison`,comparisonNeedsRefresh:`Branch comparison unavailable until Git stats refresh.`,upToDate:`Up to date`,commitsBehind:e=>`${e} ${e===1?`commit`:`commits`} behind`,copyBranch:`Copy branch`,copySessionId:`Copy session ID`,branchCopied:`Branch copied`,sessionIdCopied:`Session ID copied`,buildDetailsCopyFailed:e=>`${e} could not be copied. Select it and copy it manually.`,unavailable:`Unavailable`,publishLabels:{succeeded:`Awaiting Hub`,failed:`Retry`,in_progress:`Publishing`,not_published:`Publish`,published:`Published`,requested:`Requested`,unavailable:`Publish`}};function ee(e,t){let n=e.snapshot.bindings?.[t.id],r=e.snapshot.actions[t.id];return{scope:e.declaration.scope,id:t.id,visible:e.snapshot.visible[t.id]===!0,available:(t.type!==`button`||r?.available===!0)&&(!n?.error||n.available===!0),busy:n?.busy===!0||r?.busy===!0,error:n?.error||(t.type===`button`&&!r?.available?$.controlsActionUnavailable:``)}}function te(e,t,n){return{status:t?`pending`:e.status,url:n,error:t?``:e.error??``,controls:t?[]:e.scopes.flatMap(e=>e.declaration.controls.map(t=>ee(e,t)))}}function ne(e){let t=``,n,r,i=``,a=!1,o=new Set,s=!1,c=0,l,u,d=!1,f,p=new Set,m=new Set,h=``,g=Z(e=>{m.clear(),x(`snapshot`,`event`,void 0,e)},()=>Object.fromEntries((n?.list()??[]).filter(e=>m.has(e.declaration.scope)).map(e=>[e.declaration.scope,Q(K(e))])),e=>{h!==e&&(h=e,x(`snapshot`,`event`))});async function _(){try{if(u=await H(),a){u?.dispose();return}n=u?.runtime,r=u?.subscribe(S),await u?.settled();let e=u;e&&v()&&await new Promise(t=>{function n(){clearTimeout(i),a(),f=void 0,t()}function r(){v()||n()}let i=setTimeout(n,500),a=e.subscribe(r);f=n,r()})}catch(e){l={status:`invalid-config`,error:e instanceof Error?e.message.slice(0,1e3):`Controls definitions could not be read.`}}finally{d=!0}S()}function v(){return n?.list().some(e=>Object.values(e.getSnapshot().bindings??{}).some(e=>e.error))}function y(){let e=!!n;if(l)return{runtimeAvailable:e,scopes:[],...l};if(!n)return{runtimeAvailable:!1,status:d?`no-controls`:`missing-runtime`,scopes:[]};try{let e=n.list().filter(e=>e.mountedCount>0).map(K);return e.length>100?{runtimeAvailable:!0,status:`invalid-config`,scopes:[],error:`Too many active controls scopes.`}:{runtimeAvailable:!0,status:e.length?`ready`:`no-controls`,scopes:e}}catch{return{runtimeAvailable:!0,status:`invalid-config`,scopes:[],error:`The Controls definitions are invalid.`}}}function b(){return{...y(),scopeErrors:[],reconnectRequired:s,...s?{error:`Reconnect controls before sending more commands.`}:{},...h?{error:`${h} Changes remain in memory and are not in the URL.`}:{}}}function x(n,r,i,o){if(a||!t)return;let s={protocol:W,version:1,type:n,epoch:t,requestId:r,sequence:++c,state:b(),...i?{error:i}:{},...o===void 0?{}:{controlQuery:o}};window.parent.postMessage(G(s)?s:{...s,state:{runtimeAvailable:!0,status:`invalid-config`,scopes:[],error:`Controls exceed the transport size limit.`},error:`Controls exceed the transport size limit.`},e)}function S(){for(let e of p)e();if(!d||u?.pending())return;g?.refresh();let e=JSON.stringify(b());e!==i&&(i=e,x(`snapshot`,`event`))}async function C(r){if(r.source===window.parent&&r.origin===e&&r.data&&typeof r.data==`object`&&`type`in r.data&&r.data.type===`replica:controls:status`&&`nonce`in r.data&&typeof r.data.nonce==`string`&&r.data.nonce.length<=100&&`timeoutMs`in r.data&&Number.isInteger(r.data.timeoutMs)&&typeof r.data.timeoutMs==`number`&&r.data.timeoutMs>=0&&r.data.timeoutMs<=1e4){let{nonce:t,timeoutMs:n}=r.data;function i(){return!d||u?.pending()===!0&&!b().scopes.some(({snapshot:e})=>[...Object.values(e.actions),...Object.values(e.bindings??{})].some(e=>e.busy))}i()&&n>0&&await new Promise(e=>{function t(){clearTimeout(o),p.delete(r),e()}function r(){(a||!i())&&t()}let o=setTimeout(t,n);p.add(r),r()}),a||window.parent.postMessage({type:`replica:controls:status-result`,nonce:t,value:te(b(),i(),window.location.href)},e);return}if(r.source!==window.parent||r.origin!==e||!G(r.data))return;let c=r.data;if(c.type===`hello`){t=c.epoch,o.clear(),s=!1,m.clear();let e=c.fromFrameUrl&&g?.managed();g?.set(e?g.current():c.controlQuery??``),d||await w,x(`reply`,c.requestId,void 0,e?g?.current():void 0);return}if(c.type!==`command`||c.epoch!==t||o.has(c.requestId))return;if(o.size>=2e3){s=!0,x(`reply`,c.requestId,`Reconnect controls before sending more commands.`);return}o.add(c.requestId);let l=c.command;function f(){if(a||t!==c.epoch)throw Error(`The preview reconnected. The command outcome is unknown.`)}try{if(l?.operation===`url`){g.set(l.query??``),l.scope&&n?.list().some(e=>e.declaration.scope===l.scope&&e.mountedCount>0)&&(m.add(l.scope),g.refresh()),x(`reply`,c.requestId);return}if(!l||!n||![`ready`,`no-controls`].includes(b().status))throw Error(`Controls runtime is unavailable.`);if(l.operation===`reset-all`){if(n.list().some(e=>Object.values(e.getSnapshot().actions).some(e=>e.busy)))throw Error(`Wait for pending actions before resetting controls.`);let e=n.list().filter(e=>e.mountedCount>0);if(!Array.isArray(l.contexts)||l.contexts.length!==e.length||e.some(e=>!l.contexts?.some(t=>t.scope===e.declaration.scope&&t.fingerprint===JSON.stringify(e.declaration)&&t.revision===e.getSnapshot().revision)))throw Error(`Controls changed. The stale reset was not applied.`);m.clear(),await u?.reset(void 0,f)}else{let e=n.list().find(e=>e.declaration.scope===l.scope&&e.mountedCount>0);if(!e)throw Error(`This controls scope is no longer active.`);if(l.fingerprint!==JSON.stringify(e.declaration)||l.revision!==e.getSnapshot().revision)throw Error(`Controls changed. The stale command was not applied.`);if(l.operation===`restore`){if(!U(l.values))throw Error(`Invalid saved controls.`);await u?.restore(e,l.values,f),m.add(e.declaration.scope),g?.refresh()}else if(l.operation===`reset`)m.add(e.declaration.scope),await u?.reset(e,f);else{let t=e.declaration.controls.find(e=>e.id===l.id);if(!t||!e.getSnapshot().visible[t.id])throw Error(`This control is unknown or hidden.`);if(m.add(e.declaration.scope),l.operation===`update`){let n={[t.id]:l.value};if(!U(n))throw Error(`Invalid control value.`);let r=n[t.id];if(r===void 0)throw Error(`Missing control value.`);await u?.update(e,t.id,r,f)}else if(l.operation===`action`)await e.action(t.id);else throw Error(`Unknown controls command.`)}S()}t===c.epoch&&(x(`reply`,c.requestId),u?.navigate())}catch(e){t===c.epoch&&x(`reply`,c.requestId,e instanceof Error?e.message.slice(0,300):`The controls command failed.`)}}let w=_();function T(e){C(e)}return window.addEventListener(`message`,T),()=>{a=!0,f?.();for(let e of p)e();r?.(),u?.dispose(),window.removeEventListener(`message`,T),g?.dispose()}}ne(`__REPLICA_CONTROLS_PARENT_ORIGIN__`)})(); \ No newline at end of file +`).slice(0,1e3))},n),dispose(){n=!0,f(),window.clearInterval(M);for(let e of[`input`,`change`,`popstate`,`hashchange`])window.removeEventListener(e,P);for(let e of t){e.release?.();for(let t of e.records.values())m(e,t)}}}}async function H(){let e=await fetch(`/controls.replica.json`,{credentials:`same-origin`,redirect:`error`});if(e.status===404||e.status===410)return;if(!e.ok)throw Error(`controls.replica.json returned HTTP ${e.status}.`);let t=``,n=e.body?.getReader();if(n){let e=new TextDecoder,r=0;for(;;){let{done:i,value:a}=await n.read();if(i)break;if(r+=a.byteLength,r>256e3)throw await n.cancel(),Error(`controls.replica.json exceeds the 256,000-byte limit.`);t+=e.decode(a,{stream:!0})}t+=e.decode()}else t=await e.text();if(new TextEncoder().encode(t).length>256e3)throw Error(`controls.replica.json exceeds the 256,000-byte limit.`);if(!(e.headers.get(`content-type`)?.startsWith(`text/html`)&&/^\s*<(?:!doctype html|html)/i.test(t)))return V(JSON.parse(t))}function U(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.entries(e).every(([e,t])=>/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e)&&(typeof t==`string`||typeof t==`boolean`||typeof t==`number`&&Number.isFinite(t)||Array.isArray(t)&&t.length<=100&&t.every(e=>typeof e==`string`)))}var W=`replica:controls`;function G(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;try{let n=JSON.stringify(e);if(!(typeof n==`string`&&new Blob([n]).size<=512e3&&Object.keys(e).every(e=>[`protocol`,`version`,`epoch`,`requestId`,`type`,`sequence`,`state`,`error`,`command`,`controlQuery`,`fromFrameUrl`].includes(e))&&(t.error===void 0||typeof t.error==`string`&&t.error.length<=1e3)&&(t.controlQuery===void 0||[`hello`,`snapshot`,`reply`].includes(t.type)&&typeof t.controlQuery==`string`&&new Blob([t.controlQuery]).size<=8192)&&(t.fromFrameUrl===void 0||t.type===`hello`&&typeof t.fromFrameUrl==`boolean`)&&t.protocol===`replica:controls`&&t.version===1&&typeof t.epoch==`string`&&/^[a-zA-Z0-9-]{1,100}$/.test(t.epoch)&&typeof t.requestId==`string`&&/^[a-zA-Z0-9-]{1,100}$/.test(t.requestId)&&[`hello`,`snapshot`,`command`,`reply`].includes(t.type)))return!1;if(t.type!==`command`)return t.command===void 0;let r=t.command;if(!r||typeof r!=`object`||Array.isArray(r))return!1;if(r.operation===`url`)return Object.keys(r).every(e=>[`operation`,`query`,`scope`].includes(e))&&(r.scope===void 0||typeof r.scope==`string`&&/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.scope))&&typeof r.query==`string`&&new Blob([r.query]).size<=8192&&[...new URLSearchParams(r.query).keys()].every(e=>/^rc\.[a-zA-Z][a-zA-Z0-9_-]{0,63}\.[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e));if(r.operation===`reset-all`)return Object.keys(r).every(e=>[`operation`,`contexts`].includes(e))&&Array.isArray(r.contexts)&&r.contexts.length<=100&&new Set(r.contexts.map(e=>e?.scope)).size===r.contexts.length&&r.contexts.every(e=>typeof e==`object`&&!!e&&Object.keys(e).length===3&&typeof e.scope==`string`&&/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(e.scope)&&typeof e.fingerprint==`string`&&Number.isSafeInteger(e.revision)&&e.revision>=0);let i=[`operation`,`scope`,`fingerprint`,`revision`];return typeof r.scope!=`string`||!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.scope)||typeof r.fingerprint!=`string`||!Number.isSafeInteger(r.revision)||r.revision===void 0||r.revision<0?!1:r.operation===`restore`?Object.keys(r).every(e=>[...i,`values`].includes(e))&&U(r.values):r.operation===`reset`?Object.keys(r).every(e=>i.includes(e)):r.operation!==`action`&&r.operation!==`update`||typeof r.id!=`string`||!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(r.id)?!1:Object.keys(r).every(e=>[...i,`id`,...r.operation===`update`?[`value`]:[]].includes(e))&&(r.operation===`action`||U({[r.id]:r.value}))}catch{return!1}}function K(e){return C(e.declaration),JSON.parse(JSON.stringify({declaration:e.declaration,fingerprint:JSON.stringify(e.declaration),snapshot:e.getSnapshot()}))}var q=/^rc\.([a-zA-Z][a-zA-Z0-9_-]{0,63})\.([a-zA-Z][a-zA-Z0-9_-]{0,63})$/;function J(e){let t=new URLSearchParams;for(let n of Object.keys(e).sort()){let r=e[n];if(!U(r))throw Error(`Invalid control settings.`);for(let e of Object.keys(r).sort()){let i=`rc.${n}.${e}`;if(!q.test(i))throw Error(`Invalid control settings identifier.`);t.set(i,JSON.stringify(r[e]))}}let n=t.toString();if(new Blob([n]).size>8192)throw Error(`Control settings exceed the 8 KB URL limit. Reduce the settings before sharing.`);return n}function Y(e){let t=new URLSearchParams(e),n=[...t].filter(([e])=>e.startsWith(`rc.`));if(new Blob([new URLSearchParams(n).toString()]).size>8192)return{scopes:{},notice:`Control settings in this URL exceed 8 KB. Defaults were used.`};let r=new Map,i=!1;for(let[e,a]of n){let n=q.exec(e);if(!n||t.getAll(e).length!==1){i=!0;continue}let o=n[1],s=n[2],c;try{c=JSON.parse(a)}catch{c=a}if(!U({[s]:c})){i=!0;continue}let l=r.get(o)??new Map;l.set(s,c),r.set(o,l)}let a=Object.fromEntries([...r].map(([e,t])=>[e,Object.fromEntries(t)]));try{J(a)}catch{return{scopes:{},notice:`Control settings in this URL exceed 8 KB. Defaults were used.`}}return{scopes:a,notice:i?`Some URL control settings were invalid. Defaults were used instead.`:``}}function X(e,t){let n=new URL(e,window.location.href),r=Y(t);if(r.notice)throw Error(r.notice);for(let e of[...n.searchParams.keys()])e.startsWith(`rc.`)&&n.searchParams.delete(e);for(let[e,t]of new URLSearchParams(J(r.scopes)))n.searchParams.set(e,t);return n.toString()}function Z(e,t,n){let r=window.history.pushState.bind(window.history),i=window.history.replaceState.bind(window.history),a=!1,o=document.readyState===`complete`||(performance.getEntriesByType?.(`navigation`)??[]).some(e=>`domContentLoadedEventStart`in e&&typeof e.domContentLoadedEventStart==`number`&&e.domContentLoadedEventStart>0),s=new URLSearchParams([...new URLSearchParams(window.location.search)].filter(([e])=>e.startsWith(`rc.`))).toString();function c(){try{let e=J({...Y(s).scopes,...t()});return n(``),e}catch(e){return n(e instanceof Error?e.message:`Controls could not be saved in the URL.`),s}}function l(e){if(!a||!o)return new URL(String(e??window.location.href),window.location.href).toString();let t=new URL(X(String(e??window.location.href),c()));return t.searchParams.set(`rc`,`1`),t.toString()}function u(e,t,n){r(e,t,l(n))}function d(e,t,n){i(e,t,l(n))}window.history.pushState=u,window.history.replaceState=d;function f(t){`replicaControlsBinding`in t&&t.replicaControlsBinding===!0||(s=new URLSearchParams([...new URLSearchParams(window.location.search)].filter(([e])=>e.startsWith(`rc.`))).toString(),e(s))}function p(e){if(!a||!o||e.defaultPrevented||!(e.target instanceof Element))return;let t=e.target.closest(`a[href]`);if(!(t instanceof HTMLAnchorElement)||t.hasAttribute(`download`)||t.target&&t.target!==`_self`)return;let n=new URL(t.href);n.origin===window.location.origin&&(t.href=l(n))}window.addEventListener(`popstate`,f),window.addEventListener(`click`,p,!0);function m(){if(!a||!o)return;s=c();let e=l(window.location.href);e!==window.location.href&&i(window.history.state,``,e)}function h(){o=!0,m()}return document.addEventListener(`DOMContentLoaded`,h,{once:!0}),{set(e){let t=Y(e);if(t.notice)throw Error(t.notice);s=J(t.scopes),a=!0,m()},refresh:m,current(){return new URLSearchParams([...new URLSearchParams(window.location.search)].filter(([e])=>e.startsWith(`rc.`))).toString()},managed(){return new URLSearchParams(window.location.search).get(`rc`)===`1`},dispose(){window.history.pushState===u&&(window.history.pushState=r),window.history.replaceState===d&&(window.history.replaceState=i),window.removeEventListener(`popstate`,f),window.removeEventListener(`click`,p,!0),document.removeEventListener(`DOMContentLoaded`,h)}}}function Q(e){return Object.fromEntries(e.declaration.controls.filter(t=>t.type!==`button`&&e.snapshot.visible[t.id]&&JSON.stringify(e.snapshot.values[t.id])!==JSON.stringify(t.default)).map(t=>[t.id,e.snapshot.values[t.id]]))}var $={improvementNotesLoading:`Loading improvement notes...`,localCommentsSaved:`Comments stay on this device until a Build with matching content is published and the canvas syncs them to Hub.`,commentPagesExceeded:`Too many review comment pages.`,commentPreparationFailed:`Hub could not prepare this comment.`,commentRefreshFailed:e=>`The comment was saved, but Hub could not be refreshed: ${e}`,commentLiveUpdatesPaused:`Live updates paused; checking every 30 seconds.`,mentionSuggestions:`Mention suggestions`,mentionSuggestionsError:`Mention suggestions are unavailable. Try again.`,mentionSuggestionsLoading:`Loading people...`,mentionSuggestionsEmpty:`No matching people. You can type a GitHub login to check it when sending.`,mentionLimit:`Each message can mention at most 10 distinct people.`,controls:`Controls`,controlsMove:`Move controls`,controlsMoveHint:`Drag to move. Use arrow keys, or Shift and arrow keys for smaller steps.`,controlsCollapse:`Collapse controls`,controlsExpand:`Expand controls`,controlsCollapseGroup:e=>`Collapse ${e}`,controlsExpandGroup:e=>`Expand ${e}`,controlsDescription:`Settings stay in this prototype's URL. The app may paint before Controls apply declared defaults.`,controlsConnecting:`Connecting controls...`,controlsEmpty:`No active controls. This prototype may have no declaration or this route may not mount controls.`,controlsLearnMore:`Learn more`,controlsMissingRuntime:`No supported controls runtime found.`,controlsLocalMissingRuntime:`Local controls couldn't connect.`,controlsLocalConnectionFailed:`The preview has not responded to controls. Retry the connection or ask Copilot to diagnose the cause.`,controlsLocalStorageFailed:`Controls could not be saved in the prototype URL. Changes remain in memory.`,controlsDiagnose:`Diagnose with Copilot`,controlsFix:`Fix with Copilot`,controlsDiagnostics:`Technical details`,controlsUnavailable:e=>`${e} is unavailable`,controlsNotApplied:e=>`${e} could not be applied`,controlsDiagnosisRequested:`Requested in chat`,controlsDiagnosisFailed:`Could not request a diagnosis. Try again.`,controlsUnsupportedRuntime:`This controls runtime version is unsupported. Upgrade only after an approved release.`,controlsInvalid:`The Controls definitions are invalid. Fix controls.replica.json and reload.`,controlsScopeError:(e,t)=>`Controls scope "${e}" did not connect. ${t}`,controlsRetry:`Retry connection`,controlsRetryStorage:`Retry saving`,controlsResetAll:`Reset all controls`,controlsRegion:`Prototype controls`,controlsActionBusy:` - Working...`,controlsActionUnavailable:`No mounted action handler.`,controlsValueNotApplied:`This value was not applied.`,browserNavigation:`Prototype navigation`,browserBack:`Back`,browserForward:`Forward`,browserReload:`Reload preview`,browserAddress:`Prototype address`,browserAddressInvalid:`Enter a valid URL or route.`,browserAddressOrigin:`The address must stay on this prototype's origin.`,browserOpenTab:`Open preview in browser`,browserAppearance:`Preview appearance`,browserLight:`Light appearance`,browserDark:`Dark appearance`,commentingUnavailable:`Commenting needs attention`,commentingDescription:`The canvas could not connect to the preview's commenting bridge.`,closeCommentingDialog:`Close commenting dialog`,commentingFix:`Fix with Copilot`,commentingFixRequested:`Requested in chat`,commentingDismiss:`Dismiss`,commentingMissing:`The preview has not responded through its local proxy. Check that the selected server is running, then reopen the canvas. Script or framing policies, certificate errors, and origin-dependent apps can prevent connection. A Vite plugin or server restart is not required to connect.`,commentingIncompatible:`The preview responded with an incompatible commenting protocol. Update the installed Replica extension and reopen the canvas, or use Fix with Copilot to check the preview connection.`,connectToHub:`Connect to the Hub`,closeConnectionDialog:`Close connection dialog`,connectionDescription:`Connecting to the hub lets you share the prototype with others and enables commenting.`,connectionBeforePublishing:`Connect to the hub before publishing this prototype.`,connectionRepositoryRequired:`Open a repository with a GitHub origin before connecting.`,connectionHubRequired:`Enter and save a Hub URL before connecting.`,connectionOpeningBrowser:`Opening browser...`,connectionApproval:`Browser approval`,connectionWaiting:`Make sure your browser shows the same code`,connectionApprovalExpired:`The approval expired or was declined. Connect again to retry.`,connectionBrowserFailed:e=>`Could not open your browser. Open or copy the approval link below. ${e}`,hubUrl:`Hub URL`,editHubUrl:`Edit Hub URL`,saveHub:`Save Hub`,disconnectFailed:(e,t)=>`Could not disconnect from ${e}: ${t} The previous connection may still be active. Save another Hub URL to switch this canvas locally, or retry Disconnect Hub.`,resetHubUrl:`Reset to repository Hub URL`,resetHubUnavailable:`No repository Hub URL is available. Enter a URL manually or retry reset.`,hubHttpsHint:`Remote Hubs require HTTPS`,copyApprovalLink:`Copy Hub approval link`,approvalLinkCopied:`Approval link copied`,approvalCopyFailed:`Could not copy the link. Copy the Connect to the hub link manually.`,invalidResponse:`The extension returned an invalid response.`,startPage:`Start page`,prototypeFrameTitle:e=>`${e} prototype`,startPageOrigin:`Hub returned a start page outside the prototype.`,hubStatusUnavailable:e=>`Hub status unavailable: ${e}`,hubBuildImported:`Hub imported this Build.`,hubBuildMissing:`Hub has not imported a successful registered Build.`,hubPublicationUnavailable:`Connect to Hub to verify publication.`,editDetails:`Edit details`,startPageHint:`Paste a prototype URL or route. Leave blank to start at /.`,requestFailed:`The request failed.`,statusUnavailable:`Publish status unavailable.`,publishRequestPending:`Waiting for the current commit to run through the publish workflow.`,waitingForHubImport:`The workflow completed. Waiting for Hub to import this Build.`,workingTreeChanged:`Uncommitted changes`,workingTreeClean:`Working tree clean`,buildDetails:`Build details`,latestBuild:`Latest Build`,buildTitle:e=>`Build #${e}`,buildCommit:`Commit`,unknownCommitAuthor:`Unknown`,showBuildHistory:`Show build history`,closeBuildDetails:`Close build details`,branch:`Branch`,sessionId:`Session ID`,comparison:`Branch comparison`,comparisonNeedsRefresh:`Branch comparison unavailable until Git stats refresh.`,upToDate:`Up to date`,commitsBehind:e=>`${e} ${e===1?`commit`:`commits`} behind`,copyBranch:`Copy branch`,copySessionId:`Copy session ID`,branchCopied:`Branch copied`,sessionIdCopied:`Session ID copied`,buildDetailsCopyFailed:e=>`${e} could not be copied. Select it and copy it manually.`,unavailable:`Unavailable`,publishLabels:{succeeded:`Awaiting Hub`,failed:`Retry`,in_progress:`Publishing`,not_published:`Publish`,published:`Published`,requested:`Requested`,unavailable:`Publish`}};function ee(e,t){let n=e.snapshot.bindings?.[t.id],r=e.snapshot.actions[t.id];return{scope:e.declaration.scope,id:t.id,visible:e.snapshot.visible[t.id]===!0,available:(t.type!==`button`||r?.available===!0)&&(!n?.error||n.available===!0),busy:n?.busy===!0||r?.busy===!0,error:n?.error||(t.type===`button`&&!r?.available?$.controlsActionUnavailable:``)}}function te(e,t,n){return{status:t?`pending`:e.status,url:n,error:t?``:e.error??``,controls:t?[]:e.scopes.flatMap(e=>e.declaration.controls.map(t=>ee(e,t)))}}function ne(e){let t=``,n,r,i=``,a=!1,o=new Set,s=!1,c=0,l,u,d=!1,f,p=new Set,m=new Set,h=``,g=Z(e=>{m.clear(),x(`snapshot`,`event`,void 0,e)},()=>Object.fromEntries((n?.list()??[]).filter(e=>m.has(e.declaration.scope)).map(e=>[e.declaration.scope,Q(K(e))])),e=>{h!==e&&(h=e,x(`snapshot`,`event`))});async function _(){try{if(u=await H(),a){u?.dispose();return}n=u?.runtime,r=u?.subscribe(S),await u?.settled();let e=u;e&&v()&&await new Promise(t=>{function n(){clearTimeout(i),a(),f=void 0,t()}function r(){v()||n()}let i=setTimeout(n,500),a=e.subscribe(r);f=n,r()})}catch(e){l={status:`invalid-config`,error:e instanceof Error?e.message.slice(0,1e3):`Controls definitions could not be read.`}}finally{d=!0}S()}function v(){return n?.list().some(e=>Object.values(e.getSnapshot().bindings??{}).some(e=>e.error))}function y(){let e=!!n;if(l)return{runtimeAvailable:e,scopes:[],...l};if(!n)return{runtimeAvailable:!1,status:d?`no-controls`:`missing-runtime`,scopes:[]};try{let e=n.list().filter(e=>e.mountedCount>0).map(K);return e.length>100?{runtimeAvailable:!0,status:`invalid-config`,scopes:[],error:`Too many active controls scopes.`}:{runtimeAvailable:!0,status:e.length?`ready`:`no-controls`,scopes:e}}catch{return{runtimeAvailable:!0,status:`invalid-config`,scopes:[],error:`The Controls definitions are invalid.`}}}function b(){return{...y(),scopeErrors:[],reconnectRequired:s,...s?{error:`Reconnect controls before sending more commands.`}:{},...h?{error:`${h} Changes remain in memory and are not in the URL.`}:{}}}function x(n,r,i,o){if(a||!t)return;let s={protocol:W,version:1,type:n,epoch:t,requestId:r,sequence:++c,state:b(),...i?{error:i}:{},...o===void 0?{}:{controlQuery:o}};window.parent.postMessage(G(s)?s:{...s,state:{runtimeAvailable:!0,status:`invalid-config`,scopes:[],error:`Controls exceed the transport size limit.`},error:`Controls exceed the transport size limit.`},e)}function S(){for(let e of p)e();if(!d||u?.pending())return;g?.refresh();let e=JSON.stringify(b());e!==i&&(i=e,x(`snapshot`,`event`))}async function C(r){if(r.source===window.parent&&r.origin===e&&r.data&&typeof r.data==`object`&&`type`in r.data&&r.data.type===`replica:controls:status`&&`nonce`in r.data&&typeof r.data.nonce==`string`&&r.data.nonce.length<=100&&`timeoutMs`in r.data&&Number.isInteger(r.data.timeoutMs)&&typeof r.data.timeoutMs==`number`&&r.data.timeoutMs>=0&&r.data.timeoutMs<=1e4){let{nonce:t,timeoutMs:n}=r.data;function i(){return!d||u?.pending()===!0&&!b().scopes.some(({snapshot:e})=>[...Object.values(e.actions),...Object.values(e.bindings??{})].some(e=>e.busy))}i()&&n>0&&await new Promise(e=>{function t(){clearTimeout(o),p.delete(r),e()}function r(){(a||!i())&&t()}let o=setTimeout(t,n);p.add(r),r()}),a||window.parent.postMessage({type:`replica:controls:status-result`,nonce:t,value:te(b(),i(),window.location.href)},e);return}if(r.source!==window.parent||r.origin!==e||!G(r.data))return;let c=r.data;if(c.type===`hello`){t=c.epoch,o.clear(),s=!1,m.clear();let e=c.fromFrameUrl&&g?.managed();g?.set(e?g.current():c.controlQuery??``),d||await w,x(`reply`,c.requestId,void 0,e?g?.current():void 0);return}if(c.type!==`command`||c.epoch!==t||o.has(c.requestId))return;if(o.size>=2e3){s=!0,x(`reply`,c.requestId,`Reconnect controls before sending more commands.`);return}o.add(c.requestId);let l=c.command;function f(){if(a||t!==c.epoch)throw Error(`The preview reconnected. The command outcome is unknown.`)}try{if(l?.operation===`url`){g.set(l.query??``),l.scope&&n?.list().some(e=>e.declaration.scope===l.scope&&e.mountedCount>0)&&(m.add(l.scope),g.refresh()),x(`reply`,c.requestId);return}if(!l||!n||![`ready`,`no-controls`].includes(b().status))throw Error(`Controls runtime is unavailable.`);if(l.operation===`reset-all`){if(n.list().some(e=>Object.values(e.getSnapshot().actions).some(e=>e.busy)))throw Error(`Wait for pending actions before resetting controls.`);let e=n.list().filter(e=>e.mountedCount>0);if(!Array.isArray(l.contexts)||l.contexts.length!==e.length||e.some(e=>!l.contexts?.some(t=>t.scope===e.declaration.scope&&t.fingerprint===JSON.stringify(e.declaration)&&t.revision===e.getSnapshot().revision)))throw Error(`Controls changed. The stale reset was not applied.`);m.clear(),await u?.reset(void 0,f)}else{let e=n.list().find(e=>e.declaration.scope===l.scope&&e.mountedCount>0);if(!e)throw Error(`This controls scope is no longer active.`);if(l.fingerprint!==JSON.stringify(e.declaration)||l.revision!==e.getSnapshot().revision)throw Error(`Controls changed. The stale command was not applied.`);if(l.operation===`restore`){if(!U(l.values))throw Error(`Invalid saved controls.`);await u?.restore(e,l.values,f),m.add(e.declaration.scope),g?.refresh()}else if(l.operation===`reset`)m.add(e.declaration.scope),await u?.reset(e,f);else{let t=e.declaration.controls.find(e=>e.id===l.id);if(!t||!e.getSnapshot().visible[t.id])throw Error(`This control is unknown or hidden.`);if(m.add(e.declaration.scope),l.operation===`update`){let n={[t.id]:l.value};if(!U(n))throw Error(`Invalid control value.`);let r=n[t.id];if(r===void 0)throw Error(`Missing control value.`);await u?.update(e,t.id,r,f)}else if(l.operation===`action`)await e.action(t.id);else throw Error(`Unknown controls command.`)}S()}t===c.epoch&&(x(`reply`,c.requestId),u?.navigate())}catch(e){t===c.epoch&&x(`reply`,c.requestId,e instanceof Error?e.message.slice(0,300):`The controls command failed.`)}}let w=_();function T(e){C(e)}return window.addEventListener(`message`,T),()=>{a=!0,f?.();for(let e of p)e();r?.(),u?.dispose(),window.removeEventListener(`message`,T),g?.dispose()}}ne(`__REPLICA_CONTROLS_PARENT_ORIGIN__`)})(); \ No newline at end of file diff --git a/hub/app/javascript/features/prototype-canvas-hub-panel/bridge-health.test.tsx b/hub/app/javascript/features/prototype-canvas-hub-panel/bridge-health.test.tsx index 3f2c2969..cf0c7374 100644 --- a/hub/app/javascript/features/prototype-canvas-hub-panel/bridge-health.test.tsx +++ b/hub/app/javascript/features/prototype-canvas-hub-panel/bridge-health.test.tsx @@ -1,30 +1,13 @@ -import { ThemeProvider } from "@primer/react-brand" -import { act, fireEvent, render, screen, waitFor, within } from "@testing-library/react" +import { act, fireEvent, screen, waitFor, within } from "@testing-library/react" import { createRef } from "react" -import { afterEach, beforeAll, expect, it, vi } from "vitest" +import { expect, it, vi } from "vitest" import { octocatRootComment } from "@/storybook/fixtures/review/comments" import { reviewCommentsCopy } from "@utils/review-comment/en" import type { ReviewAnchor } from "@utils/review-anchor/types" - -import { HubPanel } from "." import { importedPrototype, publicationHub } from "@utils/resolve-prototype-publication/fixtures" -beforeAll(() => { - Object.defineProperty(HTMLDialogElement.prototype, "showModal", { - configurable: true, - value(this: HTMLDialogElement) { - this.open = true - }, - }) -}) - -afterEach(() => { - document.getElementById("canvas-review-controls")?.remove() - vi.useRealTimers() - vi.restoreAllMocks() - vi.unstubAllGlobals() -}) +import { renderPrototypeCanvasHubPanel } from "./test-support/render-prototype-canvas-hub-panel" it("waits for loading, validates compatibility, recovers from late responses, and clears readiness on reload", async () => { vi.useFakeTimers() @@ -33,30 +16,24 @@ it("waits for loading, validates compatibility, recovers from late responses, an const fetch = vi.fn() vi.stubGlobal("fetch", fetch) const frameRef = createRef() - const view = render( - -