@techdocs/cli 1.5.0-next.3 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/dist/embedded-app/.config-schema.json +45 -0
- package/dist/embedded-app/index.html +1 -1
- package/dist/embedded-app/static/main.04af2edd.js +487 -0
- package/dist/embedded-app/static/main.04af2edd.js.map +1 -0
- package/dist/embedded-app/static/module-i18next.db8a27ed.js +3 -0
- package/dist/embedded-app/static/{module-i18next.b10d0f28.js.map → module-i18next.db8a27ed.js.map} +1 -1
- package/dist/embedded-app/static/{runtime.6e8bb883.js → runtime.04af2edd.js} +1 -1
- package/dist/embedded-app/static/{runtime.6e8bb883.js.map → runtime.04af2edd.js.map} +1 -1
- package/dist/embedded-app/static/vendor.04af2edd.js +159 -0
- package/dist/embedded-app/static/vendor.04af2edd.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/package.json +6 -6
- package/dist/embedded-app/static/main.6e8bb883.js +0 -487
- package/dist/embedded-app/static/main.6e8bb883.js.map +0 -1
- package/dist/embedded-app/static/module-i18next.b10d0f28.js +0 -3
- package/dist/embedded-app/static/vendor.6e8bb883.js +0 -159
- package/dist/embedded-app/static/vendor.6e8bb883.js.map +0 -1
|
@@ -1,487 +0,0 @@
|
|
|
1
|
-
(()=>{(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([[179],{88797:function(Y,R,t){"use strict";t.d(R,{n:function(){return o}});const o=Symbol.for("CATALOG_FILTER_EXISTS_0e15b590c0b343a2bae3e787e84c2111")},34106:function(Y,R,t){"use strict";t.d(R,{Tf:function(){return d},l2:function(){return i},zG:function(){return o}});const o="default",i="backstage.io/view-url",d="backstage.io/edit-url",S="kubernetes.io/api-server",f="kubernetes.io/api-server-certificate-authority",p="kubernetes.io/auth-provider"},74314:function(Y,R,t){"use strict";t.d(R,{eE:function(){return f},iB:function(){return d},of:function(){return S}});var o=t(34106);function i(p){let c=p.indexOf(":");const h=p.indexOf("/");h!==-1&&h<c&&(c=-1);const C=c===-1?void 0:p.slice(0,c),A=h===-1?void 0:p.slice(c+1,h),O=p.slice(Math.max(c+1,h+1));if(C===""||A===""||O==="")throw new TypeError(`Entity reference "${p}" was not on the form [<kind>:][<namespace>/]<name>`);return{kind:C,namespace:A,name:O}}function d(p){return{kind:p.kind,namespace:p.metadata.namespace||o.zG,name:p.metadata.name}}function S(p,c){var h,C;if(!p)throw new Error("Entity reference must not be empty");const A=(h=c)===null||h===void 0?void 0:h.defaultKind,O=((C=c)===null||C===void 0?void 0:C.defaultNamespace)||o.zG;let y,P,m;if(typeof p=="string"){const $=i(p);var D;y=(D=$.kind)!==null&&D!==void 0?D:A;var b;P=(b=$.namespace)!==null&&b!==void 0?b:O,m=$.name}else{var M;y=(M=p.kind)!==null&&M!==void 0?M:A;var B;P=(B=p.namespace)!==null&&B!==void 0?B:O,m=p.name}if(y)if(P){if(!m){const $=JSON.stringify(p);throw new Error(`Entity reference ${$} had missing or empty name`)}}else{const $=JSON.stringify(p);throw new Error(`Entity reference ${$} had missing or empty namespace`)}else{const $=JSON.stringify(p);throw new Error(`Entity reference ${$} had missing or empty kind (e.g. did not start with "component:" or similar)`)}return{kind:y,namespace:P,name:m}}function f(p){let c,h,C;if("metadata"in p){c=p.kind;var A;h=(A=p.metadata.namespace)!==null&&A!==void 0?A:o.zG,C=p.metadata.name}else{c=p.kind;var O;h=(O=p.namespace)!==null&&O!==void 0?O:o.zG,C=p.name}return`${c.toLocaleLowerCase("en-US")}:${h.toLocaleLowerCase("en-US")}/${C.toLocaleLowerCase("en-US")}`}},8709:function(Y,R,t){"use strict";t.d(R,{S4:function(){return o},aS:function(){return m},cz:function(){return P},nP:function(){return c},w$:function(){return h}});const o="ownedBy",i="ownerOf",d="consumesApi",S="apiConsumedBy",f="providesApi",p="apiProvidedBy",c="dependsOn",h="dependencyOf",C="parentOf",A="childOf",O="memberOf",y="hasMember",P="partOf",m="hasPart"},90663:function(Y,R,t){"use strict";t.d(R,{M6:function(){return d},P1:function(){return o}});const o="backstage.io/managed-by-location",i="backstage.io/managed-by-origin-location",d="backstage.io/source-location"},51547:function(Y,R,t){"use strict";t.d(R,{CV:function(){return p},NZ:function(){return f},Ou:function(){return S}});var o=t(74314),i=t(90663);const d=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i;function S(c){if(typeof c!="string")throw new TypeError(`Unable to parse location ref '${c}', unexpected argument ${typeof c}`);const h=c.indexOf(":");if(h<0)throw new TypeError(`Unable to parse location ref '${c}', expected '<type>:<target>', e.g. 'url:https://host/path'`);const C=c.substring(0,h).trim(),A=c.substring(h+1).trim();if(!C||!A)throw new TypeError(`Unable to parse location ref '${c}', expected '<type>:<target>', e.g. 'url:https://host/path'`);if(C==="http"||C==="https")throw new TypeError(`Invalid location ref '${c}', please prefix it with 'url:', e.g. 'url:${c}'`);if(d.test(A))throw new TypeError(`Invalid location ref '${c}', target is a javascript: URL`);return{type:C,target:A}}function f(c){const{type:h,target:C}=c;if(h){if(!C)throw new TypeError("Unable to stringify location ref, empty target")}else throw new TypeError("Unable to stringify location ref, empty type");if(d.test(C))throw new TypeError(`Invalid location ref '${h}:${C}', target is a javascript: URL`);return`${h}:${C}`}function p(c){var h,C,A,O,y;const P=(y=(C=c.metadata)===null||C===void 0||(h=C.annotations)===null||h===void 0?void 0:h[i.M6])!==null&&y!==void 0?y:(O=c.metadata)===null||O===void 0||(A=O.annotations)===null||A===void 0?void 0:A[i.P1];if(!P)throw new Error(`Entity '${(0,o.eE)(c)}' is missing location`);return S(P)}},9791:function(Y,R,t){"use strict";t.d(R,{O:function(){return C}});var o=t(52322),i=t(62774),d=t(60364),S=t(2784),f=t(83229),p=t(26639),c=t(39595),h=t(58033);function C(A){const{text:O,language:y,showLineNumbers:P=!1,highlightedNumbers:m,customStyle:D,showCopyCodeButton:b=!1}=A,M=(0,d.Z)(),B=M.palette.type==="dark"?p.Z:c.Z,$=M.palette.type==="dark"?"#256bf3":"#e6ffed";return(0,o.jsxs)(i.Z,{position:"relative",children:[(0,o.jsx)(f.Z,{customStyle:D,language:y,style:B,showLineNumbers:P,wrapLines:!0,lineNumberStyle:{color:M.palette.textVerySubtle},lineProps:v=>{var N;return!((N=m)===null||N===void 0)&&N.includes(v)?{style:{backgroundColor:$}}:{}},children:O}),b&&(0,o.jsx)(i.Z,{position:"absolute",top:0,right:0,children:(0,o.jsx)(h.b,{text:O})})]})}},58033:function(Y,R,t){"use strict";t.d(R,{b:function(){return C}});var o=t(52322),i=t(44394),d=t(58513),S=t(61837),f=t(80030),p=t(19353),c=t(2784),h=t(95074);function C(A){const{text:O,tooltipDelay:y=1e3,tooltipText:P="Text copied to clipboard","aria-label":m="Copy text"}=A,D=(0,i.h_)(d.V),[b,M]=(0,c.useState)(!1),[{error:B},$]=(0,h.Z)();(0,c.useEffect)(()=>{B&&D.post(B)},[B,D]);const v=N=>{N.stopPropagation(),M(!0),$(O)};return(0,o.jsx)(o.Fragment,{children:(0,o.jsx)(f.ZP,{id:"copy-test-tooltip",title:P,placement:"top",leaveDelay:y,onClose:()=>M(!1),open:b,children:(0,o.jsx)(S.Z,{onClick:v,"aria-label":m,children:(0,o.jsx)(p.Z,{})})})})}},70249:function(Y,R,t){"use strict";t.d(R,{u:function(){return P}});var o=t(52322),i=t(60905),d=t(79692),S=t(90436),f=t(2784),p=t.p+"static/missingAnnotation.67f79e98..svg",c=t.p+"static/noInformation.4b426325..svg",h=t.p+"static/createComponent.975d1e1e..svg",C=t.p+"static/noBuild.1715fa71..svg";const A=(0,d.Z)({generalImg:{width:"95%",zIndex:2,position:"relative",left:"50%",top:"50%",transform:"translate(-50%, 15%)"}},{name:"BackstageEmptyStateImage"}),O=({missing:m})=>{const D=A();switch(m){case"field":return(0,o.jsx)("img",{src:p,className:D.generalImg,alt:"annotation is missing"});case"info":return(0,o.jsx)("img",{src:c,alt:"no Information",className:D.generalImg});case"content":return(0,o.jsx)("img",{src:h,alt:"create Component",className:D.generalImg});case"data":return(0,o.jsx)("img",{src:C,alt:"no Build",className:D.generalImg});default:return null}},y=(0,d.Z)(m=>({root:{backgroundColor:m.palette.background.default,padding:m.spacing(2,0,0,0)},action:{marginTop:m.spacing(2)},imageContainer:{position:"relative"}}),{name:"BackstageEmptyState"});function P(m){const{title:D,description:b,missing:M,action:B}=m,$=y();return(0,o.jsxs)(i.Z,{container:!0,direction:"row",justifyContent:"space-around",alignItems:"flex-start",className:$.root,spacing:2,children:[(0,o.jsx)(i.Z,{item:!0,xs:12,md:6,children:(0,o.jsxs)(i.Z,{container:!0,direction:"column",children:[(0,o.jsx)(i.Z,{item:!0,xs:!0,children:(0,o.jsx)(S.Z,{variant:"h5",children:D})}),(0,o.jsx)(i.Z,{item:!0,xs:!0,children:(0,o.jsx)(S.Z,{variant:"body1",children:b})}),(0,o.jsx)(i.Z,{item:!0,xs:!0,className:$.action,children:B})]})}),(0,o.jsx)(i.Z,{item:!0,xs:12,md:6,className:$.imageContainer,children:typeof M=="string"?(0,o.jsx)(O,{missing:M}):M.customImage})]})}},74359:function(Y,R,t){"use strict";t.d(R,{y:function(){return O}});var o=t(52322),i=t(79692),d=t(11776),S=t(38402),f=t(49378),p=t(2784),c=t(58033),h=t(538);const C=(0,i.Z)(y=>({text:{fontFamily:"monospace",whiteSpace:"pre",overflowX:"auto",marginRight:y.spacing(2)},divider:{margin:y.spacing(2)}}),{name:"BackstageErrorPanel"}),A=({error:y,message:P,stack:m,children:D})=>{const b=C();return(0,o.jsxs)(d.Z,{dense:!0,children:[(0,o.jsxs)(S.Z,{alignItems:"flex-start",children:[(0,o.jsx)(f.Z,{classes:{secondary:b.text},primary:"Error",secondary:y}),(0,o.jsx)(c.b,{text:y})]}),(0,o.jsxs)(S.Z,{alignItems:"flex-start",children:[(0,o.jsx)(f.Z,{classes:{secondary:b.text},primary:"Message",secondary:P}),(0,o.jsx)(c.b,{text:P})]}),m&&(0,o.jsxs)(S.Z,{alignItems:"flex-start",children:[(0,o.jsx)(f.Z,{classes:{secondary:b.text},primary:"Stack Trace",secondary:m}),(0,o.jsx)(c.b,{text:m})]}),D]})};function O(y){const{title:P,error:m,defaultExpanded:D,children:b}=y;return(0,o.jsx)(h.G,{severity:"error",title:P!=null?P:m.message,defaultExpanded:D,children:(0,o.jsx)(A,{error:m.name,message:m.message,stack:m.stack,children:b})})}},98864:function(Y,R,t){"use strict";t.d(R,{rU:function(){return V}});var o=t(52322),i=t(44394),d=t(6542),S=t(62369),f=t(86689),p=t(79692),c=t(90436),h=t(72779),C=t.n(h),A=t(76635),O=t.n(A),y=t(2784),P=t(73557),m=t(71597);function D(){const[K]=(0,P.is)((0,o.jsx)(P.AW,{index:!0,element:(0,o.jsx)("div",{})}));return!K.index}const b=(0,p.Z)({visuallyHidden:{clip:"rect(0 0 0 0)",clipPath:"inset(50%)",overflow:"hidden",position:"absolute",whiteSpace:"nowrap",height:1,width:1},externalLink:{position:"relative"}},{name:"Link"}),M=K=>/^([a-z+.-]+):/.test(K),B=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i,$=window.open;if($&&!$.__backstage){const K=function(...Q){const it=String(Q[0]);if(B.test(it))throw new Error("Rejected window.open() with a javascript: URL as a security precaution");return $.apply(this,Q)};K.__backstage=!0,window.open=K}const v=()=>{try{return(0,i.h_)(d.D).getOptionalString("app.baseUrl")}catch{return}},N=()=>{const K="http://sample.dev";var k;const Q=(k=v())!==null&&k!==void 0?k:"/",{pathname:it}=new URL(Q,K);return(0,A.trimEnd)(it,"/")},lt=K=>{let k=String(K);const Q=N(),it=M(k),At=k.startsWith(Q);return!it&&!At&&(k=Q.concat(k)),k},J=K=>{if(K instanceof Array)return K.map(J).join(" ").trim();if(typeof K=="object"&&K){var k,Q;return J((Q=K)===null||Q===void 0||(k=Q.props)===null||k===void 0?void 0:k.children)}return["string","number"].includes(typeof K)?String(K):""},V=y.forwardRef(({onClick:K,noTrack:k,...Q},it)=>{const At=b(),xt=(0,S.z)(),mt=D()?lt(Q.to):Q.to,bt=J(Q.children)||mt,gt=M(mt),Pt=gt&&!!/^https?:/.exec(mt);if(B.test(mt))throw new Error("Link component rejected javascript: URL as a security precaution");const ct=_=>{var z;(z=K)===null||z===void 0||z(_),k||xt.captureEvent("click",bt,{attributes:{to:mt}})};return gt?(0,o.jsxs)(f.Z,{...Pt?{target:"_blank",rel:"noopener"}:{},...Q,...Q["aria-label"]?{"aria-label":`${Q["aria-label"]}, Opens in a new window`}:{},ref:it,href:mt,onClick:ct,className:C()(At.externalLink,Q.className),children:[Q.children,(0,o.jsx)(c.Z,{component:"span",className:At.visuallyHidden,children:", Opens in a new window"})]}):(0,o.jsx)(f.Z,{...Q,ref:it,component:m.rU,to:mt,onClick:ct})})},15929:function(Y,R,t){"use strict";t.d(R,{Q:function(){return p}});var o=t(52322),i=t(77277),d=t(2784),S=t(98864);const f=d.forwardRef((h,C)=>(0,o.jsx)(S.rU,{ref:C,...h,color:"initial"})),p=d.forwardRef((h,C)=>(0,o.jsx)(i.Z,{ref:C,component:f,...h})),c=null},55015:function(Y,R,t){"use strict";t.d(R,{E:function(){return p}});var o=t(52322),i=t(62774),d=t(67358),S=t(60364),f=t(2784);function p(c){const h=(0,S.Z)(),[C,A]=(0,f.useState)(!1);return(0,f.useEffect)(()=>{const O=setTimeout(()=>A(!0),h.transitions.duration.short);return()=>clearTimeout(O)},[h.transitions.duration.short]),C?(0,o.jsx)(d.Z,{...c,"data-testid":"progress"}):(0,o.jsx)(i.Z,{display:"none"})}},35879:function(Y,R,t){"use strict";t.d(R,{H:function(){return V}});var o=t(52322),i=t(62774),d=t(21324),S=t(7089),f=t(30192),p=t(74603),c=t(56939),h=t(12231),C=t(73698),A=t(15459),O=t(42494),y=t(79692),P=t(90436),m=t(2784),D=t(72379);const b=(0,y.Z)(K=>(0,O.Z)({icon:{position:"absolute",right:K.spacing(.5),pointerEvents:"none"}}),{name:"BackstageClosedDropdown"});var B=()=>{const K=b();return(0,o.jsx)(D.Z,{className:K.icon,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,o.jsx)("path",{d:"M7.5 8L6 9.5L12.0703 15.5703L18.1406 9.5L16.6406 8L12.0703 12.5703L7.5 8Z",fill:"#616161"})})};const $=(0,y.Z)(K=>(0,O.Z)({icon:{position:"absolute",right:K.spacing(.5),pointerEvents:"none"}}),{name:"BackstageOpenedDropdown"});var N=()=>{const K=$();return(0,o.jsx)(D.Z,{className:K.icon,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,o.jsx)("path",{d:"M16.5 16L18 14.5L11.9297 8.42969L5.85938 14.5L7.35938 16L11.9297 11.4297L16.5 16Z",fill:"#616161"})})};const lt=(0,A.Z)(K=>(0,O.Z)({root:{"label + &":{marginTop:K.spacing(3)},"&.Mui-focused > div[role=button]":{borderColor:K.palette.primary.main}},input:{borderRadius:K.shape.borderRadius,position:"relative",backgroundColor:K.palette.background.paper,border:"1px solid #ced4da",fontSize:K.typography.body1.fontSize,padding:K.spacing(1.25,3.25,1.25,1.5),transition:K.transitions.create(["border-color","box-shadow"]),fontFamily:"Helvetica Neue","&:focus":{background:K.palette.background.paper,borderRadius:K.shape.borderRadius}}}),{name:"BackstageSelectInputBase"})(p.Z),J=(0,y.Z)(K=>(0,O.Z)({formControl:{margin:K.spacing(1,0),maxWidth:300},label:{transform:"initial",fontWeight:"bold",fontSize:K.typography.body2.fontSize,fontFamily:K.typography.fontFamily,color:K.palette.text.primary,"&.Mui-focused":{color:K.palette.text.primary}},formLabel:{transform:"initial",fontWeight:"bold",fontSize:K.typography.body2.fontSize,fontFamily:K.typography.fontFamily,color:K.palette.text.primary,"&.Mui-focused":{color:K.palette.text.primary}},chips:{display:"flex",flexWrap:"wrap"},chip:{margin:2},checkbox:{},root:{display:"flex",flexDirection:"column"}}),{name:"BackstageSelect"});function V(K){const{multiple:k,items:Q,label:it,placeholder:At,selected:xt,onChange:mt,triggerReset:bt,native:gt=!1,disabled:Pt=!1,margin:ct}=K,_=J(),[z,et]=(0,m.useState)(xt||(k?[]:"")),[at,dt]=(0,m.useState)(!1);(0,m.useEffect)(()=>{et(k?[]:"")},[bt,k]),(0,m.useEffect)(()=>{et(xt||(k?[]:""))},[xt,k]);const F=ut=>{et(ut.target.value),mt(ut.target.value)},G=ut=>{if(Pt){ut.preventDefault();return}dt(Ot=>k&&!(ut.target instanceof HTMLElement)?!0:!Ot)},ft=()=>{dt(!1)},ht=ut=>()=>{const Ot=z.filter(vt=>vt!==ut);et(Ot),mt(Ot)};return(0,o.jsx)(i.Z,{className:_.root,children:(0,o.jsxs)(f.Z,{className:_.formControl,children:[(0,o.jsx)(c.Z,{className:_.formLabel,children:it}),(0,o.jsxs)(C.Z,{"aria-label":it,value:z,native:gt,disabled:Pt,"data-testid":"select",displayEmpty:!0,multiple:k,margin:ct,onChange:F,open:at,onOpen:G,onClose:ft,input:(0,o.jsx)(lt,{}),label:it,renderValue:ut=>{var Ot;return k&&z.length!==0?(0,o.jsx)(i.Z,{className:_.chips,children:ut.map(vt=>{var wt,It;return(0,o.jsx)(S.Z,{label:(wt=Q.find(Lt=>Lt.value===vt))===null||wt===void 0?void 0:wt.label,clickable:!0,onDelete:ht(vt),className:_.chip},(It=Q.find(Lt=>Lt.value===vt))===null||It===void 0?void 0:It.value)})}):(0,o.jsx)(P.Z,{children:z.length===0?At||"":(Ot=Q.find(vt=>vt.value===ut))===null||Ot===void 0?void 0:Ot.label})},IconComponent:()=>at?(0,o.jsx)(N,{}):(0,o.jsx)(B,{}),MenuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},getContentAnchorEl:null},children:[At&&!k&&(0,o.jsx)(h.Z,{value:[],children:At}),gt?Q&&Q.map(ut=>(0,o.jsx)("option",{value:ut.value,children:ut.label},ut.value)):Q&&Q.map(ut=>(0,o.jsxs)(h.Z,{value:ut.value,children:[k&&(0,o.jsx)(d.Z,{color:"primary",checked:z.includes(ut.value)||!1,className:_.checkbox}),ut.label]},ut.value))]})]})})}},13788:function(Y,R,t){"use strict";t.d(R,{q:function(){return _}});var o=t(52322),i=t(80851),d=t(62774),S=t(77277),f=t(49429),p=t(61837),c=t(86136),h=t(49378),C=t(12231),A=t(50758),O=t(79784),y=t(79692),P=t(90436),m=t(41156),D=t(2784),b=t(77770),M=t(80079);function B(z,et){const dt=(0,i.q)().getSystemIcon(z);return dt?(0,o.jsx)(dt,{...et}):(0,o.jsx)(M.Z,{...et})}function $(z){return B("brokenImage",z)}function v(z){return B("catalog",z)}function N(z){return B("chat",z)}function lt(z){return B("dashboard",z)}function J(z){return B("docs",z)}function V(z){return B("email",z)}function K(z){return B("github",z)}function k(z){return B("group",z)}function Q(z){return B("help",z)}function it(z){return B("user",z)}function At(z){return B("warning",z)}var xt=t(98864);const mt=(0,y.Z)({popoverList:{minWidth:260,maxWidth:400}},{name:"BackstageSupportButton"}),bt=({icon:z})=>{const et=(0,i.q)();var at;const dt=z&&(at=et.getSystemIcon(z))!==null&&at!==void 0?at:Q;return(0,o.jsx)(dt,{})};var gt;const Pt=({link:z})=>(0,o.jsx)(xt.rU,{to:z.url,children:(gt=z.title)!==null&>!==void 0?gt:z.url}),ct=({item:z})=>{var et;return(0,o.jsxs)(C.Z,{children:[(0,o.jsx)(c.Z,{children:(0,o.jsx)(bt,{icon:z.icon})}),(0,o.jsx)(h.Z,{primary:z.title,secondary:(et=z.links)===null||et===void 0?void 0:et.reduce((at,dt,F)=>[...at,F>0&&(0,o.jsx)("br",{},F),(0,o.jsx)(Pt,{link:dt},dt.url)],[])})]})};function _(z){const{title:et,items:at,children:dt}=z,{items:F}=(0,b.v)(),[G,ft]=(0,D.useState)(!1),[ht,ut]=(0,D.useState)(null),Ot=mt(),vt=(0,m.Z)(Lt=>Lt.breakpoints.down("sm")),wt=Lt=>{ut(Lt.currentTarget),ft(!0)},It=()=>{ft(!1)};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(d.Z,{display:"flex",ml:1,children:vt?(0,o.jsx)(p.Z,{color:"primary",size:"small",onClick:wt,"data-testid":"support-button","aria-label":"Support",children:(0,o.jsx)(Q,{})}):(0,o.jsx)(S.Z,{"data-testid":"support-button","aria-label":"Support",color:"primary",onClick:wt,startIcon:(0,o.jsx)(Q,{}),children:"Support"})}),(0,o.jsxs)(O.ZP,{"data-testid":"support-button-popover",open:G,anchorEl:ht,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},onClose:It,children:[(0,o.jsxs)(A.Z,{className:Ot.popoverList,autoFocusItem:Boolean(ht),children:[et&&(0,o.jsx)(C.Z,{alignItems:"flex-start",children:(0,o.jsx)(P.Z,{variant:"subtitle1",children:et})}),D.Children.map(dt,(Lt,Zt)=>(0,o.jsx)(C.Z,{alignItems:"flex-start",children:Lt},`child-${Zt}`)),(at!=null?at:F).map((Lt,Zt)=>(0,o.jsx)(ct,{item:Lt},`item-${Zt}`))]}),(0,o.jsx)(f.Z,{children:(0,o.jsx)(S.Z,{color:"primary",onClick:It,"aria-label":"Close",children:"Close"})})]})]})}},84462:function(Y,R,t){"use strict";t.d(R,{i:function(){return dt}});var o=t(52322),i=t(67222),d=t(62774),S=t(61837),f=t(15459),p=t(79692),c=t(60364),h=t(90436),C=t(21070),A=t(90324),O=t(98281),y=t(48049),P=t(51209),m=t(33375),D=t(44233),b=t(27604),M=t(36444),B=t(37971),$=t(59709),v=t(17373),N=t(3702),lt=t(93111),J=t(76635),V=t(2784),K=t(77277),k=t(35879);const Q=(0,p.Z)(F=>({root:{height:"100%",width:"315px",display:"flex",flexDirection:"column",marginRight:F.spacing(3)},value:{fontWeight:"bold",fontSize:18},header:{display:"flex",alignItems:"center",height:F.spacing(7.5),justifyContent:"space-between",borderBottom:`1px solid ${F.palette.grey[500]}`},filters:{display:"flex",flexDirection:"column","& > *":{marginTop:F.spacing(2)}}}),{name:"BackstageTableFilters"}),it=F=>{var G;const ft=Q(),{onChangeFilters:ht}=F,[ut,Ot]=(0,V.useState)({...F.selectedFilters}),[vt,wt]=(0,V.useState)(!1),It=()=>{Ot({}),wt(Lt=>!Lt)};return(0,V.useEffect)(()=>{ht(ut)},[ut,ht]),(0,o.jsxs)(d.Z,{className:ft.root,children:[(0,o.jsxs)(d.Z,{className:ft.header,children:[(0,o.jsx)(d.Z,{className:ft.value,children:"Filters"}),(0,o.jsx)(K.Z,{color:"primary",onClick:It,children:"Clear all"})]}),(0,o.jsx)(d.Z,{className:ft.filters,children:((G=F.filters)===null||G===void 0?void 0:G.length)&&F.filters.map(Lt=>(0,o.jsx)(k.H,{triggerReset:vt,...Lt.element,selected:ut[Lt.element.label],onChange:Zt=>Ot({...ut,[Lt.element.label]:Zt})},Lt.element.label))})]})};var At=t(4614);const xt={Add:(0,V.forwardRef)((F,G)=>(0,o.jsx)(C.Z,{...F,ref:G})),Check:(0,V.forwardRef)((F,G)=>(0,o.jsx)(O.Z,{...F,ref:G})),Clear:(0,V.forwardRef)((F,G)=>(0,o.jsx)(m.Z,{...F,ref:G})),Delete:(0,V.forwardRef)((F,G)=>(0,o.jsx)(D.Z,{...F,ref:G})),DetailPanel:(0,V.forwardRef)((F,G)=>(0,o.jsx)(P.Z,{...F,ref:G})),Edit:(0,V.forwardRef)((F,G)=>(0,o.jsx)(b.Z,{...F,ref:G})),Export:(0,V.forwardRef)((F,G)=>(0,o.jsx)(N.Z,{...F,ref:G})),Filter:(0,V.forwardRef)((F,G)=>(0,o.jsx)(M.Z,{...F,ref:G})),FirstPage:(0,V.forwardRef)((F,G)=>(0,o.jsx)(B.Z,{...F,ref:G})),LastPage:(0,V.forwardRef)((F,G)=>(0,o.jsx)($.Z,{...F,ref:G})),NextPage:(0,V.forwardRef)((F,G)=>(0,o.jsx)(P.Z,{...F,ref:G})),PreviousPage:(0,V.forwardRef)((F,G)=>(0,o.jsx)(y.Z,{...F,ref:G})),ResetSearch:(0,V.forwardRef)((F,G)=>(0,o.jsx)(m.Z,{...F,ref:G})),Search:(0,V.forwardRef)((F,G)=>(0,o.jsx)(M.Z,{...F,ref:G})),SortArrow:(0,V.forwardRef)((F,G)=>(0,o.jsx)(A.Z,{...F,ref:G})),ThirdStateCheck:(0,V.forwardRef)((F,G)=>(0,o.jsx)(v.Z,{...F,ref:G})),ViewColumn:(0,V.forwardRef)((F,G)=>(0,o.jsx)(lt.Z,{...F,ref:G}))};function mt(F,G){const ft=G.split(".");let ht=F[ft[0]];for(let ut=1;ut<ft.length;++ut){if(ht===void 0)return ht;const Ot=ft[ut];ht=ht[Ot]}return ht}const bt=(0,f.Z)(F=>({header:{padding:F.spacing(1,2,1,2.5),borderTop:`1px solid ${F.palette.grey.A100}`,borderBottom:`1px solid ${F.palette.grey.A100}`,fontWeight:F.typography.fontWeightBold,position:"static",wordBreak:"normal"}}),{name:"BackstageTableHeader"})(i.W$),gt=(0,f.Z)(F=>({root:{padding:F.spacing(3,0,2.5,2.5)},title:{"& > h6":{fontWeight:F.typography.fontWeightBold}},searchField:{paddingRight:F.spacing(2)}}),{name:"BackstageTableToolbar"})(i.UW),Pt=(0,p.Z)(F=>({root:{display:"flex",alignItems:"center",justifyContent:"space-between"},title:{fontWeight:F.typography.fontWeightBold,fontSize:18,whiteSpace:"nowrap"}}),{name:"BackstageTableFiltersContainer"}),ct=(0,p.Z)(()=>({root:{display:"flex",alignItems:"start"}}),{name:"BackstageTable"});function _(F,G){return F.map(ft=>{var ht;const ut=(ht=ft.headerStyle)!==null&&ht!==void 0?ht:{};let Ot=ft.cellStyle||{};if(ft.highlight)if(ut.color=G.palette.textContrast,typeof Ot=="object")Ot.fontWeight=G.typography.fontWeightBold;else{const vt=Ot;Ot=(wt,It,Lt)=>({...vt(wt,It,Lt),fontWeight:G.typography.fontWeightBold})}return{...ft,headerStyle:ut,cellStyle:Ot}})}function z(F,G){return(0,J.transform)(F,(ft,ht,ut)=>{(0,J.isEqual)(ht,G[ut])||(ft[ut]=ht)})}const et={search:"",filtersOpen:!1,filters:{}};function at(F){const{toolbarRef:G,setSearch:ft,hasFilters:ht,selectedFiltersLength:ut,toggleFilters:Ot}=F,vt=Pt(),wt=(0,V.useCallback)(It=>{F.onSearchChanged(It),ft(It)},[F,ft]);return ht?(0,o.jsxs)(d.Z,{className:vt.root,children:[(0,o.jsxs)(d.Z,{className:vt.root,children:[(0,o.jsx)(S.Z,{onClick:Ot,"aria-label":"filter list",children:(0,o.jsx)(M.Z,{})}),(0,o.jsxs)(h.Z,{className:vt.title,children:["Filters (",ut,")"]})]}),(0,o.jsx)(gt,{...F,ref:G,onSearchChanged:wt})]}):(0,o.jsx)(gt,{...F,ref:G,onSearchChanged:wt})}function dt(F){var G,ft;const{data:ht,columns:ut,options:Ot,title:vt,subtitle:wt,filters:It,initialState:Lt,emptyContent:Zt,onStateChange:Yt,components:ee,isLoading:Kt,...Oe}=F,$t=ct(),zt=(0,c.Z)(),ie={...et,...Lt},[ue,Ne]=(0,V.useState)(ie.filtersOpen),_e=(0,V.useCallback)(()=>Ne(j=>!j),[Ne]),[Ye,dn]=(0,V.useState)(0),[Be,Ze]=(0,V.useState)(ht),[me,tn]=(0,V.useState)(ie.filters),ae=_(ut,zt),[Qe,we]=(0,V.useState)(ie.search);(0,V.useEffect)(()=>{if(Yt){const j=z({search:Qe,filtersOpen:ue,filters:me},et);Yt(j)}},[Qe,ue,me,Yt]);const Ke={headerStyle:{textTransform:"uppercase"}},De=(0,V.useCallback)(j=>{var nt;return(nt=ut.find(Ct=>Ct.title===j))===null||nt===void 0?void 0:nt.field},[ut]);(0,V.useEffect)(()=>{if(typeof ht=="function")return;if(!me){Ze(ht);return}const j=Object.values(me);if(ht&&j.flat().length){const nt=ht.filter(Ct=>!!Object.entries(me).filter(([,St])=>!!St.length).every(([St,Mt])=>{const Ut=mt(Ct,De(St));return Array.isArray(Ut)&&Array.isArray(Mt)?Ut.some(ne=>Mt.includes(ne)):Array.isArray(Ut)?Ut.includes(Mt):Array.isArray(Mt)?Mt.includes(Ut):Ut===Mt}));Ze(nt)}else Ze(ht);dn(j.flat().length)},[ht,me,De]);const he=(j,nt)=>{const Ct=Mt=>{const Ut=new Set,ne=Qt=>{Qt!=null&&Ut.add(Qt)};return nt&&nt.forEach(Qt=>{const le=mt(Qt,De(Mt));Array.isArray(le)?le.forEach(ne):ne(le)}),Ut},St=Mt=>({placeholder:"All results",label:Mt.column,multiple:Mt.type==="multiple-select",items:[...Ct(Mt.column)].sort().map(Ut=>({label:Ut,value:Ut}))});return j.map(Mt=>({type:Mt.type,element:St(Mt)}))},ze=!!(!((G=It)===null||G===void 0)&&G.length),en=(0,V.useCallback)(j=>(0,o.jsx)(at,{setSearch:we,hasFilters:ze,selectedFiltersLength:Ye,toggleFilters:_e,...j}),[_e,ze,Ye,we]),w=typeof ht!="function"&&ht.length===0,u=ut.length,L=(0,V.useCallback)(j=>Kt?(0,o.jsx)("tbody",{"data-testid":"loading-indicator",children:(0,o.jsx)("tr",{children:(0,o.jsx)("td",{colSpan:u,children:(0,o.jsx)(d.Z,{sx:{display:"flex",justifyContent:"center",alignItems:"center",width:"100%",minHeight:"15rem"},children:(0,o.jsx)(At.Z,{size:"5rem"})})})})}):Zt&&w?(0,o.jsx)("tbody",{children:(0,o.jsx)("tr",{children:(0,o.jsx)("td",{colSpan:u,children:Zt})})}):(0,o.jsx)(i.os,{...j}),[w,Zt,u,Kt]);return(0,o.jsxs)(d.Z,{className:$t.root,children:[ue&&ht&&typeof ht!="function"&&((ft=It)===null||ft===void 0?void 0:ft.length)&&(0,o.jsx)(it,{filters:he(It,ht),selectedFilters:me,onChangeFilters:tn}),(0,o.jsx)(i.ZP,{components:{Header:bt,Toolbar:en,Body:L,...ee},options:{...Ke,...Ot},columns:ae,icons:xt,title:(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(h.Z,{variant:"h5",component:"h2",children:vt}),wt&&(0,o.jsx)(h.Z,{color:"textSecondary",variant:"body1",children:wt})]}),data:typeof ht=="function"?ht:Be,style:{width:"100%"},localization:{toolbar:{searchPlaceholder:"Filter",searchTooltip:"Filter"}},...Oe})]})}dt.icons=Object.freeze(xt)},538:function(Y,R,t){"use strict";t.d(R,{G:function(){return $}});var o=t(52322),i=t(41128),d=t(79692),S=t(27616),f=t(8284),p=t(70660),c=t(60905),h=t(90436),C=t(91750),A=t(38016),O=t(2784);const y=(v,N)=>(N.palette.type==="light"?i._j:i.$n)(N.palette[v].light,.6),P=(v,N)=>(N.palette.type==="light"?i.$n:i._j)(N.palette[v].light,.9),m=(0,d.Z)(v=>({root:{marginRight:v.spacing(1),fill:({severity:N})=>y(N,v)}})),D=({severity:v})=>{const N=m({severity:v});return(0,o.jsx)(C.Z,{classes:N})},b=({severity:v})=>{const N=m({severity:v});return(0,o.jsx)(A.Z,{classes:N})},M=(0,d.Z)(v=>({panel:{backgroundColor:({severity:N})=>P(N,v),color:({severity:N})=>y(N,v),verticalAlign:"middle"},summary:{display:"flex",flexDirection:"row"},summaryText:{color:({severity:N})=>y(N,v),fontWeight:v.typography.fontWeightBold},message:{width:"100%",display:"block",color:({severity:N})=>y(N,v),backgroundColor:({severity:N})=>P(N,v)},details:{width:"100%",display:"block",color:v.palette.textContrast,backgroundColor:v.palette.background.default,border:`1px solid ${v.palette.border}`,padding:v.spacing(2),fontFamily:"sans-serif"}}),{name:"BackstageWarningPanel"}),B=v=>v.charAt(0).toLocaleUpperCase("en-US")+v.slice(1);function $(v){const{severity:N="warning",title:lt,message:J,children:V,defaultExpanded:K}=v,k=M({severity:N}),Q=B(N)+(lt?`: ${lt}`:"");return(0,o.jsxs)(S.Z,{defaultExpanded:K!=null?K:!1,className:k.panel,role:"alert",children:[(0,o.jsxs)(f.Z,{expandIcon:(0,o.jsx)(b,{severity:N}),className:k.summary,children:[(0,o.jsx)(D,{severity:N}),(0,o.jsx)(h.Z,{className:k.summaryText,variant:"subtitle1",children:Q})]}),(J||V)&&(0,o.jsx)(p.Z,{children:(0,o.jsxs)(c.Z,{container:!0,children:[J&&(0,o.jsx)(c.Z,{item:!0,xs:12,children:(0,o.jsx)(h.Z,{className:k.message,variant:"body1",children:J})}),V&&(0,o.jsx)(c.Z,{item:!0,xs:12,className:k.details,children:V})]})})]})}},77770:function(Y,R,t){"use strict";t.d(R,{v:function(){return S}});var o=t(44394),i=t(6542);const d={url:"https://github.com/backstage/backstage/issues",items:[{title:"Support Not Configured",icon:"warning",links:[{title:"Add `app.support` config key",url:"https://github.com/backstage/backstage/blob/master/app-config.yaml"}]}]};function S(){var f;const h=(f=(0,o.I_)().get(i.D))===null||f===void 0?void 0:f.getOptionalConfig("app.support");if(!h)return d;var C;return{url:h.getString("url"),items:h.getConfigArray("items").flatMap(A=>({title:A.getString("title"),icon:A.getOptionalString("icon"),links:((C=A.getOptionalConfigArray("links"))!==null&&C!==void 0?C:[]).flatMap(O=>({url:O.getString("url"),title:O.getString("title")}))}))}}},42398:function(Y,R,t){"use strict";t.d(R,{V:function(){return c}});var o=t(52322),i=t(79692),d=t(72779),S=t.n(d),f=t(2784);const p=(0,i.Z)(h=>({root:{gridArea:"pageContent",minWidth:0,paddingTop:h.spacing(3),paddingBottom:h.spacing(3),paddingLeft:h.spacing(2),paddingRight:h.spacing(2),[h.breakpoints.up("sm")]:{paddingLeft:h.spacing(3),paddingRight:h.spacing(3)}},stretch:{display:"flex",flexDirection:"column",flexGrow:1},noPadding:{padding:0}}),{name:"BackstageContent"});function c(h){const{className:C,stretch:A,noPadding:O,children:y,...P}=h,m=p();return(0,o.jsx)("article",{...P,className:S()(m.root,C,{[m.stretch]:A,[m.noPadding]:O}),children:y})}},30706:function(Y,R,t){"use strict";t.d(R,{y:function(){return C}});var o=t(52322),i=t(62774),d=t(79692),S=t(90436),f=t(2784),p=t(18671);const c=A=>(0,d.Z)(O=>({container:{width:"100%",display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"flex-end",alignItems:"center",marginBottom:O.spacing(2),textAlign:A.textAlign},leftItemsBox:{flex:"1 1 auto",minWidth:0,overflow:"visible"},rightItemsBox:{flex:"0 1 auto",display:"flex",flexDirection:"row",flexWrap:"wrap",alignItems:"center",marginLeft:O.spacing(1),minWidth:0,overflow:"visible"},description:{},title:{display:"inline-flex",marginBottom:0}}),{name:"BackstageContentHeader"}),h=({title:A="Unknown page",className:O})=>(0,o.jsx)(S.Z,{variant:"h4",component:"h2",className:O,"data-testid":"header-title",children:A});function C(A){const{description:O,title:y,titleComponent:P=void 0,children:m,textAlign:D="left"}=A,b=c({textAlign:D})(),M=P||(0,o.jsx)(h,{title:y,className:b.title});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(p.q,{title:y}),(0,o.jsxs)(i.Z,{className:b.container,children:[(0,o.jsxs)(i.Z,{className:b.leftItemsBox,children:[M,O&&(0,o.jsx)(S.Z,{className:b.description,variant:"body2",children:O})]}),(0,o.jsx)(i.Z,{className:b.rightItemsBox,children:m})]})]})}},87435:function(Y,R,t){"use strict";t.d(R,{m:function(){return P}});var o=t(52322),i=t(60905),d=t(79692),S=t(90436),f=t(2784),p=t(73557),c=t(98864),h=t(77770),C=t.p+"static/mic-drop.fe3ef4d0..svg";const A=(0,d.Z)(m=>({micDrop:{maxWidth:"60%",bottom:m.spacing(2),right:m.spacing(2),[m.breakpoints.down("xs")]:{maxWidth:"96%",bottom:"unset",right:"unset",margin:m.spacing(10,"auto",4)}}}),{name:"BackstageErrorPageMicDrop"}),O=()=>{const m=A();return(0,o.jsx)("img",{src:C,className:m.micDrop,alt:"Girl dropping mic from her hands"})},y=(0,d.Z)(m=>({container:{padding:m.spacing(8),[m.breakpoints.down("xs")]:{padding:m.spacing(2)}},title:{paddingBottom:m.spacing(5),[m.breakpoints.down("xs")]:{paddingBottom:m.spacing(4),fontSize:m.typography.h3.fontSize}},subtitle:{color:m.palette.textSubtle}}),{name:"BackstageErrorPage"});function P(m){const{status:D,statusMessage:b,additionalInfo:M,supportUrl:B}=m,$=y(),v=(0,p.s0)(),N=(0,h.v)();return(0,o.jsxs)(i.Z,{container:!0,spacing:0,className:$.container,children:[(0,o.jsxs)(i.Z,{item:!0,xs:12,sm:8,md:4,children:[(0,o.jsxs)(S.Z,{"data-testid":"error",variant:"body1",className:$.subtitle,children:["ERROR ",D,": ",b]}),(0,o.jsx)(S.Z,{variant:"body1",className:$.subtitle,children:M}),(0,o.jsx)(S.Z,{variant:"h2",className:$.title,children:"Looks like someone dropped the mic!"}),(0,o.jsxs)(S.Z,{variant:"h6",children:[(0,o.jsx)(c.rU,{to:"#","data-testid":"go-back-link",onClick:()=>v(-1),children:"Go back"}),"... or please"," ",(0,o.jsx)(c.rU,{to:B||N.url,children:"contact support"})," if you think this is a bug."]})]}),(0,o.jsx)(O,{})]})}},48037:function(Y,R,t){"use strict";t.d(R,{h:function(){return K}});var o=t(52322),i=t(44394),d=t(6542),S=t(62774),f=t(60905),p=t(79692),c=t(80030),h=t(90436),C=t(2784),A=t(18671),O=t(98864),y=t(16173),P=t(11776),m=t(38402),D=t(79784),b=t(15459);const M=(0,b.Z)({root:{textDecoration:"underline",cursor:"pointer"}},{name:"BackstageBreadcrumbsClickableText"})(h.Z),B=(0,b.Z)({root:{textDecoration:"underline",color:"inherit"}},{name:"BackstageBreadcrumbsStyledBox"})(S.Z);function $(k){const{children:Q,...it}=k,[At,xt]=C.useState(null),mt=C.Children.toArray(Q),[bt,gt,...Pt]=mt,ct=Pt.length?Pt.pop():mt[mt.length-1],_=mt.length>3,z=dt=>{xt(dt.currentTarget)},et=()=>{xt(null)},at=Boolean(At);return(0,o.jsxs)(C.Fragment,{children:[(0,o.jsxs)(y.Z,{"aria-label":"breadcrumb",...it,children:[mt.length>1&&(0,o.jsx)(B,{clone:!0,children:bt}),mt.length>2&&(0,o.jsx)(B,{clone:!0,children:gt}),_&&(0,o.jsx)(M,{onClick:z,children:"..."}),(0,o.jsx)(S.Z,{style:{fontStyle:"italic"},children:ct})]}),(0,o.jsx)(D.ZP,{open:at,anchorEl:At,onClose:et,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},children:(0,o.jsx)(P.Z,{children:Pt.map((dt,F)=>(0,o.jsx)(m.Z,{button:!0,children:(0,o.jsx)(B,{clone:!0,children:dt})},F))})})]})}var v=t(44409);const N=(0,p.Z)(k=>({header:{gridArea:"pageHeader",padding:k.spacing(3),width:"100%",boxShadow:k.shadows[4],position:"relative",zIndex:100,display:"flex",flexDirection:"row",alignItems:"center",backgroundImage:k.page.backgroundImage,backgroundPosition:"center",backgroundSize:"cover",[k.breakpoints.down("sm")]:{flexWrap:"wrap"}},leftItemsBox:{maxWidth:"100%",flexGrow:1},rightItemsBox:{width:"auto",alignItems:"center"},title:{color:k.page.fontColor,wordBreak:"break-word",fontSize:k.typography.h3.fontSize,marginBottom:0},subtitle:{color:k.page.fontColor,opacity:.8,display:"inline-block",marginTop:k.spacing(1),maxWidth:"75ch"},type:{textTransform:"uppercase",fontSize:11,opacity:.8,marginBottom:k.spacing(1),color:k.page.fontColor},breadcrumb:{color:k.page.fontColor},breadcrumbType:{fontSize:"inherit",opacity:.7,marginRight:-k.spacing(.3),marginBottom:k.spacing(.3)},breadcrumbTitle:{fontSize:"inherit",marginLeft:-k.spacing(.3),marginBottom:k.spacing(.3)}}),{name:"BackstageHeader"}),lt=({type:k,typeLink:Q,classes:it,pageTitle:At})=>k?Q?(0,o.jsxs)($,{className:it.breadcrumb,children:[(0,o.jsx)(O.rU,{to:Q,children:k}),(0,o.jsx)(h.Z,{children:At})]}):(0,o.jsx)(h.Z,{className:it.type,children:k}):null,J=({pageTitle:k,classes:Q,tooltip:it})=>{const{contentRef:At}=(0,v.r)(),xt=(0,o.jsx)(h.Z,{ref:At,tabIndex:-1,className:Q.title,variant:"h1",children:k});return it?(0,o.jsx)(c.ZP,{title:it,placement:"top-start",children:xt}):xt},V=({classes:k,subtitle:Q})=>Q?typeof Q!="string"?(0,o.jsx)(o.Fragment,{children:Q}):(0,o.jsx)(h.Z,{className:k.subtitle,variant:"subtitle2",component:"span",children:Q}):null;function K(k){const{children:Q,pageTitleOverride:it,style:At,subtitle:xt,title:mt,tooltip:bt,type:gt,typeLink:Pt}=k,ct=N(),z=(0,i.h_)(d.D).getOptionalString("app.title")||"Backstage",et=it||mt,at=mt||it,dt=`${et} | %s | ${z}`,F=`${et} | ${z}`;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(A.q,{titleTemplate:dt,defaultTitle:F}),(0,o.jsxs)("header",{style:At,className:ct.header,children:[(0,o.jsxs)(S.Z,{className:ct.leftItemsBox,children:[(0,o.jsx)(lt,{classes:ct,type:gt,typeLink:Pt,pageTitle:at}),(0,o.jsx)(J,{classes:ct,pageTitle:at,tooltip:bt}),(0,o.jsx)(V,{classes:ct,subtitle:xt})]}),(0,o.jsx)(f.Z,{container:!0,className:ct.rightItemsBox,spacing:4,children:Q})]})]})}},67880:function(Y,R,t){"use strict";t.d(R,{T:function(){return p}});var o=t(52322),i=t(2784),d=t(79692),S=t(41547);const f=(0,d.Z)(c=>({root:{display:"grid",gridTemplateAreas:"'pageHeader pageHeader pageHeader' 'pageSubheader pageSubheader pageSubheader' 'pageNav pageContent pageSidebar'",gridTemplateRows:"max-content auto 1fr",gridTemplateColumns:"auto 1fr auto",overflowY:"auto",height:"100vh",[c.breakpoints.down("xs")]:{height:"100%"},"@media print":{display:"block",height:"auto",overflowY:"inherit"}}}),{name:"BackstagePage"});function p(c){const{themeId:h,children:C}=c,A=f();return(0,o.jsx)(S.Z,{theme:O=>({...O,page:O.getPageTheme({themeId:h})}),children:(0,o.jsx)("main",{className:A.root,children:C})})}},32166:function(Y,R,t){"use strict";t.d(R,{g:function(){return f}});var o=t(52322),i=t(2784),d=t(48037),S=t(67880);function f(p){const{themeId:c,children:h,...C}=p;return(0,o.jsxs)(S.T,{themeId:c,children:[(0,o.jsx)(d.h,{...C}),h]})}},44409:function(Y,R,t){"use strict";t.d(R,{t:function(){return y},r:function(){return P}});var o=t(52322),i=t(62774),d=t(79692),S=t(41156),f=t(2784),p=t(76921),c;(function(m){m.SIDEBAR_PIN_STATE="sidebarPinState"})(c||(c={}));const h={getSidebarPinState(){let m;try{m=JSON.parse(window.localStorage.getItem(c.SIDEBAR_PIN_STATE)||"true")}catch{return!0}return!!m},setSidebarPinState(m){return window.localStorage.setItem(c.SIDEBAR_PIN_STATE,JSON.stringify(m))}};var C=t(93539);const A=(0,d.Z)(m=>({root:{width:"100%",transition:"padding-left 0.1s ease-out",isolation:"isolate",[m.breakpoints.up("sm")]:{paddingLeft:D=>D.isPinned?D.sidebarConfig.drawerWidthOpen:D.sidebarConfig.drawerWidthClosed},[m.breakpoints.down("xs")]:{paddingBottom:D=>D.sidebarConfig.mobileSidebarHeight},"@media print":{padding:"0px !important"}},content:{zIndex:0,isolation:"isolate","&:focus":{outline:0}}}),{name:"BackstageSidebarPage"}),O=(0,f.createContext)({content:{contentRef:void 0}});function y(m){const[D,b]=(0,f.useState)(()=>h.getSidebarPinState()),{sidebarConfig:M}=(0,f.useContext)(p.kG),B=(0,f.useRef)(null),$=(0,f.useMemo)(()=>({content:{contentRef:B}}),[B]);(0,f.useEffect)(()=>{h.setSidebarPinState(D)},[D]);const v=(0,S.Z)(J=>J.breakpoints.down("xs"),{noSsr:!0}),N=()=>b(!D),lt=A({isPinned:D,sidebarConfig:M});return(0,o.jsx)(C.lE,{value:{isPinned:D,toggleSidebarPinState:N,isMobile:v},children:(0,o.jsx)(O.Provider,{value:$,children:(0,o.jsx)(i.Z,{className:lt.root,children:m.children})})})}function P(){var m;const{content:D}=(0,f.useContext)(O);return{focusContent:(0,f.useCallback)(()=>{var M,B,$;($=D)===null||$===void 0||(B=$.contentRef)===null||B===void 0||(M=B.current)===null||M===void 0||M.focus()},[D]),contentRef:(m=D)===null||m===void 0?void 0:m.contentRef}}},93539:function(Y,R,t){"use strict";t.d(R,{Pf:function(){return C},lE:function(){return h}});var o=t(52322),i=t(29651),d=t(68993),S=t(2784);const f={isPinned:!0,toggleSidebarPinState:()=>{},isMobile:!1},p=(0,S.createContext)(f),c=(0,i.CT)("sidebar-pin-state-context");function h(A){const{children:O,value:y}=A;return(0,o.jsx)(p.Provider,{value:y,children:(0,o.jsx)(c.Provider,{value:(0,d.E)({1:y}),children:O})})}const C=()=>{const A=(0,S.useContext)(c),O=(0,S.useContext)(p);if(A===void 0)return O||f;const y=A.atVersion(1);if(y===void 0)throw new Error("No context found for version 1.");return y}},76921:function(Y,R,t){"use strict";t.d(R,{$E:function(){return p},Ag:function(){return O},kG:function(){return A},po:function(){return f},rW:function(){return h}});var o=t(2784);const i=72,d=24,S=18,f={drawerWidthClosed:i,drawerWidthOpen:224,defaultOpenDelayMs:100,defaultCloseDelayMs:0,defaultFadeDuration:200,logoHeight:32,iconContainerWidth:i,iconSize:i-d*2,iconPadding:d,selectedIndicatorWidth:3,userBadgePadding:S,userBadgeDiameter:i-S*2,mobileSidebarHeight:56},p=y=>({...f,...y,iconContainerWidth:f.drawerWidthClosed,iconSize:f.drawerWidthClosed-f.iconPadding*2,userBadgeDiameter:f.drawerWidthClosed-f.userBadgePadding*2}),c={drawerWidthClosed:0,drawerWidthOpen:202,defaultOpenDelayMs:f.defaultOpenDelayMs+200},h=y=>({...c,...y}),C="@backstage/core/sidebar-intro-dismissed",A=(0,o.createContext)({sidebarConfig:f,submenuConfig:c}),O=(0,o.createContext)({isHoveredOn:!1,setIsHoveredOn:()=>{}})},72388:function(Y,R,t){"use strict";t.d(R,{Os:function(){return p},fC:function(){return c}});var o=t(52322),i=t(29651),d=t(68993),S=t(2784);const f=(0,i.CT)("analytics-context"),p=()=>{const C=(0,S.useContext)(f);if(C===void 0)return{routeRef:"unknown",pluginId:"root",extension:"App"};const A=C.atVersion(1);if(A===void 0)throw new Error("No context found for version 1.");return A},c=C=>{const{attributes:A,children:O}=C,P={...p(),...A},m=(0,d.E)({1:P});return(0,o.jsx)(f.Provider,{value:m,children:O})};function h(C,A){const O=y=>_jsx(c,{attributes:A,children:_jsx(C,{...y})});return O.displayName=`WithAnalyticsContext(${C.displayName||C.name||"Component"})`,O}},7355:function(Y,R,t){"use strict";t.d(R,{f:function(){return f},h:function(){return S}});var o=t(87612),i=t(96087);const d=(0,i.u)("core-plugin-api:analytics-tracker-events",()=>({mostRecentGatheredNavigation:void 0,mostRecentRoutableExtensionRender:void 0,beforeUnloadRegistered:!1})),S="_ROUTABLE-EXTENSION-RENDERED";class f{setContext(c){this.context=c}captureEvent(c,h,{value:C,attributes:A}={}){const{_routeNodeType:O,...y}=this.context;if(c===S){d.mostRecentGatheredNavigation&&(d.mostRecentRoutableExtensionRender={context:{...y,extension:"App"}});return}if(d.mostRecentGatheredNavigation){try{this.analyticsApi.captureEvent({...d.mostRecentGatheredNavigation,...d.mostRecentRoutableExtensionRender})}catch(P){console.warn("Error during analytics event capture. %o",P)}d.mostRecentGatheredNavigation=void 0,d.mostRecentRoutableExtensionRender=void 0}if(c==="navigate"&&O==="gathered"&&y.pluginId==="root"){d.mostRecentGatheredNavigation={action:c,subject:h,value:C,attributes:A,context:y};return}try{this.analyticsApi.captureEvent({action:c,subject:h,value:C,attributes:A,context:y})}catch(P){console.warn("Error during analytics event capture. %o",P)}}constructor(c,h={routeRef:"unknown",pluginId:"root",extension:"App"}){(0,o._)(this,"analyticsApi",void 0),(0,o._)(this,"context",void 0),this.analyticsApi=c,this.context=h,d.beforeUnloadRegistered||(addEventListener("beforeunload",()=>{d.mostRecentGatheredNavigation&&(this.analyticsApi.captureEvent({...d.mostRecentGatheredNavigation,...d.mostRecentRoutableExtensionRender}),d.mostRecentGatheredNavigation=void 0,d.mostRecentRoutableExtensionRender=void 0)},{once:!0,passive:!0}),d.beforeUnloadRegistered=!0)}}},62369:function(Y,R,t){"use strict";t.d(R,{z:function(){return c}});var o=t(72388),i=t(44394),d=t(86386),S=t(2784),f=t(7355);function p(){try{return(0,i.h_)(d.v)}catch{return{captureEvent:()=>{}}}}function c(){const h=(0,S.useRef)(null),C=(0,o.Os)(),A=p();function O(){return h.current===null&&(h.current=new f.f(A)),h.current}const y=O();return y.setContext(C),y}},78847:function(Y,R,t){"use strict";t.d(R,{$:function(){return i}});var o=t(95965);const i=(0,o.T)({id:"core.alert"})},86386:function(Y,R,t){"use strict";t.d(R,{v:function(){return i}});var o=t(95965);const i=(0,o.T)({id:"core.analytics"})},6542:function(Y,R,t){"use strict";t.d(R,{D:function(){return i}});var o=t(95965);const i=(0,o.T)({id:"core.config"})},96727:function(Y,R,t){"use strict";t.d(R,{N:function(){return i}});var o=t(95965);const i=(0,o.T)({id:"core.discovery"})},58513:function(Y,R,t){"use strict";t.d(R,{V:function(){return i}});var o=t(95965);const i=(0,o.T)({id:"core.error"})},82723:function(Y,R,t){"use strict";t.d(R,{C:function(){return i},W:function(){return d}});var o=t(95965),i;(function(S){S[S.None=0]="None",S[S.Active=1]="Active"})(i||(i={}));const d=(0,o.T)({id:"core.featureflags"})},85094:function(Y,R,t){"use strict";t.d(R,{g:function(){return i}});var o=t(95965);const i=(0,o.T)({id:"core.fetch"})},77186:function(Y,R,t){"use strict";t.d(R,{$:function(){return i}});var o=t(95965);const i=(0,o.T)({id:"core.identity"})},95965:function(Y,R,t){"use strict";t.d(R,{T:function(){return d}});var o=t(87612);class i{get id(){return this.config.id}get T(){throw new Error(`tried to read ApiRef.T of ${this}`)}toString(){return`apiRef{${this.config.id}}`}constructor(f){if((0,o._)(this,"config",void 0),this.config=f,!f.id.split(".").flatMap(c=>c.split("-")).every(c=>c.match(/^[a-z][a-z0-9]*$/)))throw new Error(`API id must only contain period separated lowercase alphanum tokens with dashes, got '${f.id}'`)}}function d(S){return new i(S)}},42380:function(Y,R,t){"use strict";t.d(R,{n:function(){return o}});function o(i,d){return"id"in i?{api:i,deps:{},factory:()=>d}:i}},44394:function(Y,R,t){"use strict";t.d(R,{I_:function(){return S},h_:function(){return f}});var o=t(52322),i=t(2784),d=t(29651);function S(){const c=(0,d.Vt)("api-context");if(!c)throw new Error("API context is not available");const h=c.atVersion(1);if(!h)throw new Error("ApiContext v1 not available");return h}function f(c){const C=S().get(c);if(!C)throw new Error(`No implementation available for ${c}`);return C}function p(c){return function(C){const A=y=>{const P=S(),m={};for(const D in c)if(c.hasOwnProperty(D)){const b=c[D],M=P.get(b);if(!M)throw new Error(`No implementation available for ${b}`);m[D]=M}return _jsx(C,{...y,...m})},O=C.displayName||C.name||"Component";return A.displayName=`withApis(${O})`,A}}},80851:function(Y,R,t){"use strict";t.d(R,{q:function(){return i}});var o=t(29651);const i=()=>{const d=(0,o.Vt)("app-context");if(!d)throw new Error("App context is not available");const S=d.atVersion(1);if(!S)throw new Error("AppContext v1 not available");return S}},62584:function(Y,R,t){"use strict";t.d(R,{I:function(){return f},R:function(){return S}});var o=t(96087);const i=(0,o.u)("component-data-store",()=>new WeakMap),d="__backstage_data";function S(p,c,h){const C=p;var A;let O=(A=C[d])!==null&&A!==void 0?A:i.get(p);if(O||(O={map:new Map},Object.defineProperty(C,d,{enumerable:!1,configurable:!0,writable:!1,value:O}),i.set(p,O)),O.map.has(c)){const y=p.displayName||p.name;throw new Error(`Attempted to attach duplicate data "${c}" to component "${y}"`)}O.map.set(c,h)}function f(p,c){if(!p)return;const h=p.type;if(!h)return;var C;const A=(C=h[d])!==null&&C!==void 0?C:i.get(h);if(A)return A.map.get(c)}},82963:function(Y,R,t){"use strict";t.d(R,{CO:function(){return P},YO:function(){return m},P4:function(){return y}});var o=t(52322),i=t(2784),d=t(62369),S=t(72388),f=t(80851),p=t(37321),c=t(62584),h=t(87612);class C extends i.Component{static getDerivedStateFromError(b){return{error:b}}render(){const{error:b}=this.state,{app:M,plugin:B}=this.props,{ErrorBoundaryFallback:$}=M.getComponents();return b?(0,o.jsx)($,{error:b,resetError:this.handleErrorReset,plugin:B}):this.props.children}constructor(...b){super(...b),(0,h._)(this,"state",{error:void 0}),(0,h._)(this,"handleErrorReset",()=>{this.setState({error:void 0})})}}var A=t(24797),O=t(7355);function y(D){const{component:b,mountPoint:M,name:B}=D;return m({component:{lazy:()=>b().then($=>{const v=lt=>{const J=(0,d.z)();try{(0,p.t)(M)}catch(V){if(typeof V=="object"&&V!==null){const{message:K}=V;if(typeof K=="string"&&K.startsWith("No path for "))throw new Error(`Routable extension component with mount point ${M} was not discovered in the app element tree. Routable extension components may not be rendered by other components and must be directly available as an element within the App provider component.`)}throw V}return(0,i.useEffect)(()=>{J.captureEvent(O.h,"")},[J]),(0,o.jsx)($,{...lt})},N=B||$.displayName||$.name||"LazyComponent";return v.displayName=`RoutableExtension(${N})`,v},$=>N=>{const lt=(0,f.q)(),{BootErrorPage:J}=lt.getComponents();return(0,o.jsx)(J,{step:"load-chunk",error:$})})},data:{"core.mountPoint":M},name:B})}function P(D){const{component:b,name:M}=D;return m({component:b,name:M})}function m(D){const{data:b={},name:M}=D;M||console.warn("Declaring extensions without name is DEPRECATED. Make sure that all usages of createReactExtension, createComponentExtension and createRoutableExtension provide a name.");let B;if("lazy"in D.component){const v=D.component.lazy;B=(0,i.lazy)(()=>v().then(N=>({default:N})))}else B=D.component.sync;const $=M||B.displayName||B.name||"Component";return{expose(v){const N=lt=>{var J;const V=(0,f.q)(),{Progress:K}=V.getComponents(),k=(J=b)===null||J===void 0?void 0:J["core.mountPoint"];return(0,o.jsx)(i.Suspense,{fallback:(0,o.jsx)(K,{}),children:(0,o.jsx)(C,{app:V,plugin:v,children:(0,o.jsx)(S.fC,{attributes:{pluginId:v.getId(),...M&&{extension:M},...k&&{routeRef:k.id}},children:(0,o.jsx)(A.o,{plugin:v,children:(0,o.jsx)(B,{...lt})})})})})};(0,c.R)(N,"core.plugin",v),(0,c.R)(N,"core.extensionName",M);for(const[lt,J]of Object.entries(b))(0,c.R)(N,lt,J);return N.displayName=`Extension(${$})`,N}}}},2532:function(Y,R,t){"use strict";t.d(R,{v:function(){return h}});var o=t(87612),i=t(2784),d=t(62584),S=t(44394),f=t(82723);function p(C,A,O,y){return i.Children.toArray(C).flatMap(P=>{if(!(0,i.isValidElement)(P))return[];if(P.type===i.Fragment)return p(P.props.children,A,O,y);if((0,d.I)(P,"core.featureFlagged")){const m=P.props;return("with"in m?A.isActive(m.with):!A.isActive(m.without))?p(P.props.children,A,O,y):[]}if(O===void 0||O(P))return[P];if(y)throw new Error(y);return p(P.props.children,A,O,y)})}class c{selectByComponentData(A){const O=p(this.node,this.featureFlagsApi,y=>(0,d.I)(y,A.key)!==void 0,A.withStrictError);return new c(O,this.featureFlagsApi)}findComponentData(A){return p(this.node,this.featureFlagsApi,y=>(0,d.I)(y,A.key)!==void 0).map(y=>(0,d.I)(y,A.key)).filter(y=>y!==void 0)}getElements(){return p(this.node,this.featureFlagsApi)}constructor(A,O){(0,o._)(this,"node",void 0),(0,o._)(this,"featureFlagsApi",void 0),this.node=A,this.featureFlagsApi=O}}function h(C,A,O=[]){const y=(0,S.h_)(f.W),P=new c(C,y);return(0,i.useMemo)(()=>A(P),[C,...O])}},24797:function(Y,R,t){"use strict";t.d(R,{o:function(){return p},y:function(){return c}});var o=t(52322),i=t(29651),d=t(68993),S=t(2784);const f="plugin-context",p=h=>{const{children:C,plugin:A}=h,{Provider:O}=(0,i.CT)(f);return(0,o.jsx)(O,{value:(0,d.E)({1:{plugin:A}}),children:C})};function c(){const h=(0,i.Vt)(f);if(!h)throw new Error("Plugin Options context is not available");const C=h.atVersion(1);if(!C)throw new Error("Plugin Options v1 is not available");return C.plugin.getPluginOptions()}},15006:function(Y,R,t){"use strict";t.d(R,{r:function(){return d}});var o=t(87612);class i{getId(){return this.config.id}getApis(){var f;return(f=this.config.apis)!==null&&f!==void 0?f:[]}getFeatureFlags(){var f,p;return(p=(f=this.config.featureFlags)===null||f===void 0?void 0:f.slice())!==null&&p!==void 0?p:[]}get routes(){var f;return(f=this.config.routes)!==null&&f!==void 0?f:{}}get externalRoutes(){var f;return(f=this.config.externalRoutes)!==null&&f!==void 0?f:{}}provide(f){return f.expose(this)}__experimentalReconfigure(f){this.config.__experimentalConfigure&&(this.options=this.config.__experimentalConfigure(f))}getPluginOptions(){this.config.__experimentalConfigure&&!this.options&&(this.options=this.config.__experimentalConfigure());var f;return(f=this.options)!==null&&f!==void 0?f:{}}toString(){return`plugin{${this.config.id}}`}constructor(f){(0,o._)(this,"config",void 0),(0,o._)(this,"options",void 0),this.config=f,this.options=void 0}}function d(S){return new i(S)}},30283:function(Y,R,t){"use strict";t.d(R,{N:function(){return p}});var o=t(87612),i=t(92918);let d=i.K,S=d;class f{get title(){return this.id}toString(){return`routeRef{type=absolute,id=${this.id}}`}constructor(h,C){(0,o._)(this,"id",void 0),(0,o._)(this,"params",void 0),(0,o._)(this,S,void 0),this.id=h,this.params=C,this[d]="absolute"}}function p(c){var h;return new f(c.id,(h=c.params)!==null&&h!==void 0?h:[])}},92918:function(Y,R,t){"use strict";t.d(R,{K:function(){return i}});var o=t(96087);const i=(0,o.u)("route-ref-type",()=>Symbol("route-ref-type"))},37321:function(Y,R,t){"use strict";t.d(R,{t:function(){return S}});var o=t(2784),i=t(73557),d=t(29651);function S(f){const{pathname:p}=(0,i.TH)(),c=(0,d.Vt)("routing-context");if(!c)throw new Error("Routing context is not available");const h=c.atVersion(1),C=(0,o.useMemo)(()=>h&&h.resolve(f,{pathname:p}),[h,f,p]);if(!c)throw new Error("useRouteRef used outside of routing context");if(!h)throw new Error("RoutingContext v1 not available");const A="optional"in f&&f.optional;if(!C&&!A)throw new Error(`No path for ${f}`);return C}},41385:function(Y,R,t){"use strict";t.d(R,{V:function(){return S}});var o=t(87612),i=t(48998);async function d(f){try{const c=await f.text();if(c){var p;if(!((p=f.headers.get("content-type"))===null||p===void 0)&&p.startsWith("application/json"))try{const h=JSON.parse(c);if(h.error&&h.response)return h}catch{}return{error:{name:"Error",message:`Request failed with status ${f.status} ${f.statusText}, ${c}`},response:{statusCode:f.status}}}}catch{}return{error:{name:"Error",message:`Request failed with status ${f.status} ${f.statusText}`},response:{statusCode:f.status}}}class S extends Error{static async fromResponse(p){const c=await d(p),h=c.response.statusCode||p.status,C=c.error.name||p.statusText,A=`Request failed with ${h} ${C}`,O=(0,i.Fq)(c.error);return new S({message:A,response:p,data:c,cause:O})}constructor(p){super(p.message),(0,o._)(this,"response",void 0),(0,o._)(this,"body",void 0),(0,o._)(this,"cause",void 0),this.name="ResponseError",this.response=p.response,this.body=p.data,this.cause=p.cause}}},30474:function(Y,R,t){"use strict";t.d(R,{V:function(){return o}});function o(d){if(typeof d!="object"||d===null||Array.isArray(d))return!1;const S=d;return!(typeof S.name!="string"||S.name===""||typeof S.message!="string")}function i(d){if(typeof d!="object"||d===null||Array.isArray(d))throw new Error(`Encountered invalid error, not an object, got '${d}'`);const S=d;if(typeof S.name!="string"||S.name==="")throw new Error(`Encountered error object without a name, got '${d}'`);if(typeof S.message!="string")throw new Error(`Encountered error object without a message, got '${d}'`)}},48998:function(Y,R,t){"use strict";t.d(R,{Fq:function(){return f},n:function(){return p}});var o=t(24852),i=t.n(o),d=t(30474);function S(c,h){var C;const O={name:"Unknown",message:"<no reason given>",...serializeErrorInternal(c)};return!((C=h)===null||C===void 0)&&C.includeStack||delete O.stack,O}function f(c){const h=(0,o.deserializeError)(c);return c.stack||(h.stack=void 0),h}function p(c){if((0,d.V)(c)){const h=String(c);return h!=="[object Object]"?h:`${c.name}: ${c.message}`}return`unknown error '${c}'`}},91657:function(Y,R,t){"use strict";t.d(R,{a:function(){return ze},q:function(){return en}});var o=t(87612),i=t(38264);const d="amazonaws.com";function S(w){const u=w.getOptionalString("endpoint");var L;const j=(L=w.getOptionalBoolean("s3ForcePathStyle"))!==null&&L!==void 0?L:!1;let nt,Ct;if(u){try{const Qt=new URL(u);nt=Qt.host,Ct=Qt.pathname}catch{throw new Error(`invalid awsS3 integration config, endpoint '${u}' is not a valid URL`)}if(Ct!=="/")throw new Error(`invalid awsS3 integration config, endpoints cannot contain path, got '${u}'`)}else nt=d;const St=w.getOptionalString("accessKeyId"),Mt=w.getOptionalString("secretAccessKey"),Ut=w.getOptionalString("roleArn"),ne=w.getOptionalString("externalId");return{host:nt,endpoint:u,s3ForcePathStyle:j,accessKeyId:St,secretAccessKey:Mt,roleArn:Ut,externalId:ne}}function f(w){const u=w.map(S);return u.some(L=>L.host===d)||u.push({host:d}),u}class p{get type(){return"awsS3"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(u){return(0,i.FI)(u)}resolveEditUrl(u){return u}constructor(u){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=u}}(0,o._)(p,"factory",({config:w})=>{var u;const L=f((u=w.getOptionalConfigArray("integrations.awsS3"))!==null&&u!==void 0?u:[]);return(0,i.gz)(L.map(j=>new p(j)),j=>j.config.host)});var c=t(88412),h=t(50629),C=t(80956);const A="GB";var O=new WeakMap,y=new WeakMap,P=new WeakMap,m=new WeakMap,D=new WeakMap,b=new WeakMap,M=new WeakMap;class B{static fromRepoUrl(u){const L=new URL(u);let j,nt,Ct;const St=L.pathname.split("/").map(le=>decodeURIComponent(le));if(St[2]==="_git"?(j=St[1],nt=Ct=St[3]):St[3]==="_git"?(j=St[1],nt=St[2],Ct=St[4]):St[4]==="_git"&&(j=`${St[1]}/${St[2]}`,nt=St[3],Ct=St[5]),!j||!nt||!Ct)throw new Error("Azure URL must point to a git repository");var Mt;const Ut=(Mt=L.searchParams.get("path"))!==null&&Mt!==void 0?Mt:void 0;let ne;const Qt=L.searchParams.get("version");if(Qt){if(Qt.slice(0,2)!=="GB")throw new Error("Azure URL version must point to a git branch");ne=Qt.slice(2)}return new B(L.origin,j,nt,Ct,Ut,ne)}toRepoUrl(){let u;return(0,c._)(this,P)===(0,c._)(this,m)?u=(0,c._)(this,M).call(this,(0,c._)(this,y),"_git",(0,c._)(this,m)):u=(0,c._)(this,M).call(this,(0,c._)(this,y),(0,c._)(this,P),"_git",(0,c._)(this,m)),(0,c._)(this,D)&&u.searchParams.set("path",(0,c._)(this,D)),(0,c._)(this,b)&&u.searchParams.set("version",A+(0,c._)(this,b)),u.toString()}toFileUrl(){if(!(0,c._)(this,D))throw new Error("Azure URL must point to a specific path to be able to download a file");const u=(0,c._)(this,M).call(this,(0,c._)(this,y),(0,c._)(this,P),"_apis","git","repositories",(0,c._)(this,m),"items");return u.searchParams.set("api-version","6.0"),u.searchParams.set("path",(0,c._)(this,D)),(0,c._)(this,b)&&u.searchParams.set("version",(0,c._)(this,b)),u.toString()}toArchiveUrl(){const u=(0,c._)(this,M).call(this,(0,c._)(this,y),(0,c._)(this,P),"_apis","git","repositories",(0,c._)(this,m),"items");return u.searchParams.set("recursionLevel","full"),u.searchParams.set("download","true"),u.searchParams.set("api-version","6.0"),(0,c._)(this,D)&&u.searchParams.set("scopePath",(0,c._)(this,D)),(0,c._)(this,b)&&u.searchParams.set("version",(0,c._)(this,b)),u.toString()}toCommitsUrl(){const u=(0,c._)(this,M).call(this,(0,c._)(this,y),(0,c._)(this,P),"_apis","git","repositories",(0,c._)(this,m),"commits");return u.searchParams.set("api-version","6.0"),(0,c._)(this,b)&&u.searchParams.set("searchCriteria.itemVersion.version",(0,c._)(this,b)),u.toString()}getOwner(){return(0,c._)(this,y)}getProject(){return(0,c._)(this,P)}getRepo(){return(0,c._)(this,m)}getPath(){return(0,c._)(this,D)}getRef(){return(0,c._)(this,b)}constructor(u,L,j,nt,Ct,St){(0,h._)(this,O,{writable:!0,value:void 0}),(0,h._)(this,y,{writable:!0,value:void 0}),(0,h._)(this,P,{writable:!0,value:void 0}),(0,h._)(this,m,{writable:!0,value:void 0}),(0,h._)(this,D,{writable:!0,value:void 0}),(0,h._)(this,b,{writable:!0,value:void 0}),(0,h._)(this,M,{writable:!0,value:(...Mt)=>{const Ut=new URL((0,c._)(this,O));return Ut.pathname=Mt.map(ne=>encodeURIComponent(ne)).join("/"),Ut}}),(0,C._)(this,O,u),(0,C._)(this,y,L),(0,C._)(this,P,j),(0,C._)(this,m,nt),(0,C._)(this,D,Ct),(0,C._)(this,b,St)}}const $="dev.azure.com",v=["clientId","clientSecret","tenantId","personalAccessToken"],N=new Map([["ClientSecret",["clientId","clientSecret","tenantId"]],["ManagedIdentity",["clientId"]],["PersonalAccessToken",["personalAccessToken"]]]);function lt(w){for(const u of N.entries()){const[L,j]=u,nt=v.filter(Ct=>!j.includes(Ct));if(j.every(Ct=>w[Ct]!==void 0)&&nt.every(Ct=>w[Ct]===void 0))return{kind:L,organizations:w.organizations,...j.reduce((Ct,St)=>(Ct[St]=w[St],Ct),{})}}throw new Error("is not a valid credential")}function J(w){var u,L;const j=(L=w.getOptionalString("host"))!==null&&L!==void 0?L:$;let nt=(u=w.getOptionalConfigArray("credentials"))===null||u===void 0?void 0:u.map(fe=>({organizations:fe.getOptionalStringArray("organizations"),personalAccessToken:fe.getOptionalString("personalAccessToken"),tenantId:fe.getOptionalString("tenantId"),clientId:fe.getOptionalString("clientId"),clientSecret:fe.getOptionalString("clientSecret")}));const Ct=w.getOptionalString("token");if(w.getOptional("credential")!==void 0&&w.getOptional("credentials")!==void 0)throw new Error("Invalid Azure integration config, 'credential' and 'credentials' cannot be used together. Use 'credentials' instead.");if(w.getOptional("token")!==void 0&&w.getOptional("credentials")!==void 0)throw new Error("Invalid Azure integration config, 'token' and 'credentials' cannot be used together. Use 'credentials' instead.");if(Ct!==void 0){var St;const fe=[{personalAccessToken:Ct}];var Mt;nt=(Mt=(St=nt)===null||St===void 0?void 0:St.concat(fe))!==null&&Mt!==void 0?Mt:fe}if(w.getOptional("credential")!==void 0){var Ut;const fe=[{organizations:w.getOptionalStringArray("credential.organizations"),token:w.getOptionalString("credential.token"),tenantId:w.getOptionalString("credential.tenantId"),clientId:w.getOptionalString("credential.clientId"),clientSecret:w.getOptionalString("credential.clientSecret")}];var ne;nt=(ne=(Ut=nt)===null||Ut===void 0?void 0:Ut.concat(fe))!==null&&ne!==void 0?ne:fe}if(!(0,i.bK)(j))throw new Error(`Invalid Azure integration config, '${j}' is not a valid host`);let Qt;if(nt!==void 0){var le,nn;const fe=(le=nt)===null||le===void 0?void 0:le.reduce((Xt,Me,Wt)=>{let oe;try{lt(Me)}catch(qt){oe=qt.message}return oe!==void 0&&Xt.push(`credential at position ${Wt+1} ${oe}`),Xt},Array.of()).concat(Object.entries(nt.filter(Xt=>Xt.organizations!==void 0&&Xt.organizations.length>0).reduce((Xt,Me,Wt)=>{var oe;return(oe=Me.organizations)===null||oe===void 0||oe.forEach(qt=>{Xt[qt]||(Xt[qt]=[]),Xt[qt].push(Wt+1)}),Xt},{})).filter(([Xt,Me])=>Me.length>1).reduce((Xt,[Me,Wt])=>(Xt.push(`organization ${Me} is specified multiple times in credentials at positions ${Wt.slice(0,Wt.length-1).join(", ")} and ${Wt[Wt.length-1]}`),Xt),Array.of()));if(((nn=fe)===null||nn===void 0?void 0:nn.length)>0)throw new Error(`Invalid Azure integration config for ${j}: ${fe.join("; ")}`);if(Qt=nt.map(Xt=>lt(Xt)),Qt.some(Xt=>Xt.kind!=="PersonalAccessToken")&&j!==$)throw new Error(`Invalid Azure integration config for ${j}, only personal access tokens can be used with hosts other than ${$}`);if(Qt.filter(Xt=>Xt.organizations===void 0||Xt.organizations.length===0).length>1)throw new Error(`Invalid Azure integration config for ${j}, you cannot specify multiple credentials without organizations`)}return{host:j,credentials:Qt}}function V(w){const u=w.map(J);return u.some(L=>L.host===$)||u.push({host:$}),u}class K{get type(){return"azure"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(u){const{url:L,base:j}=u;if((0,i.jv)(L))return L;try{const Ct=B.fromRepoUrl(j),St=new URL(j);var nt;const Mt=new URL(`https://a.com${(nt=Ct.getPath())!==null&&nt!==void 0?nt:""}`),Ut=new URL(L,Mt).pathname;return St.searchParams.set("path",Ut),u.lineNumber&&(St.searchParams.set("line",String(u.lineNumber)),St.searchParams.set("lineEnd",String(u.lineNumber+1)),St.searchParams.set("lineStartColumn","1"),St.searchParams.set("lineEndColumn","1")),St.toString()}catch{return new URL(L,j).toString()}}resolveEditUrl(u){return u}constructor(u){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=u}}(0,o._)(K,"factory",({config:w})=>{var u;const L=V((u=w.getOptionalConfigArray("integrations.azure"))!==null&&u!==void 0?u:[]);return(0,i.gz)(L.map(j=>new K(j)),j=>j.config.host)});var k=t(82717),Q=t.n(k);const it="bitbucket.org",At="https://api.bitbucket.org/2.0";function xt(w){const u=it,L=At,j=w.getString("username"),nt=w.getString("appPassword");return{host:u,apiBaseUrl:L,username:j,appPassword:nt}}function mt(w){const u=w.map(xt);return u.length===0&&u.push({host:it,apiBaseUrl:At}),u}class bt{get type(){return"bitbucketCloud"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(u){const L=(0,i.FI)(u);if(u.lineNumber){const j=new URL(L);return j.hash=`lines-${u.lineNumber}`,j.toString()}return L}resolveEditUrl(u){const L=Q()(u),j=new URL(u);return j.searchParams.set("mode","edit"),j.searchParams.set("at",L.ref),j.toString()}constructor(u){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=u}}(0,o._)(bt,"factory",({config:w})=>{var u;const L=mt((u=w.getOptionalConfigArray("integrations.bitbucketCloud"))!==null&&u!==void 0?u:[]);return(0,i.gz)(L.map(j=>new bt(j)),j=>j.config.host)});var gt=t(76635);const Pt="bitbucket.org",ct="https://api.bitbucket.org/2.0";function _(w){var u;const L=(u=w.getOptionalString("host"))!==null&&u!==void 0?u:Pt;let j=w.getOptionalString("apiBaseUrl");const nt=w.getOptionalString("token"),Ct=w.getOptionalString("username"),St=w.getOptionalString("appPassword");if(!(0,i.bK)(L))throw new Error(`Invalid Bitbucket integration config, '${L}' is not a valid host`);return j?j=(0,gt.trimEnd)(j,"/"):L===Pt?j=ct:j=`https://${L}/rest/api/1.0`,{host:L,apiBaseUrl:j,token:nt,username:Ct,appPassword:St}}function z(w){const u=w.map(_);return u.some(L=>L.host===Pt)||u.push({host:Pt,apiBaseUrl:ct}),u}class et{get type(){return"bitbucket"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(u){const L=(0,i.FI)(u);if(!u.lineNumber)return L;const j=new URL(L);return this.integrationConfig.host==="bitbucket.org"?j.hash=`lines-${u.lineNumber}`:j.hash=`${u.lineNumber}`,j.toString()}resolveEditUrl(u){const L=Q()(u),j=new URL(u);return j.searchParams.set("mode","edit"),j.searchParams.set("spa","0"),j.searchParams.set("at",L.ref),j.toString()}constructor(u){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=u}}(0,o._)(et,"factory",({config:w})=>{var u,L,j;const nt=z((j=w.getOptionalConfigArray("integrations.bitbucket"))!==null&&j!==void 0?j:[...(u=w.getOptionalConfigArray("integrations.bitbucketCloud"))!==null&&u!==void 0?u:[],...(L=w.getOptionalConfigArray("integrations.bitbucketServer"))!==null&&L!==void 0?L:[]]);return(0,i.gz)(nt.map(Ct=>new et(Ct)),Ct=>Ct.config.host)});function at(w){const u=w.getString("host");let L=w.getOptionalString("apiBaseUrl");const j=w.getOptionalString("token"),nt=w.getOptionalString("username"),Ct=w.getOptionalString("password");if(!(0,i.bK)(u))throw new Error(`Invalid Bitbucket Server integration config, '${u}' is not a valid host`);return L?L=(0,gt.trimEnd)(L,"/"):L=`https://${u}/rest/api/1.0`,{host:u,apiBaseUrl:L,token:j,username:nt,password:Ct}}function dt(w){return w.map(at)}class F{get type(){return"bitbucketServer"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(u){const L=(0,i.FI)(u);if(u.lineNumber){const j=new URL(L);return j.hash=u.lineNumber.toString(),j.toString()}return L}resolveEditUrl(u){return u.includes("?")?u.substring(0,u.indexOf("?")):u}constructor(u){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=u}}(0,o._)(F,"factory",({config:w})=>{var u;const L=dt((u=w.getOptionalConfigArray("integrations.bitbucketServer"))!==null&&u!==void 0?u:[]);return(0,i.gz)(L.map(j=>new F(j)),j=>j.config.host)});function G(w){const u=w.getString("host");let L=w.getOptionalString("baseUrl"),j=w.getOptionalString("cloneUrl"),nt=w.getOptionalString("gitilesBaseUrl");const Ct=w.getOptionalString("username"),St=w.getOptionalString("password");if((0,i.bK)(u)){if(L&&!(0,i.jv)(L))throw new Error(`Invalid Gerrit integration config, '${L}' is not a valid baseUrl`);if(j&&!(0,i.jv)(j))throw new Error(`Invalid Gerrit integration config, '${j}' is not a valid cloneUrl`);if(nt&&!(0,i.jv)(nt))throw new Error(`Invalid Gerrit integration config, '${nt}' is not a valid gitilesBaseUrl`)}else throw new Error(`Invalid Gerrit integration config, '${u}' is not a valid host`);return L?L=(0,gt.trimEnd)(L,"/"):L=`https://${u}`,nt?nt=(0,gt.trimEnd)(nt,"/"):nt=`https://${u}`,j?j=(0,gt.trimEnd)(j,"/"):j=L,{host:u,baseUrl:L,cloneUrl:j,gitilesBaseUrl:nt,username:Ct,password:St}}function ft(w){return w.map(G)}var ht=t(48834).lW;const ut=")]}'";function Ot(w,u){const L=new URL(w.gitilesBaseUrl),j=new URL(u),Ct=j.pathname.substring(j.pathname.startsWith("/a/")?2:0).replace(L.pathname,"").split("/").filter(le=>!!le),St=Ct.indexOf("+");if(St<=0)throw new Error(`Unable to parse project from url: ${u}`);const Mt=(0,gt.trimStart)(Ct.slice(0,St).join("/"),"/"),Ut=Ct.indexOf("heads");if(Ut<=0)throw new Error(`Unable to parse branch from url: ${u}`);const ne=Ct[Ut+1],Qt=Ct.slice(Ut+2).join("/");return{branch:ne,filePath:Qt===""?"/":Qt,project:Mt}}function vt(w,u,L,j){return`${w.gitilesBaseUrl}/${u}/+/refs/heads/${L}/${(0,gt.trimStart)(j,"/")}`}function wt(w,u,L,j){const nt=j==="/"||j===""?".tar.gz":`/${j}.tar.gz`;return`${Lt(w)}/${u}/+archive/refs/heads/${L}${nt}`}function It(w){return w.password?"/a/":"/"}function Lt(w){if(!w.baseUrl||!w.gitilesBaseUrl)throw new Error("Unexpected Gerrit config values. baseUrl or gitilesBaseUrl not set.");if(w.gitilesBaseUrl.startsWith(w.baseUrl))return w.gitilesBaseUrl.replace(w.baseUrl.concat("/"),w.baseUrl.concat(It(w)));if(w.password)throw new Error("Since the baseUrl (Gerrit) is not part of the gitilesBaseUrl, an authentication URL could not be constructed.");return w.gitilesBaseUrl}function Zt(w,u){const{branch:L,project:j}=Ot(w,u);return`${w.baseUrl}${It(w)}projects/${encodeURIComponent(j)}/branches/${L}`}function Yt(w,u){const{project:L}=Ot(w,u);return`${w.cloneUrl}${It(w)}${L}`}function ee(w,u){const{branch:L,filePath:j,project:nt}=Ot(w,u);return`${w.baseUrl}${It(w)}projects/${encodeURIComponent(nt)}/branches/${L}/files/${encodeURIComponent(j)}/content`}function Kt(w){return`${w.baseUrl}${It(w)}projects/`}function Oe(w){const u={};if(!w.password)return u;const L=ht.from(`${w.username}:${w.password}`,"utf8");return u.Authorization=`Basic ${L.toString("base64")}`,{headers:u}}async function $t(w){const u=await w.text();if(u.startsWith(ut))try{return JSON.parse(u.slice(ut.length))}catch(L){throw new Error(`Invalid response from Gerrit: ${u.slice(0,10)} - ${L}`)}throw new Error(`Gerrit JSON body prefix missing. Found: ${u.slice(0,10)}`)}class zt{get type(){return"gerrit"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(u){const{url:L,base:j,lineNumber:nt}=u;let Ct;if(L.startsWith("/")){const{branch:St,project:Mt}=Ot(this.config,j);return vt(this.config,Mt,St,L)}return L?Ct=new URL(L,j):Ct=new URL(j),nt&&(Ct.hash=nt.toString()),Ct.toString()}resolveEditUrl(u){return u}constructor(u){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=u}}(0,o._)(zt,"factory",({config:w})=>{var u;const L=ft((u=w.getOptionalConfigArray("integrations.gerrit"))!==null&&u!==void 0?u:[]);return(0,i.gz)(L.map(j=>new zt(j)),j=>j.config.host)});var ie=t(61800);const ue="gitlab.com",Ne="https://gitlab.com/api/v4";function _e(w){const u=w.getString("host");let L=w.getOptionalString("apiBaseUrl");const j=w.getOptionalString("token");let nt=w.getOptionalString("baseUrl");if(L?L=(0,gt.trimEnd)(L,"/"):u===ue&&(L=Ne),nt?nt=(0,gt.trimEnd)(nt,"/"):nt=`https://${u}`,(0,i.bK)(u)){if(!L||!(0,i.jv)(L))throw new Error(`Invalid GitLab integration config, '${L}' is not a valid apiBaseUrl`);if(!(0,i.jv)(nt))throw new Error(`Invalid GitLab integration config, '${nt}' is not a valid baseUrl`)}else throw new Error(`Invalid GitLab integration config, '${u}' is not a valid host`);return{host:u,token:j,apiBaseUrl:L,baseUrl:nt}}function Ye(w){const u=w.map(_e);return u.some(L=>L.host===ue)||u.push({host:ue,apiBaseUrl:Ne,baseUrl:`https://${ue}`}),u}function dn(w){let u="";return w.host!==ue&&(u=new URL(w.baseUrl).pathname),trimEnd(u,"/")}class Be{get type(){return"gitlab"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(u){return(0,i.FI)(u)}resolveEditUrl(u){return Ze(u,"edit")}constructor(u){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=u}}(0,o._)(Be,"factory",({config:w})=>{var u;const L=Ye((u=w.getOptionalConfigArray("integrations.gitlab"))!==null&&u!==void 0?u:[]);return(0,i.gz)(L.map(j=>new Be(j)),j=>j.config.host)});function Ze(w,u){return w.replace(/\/\-\/(blob|tree|edit)\//,`/-/${u}/`)}function me(w){const u=w.getString("host");let L=w.getOptionalString("baseUrl");const j=w.getOptionalString("username"),nt=w.getOptionalString("password");if(!(0,i.bK)(u))throw new Error(`Invalid Gitea integration config, '${u}' is not a valid host`);return L?L=(0,gt.trimEnd)(L,"/"):L=`https://${u}`,{host:u,baseUrl:L,username:j,password:nt}}var tn=t(48834).lW;function ae(w,u){try{var L;const j=(L=w.baseUrl)!==null&&L!==void 0?L:`https://${w.host}`,[nt,Ct,St,Mt,Ut,ne,...Qt]=u.replace(j,"").split("/"),le=Qt.join("/").replace(/^\//,"");return`${j}/${Ct}/${St}/_edit/${ne}/${le}`}catch(j){throw new Error(`Incorrect URL: ${u}, ${j}`)}}function Qe(w,u){try{var L;const j=(L=w.baseUrl)!==null&&L!==void 0?L:`https://${w.host}`,[nt,Ct,St,Mt,Ut,ne,...Qt]=u.replace(j,"").split("/"),le=Qt.join("/").replace(/^\//,"");return`${j}/api/v1/repos/${Ct}/${St}/contents/${le}?ref=${ne}`}catch(j){throw new Error(`Incorrect URL: ${u}, ${j}`)}}function we(w){const u={},{username:L,password:j}=w;return j?(L?u.Authorization=`basic ${tn.from(`${L}:${j}`).toString("base64")}`:u.Authorization=`token ${j}`,{headers:u}):u}class Ke{get type(){return"gitea"}get title(){return this.config.host}resolveUrl(u){return(0,i.FI)(u)}resolveEditUrl(u){return ae(this.config,u)}constructor(u){(0,o._)(this,"config",void 0),this.config=u}}(0,o._)(Ke,"factory",({config:w})=>{var u;const j=((u=w.getOptionalConfigArray("integrations.gitea"))!==null&&u!==void 0?u:[]).map(nt=>me(nt));return(0,i.gz)(j.map(nt=>new Ke(nt)),nt=>nt.config.host)});class De{static fromConfig(u){return new De({awsS3:p.factory({config:u}),azure:K.factory({config:u}),bitbucket:et.factory({config:u}),bitbucketCloud:bt.factory({config:u}),bitbucketServer:F.factory({config:u}),gerrit:zt.factory({config:u}),github:ie.X.factory({config:u}),gitlab:Be.factory({config:u}),gitea:Ke.factory({config:u})})}get awsS3(){return this.byType.awsS3}get azure(){return this.byType.azure}get bitbucket(){return this.byType.bitbucket}get bitbucketCloud(){return this.byType.bitbucketCloud}get bitbucketServer(){return this.byType.bitbucketServer}get gerrit(){return this.byType.gerrit}get github(){return this.byType.github}get gitlab(){return this.byType.gitlab}get gitea(){return this.byType.gitea}list(){return Object.values(this.byType).flatMap(u=>u.list())}byUrl(u){let L=Object.values(this.byType).map(j=>j.byUrl(u)).filter(Boolean);if(L.length>1){const j=L.filter(nt=>!(nt instanceof et));j.length!==0&&(L=j)}return L[0]}byHost(u){return Object.values(this.byType).map(L=>L.byHost(u)).find(Boolean)}resolveUrl(u){const L=this.byUrl(u.base);return L?L.resolveUrl(u):(0,i.FI)(u)}resolveEditUrl(u){const L=this.byUrl(u);return L?L.resolveEditUrl(u):u}constructor(u){(0,o._)(this,"byType",void 0),this.byType=u}}var he=t(95965);class ze{static fromConfig(u){return De.fromConfig(u)}}const en=(0,he.T)({id:"integration.scmintegrations"})},61800:function(Y,R,t){"use strict";t.d(R,{X:function(){return C},B:function(){return A}});var o=t(87612),i=t(38264),d=t(76635);const S="github.com",f="https://api.github.com",p="https://raw.githubusercontent.com";function c(O){var y,P;const m=(P=O.getOptionalString("host"))!==null&&P!==void 0?P:S;let D=O.getOptionalString("apiBaseUrl"),b=O.getOptionalString("rawBaseUrl");const M=O.getOptionalString("token"),B=(y=O.getOptionalConfigArray("apps"))===null||y===void 0?void 0:y.map($=>({appId:$.getNumber("appId"),clientId:$.getString("clientId"),clientSecret:$.getString("clientSecret"),webhookSecret:$.getString("webhookSecret"),privateKey:$.getString("privateKey"),allowedInstallationOwners:$.getOptionalStringArray("allowedInstallationOwners")}));if(!(0,i.bK)(m))throw new Error(`Invalid GitHub integration config, '${m}' is not a valid host`);return D?D=(0,d.trimEnd)(D,"/"):m===S&&(D=f),b?b=(0,d.trimEnd)(b,"/"):m===S&&(b=p),{host:m,apiBaseUrl:D,rawBaseUrl:b,token:M,apps:B}}function h(O){const y=O.map(c);return y.some(P=>P.host===S)||y.push({host:S,apiBaseUrl:f,rawBaseUrl:p}),y}class C{get type(){return"github"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(y){return A((0,i.FI)(y),"tree")}resolveEditUrl(y){return A(y,"edit")}constructor(y){(0,o._)(this,"integrationConfig",void 0),this.integrationConfig=y}}(0,o._)(C,"factory",({config:O})=>{var y;const P=h((y=O.getOptionalConfigArray("integrations.github"))!==null&&y!==void 0?y:[]);return(0,i.gz)(P.map(m=>new C(m)),m=>m.config.host)});function A(O,y){return O.replace(/\/\/([^/]+)\/([^/]+)\/([^/]+)\/(blob|tree|edit)\//,(P,m,D,b)=>`//${m}/${D}/${b}/${y}/`)}},38264:function(Y,R,t){"use strict";t.d(R,{FI:function(){return h},bK:function(){return f},gz:function(){return c},jv:function(){return p}});var o=t(82717),i=t.n(o),d=t(76635),S=t.n(d);function f(A){const O=new URL("http://example.com");return O.host=A,O.host===A}function p(A){try{return new URL(A),!0}catch{return!1}}function c(A,O){return{list(){return A},byUrl(y){try{const P=typeof y=="string"?new URL(y):y;return A.find(m=>O(m)===P.host)}catch{return}},byHost(y){return A.find(P=>O(P)===y)}}}function h(A){const{url:O,base:y,lineNumber:P}=A;try{return new URL(O),O}catch{}let m;if(O.startsWith("/")){const{filepath:D}=i()(y);m=new URL(y);const b=(0,d.trimEnd)(m.pathname.substring(0,m.pathname.length-D.length),"/");m.pathname=`${b}${O}`}else m=new URL(O,y);return m.search=new URL(y).search,P&&(m.hash=`L${P}`),m.toString()}function C(A){beforeAll(()=>A.listen({onUnhandledRequest:"error"})),afterAll(()=>A.close()),afterEach(()=>A.resetHandlers())}},81562:function(Y,R,t){"use strict";var o={};t.r(o),t.d(o,{TechDocsPlugin:function(){return p.s4}});var i=t(52322),d=t(2784),S=t(28316),f=t(73557),p=t(4577),c=t(29895),h=t(2296),C=t(57058),A=t(77277),O=t(87435),y=t(74359),P=t(55015),m=t(71597);function D({children:r}){return(0,f.GV)()?(0,i.jsx)(i.Fragment,{children:r}):(0,i.jsx)(f.VA,{children:r})}const b=()=>(0,i.jsx)(O.m,{status:"404",statusMessage:"PAGE NOT FOUND"}),M=({step:r,error:e})=>{let n="";return r==="load-config"?n=`The configuration failed to load, someone should have a look at this error: ${e.message}`:r==="load-chunk"&&(n=`Lazy loaded chunk failed to load, try to reload the page: ${e.message}`),(0,i.jsx)(D,{children:(0,i.jsx)(O.m,{status:"501",statusMessage:n})})},B=({error:r,resetError:e,plugin:n})=>{var s;return(0,i.jsx)(y.y,{title:`Error in ${(s=n)===null||s===void 0?void 0:s.getId()}`,defaultExpanded:!0,error:r,children:(0,i.jsx)(A.Z,{variant:"outlined",onClick:e,children:"Retry"})})},$={Progress:P.E,Router:m.VK,NotFoundErrorPage:b,BootErrorPage:M,ErrorBoundaryFallback:B};var v=t(87612);const N="Invalid discovery URL pattern,";class lt{static compile(e){const n=e.split(/\{\{\s*pluginId\s*\}\}/),s=n.join("pluginId");let a;try{a=new URL(s)}catch{throw new Error(`${N} URL '${s}' is invalid`)}if(a.hash)throw new Error(`${N} URL must not have a hash`);if(a.search)throw new Error(`${N} URL must not have a query`);if(s.endsWith("/"))throw new Error(`${N} URL must not end with a slash`);return new lt(n)}async getBaseUrl(e){return this.parts.join(encodeURIComponent(e))}constructor(e){(0,v._)(this,"parts",void 0),this.parts=e}}var J=t(82394),V=t.n(J);let K=Symbol.observable;class k{[K](){return this}get closed(){return this.isClosed}next(e){if(this.isClosed)throw new Error("PublishSubject is closed");this.subscribers.forEach(n=>n.next(e))}error(e){if(this.isClosed)throw new Error("PublishSubject is closed");this.isClosed=!0,this.terminatingError=e,this.subscribers.forEach(n=>n.error(e))}complete(){if(this.isClosed)throw new Error("PublishSubject is closed");this.isClosed=!0,this.subscribers.forEach(e=>e.complete())}subscribe(e,n,s){const a=typeof e=="function"?{next:e,error:n,complete:s}:e;return this.observable.subscribe(a)}constructor(){(0,v._)(this,"isClosed",!1),(0,v._)(this,"terminatingError",void 0),(0,v._)(this,"observable",new(V())(e=>this.isClosed?(this.terminatingError?e.error(this.terminatingError):e.complete(),()=>{}):(this.subscribers.add(e),()=>{this.subscribers.delete(e)}))),(0,v._)(this,"subscribers",new Set)}}let Q=Symbol.observable;class it{[Q](){return this}get closed(){return this.isClosed}next(e){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.currentValue=e,this.subscribers.forEach(n=>n.next(e))}error(e){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.isClosed=!0,this.terminatingError=e,this.subscribers.forEach(n=>n.error(e))}complete(){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.isClosed=!0,this.subscribers.forEach(e=>e.complete())}subscribe(e,n,s){const a=typeof e=="function"?{next:e,error:n,complete:s}:e;return this.observable.subscribe(a)}constructor(e){(0,v._)(this,"isClosed",void 0),(0,v._)(this,"currentValue",void 0),(0,v._)(this,"terminatingError",void 0),(0,v._)(this,"observable",void 0),(0,v._)(this,"subscribers",new Set),this.isClosed=!1,this.currentValue=e,this.terminatingError=void 0,this.observable=new(V())(n=>this.isClosed?(this.terminatingError?n.error(this.terminatingError):n.complete(),()=>{}):(n.next(this.currentValue),this.subscribers.add(n),()=>{this.subscribers.delete(n)}))}}class At{post(e){this.subject.next(e)}alert$(){return this.subject}constructor(){(0,v._)(this,"subject",new k)}}class xt{captureEvent(e){}}class mt{post(e,n){var s;return!((s=n)===null||s===void 0)&&s.hidden||this.alertApi.post({message:e.message,severity:"error"}),this.errorApi.post(e,n)}error$(){return this.errorApi.error$()}constructor(e,n){(0,v._)(this,"alertApi",void 0),(0,v._)(this,"errorApi",void 0),this.alertApi=e,this.errorApi=n}}class bt{post(e,n){this.subject.next({error:e,context:n})}error$(){return this.subject}constructor(){(0,v._)(this,"subject",new k)}}class gt{static forward(e,n){window.addEventListener("unhandledrejection",s=>{e.post(s.reason,n)})}}const Pt=new Map;class ct{static create(e){var n;return new ct((n=e.namespace)!==null&&n!==void 0?n:"",e.errorApi)}static addStorageEventListener(){window.addEventListener("storage",e=>{for(const[s,a]of Pt.entries()){var n;!((n=e.key)===null||n===void 0)&&n.startsWith(s)&&a.handleStorageChange(e.key)}})}get(e){return this.snapshot(e).value}snapshot(e){let n,s="absent";try{const a=localStorage.getItem(this.getKeyName(e));a&&(n=JSON.parse(a,(l,E)=>(typeof E=="object"&&E!==null&&Object.freeze(E),E)),s="present")}catch{this.errorApi.post(new Error(`Error when parsing JSON config from storage for: ${e}`))}return{key:e,value:n,presence:s}}forBucket(e){const n=`${this.namespace}/${e}`;return Pt.has(n)||Pt.set(n,new ct(n,this.errorApi)),Pt.get(n)}async set(e,n){localStorage.setItem(this.getKeyName(e),JSON.stringify(n)),this.notifyChanges(e)}async remove(e){localStorage.removeItem(this.getKeyName(e)),this.notifyChanges(e)}observe$(e){return ct.hasSubscribed||(ct.addStorageEventListener(),ct.hasSubscribed=!0),this.observable.filter(({key:n})=>n===e)}handleStorageChange(e){var n,s;if(!(!((n=e)===null||n===void 0)&&n.startsWith(this.namespace)))return;const a=(s=e)===null||s===void 0?void 0:s.slice(`${this.namespace}/`.length);a.includes("/")||this.notifyChanges(decodeURIComponent(a))}getKeyName(e){return`${this.namespace}/${encodeURIComponent(e)}`}notifyChanges(e){const n=this.snapshot(e);for(const s of this.subscribers)s.next(n)}constructor(e,n){(0,v._)(this,"namespace",void 0),(0,v._)(this,"errorApi",void 0),(0,v._)(this,"subscribers",void 0),(0,v._)(this,"observable",void 0),this.namespace=e,this.errorApi=n,this.subscribers=new Set,this.observable=new(V())(s=>(this.subscribers.add(s),()=>{this.subscribers.delete(s)}))}}(0,v._)(ct,"hasSubscribed",!1);function _(r){let e=r.baseImplementation||t.g.fetch;var n;const s=[(n=r.middleware)!==null&&n!==void 0?n:[]].flat().reverse();for(const a of s)e=a.apply(e);return{fetch:e}}class z{static create(e){var n,s;const a=et(e),l=((n=e.header)===null||n===void 0?void 0:n.name)||"authorization",E=((s=e.header)===null||s===void 0?void 0:s.value)||(x=>`Bearer ${x}`);return new z(e.identityApi,a,l,E)}apply(e){return async(n,s)=>{const a=new Request(n,s),{token:l}=await this.identityApi.getCredentials();return a.headers.get(this.headerName)||typeof l!="string"||!l||!this.allowUrl(a.url)?e(n,s):(a.headers.set(this.headerName,this.headerValue(l)),e(a))}}constructor(e,n,s,a){(0,v._)(this,"identityApi",void 0),(0,v._)(this,"allowUrl",void 0),(0,v._)(this,"headerName",void 0),(0,v._)(this,"headerValue",void 0),this.identityApi=e,this.allowUrl=n,this.headerName=s,this.headerValue=a}}function et(r){return r.allowUrl?r.allowUrl:r.urlPrefixAllowlist?at(r.urlPrefixAllowlist):r.config?at([r.config.getString("backend.baseUrl")]):()=>!1}function at(r){const e=r.map(n=>n.replace(/\/$/,""));return n=>e.some(s=>n===s||n.startsWith(`${s}/`))}function dt(r,e){return!e||e==="/"?r:`${r.replace(/\/$/,"")}/${e.replace(/^\//,"")}`}class F{apply(e){return async(n,s)=>{const a=new Request(n,s),l="plugin://";if(!a.url.startsWith(l))return e(n,s);const{hostname:E,pathname:x,search:U,hash:W,username:st,password:X}=new URL(`http://${a.url.substring(l.length)}`);let rt=await this.discoveryApi.getBaseUrl(E);if(st||X){const Et=new URL(rt),Bt=`${st}${X?`:${X}`:""}@`;rt=`${Et.protocol}//${Bt}${Et.host}${Et.pathname}`}const q=`${dt(rt,x)}${U}${W}`;return e(q,typeof n=="string"||G(n)?s:n)}}constructor(e){(0,v._)(this,"discoveryApi",void 0),this.discoveryApi=e}}function G(r){var e;return typeof r=="object"&&((e=r)===null||e===void 0?void 0:e.constructor)===URL}class ft{static resolvePluginProtocol(e){return new F(e.discoveryApi)}static injectIdentityAuth(e){return z.create(e)}constructor(){}}function ht(r,e){for(const n of e)if(!r.has(n))return!1;return!0}function ut(r,...e){const n=new Set(r);for(const s of e)for(const a of s)n.add(a);return n}class Ot{request(e){return new Promise((n,s)=>{this.requests.push({scopes:e,resolve:n,reject:s}),this.subject.next(this.getCurrentPending())})}resolve(e,n){this.requests=this.requests.filter(s=>ht(e,s.scopes)?(s.resolve(n),!1):!0),this.subject.next(this.getCurrentPending())}reject(e){this.requests.forEach(n=>n.reject(e)),this.requests=[],this.subject.next(this.getCurrentPending())}pending(){return this.subject}getCurrentPending(){const e=this.requests.length===0?void 0:this.requests.slice(1).reduce((n,s)=>ut(n,s.scopes),this.requests[0].scopes);return{scopes:e,resolve:n=>{e&&this.resolve(e,n)},reject:n=>{e&&this.reject(n)}}}constructor(){(0,v._)(this,"requests",[]),(0,v._)(this,"subject",new it(this.getCurrentPending()))}}class vt{createAuthRequester(e){const n=new Ot,s=this.handlerCount;return this.handlerCount++,n.pending().subscribe({next:a=>{const l=this.currentRequests.slice(),E=this.makeAuthRequest(a,e);E?l[s]=E:delete l[s],this.currentRequests=l,this.subject.next(l.filter(Boolean))}}),a=>n.request(a)}makeAuthRequest(e,n){const{scopes:s}=e;if(s)return{provider:n.provider,trigger:async()=>{const a=await n.onAuthRequest(s);e.resolve(a)},reject:()=>{const a=new Error("Login failed, rejected by user");a.name="RejectedError",e.reject(a)}}}authRequest$(){return this.subject}constructor(){(0,v._)(this,"subject",new it([])),(0,v._)(this,"currentRequests",[]),(0,v._)(this,"handlerCount",0)}}function wt(r){return new Promise((e,n)=>{const s=r.width||500,a=r.height||700,l=window.screen.width/2-s/2,E=window.screen.height/2-a/2,x=window.open(r.url,r.name,`menubar=no,location=no,resizable=no,scrollbars=no,status=no,width=${s},height=${a},top=${E},left=${l}`);let U="";if(!x||typeof x.closed=="undefined"||x.closed){const rt=new Error("Failed to open auth popup.");rt.name="PopupRejectedError",n(rt);return}const W=rt=>{if(rt.source!==x||rt.origin!==r.origin)return;const{data:q}=rt;if(q.type==="config_info"){U=q.targetOrigin;return}if(q.type!=="authorization_response")return;const Et=q;if("error"in Et){const Bt=new Error(Et.error.message);Bt.name=Et.error.name,n(Bt)}else e(Et.response);X()},st=setInterval(()=>{if(x.closed){const rt=`Login failed, ${U&&U!==window.location.origin?`Incorrect app origin, expected ${U}`:"popup was closed"}`,q=new Error(rt);q.name="PopupClosedError",n(q),X()}},100);function X(){window.removeEventListener("message",W),clearInterval(st)}window.addEventListener("message",W)})}let It=!1;function Lt(r){return[...r].join(" ")}class Zt{async createSession(e){return e.instantPopup?this.enableExperimentalRedirectFlow?this.executeRedirect(e.scopes):this.showPopup(e.scopes):this.authRequester(e.scopes)}async refreshSession(e){const n=await fetch(await this.buildUrl("/refresh",{optional:!0,...e&&{scope:this.joinScopesFunc(e)}}),{headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(a=>{throw new Error(`Auth refresh request failed, ${a}`)});if(!n.ok){const a=new Error(`Auth refresh request failed, ${n.statusText}`);throw a.status=n.status,a}const s=await n.json();if(s.error){const a=new Error(s.error.message);throw s.error.name&&(a.name=s.error.name),a}return await this.sessionTransform(s)}async removeSession(){const e=await fetch(await this.buildUrl("/logout"),{method:"POST",headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(n=>{throw new Error(`Logout request failed, ${n}`)});if(!e.ok){const n=new Error(`Logout request failed, ${e.statusText}`);throw n.status=e.status,n}}async showPopup(e){var n,s,a,l,E,x,U,W;const st=this.joinScopesFunc(e),X=await this.buildUrl("/start",{scope:st,origin:window.location.origin,flow:"popup"}),rt=!((s=this.popupOptions)===null||s===void 0||(n=s.size)===null||n===void 0)&&n.fullscreen?window.screen.width:((l=this.popupOptions)===null||l===void 0||(a=l.size)===null||a===void 0?void 0:a.width)||450,q=!((x=this.popupOptions)===null||x===void 0||(E=x.size)===null||E===void 0)&&E.fullscreen?window.screen.height:((W=this.popupOptions)===null||W===void 0||(U=W.size)===null||U===void 0?void 0:U.height)||730,Et=await wt({url:X,name:`${this.provider.title} Login`,origin:new URL(X).origin,width:rt,height:q});return await this.sessionTransform(Et)}async executeRedirect(e){const n=this.joinScopesFunc(e);return window.location.href=await this.buildUrl("/start",{scope:n,origin:window.location.origin,redirectUrl:window.location.href,flow:"redirect"}),new Promise(()=>{})}async buildUrl(e,n){const s=await this.discoveryApi.getBaseUrl("auth"),a=this.buildQueryString({...n,env:this.environment});return`${s}/${this.provider.id}${e}${a}`}buildQueryString(e){if(!e)return"";const n=Object.entries(e).map(([s,a])=>{if(typeof a=="string")return`${encodeURIComponent(s)}=${encodeURIComponent(a)}`;if(a)return encodeURIComponent(s)}).filter(Boolean).join("&");return n?`?${n}`:""}constructor(e){(0,v._)(this,"discoveryApi",void 0),(0,v._)(this,"environment",void 0),(0,v._)(this,"provider",void 0),(0,v._)(this,"joinScopesFunc",void 0),(0,v._)(this,"authRequester",void 0),(0,v._)(this,"sessionTransform",void 0),(0,v._)(this,"enableExperimentalRedirectFlow",void 0),(0,v._)(this,"popupOptions",void 0);const{configApi:n,discoveryApi:s,environment:a,provider:l,joinScopes:E=Lt,oauthRequestApi:x,sessionTransform:U=X=>X,popupOptions:W}=e;!It&&!n&&(console.warn("DEPRECATION WARNING: Authentication providers require a configApi instance to configure the authentication flow. Please provide one to the authentication provider constructor."),It=!0);var st;this.enableExperimentalRedirectFlow=n&&(st=n.getOptionalBoolean("enableExperimentalRedirectFlow"))!==null&&st!==void 0?st:!1,this.authRequester=x.createAuthRequester({provider:l,onAuthRequest:async X=>this.enableExperimentalRedirectFlow?this.executeRedirect(X):this.showPopup(X)}),this.discoveryApi=s,this.environment=a,this.provider=l,this.joinScopesFunc=E,this.sessionTransform=U,this.popupOptions=W}}function Yt(r,e){for(const n of e)if(!r.has(n))return!1;return!0}class ee{sessionExistsAndHasScope(e,n){if(!e)return!1;if(!n||this.options.sessionScopes===void 0)return!0;const s=this.options.sessionScopes(e);return Yt(s,n)}getExtendedScope(e,n){const s=new Set(this.options.defaultScopes);if(e&&this.options.sessionScopes!==void 0){const a=this.options.sessionScopes(e);for(const l of a)s.add(l)}if(n)for(const a of n)s.add(a);return s}constructor(e){(0,v._)(this,"options",void 0),this.options=e}}var Kt=t(95965),Oe;(function(r){r.SignedIn="SignedIn",r.SignedOut="SignedOut"})(Oe||(Oe={}));const $t=(0,Kt.T)({id:"core.auth.google"}),zt=(0,Kt.T)({id:"core.auth.github"}),ie=(0,Kt.T)({id:"core.auth.okta"}),ue=(0,Kt.T)({id:"core.auth.gitlab"}),Ne=(0,Kt.T)({id:"core.auth.microsoft"}),_e=(0,Kt.T)({id:"core.auth.onelogin"}),Ye=(0,Kt.T)({id:"core.auth.bitbucket"}),dn=(0,Kt.T)({id:"core.auth.bitbucket-server"}),Be=(0,Kt.T)({id:"core.auth.atlassian"});class Ze{setIsSignedIn(e){this.signedIn!==e&&(this.signedIn=e,this.subject.next(this.signedIn?Oe.SignedIn:Oe.SignedOut))}sessionState$(){return this.subject}constructor(){(0,v._)(this,"subject",new it(Oe.SignedOut)),(0,v._)(this,"signedIn",!1)}}class me{async getSession(e){if(this.helper.sessionExistsAndHasScope(this.currentSession,e.scopes)){if(!this.sessionShouldRefreshFunc(this.currentSession))return this.currentSession;try{const s=await this.collapsedSessionRefresh(e.scopes),a=this.sessionScopesFunc(this.currentSession),l=this.sessionScopesFunc(s);return Yt(l,a)&&(this.currentSession=s),s}catch(s){if(e.optional)return;throw s}}if(!this.currentSession&&!e.instantPopup)try{const n=await this.collapsedSessionRefresh(e.scopes);return this.currentSession=n,this.getSession(e)}catch{}if(!e.optional)return this.currentSession=await this.connector.createSession({...e,scopes:this.helper.getExtendedScope(this.currentSession,e.scopes)}),this.stateTracker.setIsSignedIn(!0),this.currentSession}async removeSession(){this.currentSession=void 0,await this.connector.removeSession(),this.stateTracker.setIsSignedIn(!1)}sessionState$(){return this.stateTracker.sessionState$()}async collapsedSessionRefresh(e){if(this.refreshPromise)return this.refreshPromise;this.refreshPromise=this.connector.refreshSession(e);try{const n=await this.refreshPromise;return this.stateTracker.setIsSignedIn(!0),n}finally{delete this.refreshPromise}}constructor(e){(0,v._)(this,"connector",void 0),(0,v._)(this,"helper",void 0),(0,v._)(this,"sessionScopesFunc",void 0),(0,v._)(this,"sessionShouldRefreshFunc",void 0),(0,v._)(this,"stateTracker",new Ze),(0,v._)(this,"refreshPromise",void 0),(0,v._)(this,"currentSession",void 0);const{connector:n,defaultScopes:s=new Set,sessionScopes:a,sessionShouldRefresh:l}=e;this.connector=n,this.sessionScopesFunc=a,this.sessionShouldRefreshFunc=l,this.helper=new ee({sessionScopes:a,defaultScopes:s})}}const tn={id:"oauth2",title:"Your Identity Provider",icon:()=>null};class ae{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=tn,oauthRequestApi:E,defaultScopes:x=[],scopeTransform:U=rt=>rt,popupOptions:W}=e,st=new Zt({configApi:n,discoveryApi:s,environment:a,provider:l,oauthRequestApi:E,sessionTransform({backstageIdentity:rt,...q}){const Et={...q,providerInfo:{idToken:q.providerInfo.idToken,accessToken:q.providerInfo.accessToken,scopes:ae.normalizeScopes(U,q.providerInfo.scope),expiresAt:q.providerInfo.expiresInSeconds?new Date(Date.now()+q.providerInfo.expiresInSeconds*1e3):void 0}};if(rt){var Bt;const jt=(Bt=rt.expiresInSeconds)!==null&&Bt!==void 0?Bt:q.providerInfo.expiresInSeconds;Et.backstageIdentity={token:rt.token,identity:rt.identity,expiresAt:jt?new Date(Date.now()+jt*1e3):void 0}}return Et},popupOptions:W}),X=new me({connector:st,defaultScopes:new Set(x),sessionScopes:rt=>rt.providerInfo.scopes,sessionShouldRefresh:rt=>{var q,Et;let Bt=1/0;return!((q=rt.providerInfo)===null||q===void 0)&&q.expiresAt&&(Bt=Math.min(Bt,(rt.providerInfo.expiresAt.getTime()-Date.now())/1e3)),!((Et=rt.backstageIdentity)===null||Et===void 0)&&Et.expiresAt&&(Bt=Math.min(Bt,(rt.backstageIdentity.expiresAt.getTime()-Date.now())/1e3)),Bt<60*5}});return new ae({sessionManager:X,scopeTransform:U})}async signIn(){await this.getAccessToken()}async signOut(){await this.sessionManager.removeSession()}sessionState$(){return this.sessionManager.sessionState$()}async getAccessToken(e,n){var s;const a=ae.normalizeScopes(this.scopeTransform,e),l=await this.sessionManager.getSession({...n,scopes:a});var E;return(E=(s=l)===null||s===void 0?void 0:s.providerInfo.accessToken)!==null&&E!==void 0?E:""}async getIdToken(e={}){var n;const s=await this.sessionManager.getSession({...e,scopes:new Set(["openid"])});var a;return(a=(n=s)===null||n===void 0?void 0:n.providerInfo.idToken)!==null&&a!==void 0?a:""}async getBackstageIdentity(e={}){var n;return(n=await this.sessionManager.getSession(e))===null||n===void 0?void 0:n.backstageIdentity}async getProfile(e={}){var n;return(n=await this.sessionManager.getSession(e))===null||n===void 0?void 0:n.profile}static normalizeScopes(e,n){if(!n)return new Set;const s=Array.isArray(n)?n:n.split(/[\s|,]/).filter(Boolean);return new Set(e(s))}constructor(e){(0,v._)(this,"sessionManager",void 0),(0,v._)(this,"scopeTransform",void 0),this.sessionManager=e.sessionManager,this.scopeTransform=e.scopeTransform}}const Qe={id:"google",title:"Google",icon:()=>null},we="https://www.googleapis.com/auth/";class Ke{static create(e){const{configApi:n,discoveryApi:s,oauthRequestApi:a,environment:l="development",provider:E=Qe,defaultScopes:x=["openid",`${we}userinfo.email`,`${we}userinfo.profile`]}=e;return ae.create({configApi:n,discoveryApi:s,oauthRequestApi:a,provider:E,environment:l,defaultScopes:x,scopeTransform(U){return U.map(W=>W==="openid"?W:W==="profile"||W==="email"?`${we}userinfo.${W}`:W.startsWith(we)?W:`${we}${W}`)}})}}const De={id:"microsoft",title:"Microsoft",icon:()=>null};class he{static create(e){return new he(e)}microsoftGraph(){return this.oauth2[he.MicrosoftGraphID]}static resourceForScopes(e){const n=[...new Set(e.split(" ").map(he.resourceForScope).filter(l=>l!=="openid"))];if(n.length>1)return Promise.reject(new Error(`Requested access token with scopes from multiple Azure resources: ${n.join(", ")}. Access tokens can only have a single audience.`));var s;const a=(s=n[0])!==null&&s!==void 0?s:he.MicrosoftGraphID;return Promise.resolve(a)}static resourceForScope(e){var n;const s=(n=e.match(RegExp("^(?<resourceURI>.*)\\/(?<scp>[^\\/]*)$")))===null||n===void 0?void 0:n.groups;if(s){const{resourceURI:a}=s;return a.replace(/^api:\/\//,"")}switch(e){case"email":case"openid":case"offline_access":case"profile":return"openid";default:return he.MicrosoftGraphID}}async getAccessToken(e,n){const s=e===void 0?he.MicrosoftGraphID:await he.resourceForScopes(Array.isArray(e)?e.join(" "):e);return s in this.oauth2||(this.oauth2[s]=ae.create({configApi:this.configApi,discoveryApi:this.discoveryApi,oauthRequestApi:this.oauthRequestApi,provider:this.provider,environment:this.environment,scopeTransform:this.scopeTransform})),this.oauth2[s].getAccessToken(e,n)}getIdToken(e){return this.microsoftGraph().getIdToken(e)}getProfile(e){return this.microsoftGraph().getProfile(e)}getBackstageIdentity(e){return this.microsoftGraph().getBackstageIdentity(e)}signIn(){return this.microsoftGraph().signIn()}signOut(){return this.microsoftGraph().signOut()}sessionState$(){return this.microsoftGraph().sessionState$()}constructor(e){(0,v._)(this,"oauth2",void 0),(0,v._)(this,"configApi",void 0),(0,v._)(this,"environment",void 0),(0,v._)(this,"provider",void 0),(0,v._)(this,"oauthRequestApi",void 0),(0,v._)(this,"discoveryApi",void 0),(0,v._)(this,"scopeTransform",void 0);const{configApi:n,environment:s="development",provider:a=De,oauthRequestApi:l,discoveryApi:E,defaultScopes:x=["openid","offline_access","profile","email","User.Read"],scopeTransform:U=W=>W.concat("offline_access")}=e;this.configApi=n,this.environment=s,this.provider=a,this.oauthRequestApi=l,this.discoveryApi=E,this.scopeTransform=U,this.oauth2={[he.MicrosoftGraphID]:ae.create({configApi:this.configApi,discoveryApi:this.discoveryApi,oauthRequestApi:this.oauthRequestApi,provider:this.provider,environment:this.environment,scopeTransform:this.scopeTransform,defaultScopes:x})}}}(0,v._)(he,"MicrosoftGraphID","00000003-0000-0000-c000-000000000000");const ze={id:"github",title:"GitHub",icon:()=>null};class en{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=ze,oauthRequestApi:E,defaultScopes:x=["read:user"]}=e;return ae.create({configApi:n,discoveryApi:s,oauthRequestApi:E,provider:l,environment:a,defaultScopes:x})}}const w={id:"okta",title:"Okta",icon:()=>null},u=new Set(["openid","profile","email","phone","address","groups","offline_access"]),L="okta.";class j{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=w,oauthRequestApi:E,defaultScopes:x=["openid","email","profile","offline_access"]}=e;return ae.create({configApi:n,discoveryApi:s,oauthRequestApi:E,provider:l,environment:a,defaultScopes:x,scopeTransform(U){return U.map(W=>u.has(W)||W.startsWith(L)?W:`${L}${W}`)}})}}const nt={id:"gitlab",title:"GitLab",icon:()=>null};class Ct{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=nt,oauthRequestApi:E,defaultScopes:x=["read_user"]}=e;return ae.create({configApi:n,discoveryApi:s,oauthRequestApi:E,provider:l,environment:a,defaultScopes:x})}}const St={id:"onelogin",title:"onelogin",icon:()=>null},Mt=new Set(["openid","profile","email","phone","address","groups","offline_access"]),Ut="onelogin.";class ne{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=St,oauthRequestApi:E}=e;return ae.create({configApi:n,discoveryApi:s,oauthRequestApi:E,provider:l,environment:a,defaultScopes:["openid","email","profile","offline_access"],scopeTransform(x){return x.map(U=>Mt.has(U)||U.startsWith(Ut)?U:`${Ut}${U}`)}})}}const Qt={id:"bitbucket",title:"Bitbucket",icon:()=>null};class le{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=Qt,oauthRequestApi:E,defaultScopes:x=["team"]}=e;return ae.create({configApi:n,discoveryApi:s,oauthRequestApi:E,provider:l,environment:a,defaultScopes:x})}}const nn={id:"bitbucketServer",title:"Bitbucket Server",icon:()=>null};class fe{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=nn,oauthRequestApi:E,defaultScopes:x=["PROJECT_ADMIN"]}=e;return ae.create({configApi:n,discoveryApi:s,oauthRequestApi:E,provider:l,environment:a,defaultScopes:x})}}const Xt={id:"atlassian",title:"Atlassian",icon:()=>null};class Me{static create(e){const{configApi:n,discoveryApi:s,environment:a="development",provider:l=Xt,oauthRequestApi:E}=e;return ae.create({configApi:n,discoveryApi:s,oauthRequestApi:E,provider:l,environment:a})}}var Wt=t(42380),oe=t(96727),qt=t(6542),Dn=t(78847),Ee=t(86386),Mn=t(58513);const jn=(0,Kt.T)({id:"core.storage"});var Ln=t(85094),on=t(77186);const Re=(0,Kt.T)({id:"core.oauthrequest"}),Xn=(0,Kt.T)({id:"plugin.permission.api"});var Je=t(41385),qn=t(96279),Bn=t.n(qn),to=t(9571),Ht=t(30195),Ue;(function(r){r.DENY="DENY",r.ALLOW="ALLOW",r.CONDITIONAL="CONDITIONAL"})(Ue||(Ue={}));const rn=Ht.z.lazy(()=>Ht.z.object({rule:Ht.z.string(),resourceType:Ht.z.string(),params:Ht.z.record(Ht.z.any()).optional()}).or(Ht.z.object({anyOf:Ht.z.array(rn).nonempty()})).or(Ht.z.object({allOf:Ht.z.array(rn).nonempty()})).or(Ht.z.object({not:rn}))),eo=Ht.z.object({result:Ht.z.literal(Ue.ALLOW).or(Ht.z.literal(Ue.DENY))}),no=Ht.z.union([Ht.z.object({result:Ht.z.literal(Ue.ALLOW).or(Ht.z.literal(Ue.DENY))}),Ht.z.object({result:Ht.z.literal(Ue.CONDITIONAL),pluginId:Ht.z.string(),resourceType:Ht.z.string(),conditions:rn})]),oo=(r,e)=>Ht.z.object({items:Ht.z.array(Ht.z.intersection(Ht.z.object({id:Ht.z.string()}),r)).refine(n=>n.length===e.size&&n.every(({id:s})=>e.has(s)),{message:"Items in response do not match request"})});class ro{async authorize(e,n){return this.makeRequest(e,eo,n)}async authorizeConditional(e,n){return this.makeRequest(e,no,n)}async makeRequest(e,n,s){var a;if(!this.enabled)return e.map(X=>({result:Ue.ALLOW}));const l={items:e.map(X=>({id:to.Z(),...X}))},E=await this.discovery.getBaseUrl("permission"),x=await Bn()(`${E}/authorize`,{method:"POST",body:JSON.stringify(l),headers:{...this.getAuthorizationHeader((a=s)===null||a===void 0?void 0:a.token),"content-type":"application/json"}});if(!x.ok)throw await Je.V.fromResponse(x);const U=await x.json(),st=oo(n,new Set(l.items.map(({id:X})=>X))).parse(U).items.reduce((X,rt)=>(X[rt.id]=rt,X),{});return l.items.map(X=>st[X.id])}getAuthorizationHeader(e){return e?{Authorization:`Bearer ${e}`}:{}}constructor(e){(0,v._)(this,"enabled",void 0),(0,v._)(this,"discovery",void 0),this.discovery=e.discovery;var n;this.enabled=(n=e.config.getOptionalBoolean("permission.enabled"))!==null&&n!==void 0?n:!1}}class xn{static create(e){const{config:n,discovery:s,identity:a}=e,l=new ro({discovery:s,config:n});return new xn(l,a)}async authorize(e){return(await this.permissionClient.authorize([e],await this.identityApi.getCredentials()))[0]}constructor(e,n){(0,v._)(this,"permissionClient",void 0),(0,v._)(this,"identityApi",void 0),this.permissionClient=e,this.identityApi=n}}const Cn=[(0,Wt.n)({api:oe.N,deps:{configApi:qt.D},factory:({configApi:r})=>lt.compile(`${r.getString("backend.baseUrl")}/api/{{ pluginId }}`)}),(0,Wt.n)({api:Dn.$,deps:{},factory:()=>new At}),(0,Wt.n)({api:Ee.v,deps:{},factory:()=>new xt}),(0,Wt.n)({api:Mn.V,deps:{alertApi:Dn.$},factory:({alertApi:r})=>{const e=new mt(r,new bt);return gt.forward(e,{hidden:!1}),e}}),(0,Wt.n)({api:jn,deps:{errorApi:Mn.V},factory:({errorApi:r})=>ct.create({errorApi:r})}),(0,Wt.n)({api:Ln.g,deps:{configApi:qt.D,identityApi:on.$,discoveryApi:oe.N},factory:({configApi:r,identityApi:e,discoveryApi:n})=>_({middleware:[ft.resolvePluginProtocol({discoveryApi:n}),ft.injectIdentityAuth({identityApi:e,config:r})]})}),(0,Wt.n)({api:Re,deps:{},factory:()=>new vt}),(0,Wt.n)({api:$t,deps:{discoveryApi:oe.N,oauthRequestApi:Re,configApi:qt.D},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>Ke.create({configApi:n,discoveryApi:r,oauthRequestApi:e,environment:n.getOptionalString("auth.environment")})}),(0,Wt.n)({api:Ne,deps:{discoveryApi:oe.N,oauthRequestApi:Re,configApi:qt.D},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>he.create({configApi:n,discoveryApi:r,oauthRequestApi:e,environment:n.getOptionalString("auth.environment")})}),(0,Wt.n)({api:zt,deps:{discoveryApi:oe.N,oauthRequestApi:Re,configApi:qt.D},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>en.create({configApi:n,discoveryApi:r,oauthRequestApi:e,defaultScopes:["read:user"],environment:n.getOptionalString("auth.environment")})}),(0,Wt.n)({api:ie,deps:{discoveryApi:oe.N,oauthRequestApi:Re,configApi:qt.D},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>j.create({configApi:n,discoveryApi:r,oauthRequestApi:e,environment:n.getOptionalString("auth.environment")})}),(0,Wt.n)({api:ue,deps:{discoveryApi:oe.N,oauthRequestApi:Re,configApi:qt.D},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>Ct.create({configApi:n,discoveryApi:r,oauthRequestApi:e,environment:n.getOptionalString("auth.environment")})}),(0,Wt.n)({api:_e,deps:{discoveryApi:oe.N,oauthRequestApi:Re,configApi:qt.D},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>ne.create({configApi:n,discoveryApi:r,oauthRequestApi:e,environment:n.getOptionalString("auth.environment")})}),(0,Wt.n)({api:Ye,deps:{discoveryApi:oe.N,oauthRequestApi:Re,configApi:qt.D},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>le.create({configApi:n,discoveryApi:r,oauthRequestApi:e,defaultScopes:["team"],environment:n.getOptionalString("auth.environment")})}),(0,Wt.n)({api:dn,deps:{discoveryApi:oe.N,oauthRequestApi:Re,configApi:qt.D},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>fe.create({configApi:n,discoveryApi:r,oauthRequestApi:e,defaultScopes:["REPO_READ"]})}),(0,Wt.n)({api:Be,deps:{discoveryApi:oe.N,oauthRequestApi:Re,configApi:qt.D},factory:({discoveryApi:r,oauthRequestApi:e,configApi:n})=>Me.create({configApi:n,discoveryApi:r,oauthRequestApi:e,environment:n.getOptionalString("auth.environment")})}),(0,Wt.n)({api:Xn,deps:{discovery:oe.N,identity:on.$,config:qt.D},factory:({config:r,discovery:e,identity:n})=>xn.create({config:r,discovery:e,identity:n})})];var so=t(43642),io=t(80079),ao=t(90941),lo=t(32915),co=t(40562),uo=t(21853),ho=t(60744),fo=t(66569),po=t(30254),go=t(13384),vo=t(15933),mo=t(58838),yo=t(86737),Eo=t(4989),xo=t(44407),Co=t(18628),Un=t(84219),Fn=t(98685),Ao=t(39781),Oo=t(39412);const $n={brokenImage:io.Z,catalog:Co.Z,scaffolder:lo.Z,techdocs:co.Z,search:uo.Z,chat:ho.Z,dashboard:fo.Z,docs:po.Z,email:go.Z,github:mo.Z,group:Un.Z,help:yo.Z,"kind:api":vo.Z,"kind:component":xo.Z,"kind:domain":so.Z,"kind:group":Un.Z,"kind:location":Eo.Z,"kind:system":ao.Z,"kind:user":Fn.Z,"kind:resource":Oo.Z,user:Fn.Z,warning:Ao.Z};var So=t(87561),bo=t(12536),Po=t(19219),Ro=t(41547),An=t(3493),To=t(81887);const On=(0,bo.Z)({productionPrefix:"jss4-"});function Wn(r){const{children:e,theme:n,noCssBaseline:s=!1}=r,a=n.getTheme("v4"),l=n.getTheme("v5");let E;s||(E=(0,i.jsx)(So.ZP,{}));let x=(0,i.jsxs)(i.Fragment,{children:[E,e]});return a&&(x=(0,i.jsx)(Po.ZP,{generateClassName:On,children:(0,i.jsx)(Ro.Z,{theme:a,children:x})})),l&&(x=(0,i.jsx)(An.Z,{injectFirst:!0,children:(0,i.jsx)(To.Z,{theme:l,children:x})})),x}const Nn={light:{type:"light",mode:"light",background:{default:"#F8F8F8",paper:"#FFFFFF"},status:{ok:"#1DB954",warning:"#FF9800",error:"#E22134",running:"#1F5493",pending:"#FFED51",aborted:"#757575"},bursts:{fontColor:"#FEFEFE",slackChannelText:"#ddd",backgroundColor:{default:"#7C3699"},gradient:{linear:"linear-gradient(-137deg, #4BB8A5 0%, #187656 100%)"}},primary:{main:"#1F5493"},banner:{info:"#2E77D0",error:"#E22134",text:"#FFFFFF",link:"#000000",closeButtonColor:"#FFFFFF",warning:"#FF9800"},border:"#E6E6E6",textContrast:"#000000",textVerySubtle:"#DDD",textSubtle:"#6E6E6E",highlight:"#FFFBCC",errorBackground:"#FFEBEE",warningBackground:"#F59B23",infoBackground:"#ebf5ff",errorText:"#CA001B",infoText:"#004e8a",warningText:"#000000",linkHover:"#2196F3",link:"#0A6EBE",gold:"#FFD600",navigation:{background:"#171717",indicator:"#9BF0E1",color:"#b5b5b5",selectedColor:"#FFF",navItem:{hoverBackground:"#404040"},submenu:{background:"#404040"}},pinSidebarButton:{icon:"#181818",background:"#BDBDBD"},tabbar:{indicator:"#9BF0E1"}},dark:{type:"dark",mode:"dark",background:{default:"#333333",paper:"#424242"},status:{ok:"#71CF88",warning:"#FFB84D",error:"#F84C55",running:"#3488E3",pending:"#FEF071",aborted:"#9E9E9E"},bursts:{fontColor:"#FEFEFE",slackChannelText:"#ddd",backgroundColor:{default:"#7C3699"},gradient:{linear:"linear-gradient(-137deg, #4BB8A5 0%, #187656 100%)"}},primary:{main:"#9CC9FF",dark:"#82BAFD"},secondary:{main:"#FF88B2"},banner:{info:"#2E77D0",error:"#E22134",text:"#FFFFFF",link:"#000000",closeButtonColor:"#FFFFFF",warning:"#FF9800"},border:"#E6E6E6",textContrast:"#FFFFFF",textVerySubtle:"#727272",textSubtle:"#CCCCCC",highlight:"#FFFBCC",errorBackground:"#FFEBEE",warningBackground:"#F59B23",infoBackground:"#ebf5ff",errorText:"#CA001B",infoText:"#004e8a",warningText:"#000000",linkHover:"#82BAFD",link:"#9CC9FF",gold:"#FFD600",navigation:{background:"#424242",indicator:"#9BF0E1",color:"#b5b5b5",selectedColor:"#FFF",navItem:{hoverBackground:"#404040"},submenu:{background:"#404040"}},pinSidebarButton:{icon:"#404040",background:"#BDBDBD"},tabbar:{indicator:"#9BF0E1"}}};var un=t(88412),Io=t(50629),g=t(80956),T=t(73689),I=t(93606);const Z={wave:`url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='1368' height='401' x='0' y='0' maskUnits='userSpaceOnUse'%3e%3cpath fill='url(%23paint0_linear)' d='M437 116C223 116 112 0 112 0h1256v400c-82 0-225-21-282-109-112-175-436-175-649-175z'/%3e%3cpath fill='url(%23paint1_linear)' d='M1368 400V282C891-29 788 40 711 161 608 324 121 372 0 361v39h1368z'/%3e%3cpath fill='url(%23paint2_linear)' d='M1368 244v156H0V94c92-24 198-46 375 0l135 41c176 51 195 109 858 109z'/%3e%3cpath fill='url(%23paint3_linear)' d='M1252 400h116c-14-7-35-14-116-16-663-14-837-128-1013-258l-85-61C98 28 46 8 0 0v400h1252z'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M-172-98h1671v601H-172z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='602' x2='1093.5' y1='-960.5' y2='272' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='482' x2='480' y1='1058.5' y2='70.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='424' x2='446.1' y1='-587.5' y2='274.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint3_linear' x1='587' x2='349' y1='-1120.5' y2='341' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e")`,wave2:`url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='1764' height='479' x='-229' y='-6' maskUnits='userSpaceOnUse'%3e%3cpath fill='url(%23paint0_linear)' d='M0 400h1350C1321 336 525 33 179-2c-345-34-395 236-408 402H0z'/%3e%3cpath fill='url(%23paint1_linear)' d='M1378 177v223H0V217s219 75 327 52C436 246 717-35 965 45s254 144 413 132z'/%3e%3cpath fill='url(%23paint2_linear)' d='M26 400l-78-16c-170 205-44-6-137-30l-4-1 4 1 137 30c37-45 89-110 159-201 399-514-45 238 1176-50 275-65 354-39 91 267H26z'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M0 0h1368v400H0z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='431' x2='397.3' y1='-599' y2='372.8' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='236.5' x2='446.6' y1='-586' y2='381.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='851.8' x2='640.4' y1='-867.2' y2='363.7' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e")`,round:`url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='2269' height='1408' x='-610' y='-509' maskUnits='userSpaceOnUse'%3e%3ccircle cx='1212.8' cy='74.8' r='317.5' fill='url(%23paint0_linear)' transform='rotate(-52 1213 75)'/%3e%3ccircle cx='737.8' cy='445.8' r='317.5' fill='url(%23paint1_linear)' transform='rotate(-116 738 446)'/%3e%3ccircle cx='601.8' cy='52.8' r='418.6' fill='url(%23paint2_linear)' transform='rotate(-117 602 53)'/%3e%3ccircle cx='999.8' cy='364' r='389.1' fill='url(%23paint3_linear)' transform='rotate(31 1000 364)'/%3e%3cellipse cx='-109.2' cy='263.5' fill='url(%23paint4_linear)' rx='429.2' ry='465.8' transform='rotate(-85 -109 264)'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M0 0h1368v400H0z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='1301.2' x2='161.4' y1='-1879.7' y2='-969.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='826.2' x2='-313.6' y1='-1508.7' y2='-598.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='718.4' x2='-784.3' y1='-2524' y2='-1324.2' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint3_linear' x1='1108.2' x2='-288.6' y1='-2031.1' y2='-915.9' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint4_linear' x1='10.4' x2='-1626.5' y1='-2603.8' y2='-1399.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e")`},H={darkGrey:["#171717","#383838"],marineBlue:["#006D8F","#0049A1"],veryBlue:["#0027AF","#270094"],rubyRed:["#98002B","#8D1134"],toastyOrange:["#BE2200","#A41D00"],purpleSky:["#8912CA","#3E00EA"],eveningSea:["#00FFF2","#035355"],teal:["#005B4B"],pinkSea:["#C8077A","#C2297D"],greens:["#4BB8A5","#187656"]};function tt(r){var e;const{colors:n,shape:s,options:a}=r,E=`linear-gradient(90deg, ${(n.length===1?[n[0],n[0]]:n).join(", ")})`,x=`${s}, ${E}`;var U;const W=(U=(e=a)===null||e===void 0?void 0:e.fontColor)!==null&&U!==void 0?U:"#FFFFFF";return{colors:n,shape:s,backgroundImage:x,fontColor:W}}const ot={home:tt({colors:H.teal,shape:Z.wave}),documentation:tt({colors:H.pinkSea,shape:Z.wave2}),tool:tt({colors:H.purpleSky,shape:Z.round}),service:tt({colors:H.marineBlue,shape:Z.wave}),website:tt({colors:H.veryBlue,shape:Z.wave}),library:tt({colors:H.rubyRed,shape:Z.wave}),other:tt({colors:H.darkGrey,shape:Z.wave}),app:tt({colors:H.toastyOrange,shape:Z.wave}),apis:tt({colors:H.teal,shape:Z.wave2}),card:tt({colors:H.greens,shape:Z.wave})},pt=16,yt='"Helvetica Neue", Helvetica, Roboto, Arial, sans-serif',Rt="home";function Dt(r){const{palette:e,htmlFontSize:n=pt,fontFamily:s=yt,defaultPageTheme:a=Rt,pageTheme:l=ot,typography:E}=r;if(!l[a])throw new Error(`${a} is not defined in pageTheme.`);const x={htmlFontSize:n,fontFamily:s,h1:{fontSize:54,fontWeight:700,marginBottom:10},h2:{fontSize:40,fontWeight:700,marginBottom:8},h3:{fontSize:32,fontWeight:700,marginBottom:6},h4:{fontWeight:700,fontSize:28,marginBottom:6},h5:{fontWeight:700,fontSize:24,marginBottom:4},h6:{fontWeight:700,fontSize:20,marginBottom:2}};var U;return{palette:e,typography:E!=null?E:x,page:l[a],getPageTheme:({themeId:W})=>(U=l[W])!==null&&U!==void 0?U:l[a]}}var Nt=t(47591);const Tt={MuiCssBaseline:{styleOverrides:r=>({html:{height:"100%",fontFamily:r.typography.fontFamily},body:{height:"100%",fontFamily:r.typography.fontFamily,overscrollBehaviorY:"none",fontSize:"0.875rem",lineHeight:1.43},a:{color:"inherit",textDecoration:"none"}})},MuiGrid:{defaultProps:{spacing:2}},MuiSwitch:{defaultProps:{color:"primary"}},MuiTableRow:{styleOverrides:{root:({theme:r})=>({"&:nth-of-type(odd)":{backgroundColor:r.palette.background.default}}),hover:{"&:hover":{cursor:"pointer"}},head:({theme:r})=>({"&:nth-of-type(odd)":{backgroundColor:r.palette.background.paper}})}},MuiTableCell:{styleOverrides:{root:({theme:r})=>({wordBreak:"break-word",overflow:"hidden",verticalAlign:"middle",lineHeight:"1",margin:0,padding:r.spacing(3,2,3,2.5),borderBottom:0}),sizeSmall:({theme:r})=>({padding:r.spacing(1.5,2,1.5,2.5)}),head:({theme:r})=>({wordBreak:"break-word",overflow:"hidden",color:r.palette.textSubtle,fontWeight:"normal",lineHeight:"1"})}},MuiTabs:{styleOverrides:{root:{minHeight:24}}},MuiTab:{styleOverrides:{root:({theme:r})=>({color:r.palette.link,minHeight:24,textTransform:"initial",letterSpacing:"0.07em","&:hover":{color:(0,Nt._j)(r.palette.link,.3),background:(0,Nt.$n)(r.palette.link,.95)},[r.breakpoints.up("md")]:{minWidth:120,fontSize:r.typography.pxToRem(14),fontWeight:500}}),textColorPrimary:({theme:r})=>({color:r.palette.link})}},MuiTableSortLabel:{styleOverrides:{root:{color:"inherit","&:hover":{color:"inherit"},"&:focus":{color:"inherit"},"&.Mui-active":{fontWeight:"bold",color:"inherit"}}}},MuiListItemText:{styleOverrides:{dense:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}}},MuiButton:{styleOverrides:{text:{padding:void 0}}},MuiChip:{styleOverrides:{root:({theme:r})=>({marginRight:r.spacing(1),marginBottom:r.spacing(1)}),label:({theme:r})=>({lineHeight:r.spacing(2.5),fontWeight:r.typography.fontWeightMedium,fontSize:r.spacing(1.75)}),labelSmall:({theme:r})=>({fontSize:r.spacing(1.5)}),deleteIcon:({theme:r})=>({width:r.spacing(3),height:r.spacing(3),margin:r.spacing(0,.75,0,-.75)}),deleteIconSmall:({theme:r})=>({width:r.spacing(2),height:r.spacing(2),margin:r.spacing(0,.5,0,-.5)})}},MuiCard:{styleOverrides:{root:{display:"flex",flexDirection:"column"}}},MuiCardHeader:{styleOverrides:{root:{paddingBottom:0}}},MuiCardContent:{styleOverrides:{root:{flexGrow:1,"&:last-child":{paddingBottom:void 0}}}},MuiCardActions:{styleOverrides:{root:{justifyContent:"flex-end"}}},MuiLink:{defaultProps:{underline:"hover"}}},se=r=>(...e)=>{const n=e.length===0?[1]:e,s=(a,l)=>typeof a=="string"?a:l*a;return n.map(a=>{const l=s(a,r);return typeof l=="number"?`${l}px`:l}).join(" ")};function ce(r,e){if(!e||typeof e=="string")return;const n=typeof e=="function"?e(r):e;if(n)return{"@global":n}}function Gt(r,e){if(!(!e||typeof e=="string")){if(typeof e=="object"){const n={...r},s=r.spacing(1);return typeof s=="number"&&(n.spacing=se(s)),Object.fromEntries(Object.entries(e).map(([a,l])=>typeof l=="function"?[a,l({theme:n})]:[a,l]))}return e}}const kt=/^&.Mui-([\w-]+)$/;function Vt(r){let e=r;if(!r||typeof r!="object")return e;for(const n of Object.keys(r)){const s=r[n];if(!(!s||typeof s!="object"))for(const a of Object.keys(s)){const l=a,E=l.match(kt);if(E){const[,x]=E,{[l]:U,...W}=s;U&&(e={...e,[n]:W,[x]:U})}}}return e}function re(r,e={}){const n={},s={};for(const a of Object.keys(e)){const l=e[a];l&&("styleOverrides"in l&&(a==="MuiCssBaseline"?n[a]=ce(r,l.styleOverrides):n[a]=Vt(Gt(r,l.styleOverrides))),"defaultProps"in l&&(s[a]=l.defaultProps))}return{overrides:n,props:s}}var Ft=new WeakMap;class _t{getTheme(e){return(0,un._)(this,Ft).get(e)}constructor(e,n){(0,Io._)(this,Ft,{writable:!0,value:new Map}),(0,g._)(this,Ft,new Map),e&&(0,un._)(this,Ft).set("v4",e),n&&(0,un._)(this,Ft).set("v5",n)}}function Jt(r){const e=Dt(r),n={...Tt,...r.components},s=(0,I.Z)({...e,components:n}),a=re(s,n),l={...(0,T.Z)(e),...a};return new _t(l,s)}function ve(r){const e=adaptV4Theme(r),n=createTheme(r);return new _t(n,e)}const xe={light:Jt({palette:Nn.light}),dark:Jt({palette:Nn.dark})};var pe=t(98192),ke=t(15222);const ge=[{id:"light",title:"Light Theme",variant:"light",icon:(0,i.jsx)(ke.Z,{}),Provider:({children:r})=>(0,i.jsx)(Wn,{theme:xe.light,children:r})},{id:"dark",title:"Dark Theme",variant:"dark",icon:(0,i.jsx)(pe.Z,{}),Provider:({children:r})=>(0,i.jsx)(Wn,{theme:xe.dark,children:r})}];var sn=t(64279),Xe=t(13980),an=t.n(Xe);class wo{get(e){for(const n of this.holders){const s=n.get(e);if(s)return s}}constructor(...e){(0,v._)(this,"holders",void 0),this.holders=e}}var hn=t(29651),Zn=t(68993);const Ho=(0,hn.CT)("api-context"),Do=r=>{var e;const{apis:n,children:s}=r,a=(e=(0,d.useContext)(Ho))===null||e===void 0?void 0:e.atVersion(1),l=a?new wo(n,a):n;return(0,i.jsx)(Ho.Provider,{value:(0,Zn.E)({1:l}),children:s})};Do.propTypes={apis:an().shape({get:an().func.isRequired}).isRequired,children:an().node};var Lr=t(9850),Br=t.n(Lr),Ur=t(12782),Fr=t.n(Ur);const $r=/^[a-z][a-z0-9]*(?:[-_][a-z][a-z0-9]*)*$/i;function Sn(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)}function Mo(r){if(r===null)return"null";if(Array.isArray(r))return"array";const e=typeof r;return e==="number"&&isNaN(r)?"nan":e==="string"&&r===""?"empty-string":e}const Te={type(r,e,n,s){return`Invalid type in config for key '${r}' in '${e}', got ${n}, wanted ${s}`},missing(r){return`Missing required config value at '${r}'`},convert(r,e,n){return`Unable to convert config value for key '${r}' in '${e}' to a ${n}`}};class fn{static fromConfigs(e){return e.length===0?new fn(void 0):e.reduce((n,{data:s,context:a,filteredKeys:l,deprecatedKeys:E})=>{const x=new fn(s,a,n);if(x.filteredKeys=l,E)for(const{key:U,description:W}of E)console.warn(`The configuration key '${U}' of ${a} is deprecated and may be removed soon. ${W||""}`);return x},void 0)}has(e){var n;if(this.readValue(e)!==void 0)return!0;var a;return(a=(n=this.fallback)===null||n===void 0?void 0:n.has(e))!==null&&a!==void 0?a:!1}keys(){var e;const n=this.data?Object.keys(this.data):[];var s;const a=(s=(e=this.fallback)===null||e===void 0?void 0:e.keys())!==null&&s!==void 0?s:[];return[...new Set([...n,...a])]}get(e){const n=this.getOptional(e);if(n===void 0)throw new Error(Te.missing(this.fullKey(e!=null?e:"")));return n}getOptional(e){var n;const s=Br()(this.readValue(e)),a=(n=this.fallback)===null||n===void 0?void 0:n.getOptional(e);if(s===void 0){if(!1)var l;return a}else if(a===void 0)return s;return Fr()({},{value:a},{value:s},(E,x)=>!Sn(x)||!Sn(E)?x:void 0).value}getConfig(e){const n=this.getOptionalConfig(e);if(n===void 0)throw new Error(Te.missing(this.fullKey(e)));return n}getOptionalConfig(e){var n;const s=this.readValue(e),a=(n=this.fallback)===null||n===void 0?void 0:n.getOptionalConfig(e);if(Sn(s))return this.copy(s,e,a);if(s!==void 0)throw new TypeError(Te.type(this.fullKey(e),this.context,Mo(s),"object"));return a}getConfigArray(e){const n=this.getOptionalConfigArray(e);if(n===void 0)throw new Error(Te.missing(this.fullKey(e)));return n}getOptionalConfigArray(e){const n=this.readConfigValue(e,a=>{if(!Array.isArray(a))return{expected:"object-array"};for(const[l,E]of a.entries())if(!Sn(E))return{expected:"object-array",value:E,key:`${e}[${l}]`};return!0});if(!n){if(!1)var s;return}return n.map((a,l)=>this.copy(a,`${e}[${l}]`))}getNumber(e){const n=this.getOptionalNumber(e);if(n===void 0)throw new Error(Te.missing(this.fullKey(e)));return n}getOptionalNumber(e){const n=this.readConfigValue(e,a=>typeof a=="number"||typeof a=="string"||{expected:"number"});if(typeof n=="number"||n===void 0)return n;const s=Number(n);if(!Number.isFinite(s))throw new Error(Te.convert(this.fullKey(e),this.context,"number"));return s}getBoolean(e){const n=this.getOptionalBoolean(e);if(n===void 0)throw new Error(Te.missing(this.fullKey(e)));return n}getOptionalBoolean(e){const n=this.readConfigValue(e,a=>typeof a=="boolean"||typeof a=="number"||typeof a=="string"||{expected:"boolean"});if(typeof n=="boolean"||n===void 0)return n;const s=String(n).trim();if(/^(?:y|yes|true|1|on)$/i.test(s))return!0;if(/^(?:n|no|false|0|off)$/i.test(s))return!1;throw new Error(Te.convert(this.fullKey(e),this.context,"boolean"))}getString(e){const n=this.getOptionalString(e);if(n===void 0)throw new Error(Te.missing(this.fullKey(e)));return n}getOptionalString(e){return this.readConfigValue(e,n=>typeof n=="string"&&n!==""||{expected:"string"})}getStringArray(e){const n=this.getOptionalStringArray(e);if(n===void 0)throw new Error(Te.missing(this.fullKey(e)));return n}getOptionalStringArray(e){return this.readConfigValue(e,n=>{if(!Array.isArray(n))return{expected:"string-array"};for(const[s,a]of n.entries())if(typeof a!="string"||a==="")return{expected:"string-array",value:a,key:`${e}[${s}]`};return!0})}fullKey(e){return`${this.prefix}${this.prefix?".":""}${e}`}copy(e,n,s){const a=new fn(e,this.context,s,this.fullKey(n));return a.filteredKeys=this.filteredKeys,a}readConfigValue(e,n){const s=this.readValue(e);if(s===void 0){var a;if(!1)var l;return(a=this.fallback)===null||a===void 0?void 0:a.readConfigValue(e,n)}const E=n(s);if(E!==!0){const{key:x=e,value:U=s,expected:W}=E;throw new TypeError(Te.type(this.fullKey(x),this.context,Mo(U),W))}return s}readValue(e){const n=e?e.split("."):[];for(const a of n)if(!$r.test(a))throw new TypeError(`Invalid config key '${e}'`);if(this.data===void 0)return;let s=this.data;for(const[a,l]of n.entries())if(Sn(s))s=s[l];else if(s!==void 0){const E=this.fullKey(n.slice(0,a).join("."));throw new TypeError(Te.type(E,this.context,Mo(s),"object"))}return s}constructor(e,n="mock-config",s,a=""){(0,v._)(this,"data",void 0),(0,v._)(this,"context",void 0),(0,v._)(this,"fallback",void 0),(0,v._)(this,"prefix",void 0),(0,v._)(this,"filteredKeys",void 0),(0,v._)(this,"notifiedFilteredKeys",void 0),this.data=e,this.context=n,this.fallback=s,this.prefix=a,this.notifiedFilteredKeys=new Set}}const bn="theme";class Kn{static createWithStorage(e){const n=new Kn(e);if(!window.localStorage)return n;var s;const a=(s=window.localStorage.getItem(bn))!==null&&s!==void 0?s:void 0;return n.setActiveThemeId(a),n.activeThemeId$().subscribe(l=>{l?window.localStorage.setItem(bn,l):window.localStorage.removeItem(bn)}),window.addEventListener("storage",l=>{if(l.key===bn){var E;const x=(E=localStorage.getItem(bn))!==null&&E!==void 0?E:void 0;n.setActiveThemeId(x)}}),n}getInstalledThemes(){return this.themes.slice()}activeThemeId$(){return this.subject}getActiveThemeId(){return this.activeThemeId}setActiveThemeId(e){this.activeThemeId=e,this.subject.next(e)}constructor(e){(0,v._)(this,"themes",void 0),(0,v._)(this,"activeThemeId",void 0),(0,v._)(this,"subject",void 0),this.themes=e,this.subject=new it(void 0)}}var pn=t(82723);function Go(r){if(r.length<3)throw new Error(`The '${r}' feature flag must have a minimum length of three characters.`);if(r.length>150)throw new Error(`The '${r}' feature flag must not exceed 150 characters.`);if(!r.match(/^[a-z]+[a-z0-9-]+$/))throw new Error(`The '${r}' feature flag must start with a lowercase letter and only contain lowercase letters, numbers and hyphens. Examples: feature-flag-one, alpha, release-2020`)}class Wr{registerFlag(e){Go(e.name),this.registeredFeatureFlags.push(e)}getRegisteredFlags(){return this.registeredFeatureFlags.slice()}isActive(e){return this.flags||(this.flags=this.load()),this.flags.get(e)===pn.C.Active}save(e){this.flags||(this.flags=this.load()),e.merge||this.flags.clear();for(const[s,a]of Object.entries(e.states))this.flags.set(s,a);const n=Array.from(this.flags.entries()).filter(([,s])=>s===pn.C.Active);window.localStorage.setItem("featureFlags",JSON.stringify(Object.fromEntries(n)))}load(){try{const e=window.localStorage.getItem("featureFlags");if(!e)return new Map;const n=JSON.parse(e);if(typeof n!="object"||n===null||Array.isArray(n))return new Map;const s=Object.entries(n).filter(([a,l])=>(Go(a),l===pn.C.Active));return new Map(s)}catch{return new Map}}constructor(){(0,v._)(this,"registeredFeatureFlags",[]),(0,v._)(this,"flags",void 0)}}const zn=(0,Kt.T)({id:"core.apptheme"}),Vo=(0,Kt.T)({id:"core.apptranslation"});class jo{static validateFactories(e,n){for(const s of n){const a=[s],l=new Set;for(;a.length;){const E=a.shift(),x=e.get(E);if(x)for(const U of Object.values(x.deps)){if(U.id===s.id)throw new Error(`Circular dependency of api factory for ${s}`);l.has(U)||(l.add(U),a.push(U))}}}}get(e){return this.load(e)}load(e,n=[]){const s=this.apis.get(e.id);if(s)return s;const a=this.factories.get(e);if(!a)return;if(n.includes(a.api))throw new Error(`Circular dependency of api factory for ${a.api}`);const l=this.loadDeps(e,a.deps,[...n,a.api]),E=a.factory(l);return this.apis.set(e.id,E),E}loadDeps(e,n,s){const a={};for(const l in n)if(n.hasOwnProperty(l)){const E=n[l],x=this.load(E,s);if(!x)throw new Error(`No API factory available for dependency ${E} of dependent ${e}`);a[l]=x}return a}constructor(e){(0,v._)(this,"factories",void 0),(0,v._)(this,"apis",void 0),this.factories=e,this.apis=new Map}}var Lo;(function(r){r[r.default=10]="default",r[r.app=50]="app",r[r.static=100]="static"})(Lo||(Lo={}));class Nr{register(e,n){const s=Lo[e],a=this.factories.get(n.api.id);return a&&a.priority>=s?!1:(this.factories.set(n.api.id,{priority:s,factory:n}),!0)}get(e){const n=this.factories.get(e.id);if(n)return n.factory}getAllApis(){const e=new Set;for(const{factory:n}of this.factories.values())e.add(n.api);return e}constructor(){(0,v._)(this,"factories",new Map)}}function Zr(r){const e={};for(const s in r.collectors)r.collectors.hasOwnProperty(s)&&(e[s]=r.collectors[s]());const n=[{node:d.Children.toArray(r.root),parent:void 0,contexts:{}}];for(;n.length!==0;){const{node:s,parent:a,contexts:l}=n.shift();d.Children.forEach(s,E=>{if(!(0,d.isValidElement)(E))return;const x={};for(const U in e)if(e.hasOwnProperty(U)){const W=e[U];x[U]=W.visit(W.accumulator,E,a,l[U])}for(const U of r.discoverers){const W=U(E);W&&n.push({node:W,parent:E,contexts:x})}})}return Object.fromEntries(Object.entries(e).map(([s,a])=>[s,a.accumulator]))}function kn(r,e){return()=>({accumulator:r(),visit:e})}function Kr(r){var e;return(e=r.props)===null||e===void 0?void 0:e.children}function zr(r){var e,n;if(!((e=r.props)===null||e===void 0)&&e.path&&(!((n=r.props)===null||n===void 0)&&n.element)){var s;return(s=r.props)===null||s===void 0?void 0:s.element}}var Se=t(62584);const kr=kn(()=>new Set,(r,e)=>{const n=(0,Se.I)(e,"core.plugin");n&&r.add(n)});var gn=t(44394);const _o=r=>{const{children:e}=r,n=(0,gn.h_)(pn.W),s="with"in r?n.isActive(r.with):!n.isActive(r.without);return(0,i.jsx)(i.Fragment,{children:s?e:null})};(0,Se.R)(_o,"core.featureFlagged",!0);const Hn={caseSensitive:!1,path:"*",element:"match-all",routeRefs:new Set,plugins:new Set};function Gn(r){var e;const n=r;if(!((e=n)===null||e===void 0)&&e.type){var s,a;return(a=(s=n.type.displayName)!==null&&s!==void 0?s:n.type.name)!==null&&a!==void 0?a:String(n.type)}return String(n)}const Yo=r=>{const e=new Set;return r&&e.add(r),e};function Qo(r,e=new Array){return d.Children.forEach(r,n=>{if(!(0,d.isValidElement)(n))return;const s=(0,Se.I)(n,"core.mountPoint");if(s){const a=(0,Se.I)(n,"core.plugin");e.push({routeRef:s,plugin:a})}Qo(n.props.children,e)}),e}const Hr=kn(()=>({paths:new Map,parents:new Map,objects:new Array}),(r,e,n,s)=>{var a,l,E,x,U;if(!((a=s)===null||a===void 0)&&a.isElementAncestor)return s;if(((l=n)===null||l===void 0?void 0:l.props.element)===e)return{...s,isElementAncestor:!0};const W=(E=e.props)===null||E===void 0?void 0:E.path,st=(0,Se.I)(e,"core.mountPoint");if(st&&W)throw new Error(`Path property may not be set directly on a routable extension "${Gn(e)}"`);var X;const rt=(X=(U=s)===null||U===void 0||(x=U.obj)===null||x===void 0?void 0:x.children)!==null&&X!==void 0?X:r.objects;if(W!==void 0){if(typeof W!="string")throw new Error(`Element path must be a string at "${Gn(e)}"`);const Ae=W.startsWith("/")?W.slice(1):W,We=e.props.element;if((0,Se.I)(e,"core.gatherMountPoints")){var q,Et,Bt;if(We)throw new Error(`Mount point gatherers may not have an element prop "${Gn(e)}"`);const cn={path:Ae,element:"gathered",routeRefs:new Set,caseSensitive:Boolean((q=e.props)===null||q===void 0?void 0:q.caseSensitive),children:[Hn],plugins:new Set};return rt.push(cn),{obj:cn,gatherPath:Ae,routeRef:(Et=s)===null||Et===void 0?void 0:Et.routeRef,gatherRouteRef:(Bt=s)===null||Bt===void 0?void 0:Bt.routeRef}}if(We){var jt,te,je,Ge;const[cn,...Wi]=Qo(We);if(Wi.length>0)throw new Error(`Route element with path "${W}" may not contain multiple routable extensions`);if(!cn)return s;const{routeRef:En,plugin:Ni}=cn,jr={path:Ae,element:"mounted",routeRefs:new Set([En]),caseSensitive:Boolean((jt=e.props)===null||jt===void 0?void 0:jt.caseSensitive),children:[Hn],plugins:Yo(Ni)};return rt.push(jr),r.paths.set(En,Ae),r.parents.set(En,(te=s)===null||te===void 0?void 0:te.routeRef),{obj:jr,routeRef:En!=null?En:(je=s)===null||je===void 0?void 0:je.routeRef,gatherPath:Ae,gatherRouteRef:(Ge=s)===null||Ge===void 0?void 0:Ge.gatherRouteRef}}}if(st){var Ie,Ve,de,$e;if(((Ie=s)===null||Ie===void 0?void 0:Ie.gatherPath)===void 0)throw new Error(`Routable extension "${Gn(e)}" with mount point "${st}" must be assigned a path`);(de=s)===null||de===void 0||(Ve=de.obj)===null||Ve===void 0||Ve.routeRefs.add(st);const Ae=(0,Se.I)(e,"core.plugin");if(Ae){var yn,Le;(Le=s)===null||Le===void 0||(yn=Le.obj)===null||yn===void 0||yn.plugins.add(Ae)}return r.paths.set(st,s.gatherPath),r.parents.set(st,($e=s)===null||$e===void 0?void 0:$e.gatherRouteRef),{...s,routeRef:st}}return s}),Gr=kn(()=>({paths:new Map,parents:new Map,objects:new Array}),(r,e,n,s)=>{var a,l,E,x,U,W,st,X,rt;if(((a=n)===null||a===void 0?void 0:a.props.element)===e)return s;let q=(l=s)===null||l===void 0?void 0:l.obj,Et=(E=s)===null||E===void 0?void 0:E.routeRef,Bt=(x=s)===null||x===void 0?void 0:x.sticky;const jt=(U=e.props)===null||U===void 0?void 0:U.path;var te;const je=(te=(W=q)===null||W===void 0?void 0:W.children)!==null&&te!==void 0?te:r.objects,Ge=Boolean((st=e.props)===null||st===void 0?void 0:st.caseSensitive);let Ie=(X=s)===null||X===void 0?void 0:X.path;if((0,Se.I)(e,"core.gatherMountPoints")){if(!jt)throw new Error("Mount point gatherer must have a path");Ie=jt}const Ve=(rt=e.props)===null||rt===void 0?void 0:rt.element;let de=(0,Se.I)(e,"core.mountPoint");if(!de&&(0,d.isValidElement)(Ve)&&(de=(0,Se.I)(Ve,"core.mountPoint")),de){let We=jt;if(Ie&&(We?Ie=void 0:We=Ie),!We)throw new Error("Mounted routable extension must have a path");if(r.paths.set(de,We),Et&&Bt?(r.parents.set(de,Et),jt&&(Et=de,Bt=!1)):(r.parents.set(de,Et),Et=de),jt)q={caseSensitive:Ge,path:jt,element:"mounted",routeRefs:new Set([de]),children:[Hn],plugins:Yo((0,Se.I)(e.props.element,"core.plugin"))},je.push(q);else{var $e;($e=q)===null||$e===void 0||$e.routeRefs.add(de)}}if((0,Se.I)(e,"core.gatherMountPoints")&&(Bt=!0),(0,Se.I)(e,"core.gatherMountPoints")){if(!jt)throw new Error("Mount point gatherer must have a path");if(!de){var Le,Ae;q={caseSensitive:Ge,path:jt,element:"gathered",routeRefs:new Set,children:[Hn],plugins:((Ae=s)===null||Ae===void 0||(Le=Ae.obj)===null||Le===void 0?void 0:Le.plugins)||new Set},je.push(q)}}return{obj:q,path:Ie,routeRef:Et,sticky:Bt}}),Vr=kn(()=>new Set,(r,e)=>{if(e.type===_o){const n=e.props;r.add("with"in n?n.with:n.without)}});var Pn=t(84800),_r=t(96087);const Rn=(0,_r.u)("route-ref-type",()=>Symbol("route-ref-type"));function Jo(r){return r[Rn]==="absolute"}function Xo(r){return r[Rn]==="sub"}function Yr(r){return r[Rn]==="external"}function Vn(...r){const e=r.join("/").replace(/\/\/+/g,"/");return e!=="/"&&e.endsWith("/")?e.slice(0,-1):e}function Qr(r,e,n){let s,a="";if(Jo(r))s=r;else if(Xo(r))s=r.parent,a=r.path;else if(Yr(r)){const x=n.get(r);if(!x)return[void 0,""];if(Jo(x))s=x;else if(Xo(x))s=x.parent,a=x.path;else throw new Error(`ExternalRouteRef was bound to invalid target, ${x}`)}else throw r[Rn]?new Error(`Unknown or invalid route ref type, ${r[Rn]}`):new Error(`Unknown object passed to useRouteRef, got ${r}`);if(!s)return[void 0,""];const l=e.get(s);if(l===void 0)return[void 0,""];const E=Vn(l,a);return[s,E]}function Jr(r,e,n,s,a){var l;const E=(l=(0,Pn.fp)(a,e))!==null&&l!==void 0?l:[],x=Array();let U=-1;for(let X=r;X&&(U=E.findIndex(rt=>rt.route.routeRefs.has(X)),U===-1);X=s.get(X))x.unshift(X);x.length===0&&(U-=1);const W=U===-1?"":E[U].pathname,st=x.slice(0,-1).map(X=>{const rt=n.get(X);if(rt===void 0)throw new Error(`No path for ${X}`);if(rt.includes(":"))throw new Error(`Cannot route to ${r} with parent ${X} as it has parameters`);return rt});return`${Vn(W,...st)}/`}class Xr{resolve(e,n){const[s,a]=Qr(e,this.routePaths,this.routeBindings);if(!s)return;let l;typeof n=="string"?l=this.trimPath(n):n.pathname?l={...n,pathname:this.trimPath(n.pathname)}:l=n;const E=this.appBasePath+Jr(s,l,this.routePaths,this.routeParents,this.routeObjects);return(...[U])=>Vn(E,(0,Pn.Gn)(a,U))}trimPath(e){return e&&(e.startsWith(this.appBasePath)?e.slice(this.appBasePath.length):e)}constructor(e,n,s,a,l){(0,v._)(this,"routePaths",void 0),(0,v._)(this,"routeParents",void 0),(0,v._)(this,"routeObjects",void 0),(0,v._)(this,"routeBindings",void 0),(0,v._)(this,"appBasePath",void 0),this.routePaths=e,this.routeParents=n,this.routeObjects=s,this.routeBindings=a,this.appBasePath=l}}const qr=(0,hn.CT)("routing-context"),ts=({routePaths:r,routeParents:e,routeObjects:n,routeBindings:s,basePath:a="",children:l})=>{const E=new Xr(r,e,n,s,a),x=(0,Zn.E)({1:E});return(0,i.jsx)(qr.Provider,{value:x,children:l})};function es(r,e){const n=new Set(e.values());n.delete(void 0);for(const s of e.keys()){if(n.has(s))continue;let a=s,l="";for(;a;){const x=r.get(a);if(x===void 0)throw new Error(`No path for ${a}`);l=Vn(x,l),a=e.get(a)}const E=l.match(/:(\w+)/g);if(E){for(let x=0;x<E.length;x++)for(let U=x+1;U<E.length;U++)if(E[U]===E[x])throw new Error(`Parameter ${E[U]} is duplicated in path ${l}`)}}}function ns(r,e){for(const n of e)if(n.externalRoutes){for(const[s,a]of Object.entries(n.externalRoutes))if(!a.optional&&!r.has(a))throw new Error(`External route '${s}' of the '${n.getId()}' plugin must be bound to a target route. See https://backstage.io/link?bind-routes for details.`)}}const os=(0,hn.CT)("app-context"),rs=({appContext:r,children:e})=>{const n=(0,Zn.E)({1:r});return(0,i.jsx)(os.Provider,{value:n,children:e})};function qo(r){return new Error(`Tried to access IdentityApi ${r} before app was loaded`)}function Bo(r){console.warn(`WARNING: Call to ${r} is deprecated and will break in the future`)}class ss{setTarget(e,n){this.target=e,this.signOutTargetUrl=n.signOutTargetUrl,this.resolveTarget(e)}getUserId(){if(!this.target)throw qo("getUserId");if(!this.target.getUserId)throw new Error("IdentityApi does not implement getUserId");return Bo("getUserId"),this.target.getUserId()}getProfile(){if(!this.target)throw qo("getProfile");if(!this.target.getProfile)throw new Error("IdentityApi does not implement getProfile");return Bo("getProfile"),this.target.getProfile()}async getProfileInfo(){return this.waitForTarget.then(e=>e.getProfileInfo())}async getBackstageIdentity(){const e=await this.waitForTarget.then(n=>n.getBackstageIdentity());return e.userEntityRef.match(/^.*:.*\/.*$/)||console.warn(`WARNING: The App IdentityApi provided an invalid userEntityRef, '${e.userEntityRef}'. It must be a full Entity Reference of the form '<kind>:<namespace>/<name>'.`),e}async getCredentials(){return this.waitForTarget.then(e=>e.getCredentials())}async getIdToken(){return this.waitForTarget.then(e=>{if(!e.getIdToken)throw new Error("IdentityApi does not implement getIdToken");return Bo("getIdToken"),e.getIdToken()})}async signOut(){await this.waitForTarget.then(e=>e.signOut()),window.location.href=this.signOutTargetUrl}constructor(){(0,v._)(this,"target",void 0),(0,v._)(this,"waitForTarget",void 0),(0,v._)(this,"resolveTarget",()=>{}),(0,v._)(this,"signOutTargetUrl","/"),this.waitForTarget=new Promise(e=>{this.resolveTarget=e})}}var is=t(72164);function as(r,e,n){if(r!==void 0){const a=n.find(l=>l.id===r);if(a)return a}if(e){const a=n.find(l=>l.variant==="dark");if(a)return a}const s=n.find(a=>a.variant==="light");return s||n[0]}const ls=()=>{const r=(0,d.useMemo)(()=>window.matchMedia("(prefers-color-scheme: dark)"),[]),[e,n]=(0,d.useState)(r.matches);return(0,d.useEffect)(()=>{const s=a=>{n(a.matches)};return r.addListener(s),()=>{r.removeListener(s)}},[r]),e};function tr({children:r}){const e=(0,gn.h_)(zn),n=(0,is.Z)(e.activeThemeId$(),e.getActiveThemeId()),s=Boolean(window.matchMedia)?ls():!1,a=as(n,s,e.getInstalledThemes());if(!a)throw new Error("App has no themes");return(0,i.jsx)(a.Provider,{children:r})}const er=async()=>cs();function cs(r="__APP_INJECTED_RUNTIME_CONFIG__"){const e=[{context:"app-config.yaml",data:{app:{title:"Techdocs Preview App",baseUrl:"http://localhost:3000"},backend:{baseUrl:"http://localhost:3000"},techdocs:{builder:"external"}}}];if(!e)throw new Error("No static configuration provided");if(!Array.isArray(e))throw new Error("Static configuration has invalid format");const n=e.slice();if(r!=="__app_injected_runtime_config__".toLocaleUpperCase("en-US"))try{const a=JSON.parse(r);Array.isArray(a)?n.push(...a):n.push({data:a,context:"env"})}catch(a){throw new Error(`Failed to load runtime configuration, ${a}`)}const s=window.__APP_CONFIG__;return s&&n.push({context:"window",data:s}),n}class ds{add(e,n){return this.apis.push([e.id,n]),n}build(){return new vn(new Map(this.apis))}constructor(){(0,v._)(this,"apis",[])}}class vn{static builder(){return new ds}static from(e){return new vn(new Map(e.map(([n,s])=>[n.id,s])))}static with(e,n){return new vn(new Map([[e.id,n]]))}with(e,n){return new vn(new Map([...this.apis,[e.id,n]]))}get(e){return this.apis.get(e.id)}constructor(e){(0,v._)(this,"apis",void 0),this.apis=e}}function us(r){const e=new Map;return r&&r({bind:(s,a)=>{for(const[l,E]of Object.entries(a)){const x=s[l];if(!x)throw new Error(`Key ${l} is not an existing external route`);if(!E&&!x.optional)throw new Error(`External route ${l} is required but was undefined`);E&&e.set(x,E)}}}),e}function Tn(){const[r]=(0,f.is)((0,i.jsx)(f.AW,{index:!0,element:(0,i.jsx)("div",{})}));return!r.index}const nr=(0,d.createContext)(void 0);var or=t(80851),rr=t(62369),hs=t(72388);const fs=(r,e)=>{try{var n,s,a,l;const x=(n=(0,Pn.fp)(e,{pathname:r}))===null||n===void 0?void 0:n.filter(rt=>{var q,Et;return((Et=rt)===null||Et===void 0||(q=Et.route.routeRefs)===null||q===void 0?void 0:q.size)>0}).pop(),U=(s=x)===null||s===void 0?void 0:s.route;if(!U||U.path===""&&r!=="/")return;let W;U.routeRefs.size===1&&(W=U.routeRefs.values().next().value);let st;U.plugins.size===1&&(st=U.plugins.values().next().value);const X=Object.entries(((a=x)===null||a===void 0?void 0:a.params)||{}).reduce((rt,[q,Et])=>(Et!==void 0&&q!=="*"&&(rt[q]=Et),rt),{});return{extension:"App",pluginId:((l=st)===null||l===void 0?void 0:l.getId())||"root",...W?{routeRef:W.id}:{},_routeNodeType:U.element,params:X}}catch{return}},ps=({pathname:r,search:e,hash:n,attributes:s})=>{const a=(0,rr.z)();return(0,d.useEffect)(()=>{a.captureEvent("navigate",`${r}${e}${n}`,{attributes:s})},[a,r,e,n,s]),null},_n=({routeObjects:r})=>{const{pathname:e,search:n,hash:s}=(0,f.TH)(),{params:a,...l}=fs(e,r)||{params:{}};return(0,i.jsx)(hs.fC,{attributes:l,children:(0,i.jsx)(ps,{pathname:e,search:n,hash:s,attributes:a})})};function sr(r){return Tn()?ir(r):""}function ir(r){var e;let{pathname:n}=new URL((e=r.getOptionalString("app.baseUrl"))!==null&&e!==void 0?e:"/","http://sample.dev");return n=n.replace(/\/*$/,""),n}function ar({component:r,appIdentityProxy:e,children:n}){const[s,a]=(0,d.useState)(),l=(0,gn.h_)(qt.D),E=sr(l);return s?(e.setTarget(s,{signOutTargetUrl:E||"/"}),(0,i.jsx)(i.Fragment,{children:n})):(0,i.jsx)(r,{onSignInSuccess:a})}function gs(r){const{Router:e,SignInPage:n}=(0,or.q)().getComponents(),s=(0,gn.h_)(qt.D),a=ir(s),l=`${a}/*`,E=(0,d.useContext)(nr);if(!E)throw new Error("AppRouter must be rendered within the AppProvider");const{routeObjects:x,appIdentityProxy:U}=E;return n?Tn()?(0,i.jsxs)(e,{children:[(0,i.jsx)(_n,{routeObjects:x}),(0,i.jsx)(ar,{component:n,appIdentityProxy:U,children:(0,i.jsx)(f.Z5,{children:(0,i.jsx)(f.AW,{path:l,element:(0,i.jsx)(i.Fragment,{children:r.children})})})})]}):(0,i.jsxs)(e,{basename:a,children:[(0,i.jsx)(_n,{routeObjects:x}),(0,i.jsx)(ar,{component:n,appIdentityProxy:U,children:r.children})]}):(U.setTarget({getUserId:()=>"guest",getIdToken:async()=>{},getProfile:()=>({email:"guest@example.com",displayName:"Guest"}),getProfileInfo:async()=>({email:"guest@example.com",displayName:"Guest"}),getBackstageIdentity:async()=>({type:"user",userEntityRef:"user:default/guest",ownershipEntityRefs:["user:default/guest"]}),getCredentials:async()=>({}),signOut:async()=>{}},{signOutTargetUrl:a||"/"}),Tn()?(0,i.jsxs)(e,{children:[(0,i.jsx)(_n,{routeObjects:x}),(0,i.jsx)(f.Z5,{children:(0,i.jsx)(f.AW,{path:l,element:(0,i.jsx)(i.Fragment,{children:r.children})})})]}):(0,i.jsxs)(e,{basename:a,children:[(0,i.jsx)(_n,{routeObjects:x}),r.children]}))}var lr=t(68588);function vs({children:r}){const n=(0,gn.h_)(Vo).getI18n();return(0,i.jsx)(lr.a3,{i18n:n,children:r})}var ms=t(24991),ys=t(42754);class Uo{static create(e){var n,s;const a=ms.ZP.createInstance().use(lr.Db);return a.use(ys.Z),a.init({fallbackLng:((n=e)===null||n===void 0?void 0:n.fallbackLanguage)||"en",supportedLngs:((s=e)===null||s===void 0?void 0:s.supportedLanguages)||["en"],interpolation:{escapeValue:!1},react:{bindI18n:"loaded languageChanged"}}),new Uo(a,e)}getI18n(){return this.i18n}initMessages(e){var n,s;!((s=e)===null||s===void 0||(n=s.messages)===null||n===void 0)&&n.length&&e.messages.forEach(a=>{a.messages&&this.addResources(a.ref,a.messages),a.lazyMessages&&this.addLazyResources(a.ref,a.lazyMessages)})}addResourcesByRef(e){this.addResources(e),this.addLazyResources(e)}addResources(e,n){const s=n||e.getResources();!s||this.cache.has(e)||(this.cache.add(e),Object.entries(s).forEach(([a,l])=>{this.i18n.addResourceBundle(a,e.getId(),l,!0,!1)}))}addLazyResources(e,n){let s=this.lazyCache.get(e);s||(s=new Set,this.lazyCache.set(e,s));const{language:a,services:l,options:E,addResourceBundle:x,reloadResources:U}=this.i18n;if(s.has(a))return;const W=e.getId(),st=n||e.getLazyResources();Promise.allSettled((E.supportedLngs||[]).map(X)).then(rt=>{rt.some(q=>q.status==="fulfilled")&&this.i18n.emit("loaded")});async function X(rt){var q,Et;if(s.has(rt))return;s.add(rt);let Bt;!((q=l.backendConnector)===null||q===void 0)&&q.backend&&(Bt=U([rt],[W]));const jt=(Et=st)===null||Et===void 0?void 0:Et[rt];if(!jt){await Bt;return}const[te]=await Promise.allSettled([jt(),Bt]);if(te.status==="rejected")throw te.reason;x(rt,W,te.value.messages,!0,!1)}}constructor(e,n){(0,v._)(this,"i18n",void 0),(0,v._)(this,"cache",void 0),(0,v._)(this,"lazyCache",void 0),this.i18n=e,this.cache=new WeakSet,this.lazyCache=new WeakMap,this.initMessages(n)}}function cr(r){const e=new URL(r);return e.protocol=document.location.protocol,e.hostname=document.location.hostname,e.port=document.location.port,e.toString().replace(/\/$/,"")}function Es(r){const e=fn.fromConfigs(r),n=e.getOptionalString("app.baseUrl"),s=e.getOptionalString("backend.baseUrl");let a=r,l,E;if(n&&s){const x=new URL(n).origin,U=new URL(s).origin;if(x===U){const W=cr(s);s!==W&&(l=W)}}if(n){const x=cr(n);n!==x&&(E=x)}return(E||l)&&(a=a.concat({data:{app:E&&{baseUrl:E},backend:l&&{baseUrl:l}},context:"relative-resolver"})),a}function xs(r,e,n){var s;const a=Boolean(r),l=(0,sn.default)(r||(()=>Promise.resolve([])));let E;if(a&&l.loading){const{Progress:W}=e;E=(0,i.jsx)(W,{})}else if(l.error){const{BootErrorPage:W}=e;E=(0,i.jsx)(W,{step:"load-config",error:l.error})}const{ThemeProvider:x=tr}=e;return E?{node:(0,i.jsx)(Do,{apis:vn.with(zn,n),children:(0,i.jsx)(x,{children:E})})}:{api:fn.fromConfigs(!((s=l.value)===null||s===void 0)&&s.length?Es(l.value):[])}}class Cs{getPlugins(){return this.app.getPlugins()}getSystemIcon(e){return this.app.getSystemIcon(e)}getSystemIcons(){return this.app.getSystemIcons()}getComponents(){return this.app.getComponents()}constructor(e){(0,v._)(this,"app",void 0),this.app=e}}var Fo=new WeakMap;class As{getPlugins(){return Array.from(this.plugins)}getSystemIcon(e){return this.icons[e]}getSystemIcons(){return this.icons}getComponents(){return this.components}createRoot(e){const n=this.getProvider();return()=>(0,i.jsx)(n,{children:e})}getProvider(){if((0,un._)(this,Fo))throw new Error("app.getProvider() or app.createRoot() has already been called, and can only be called once");(0,g._)(this,Fo,!0);const e=new Cs(this);let n=!1;return({children:a})=>{const l=(0,d.useRef)(!0),E=(0,d.useMemo)(()=>Kn.createWithStorage(this.themes),[]),{routing:x,featureFlags:U,routeBindings:W}=(0,d.useMemo)(()=>{const q=Zr({root:a,discoverers:[Kr,zr],collectors:{routing:Tn()?Gr:Hr,collectedPlugins:kr,featureFlags:Vr}});return q.collectedPlugins.forEach(Et=>this.plugins.add(Et)),this.verifyPlugins(this.plugins),this.getApiHolder(),{...q,routeBindings:us(this.bindRoutes)}},[a]);n||(n=!0,es(x.paths,x.parents),ns(W,this.plugins));const st=xs(this.configLoader,this.components,E),X="api"in st;if(X){const{api:q}=st;this.configApi=q}if("node"in st)return st.node;if(X&&l.current){l.current=!1;const q=this.getApiHolder().get(pn.W);if(q){for(const jt of this.featureFlags)q.registerFlag({...jt,pluginId:""});for(const jt of this.plugins.values())if("getFeatureFlags"in jt)for(const te of jt.getFeatureFlags())q.registerFlag({name:te.name,pluginId:jt.getId()});else for(const te of jt.output())te.type==="feature-flag"&&q.registerFlag({name:te.name,pluginId:jt.getId()});const Et=q.getRegisteredFlags(),Bt=new Set(Et.map(jt=>jt.name));for(const jt of U)Bt.has(jt)||q.registerFlag({name:jt,pluginId:""})}}const{ThemeProvider:rt=tr}=this.components;return(0,i.jsx)(Do,{apis:this.getApiHolder(),children:(0,i.jsx)(rs,{appContext:e,children:(0,i.jsx)(vs,{children:(0,i.jsx)(rt,{children:(0,i.jsx)(ts,{routePaths:x.paths,routeParents:x.parents,routeObjects:x.objects,routeBindings:W,basePath:sr(st.api),children:(0,i.jsx)(nr.Provider,{value:{routeObjects:x.objects,appIdentityProxy:this.appIdentityProxy},children:a})})})})})})}}getRouter(){return gs}getApiHolder(){if(this.apiHolder){for(const e of this.plugins)for(const n of e.getApis())this.apiFactoryRegistry.get(n.api)||this.apiFactoryRegistry.register("default",n);return jo.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder}this.apiFactoryRegistry.register("static",{api:zn,deps:{},factory:()=>Kn.createWithStorage(this.themes)}),this.apiFactoryRegistry.register("static",{api:qt.D,deps:{},factory:()=>{if(!this.configApi)throw new Error("Tried to access config API before config was loaded");return this.configApi}}),this.apiFactoryRegistry.register("static",{api:on.$,deps:{},factory:()=>this.appIdentityProxy}),this.apiFactoryRegistry.register("static",{api:Vo,deps:{},factory:()=>this.appTranslationApi}),this.apiFactoryRegistry.register("default",{api:pn.W,deps:{},factory:()=>new Wr});for(const e of this.defaultApis)this.apiFactoryRegistry.register("default",e);for(const e of this.plugins)for(const n of e.getApis())if(!this.apiFactoryRegistry.register("default",n))throw new Error(`Plugin ${e.getId()} tried to register duplicate or forbidden API factory for ${n.api}`);for(const e of this.apis)if(!this.apiFactoryRegistry.register("app",e))throw new Error(`Duplicate or forbidden API factory for ${e.api} in app`);return jo.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder=new jo(this.apiFactoryRegistry),this.apiHolder}verifyPlugins(e){const n=new Set;for(const s of e){const a=s.getId();if(n.has(a))throw new Error(`Duplicate plugin found '${a}'`);n.add(a)}}constructor(e){(0,v._)(this,"apiHolder",void 0),(0,v._)(this,"configApi",void 0),(0,v._)(this,"apis",void 0),(0,v._)(this,"icons",void 0),(0,v._)(this,"plugins",void 0),(0,v._)(this,"featureFlags",void 0),(0,v._)(this,"components",void 0),(0,v._)(this,"themes",void 0),(0,v._)(this,"configLoader",void 0),(0,v._)(this,"defaultApis",void 0),(0,v._)(this,"bindRoutes",void 0),(0,v._)(this,"appTranslationApi",void 0),(0,v._)(this,"appIdentityProxy",new ss),(0,v._)(this,"apiFactoryRegistry",void 0),(0,Io._)(this,Fo,{writable:!0,value:!1});var n;this.apis=(n=e.apis)!==null&&n!==void 0?n:[],this.icons=e.icons;var s;this.plugins=new Set((s=e.plugins)!==null&&s!==void 0?s:[]);var a;this.featureFlags=(a=e.featureFlags)!==null&&a!==void 0?a:[],this.components=e.components,this.themes=e.themes;var l;this.configLoader=(l=e.configLoader)!==null&&l!==void 0?l:er;var E;this.defaultApis=(E=e.defaultApis)!==null&&E!==void 0?E:[],this.bindRoutes=e.bindRoutes,this.apiFactoryRegistry=new Nr,this.appTranslationApi=Uo.create(e.__experimentalI18n)}}function Os(r){return new As(r)}function Ss(r){var e,n,s,a,l,E,x,U,W,st,X,rt;return Os({...r,apis:(W=(e=r)===null||e===void 0?void 0:e.apis)!==null&&W!==void 0?W:[],bindRoutes:(n=r)===null||n===void 0?void 0:n.bindRoutes,components:{...$,...(s=r)===null||s===void 0?void 0:s.components},configLoader:(a=r)===null||a===void 0?void 0:a.configLoader,defaultApis:Cn,icons:{...$n,...(l=r)===null||l===void 0?void 0:l.icons},plugins:(st=(E=r)===null||E===void 0?void 0:E.plugins)!==null&&st!==void 0?st:[],featureFlags:(X=(x=r)===null||x===void 0?void 0:x.featureFlags)!==null&&X!==void 0?X:[],themes:(rt=(U=r)===null||U===void 0?void 0:U.themes)!==null&&rt!==void 0?rt:ge})}var Yn=t(2532);let dr=!1;const bs=r=>{const e=(0,or.q)(),{NotFoundErrorPage:n}=e.getComponents(),s=(0,d.useMemo)(()=>Tn(),[]),l=[...(0,Yn.v)(r.children,E=>E.getElements().flatMap(x=>{var U;let W=x.props.path;if(W==="")return[];var st;W=(st=(U=W)===null||U===void 0?void 0:U.replace(/\/\*$/,""))!==null&&st!==void 0?st:"/";let X=s?x:x.props.element;return!s&&!X&&(X=x,dr||(console.warn("DEPRECATION WARNING: All elements within <FlatRoutes> must be of type <Route> with an element prop. Existing usages of <Navigate key=[path] to=[to] /> should be replaced with <Route path=[path] element={<Navigate to=[to] />} />."),dr=!0)),[{path:W,element:X,children:x.props.children?[{path:W==="/"?"/":"*",element:x.props.children}]:void 0}]}).sort((x,U)=>U.path.localeCompare(x.path)).map(x=>({...x,path:x.path==="/"?"/":`${x.path}/*`}))),{path:"*",element:(0,i.jsx)(n,{})}];return(0,f.V$)(l)};var In=t(74314),Ps=t(51547),Rs=t(88797);function ur(r){return!r.cursor}function Zi(r){return!ur(r)}class Ts{async getEntityAncestors(e,n){const{kind:s,namespace:a,name:l}=(0,In.of)(e.entityRef);return await this.requestRequired("GET",`/entities/by-name/${encodeURIComponent(s)}/${encodeURIComponent(a)}/${encodeURIComponent(l)}/ancestry`,n)}async getLocationById(e,n){return await this.requestOptional("GET",`/locations/${encodeURIComponent(e)}`,n)}async getEntities(e,n){const{filter:s=[],fields:a=[],order:l,offset:E,limit:x,after:U}=e!=null?e:{},W=this.getParams(s);if(a.length&&W.push(`fields=${a.map(encodeURIComponent).join(",")}`),l)for(const q of[l].flat())q&&W.push(`order=${encodeURIComponent(q.order)}:${encodeURIComponent(q.field)}`);E!==void 0&&W.push(`offset=${E}`),x!==void 0&&W.push(`limit=${x}`),U!==void 0&&W.push(`after=${encodeURIComponent(U)}`);const st=W.length?`?${W.join("&")}`:"",X=await this.requestRequired("GET",`/entities${st}`,n),rt=(q,Et)=>{var Bt,jt;if(((Bt=q.metadata)===null||Bt===void 0?void 0:Bt.name)===void 0||q.kind===void 0||((jt=Et.metadata)===null||jt===void 0?void 0:jt.name)===void 0||Et.kind===void 0)return 0;const te=(0,In.eE)(q),je=(0,In.eE)(Et);return te<je?-1:te>je?1:0};return{items:X.sort(rt)}}async getEntitiesByRefs(e,n){var s,a,l;const E={entityRefs:e.entityRefs};!((s=e.fields)===null||s===void 0)&&s.length&&(E.fields=e.fields);const U=`${await this.discoveryApi.getBaseUrl("catalog")}/entities/by-refs`,W=await this.fetchApi.fetch(U,{headers:{"Content-Type":"application/json",...((a=n)===null||a===void 0?void 0:a.token)&&{Authorization:`Bearer ${(l=n)===null||l===void 0?void 0:l.token}`}},method:"POST",body:JSON.stringify(E)});if(!W.ok)throw await Je.V.fromResponse(W);const{items:st}=await W.json();return{items:st.map(X=>X!=null?X:void 0)}}async queryEntities(e={},n){const s=[];if(ur(e)){var a,l,E,x;const{fields:W=[],filter:st,limit:X,orderFields:rt,fullTextFilter:q}=e;s.push(...this.getParams(st)),X!==void 0&&s.push(`limit=${X}`),rt!==void 0&&(Array.isArray(rt)?rt:[rt]).forEach(({field:Bt,order:jt})=>s.push(`orderField=${Bt},${jt}`)),W.length&&s.push(`fields=${W.map(encodeURIComponent).join(",")}`);const Et=(l=q)===null||l===void 0||(a=l.term)===null||a===void 0?void 0:a.trim();Et&&s.push(`fullTextFilterTerm=${Et}`),!((x=q)===null||x===void 0||(E=x.fields)===null||E===void 0)&&E.length&&s.push(`fullTextFilterFields=${q.fields.join(",")}`)}else{const{fields:W=[],limit:st,cursor:X}=e;s.push(`cursor=${X}`),st!==void 0&&s.push(`limit=${st}`),W.length&&s.push(`fields=${W.map(encodeURIComponent).join(",")}`)}const U=s.length?`?${s.join("&")}`:"";return this.requestRequired("GET",`/entities/by-query${U}`,n)}async getEntityByRef(e,n){const{kind:s,namespace:a,name:l}=(0,In.of)(e);return this.requestOptional("GET",`/entities/by-name/${encodeURIComponent(s)}/${encodeURIComponent(a)}/${encodeURIComponent(l)}`,n)}async getEntityByName(e,n){const{kind:s,namespace:a="default",name:l}=e;return this.requestOptional("GET",`/entities/by-name/${encodeURIComponent(s)}/${encodeURIComponent(a)}/${encodeURIComponent(l)}`,n)}async refreshEntity(e,n){var s,a;const l=await this.fetchApi.fetch(`${await this.discoveryApi.getBaseUrl("catalog")}/refresh`,{headers:{"Content-Type":"application/json",...((s=n)===null||s===void 0?void 0:s.token)&&{Authorization:`Bearer ${(a=n)===null||a===void 0?void 0:a.token}`}},method:"POST",body:JSON.stringify({entityRef:e})});if(l.status!==200)throw new Error(await l.text())}async getEntityFacets(e,n){const{filter:s=[],facets:a}=e,l=this.getParams(s);for(const x of a)l.push(`facet=${encodeURIComponent(x)}`);const E=l.length?`?${l.join("&")}`:"";return await this.requestOptional("GET",`/entity-facets${E}`,n)}async addLocation(e,n){var s,a;const{type:l="url",target:E,dryRun:x}=e,U=await this.fetchApi.fetch(`${await this.discoveryApi.getBaseUrl("catalog")}/locations${x?"?dryRun=true":""}`,{headers:{"Content-Type":"application/json",...((s=n)===null||s===void 0?void 0:s.token)&&{Authorization:`Bearer ${(a=n)===null||a===void 0?void 0:a.token}`}},method:"POST",body:JSON.stringify({type:l,target:E})});if(U.status!==201)throw new Error(await U.text());const{location:W,entities:st,exists:X}=await U.json();if(!W)throw new Error(`Location wasn't added: ${E}`);return{location:W,entities:st,exists:X}}async getLocationByRef(e,n){return(await this.requestRequired("GET","/locations",n)).map(a=>a.data).find(a=>e===(0,Ps.NZ)(a))}async removeLocationById(e,n){await this.requestIgnored("DELETE",`/locations/${encodeURIComponent(e)}`,n)}async removeEntityByUid(e,n){await this.requestIgnored("DELETE",`/entities/by-uid/${encodeURIComponent(e)}`,n)}async validateEntity(e,n,s){var a,l;const E=await this.fetchApi.fetch(`${await this.discoveryApi.getBaseUrl("catalog")}/validate-entity`,{headers:{"Content-Type":"application/json",...((a=s)===null||a===void 0?void 0:a.token)&&{Authorization:`Bearer ${(l=s)===null||l===void 0?void 0:l.token}`}},method:"POST",body:JSON.stringify({entity:e,location:n})});if(E.ok)return{valid:!0};if(E.status!==400)throw await Je.V.fromResponse(E);const{errors:x=[]}=await E.json();return{valid:!1,errors:x}}async requestIgnored(e,n,s){var a;const l=`${await this.discoveryApi.getBaseUrl("catalog")}${n}`,E=!((a=s)===null||a===void 0)&&a.token?{Authorization:`Bearer ${s.token}`}:{},x=await this.fetchApi.fetch(l,{method:e,headers:E});if(!x.ok)throw await Je.V.fromResponse(x)}async requestRequired(e,n,s){var a;const l=`${await this.discoveryApi.getBaseUrl("catalog")}${n}`,E=!((a=s)===null||a===void 0)&&a.token?{Authorization:`Bearer ${s.token}`}:{},x=await this.fetchApi.fetch(l,{method:e,headers:E});if(!x.ok)throw await Je.V.fromResponse(x);return x.json()}async requestOptional(e,n,s){var a;const l=`${await this.discoveryApi.getBaseUrl("catalog")}${n}`,E=!((a=s)===null||a===void 0)&&a.token?{Authorization:`Bearer ${s.token}`}:{},x=await this.fetchApi.fetch(l,{method:e,headers:E});if(!x.ok){if(x.status===404)return;throw await Je.V.fromResponse(x)}return await x.json()}getParams(e=[]){const n=[];for(const s of[e].flat()){const a=[];for(const[l,E]of Object.entries(s))for(const x of[E].flat())x===Rs.n?a.push(encodeURIComponent(l)):typeof x=="string"&&a.push(`${encodeURIComponent(l)}=${encodeURIComponent(x)}`);a.length&&n.push(`filter=${a.join(",")}`)}return n}constructor(e){(0,v._)(this,"discoveryApi",void 0),(0,v._)(this,"fetchApi",void 0),this.discoveryApi=e.discoveryApi,this.fetchApi=e.fetchApi||{fetch:Bn()}}}var Is=t(88624),ws=t(36802),hr=t(36434),wn=t(65524),Ds=t(15006),be=t(82963),Ms=t(53945),mn=t(76635);async function js({storageApi:r}){const e=r.forBucket("settings"),n=r.forBucket("starredEntities"),s=e.snapshot("starredEntities").value;if(!(0,mn.isArray)(s))return;var a;const l=new Set((a=n.snapshot("entityRefs").value)!==null&&a!==void 0?a:[]);s.filter(mn.isString).map(E=>E.split(":")).filter(E=>E.length===4&&E[0]==="entity").map(([E,x,U,W])=>(0,In.eE)({kind:x,namespace:U,name:W})).forEach(E=>l.add(E)),await n.set("entityRefs",Array.from(l)),await e.remove("starredEntities")}class Ls{async toggleStarred(e){this.starredEntities.has(e)?this.starredEntities.delete(e):this.starredEntities.add(e),await this.settingsStore.set("entityRefs",Array.from(this.starredEntities))}starredEntitie$(){return this.observable}notifyChanges(){for(const e of this.subscribers)e.next(new Set(this.starredEntities))}constructor(e){(0,v._)(this,"settingsStore",void 0),(0,v._)(this,"starredEntities",void 0),(0,v._)(this,"subscribers",new Set),(0,v._)(this,"observable",new(V())(s=>(s.next(new Set(this.starredEntities)),this.subscribers.add(s),()=>{this.subscribers.delete(s)}))),js(e).then(),this.settingsStore=e.storageApi.forBucket("starredEntities");var n;this.starredEntities=new Set((n=this.settingsStore.snapshot("entityRefs").value)!==null&&n!==void 0?n:[]),this.settingsStore.observe$("entityRefs").subscribe({next:s=>{var a;this.starredEntities=new Set((a=s.value)!==null&&a!==void 0?a:[]),this.notifyChanges()}})}}const Ce=(0,Ds.r)({id:"catalog",apis:[(0,Wt.n)({api:Is.A,deps:{discoveryApi:oe.N,fetchApi:Ln.g},factory:({discoveryApi:r,fetchApi:e})=>new Ts({discoveryApi:r,fetchApi:e})}),(0,Wt.n)({api:ws.p,deps:{storageApi:jn},factory:({storageApi:r})=>new Ls({storageApi:r})})],routes:{catalogIndex:wn._Z,catalogEntity:hr.w},externalRoutes:{createComponent:wn.yw,viewTechDoc:wn.jU,createFromTemplate:wn.ql},__experimentalConfigure(r){return{...{createButtonTitle:"Create"},...r}}}),Ki=Ce.provide((0,be.P4)({name:"CatalogIndexPage",component:()=>Promise.all([t.e(3893),t.e(9598)]).then(t.bind(t,69598)).then(r=>r.CatalogPage),mountPoint:wn._Z})),Bs=Ce.provide((0,be.P4)({name:"CatalogEntityPage",component:()=>t.e(8951).then(t.bind(t,78951)).then(r=>r.CatalogEntityPage),mountPoint:hr.w})),zi=Ce.provide((0,be.CO)({name:"EntityAboutCard",component:{lazy:()=>Promise.all([t.e(4966),t.e(7893)]).then(t.bind(t,37893)).then(r=>r.AboutCard)}})),ki=Ce.provide((0,be.CO)({name:"EntityLinksCard",component:{lazy:()=>t.e(7750).then(t.bind(t,17750)).then(r=>r.EntityLinksCard)}})),Hi=Ce.provide((0,be.CO)({name:"EntityLabelsCard",component:{lazy:()=>t.e(5877).then(t.bind(t,85877)).then(r=>r.EntityLabelsCard)}})),Gi=Ce.provide((0,be.CO)({name:"EntityHasSystemsCard",component:{lazy:()=>t.e(5458).then(t.bind(t,5458)).then(r=>r.HasSystemsCard)}})),Vi=Ce.provide((0,be.CO)({name:"EntityHasComponentsCard",component:{lazy:()=>t.e(1105).then(t.bind(t,1105)).then(r=>r.HasComponentsCard)}})),_i=Ce.provide((0,be.CO)({name:"EntityHasSubcomponentsCard",component:{lazy:()=>t.e(2440).then(t.bind(t,82440)).then(r=>r.HasSubcomponentsCard)}})),Yi=Ce.provide((0,be.CO)({name:"EntityHasResourcesCard",component:{lazy:()=>t.e(9770).then(t.bind(t,79770)).then(r=>r.HasResourcesCard)}})),Qi=Ce.provide((0,be.CO)({name:"EntityDependsOnComponentsCard",component:{lazy:()=>t.e(9545).then(t.bind(t,19545)).then(r=>r.DependsOnComponentsCard)}})),Ji=Ce.provide((0,be.CO)({name:"EntityDependencyOfComponentsCard",component:{lazy:()=>t.e(184).then(t.bind(t,40184)).then(r=>r.DependencyOfComponentsCard)}})),Xi=Ce.provide((0,be.CO)({name:"EntityDependsOnResourcesCard",component:{lazy:()=>t.e(1032).then(t.bind(t,81032)).then(r=>r.DependsOnResourcesCard)}})),qi=Ce.provide((0,be.CO)({name:"RelatedEntitiesCard",component:{lazy:()=>t.e(3487).then(t.bind(t,33487)).then(r=>r.RelatedEntitiesCard)}})),ta=Ce.provide((0,Ms.E5)({name:"CatalogSearchResultListItem",component:()=>t.e(7670).then(t.bind(t,27670)).then(r=>r.CatalogSearchResultListItem),predicate:r=>r.type==="software-catalog"}));var fr=t(91657),pr=t(58496);class Us{async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){return`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getString("techdocs.builder")}async getEntityDocs(e,n){const a=`${await this.getApiOrigin()}/${n}`,l=await fetch(`${a.endsWith("/")?a:`${a}/`}index.html`);if(l.status===404)throw new Error("Page not found");return l.text()}async syncEntityDocs(e){return"cached"}async getBaseUrl(e,n,s){const a=await this.getApiOrigin();return new URL(e,`${a}/${s}`).toString()}constructor({configApi:e,discoveryApi:n,identityApi:s}){(0,v._)(this,"configApi",void 0),(0,v._)(this,"discoveryApi",void 0),(0,v._)(this,"identityApi",void 0),this.configApi=e,this.discoveryApi=n,this.identityApi=s}}class Fs{async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getEntityMetadata(e){return{apiVersion:"backstage.io/v1alpha1",kind:"Component",metadata:{name:"local"},spec:{owner:"test",lifecycle:"experimental"}}}async getTechDocsMetadata(e){return{site_name:"Live preview environment",site_description:""}}constructor({configApi:e,discoveryApi:n,identityApi:s}){(0,v._)(this,"configApi",void 0),(0,v._)(this,"discoveryApi",void 0),(0,v._)(this,"identityApi",void 0),this.configApi=e,this.discoveryApi=n,this.identityApi=s}}const $s=[(0,Wt.n)({api:pr.D,deps:{configApi:qt.D,discoveryApi:oe.N,identityApi:on.$},factory:({configApi:r,discoveryApi:e,identityApi:n})=>new Us({configApi:r,discoveryApi:e,identityApi:n})}),(0,Wt.n)({api:pr.g,deps:{configApi:qt.D,discoveryApi:oe.N,identityApi:on.$},factory:({configApi:r,discoveryApi:e,identityApi:n})=>new Fs({configApi:r,discoveryApi:e,identityApi:n})}),(0,Wt.n)({api:fr.q,deps:{configApi:qt.D},factory:({configApi:r})=>fr.a.fromConfig(r)})],Ws={backend:{baseUrl:"http://localhost:3000"},techdocs:{builder:"external"}},Ns={backend:{baseUrl:"http://localhost:7007"},techdocs:{builder:"external"}};async function Zs(){const r=await fetch("/.detect");return r.ok?(await r.text()).trim()==="techdocs-cli-server":!1}async function Ks(){const r=await er(),e=await Zs();return[...r,{context:"detected",data:e?Ws:Ns}]}var He=t(79692),zs=t(58845);const ks=(0,He.Z)({svg:{width:"auto",height:30},path:{fill:"#7df3e1"}});var Hs=()=>{const r=ks();return(0,i.jsx)("svg",{className:r.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 2079.95 456.05",children:(0,i.jsx)("path",{className:r.path,d:"M302.9,180a80.62,80.62,0,0,0,13.44-10.37c.8-.77,1.55-1.54,2.31-2.31a81.89,81.89,0,0,0,7.92-9.37,62.37,62.37,0,0,0,6.27-10.77,48.6,48.6,0,0,0,4.36-16.4c1.49-19.39-10-38.67-35.62-54.22L198.42,14,78.16,129.22l-78.29,75,108.6,65.9a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.8,66.42-25.69,19.16-18.36,25.52-42.12,13.7-61.87a49.69,49.69,0,0,0-6.8-8.87,89.78,89.78,0,0,0,19.28,2.15H259a85.09,85.09,0,0,0,31-5.79A80.88,80.88,0,0,0,302.9,180Zm-100.59,59.8c-19.32,18.51-50.4,21.24-75.7,5.9l-75.13-45.6,67.44-64.65,76.42,46.39C222.88,198.57,221.36,221.6,202.31,239.84Zm8.94-82.21L140.6,114.74,205,53l69.37,42.11c25.94,15.73,29.31,37.05,10.55,55A60.71,60.71,0,0,1,211.25,157.63Zm29.86,190c-19.57,18.75-46.17,29.08-74.88,29.08a123.84,123.84,0,0,1-64.11-18.19L-.13,296.51v24.67l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.85,87.85,0,0,1,241.11,347.67Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.84,123.84,0,0,1-64.11-18.19L-.13,257.52V282.2l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.68,12.88-12.35,20-27.13,19.68-41.5v-1.79A86.86,86.86,0,0,1,241.11,308.68Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.84,123.84,0,0,1-64.11-18.19L-.13,218.54v24.68l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.69,12.88-12.34,20-27.12,19.68-41.49v-1.82A87.14,87.14,0,0,1,241.11,269.7Zm83.69,25.74a94.16,94.16,0,0,1-60.19,25.86h0V348a81.6,81.6,0,0,0,51.73-22.37c14-13.38,21.15-28.11,21-42.64v-2.2A95.14,95.14,0,0,1,324.8,295.44Zm-83.69,91.21c-19.57,18.75-46.17,29.09-74.88,29.09a123.76,123.76,0,0,1-64.11-18.2L-.13,335.49v24.67l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.35,87.35,0,0,1,241.11,386.65Zm85.75-210.21c-.68.69-1.35,1.38-2.06,2.05a99.19,99.19,0,0,1-22.23,15.69,94.53,94.53,0,0,1-26.24,8.71,97.84,97.84,0,0,1-14.16,1.57c.5,1.61.9,3.25,1.25,4.9a52.7,52.7,0,0,1,1.13,12V231h.05A84.48,84.48,0,0,0,290,225.47a80.83,80.83,0,0,0,26.38-16.82c.81-.77,1.51-1.56,2.27-2.34a82,82,0,0,0,7.92-9.38,62.85,62.85,0,0,0,6.29-10.78,48.5,48.5,0,0,0,4.32-16.44c.09-1.23.2-2.47.19-3.7v-2c-.72,1-1.48,2.06-2.26,3.09A98,98,0,0,1,326.86,176.44Zm0,77.92c-.68.7-1.3,1.41-2,2.1a94.09,94.09,0,0,1-60.19,25.85h0V309h0a81.65,81.65,0,0,0,51.73-22.37,73.51,73.51,0,0,0,16.48-22.49,48.56,48.56,0,0,0,4.32-16.44c.09-1.24.2-2.48.19-3.71v-2.2c-.74,1.08-1.47,2.16-2.27,3.22A95.81,95.81,0,0,1,326.82,254.36Zm0-39c-.68.7-1.3,1.41-2,2.1a92.22,92.22,0,0,1-10.62,8.65,93.53,93.53,0,0,1-11.63,7,95.63,95.63,0,0,1-37.94,10.18h-.05l0,26.67h0a81.63,81.63,0,0,0,51.73-22.37c.81-.77,1.51-1.56,2.27-2.34a82,82,0,0,0,7.92-9.38,63.16,63.16,0,0,0,6.29-10.77,48.55,48.55,0,0,0,4.32-16.45c.09-1.23.2-2.47.19-3.7v-2.2c-.74,1.08-1.47,2.16-2.27,3.22A98.19,98.19,0,0,1,326.82,215.38Zm241-88.84q7.94,0,17.09.17t18.12,1a139.3,139.3,0,0,1,16.74,2.57,42.78,42.78,0,0,1,13.3,5.14,64.27,64.27,0,0,1,20.54,19.89Q662,168,662,186.54q0,19.54-9.49,33.78t-27.1,21.09v.68q22.78,4.82,34.87,20.58t12.08,38.4a72.62,72.62,0,0,1-4.83,26.06,65.29,65.29,0,0,1-14.33,22.46,71.57,71.57,0,0,1-23.47,15.78q-14,6-32.28,6H478.38V126.54Zm9,105.27q28,0,40.21-9.78t12.26-29.31q0-13-4.14-20.58a29.47,29.47,0,0,0-11.4-11.66A45,45,0,0,0,597,155.17a161.2,161.2,0,0,0-20.19-1.2h-65.6v77.84Zm16.57,112.13q21.74,0,34-11.66T639.59,300q0-12-4.48-19.88a34.85,34.85,0,0,0-11.91-12.52,50.14,50.14,0,0,0-17.09-6.52,105,105,0,0,0-20-1.88H511.17v84.7Zm274.79,26.74q-7.61,4.45-21.06,4.46-11.4,0-18.12-6.34t-6.74-20.75a70.17,70.17,0,0,1-28.13,20.75,97.87,97.87,0,0,1-57.65,3.6,53.51,53.51,0,0,1-18.82-8.58A41.19,41.19,0,0,1,705,348.56q-4.65-9.42-4.66-22.8,0-15.09,5.18-24.69a44.92,44.92,0,0,1,13.64-15.6,62.63,62.63,0,0,1,19.33-9.09q10.88-3.08,22.27-5.14,12.08-2.4,23-3.6a128,128,0,0,0,19.16-3.43c5.53-1.48,9.89-3.65,13.12-6.51s4.83-7,4.83-12.52q0-9.6-3.62-15.43a24.94,24.94,0,0,0-9.32-8.92,38.38,38.38,0,0,0-12.78-4.11,96.54,96.54,0,0,0-14-1q-18.63,0-31.07,7T736.6,249.29H707.26q.69-16.46,6.9-27.77a52.21,52.21,0,0,1,16.57-18.35,70,70,0,0,1,23.65-10.11A125.51,125.51,0,0,1,782.86,190a168.63,168.63,0,0,1,24,1.72,63.26,63.26,0,0,1,21.58,7A41.23,41.23,0,0,1,844,213.59q5.87,9.57,5.87,25v91q0,10.26,1.21,15.05t8.11,4.79a35.57,35.57,0,0,0,9-1.37Zm-47.64-90.87c-3.69,2.74-8.52,4.72-14.5,6s-12.26,2.27-18.82,3.07-13.17,1.71-19.85,2.73a73.7,73.7,0,0,0-18,4.94,32.62,32.62,0,0,0-12.94,9.73q-5,6.32-5,17.23a23.31,23.31,0,0,0,2.94,12.11,24.11,24.11,0,0,0,7.59,8,32,32,0,0,0,10.88,4.44,60.94,60.94,0,0,0,13.11,1.36q14.5,0,24.86-3.92a52.49,52.49,0,0,0,16.91-9.9,39.1,39.1,0,0,0,9.67-13,32.53,32.53,0,0,0,3.11-13.14ZM1002.07,225q-11.05-9.25-29.69-9.26-15.89,0-26.58,5.83A47.29,47.29,0,0,0,928.71,237a64.66,64.66,0,0,0-9.15,22.12A119.83,119.83,0,0,0,916.8,285a98.22,98.22,0,0,0,2.93,24,64.18,64.18,0,0,0,9.15,20.74,46.2,46.2,0,0,0,16.23,14.58q10,5.49,23.82,5.48,21.75,0,34-11.31t15-31.89h30q-4.83,32.91-24.68,50.75t-54,17.83q-20.37,0-36.07-6.52A69.86,69.86,0,0,1,907,350.11a79.92,79.92,0,0,1-15.88-28.63A118.64,118.64,0,0,1,885.73,285a129.41,129.41,0,0,1,5.18-37.21,85.63,85.63,0,0,1,15.71-30.17A73.46,73.46,0,0,1,933,197.35Q948.91,190,970,190a108.54,108.54,0,0,1,28.48,3.6,69.59,69.59,0,0,1,23.48,11.15,61,61,0,0,1,16.74,19q6.55,11.49,8.29,27.26h-30.38Q1013.11,234.21,1002.07,225Zm109.77-98.41v145l81.47-77.49h39.36l-70.77,64.46,75.95,112.82h-37.29l-61.1-92.59-27.62,25.38v67.21H1082.5V126.54Zm170.54,205.22a31.07,31.07,0,0,0,10.87,10.63,49,49,0,0,0,15.19,5.66,87.06,87.06,0,0,0,17.44,1.71,109.18,109.18,0,0,0,14.5-1,53.22,53.22,0,0,0,14-3.78,26.27,26.27,0,0,0,10.53-8q4.14-5.32,4.14-13.55,0-11.31-8.63-17.14a73.69,73.69,0,0,0-21.58-9.43q-12.94-3.6-28.13-6.52a146,146,0,0,1-28.14-8.23A58.16,58.16,0,0,1,1261,267.13q-8.64-9.6-8.63-26.75,0-13.38,6-23a49.26,49.26,0,0,1,15.53-15.61,71.76,71.76,0,0,1,21.4-8.91A99.41,99.41,0,0,1,1319,190a141.31,141.31,0,0,1,28,2.58,64.85,64.85,0,0,1,22.62,8.91,46.16,46.16,0,0,1,15.7,17.15q5.87,10.8,6.91,26.91h-29.35q-.69-8.57-4.48-14.23a29.36,29.36,0,0,0-9.67-9.08,44.16,44.16,0,0,0-12.94-5,67.68,67.68,0,0,0-14.33-1.54,87.29,87.29,0,0,0-13.29,1,45.28,45.28,0,0,0-12.26,3.6,24.49,24.49,0,0,0-9,6.86q-3.46,4.29-3.46,11.14a16.32,16.32,0,0,0,5.36,12.52,42.75,42.75,0,0,0,13.63,8.23,120,120,0,0,0,18.64,5.48q10.37,2.24,20.72,4.63,11,2.4,21.57,5.83A70.74,70.74,0,0,1,1382,284.1a44.55,44.55,0,0,1,13.12,14.23q5,8.58,5,21.26,0,16.13-6.73,26.75a52.5,52.5,0,0,1-17.61,17.14,73.89,73.89,0,0,1-24.51,9.09,146.3,146.3,0,0,1-27.1,2.57,126.24,126.24,0,0,1-28.31-3.09A69.56,69.56,0,0,1,1272,361.94a51.74,51.74,0,0,1-16.57-18.52q-6.21-11.49-6.9-27.95h29.34A32.65,32.65,0,0,0,1282.38,331.76Zm226.46-137.67v25.72h-35.56V329.88a31.37,31.37,0,0,0,.87,8.23,8.42,8.42,0,0,0,3.28,4.8,14.61,14.61,0,0,0,6.73,2.23,99.19,99.19,0,0,0,11.22.51h13.46v25.72H1486.4a105.8,105.8,0,0,1-19.5-1.55,28.65,28.65,0,0,1-13.12-5.65,24.09,24.09,0,0,1-7.42-11.66q-2.43-7.54-2.42-19.89V219.81h-30.38V194.09h30.38V140.94h29.34v53.15ZM1699.4,370.68q-7.61,4.45-21.06,4.46-11.4,0-18.12-6.34t-6.74-20.75a70.17,70.17,0,0,1-28.13,20.75,97.87,97.87,0,0,1-57.65,3.6,53.51,53.51,0,0,1-18.82-8.58,41.19,41.19,0,0,1-12.6-15.26q-4.65-9.42-4.66-22.8,0-15.09,5.18-24.69a44.92,44.92,0,0,1,13.64-15.6,62.63,62.63,0,0,1,19.33-9.09q10.88-3.08,22.27-5.14,12.07-2.4,23-3.6a128,128,0,0,0,19.16-3.43c5.53-1.48,9.89-3.65,13.12-6.51s4.83-7,4.83-12.52q0-9.6-3.62-15.43a24.94,24.94,0,0,0-9.32-8.92,38.38,38.38,0,0,0-12.78-4.11,96.54,96.54,0,0,0-14-1q-18.63,0-31.07,7t-13.46,26.57h-29.34q.67-16.46,6.9-27.77A52.21,52.21,0,0,1,1562,203.17a70,70,0,0,1,23.65-10.11,125.51,125.51,0,0,1,28.48-3.09,168.63,168.63,0,0,1,24,1.72,63.26,63.26,0,0,1,21.58,7,41.23,41.23,0,0,1,15.53,14.89q5.87,9.57,5.87,25v91q0,10.26,1.21,15.05t8.11,4.79a35.57,35.57,0,0,0,9-1.37Zm-47.64-90.87c-3.69,2.74-8.52,4.72-14.5,6s-12.26,2.27-18.82,3.07-13.17,1.71-19.85,2.73a73.7,73.7,0,0,0-17.95,4.94,32.62,32.62,0,0,0-12.94,9.73q-5,6.32-5,17.23a23.31,23.31,0,0,0,2.94,12.11,24.11,24.11,0,0,0,7.59,8,32,32,0,0,0,10.88,4.44,60.94,60.94,0,0,0,13.11,1.36q14.51,0,24.86-3.92a52.49,52.49,0,0,0,16.91-9.9,39.1,39.1,0,0,0,9.67-13,32.53,32.53,0,0,0,3.11-13.14Zm208.85,141.62q-20,21.6-62.83,21.6a122.11,122.11,0,0,1-25.37-2.74,78,78,0,0,1-23.48-8.92,54.41,54.41,0,0,1-17.43-16.11q-6.91-10-7.6-24.35h29.35a21.47,21.47,0,0,0,5,13.38,36.67,36.67,0,0,0,11.4,8.91,55.52,55.52,0,0,0,14.67,5,79.51,79.51,0,0,0,15.19,1.55q14.49,0,24.51-5A46,46,0,0,0,1840.59,401a56.53,56.53,0,0,0,9.49-21.09,117.46,117.46,0,0,0,2.94-27.09V341.19h-.7q-7.59,16.46-23,24.18a71.8,71.8,0,0,1-32.63,7.71q-20,0-34.86-7.2A72.88,72.88,0,0,1,1737,346.51a82.13,82.13,0,0,1-15-28.46,116.62,116.62,0,0,1-5-34.47,133.92,133.92,0,0,1,4.14-32.4A88.17,88.17,0,0,1,1735,221a75.49,75.49,0,0,1,25.55-22.29q15.87-8.75,39-8.75a66.21,66.21,0,0,1,31.07,7.38,52.13,52.13,0,0,1,22.09,22.11h.35V194.09h27.61V356.28Q1880.63,399.83,1860.61,421.43Zm-37.46-79.72a47.94,47.94,0,0,0,16.4-15.78,71.89,71.89,0,0,0,9.15-22.11,106.77,106.77,0,0,0,2.93-24.69,96.71,96.71,0,0,0-2.76-23,64,64,0,0,0-8.8-20.4,45.76,45.76,0,0,0-15.71-14.57q-9.66-5.49-23.47-5.49-14.16,0-24.17,5.32a46.77,46.77,0,0,0-16.4,14.23,60.14,60.14,0,0,0-9.32,20.57,99.69,99.69,0,0,0-2.93,24.35,120.63,120.63,0,0,0,2.42,24,67.5,67.5,0,0,0,8.28,21.77,46.37,46.37,0,0,0,15.54,15.78q9.66,6,24.16,6T1823.15,341.71Zm228,18.34q-20,15.09-50.41,15.09-21.4,0-37.11-6.86a73.16,73.16,0,0,1-26.41-19.2,81.52,81.52,0,0,1-16-29.49,141.12,141.12,0,0,1-6-37.38,106.1,106.1,0,0,1,6.21-37A88.56,88.56,0,0,1,1938.8,216a79.09,79.09,0,0,1,26.58-19.2A81.66,81.66,0,0,1,1999,190q23.82,0,39.53,9.78a78,78,0,0,1,25.2,24.86,98.18,98.18,0,0,1,13.12,32.91,140.6,140.6,0,0,1,2.93,34h-133.6a70,70,0,0,0,2.76,22.12,49.9,49.9,0,0,0,10,18.51A49.1,49.1,0,0,0,1976.6,345q10.7,4.82,25.2,4.8,18.65,0,30.55-8.57t15.71-26.06h29Q2071.18,345,2051.17,360.05Zm-7.08-113.84a50,50,0,0,0-10.7-16,53.1,53.1,0,0,0-56.62-10.63,47.48,47.48,0,0,0-15.71,10.81,51.69,51.69,0,0,0-10.35,15.94,60.18,60.18,0,0,0-4.49,19.37h102.53A59.47,59.47,0,0,0,2044.09,246.21ZM302.9,180a80.62,80.62,0,0,0,13.44-10.37c.8-.77,1.55-1.54,2.31-2.31a81.89,81.89,0,0,0,7.92-9.37,62.37,62.37,0,0,0,6.27-10.77,48.6,48.6,0,0,0,4.36-16.4c1.49-19.39-10-38.67-35.62-54.22L198.42,14,78.16,129.22l-78.29,75,108.6,65.9a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.8,66.42-25.69,19.16-18.36,25.52-42.12,13.7-61.87a49.69,49.69,0,0,0-6.8-8.87,89.78,89.78,0,0,0,19.28,2.15H259a85.09,85.09,0,0,0,31-5.79A80.88,80.88,0,0,0,302.9,180Zm-100.59,59.8c-19.32,18.51-50.4,21.24-75.7,5.9l-75.13-45.6,67.44-64.65,76.42,46.39C222.88,198.57,221.36,221.6,202.31,239.84Zm8.94-82.21L140.6,114.74,205,53l69.37,42.11c25.94,15.73,29.31,37.05,10.55,55A60.71,60.71,0,0,1,211.25,157.63Zm29.86,190c-19.57,18.75-46.17,29.08-74.88,29.08a123.84,123.84,0,0,1-64.11-18.19L-.13,296.51v24.67l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.85,87.85,0,0,1,241.11,347.67Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.84,123.84,0,0,1-64.11-18.19L-.13,257.52V282.2l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.68,12.88-12.35,20-27.13,19.68-41.5v-1.79A86.86,86.86,0,0,1,241.11,308.68Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.84,123.84,0,0,1-64.11-18.19L-.13,218.54v24.68l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.69,12.88-12.34,20-27.12,19.68-41.49v-1.82A87.14,87.14,0,0,1,241.11,269.7Zm83.69,25.74a94.16,94.16,0,0,1-60.19,25.86h0V348a81.6,81.6,0,0,0,51.73-22.37c14-13.38,21.15-28.11,21-42.64v-2.2A95.14,95.14,0,0,1,324.8,295.44Zm-83.69,91.21c-19.57,18.75-46.17,29.09-74.88,29.09a123.76,123.76,0,0,1-64.11-18.2L-.13,335.49v24.67l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.35,87.35,0,0,1,241.11,386.65Zm85.75-210.21c-.68.69-1.35,1.38-2.06,2.05a99.19,99.19,0,0,1-22.23,15.69,94.53,94.53,0,0,1-26.24,8.71,97.84,97.84,0,0,1-14.16,1.57c.5,1.61.9,3.25,1.25,4.9a52.7,52.7,0,0,1,1.13,12V231h.05A84.48,84.48,0,0,0,290,225.47a80.83,80.83,0,0,0,26.38-16.82c.81-.77,1.51-1.56,2.27-2.34a82,82,0,0,0,7.92-9.38,62.85,62.85,0,0,0,6.29-10.78,48.5,48.5,0,0,0,4.32-16.44c.09-1.23.2-2.47.19-3.7v-2c-.72,1-1.48,2.06-2.26,3.09A98,98,0,0,1,326.86,176.44Zm0,77.92c-.68.7-1.3,1.41-2,2.1a94.09,94.09,0,0,1-60.19,25.85h0V309h0a81.65,81.65,0,0,0,51.73-22.37,73.51,73.51,0,0,0,16.48-22.49,48.56,48.56,0,0,0,4.32-16.44c.09-1.24.2-2.48.19-3.71v-2.2c-.74,1.08-1.47,2.16-2.27,3.22A95.81,95.81,0,0,1,326.82,254.36Zm0-39c-.68.7-1.3,1.41-2,2.1a92.22,92.22,0,0,1-10.62,8.65,93.53,93.53,0,0,1-11.63,7,95.63,95.63,0,0,1-37.94,10.18h-.05l0,26.67h0a81.63,81.63,0,0,0,51.73-22.37c.81-.77,1.51-1.56,2.27-2.34a82,82,0,0,0,7.92-9.38,63.16,63.16,0,0,0,6.29-10.77,48.55,48.55,0,0,0,4.32-16.45c.09-1.23.2-2.47.19-3.7v-2.2c-.74,1.08-1.47,2.16-2.27,3.22A98.19,98.19,0,0,1,326.82,215.38Z"})})};const Gs=(0,He.Z)({svg:{width:"auto",height:28},path:{fill:"#7df3e1"}});var Vs=()=>{const r=Gs();return(0,i.jsx)("svg",{className:r.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 337.46 428.5",children:(0,i.jsx)("path",{className:r.path,d:"M303,166.05a80.69,80.69,0,0,0,13.45-10.37c.79-.77,1.55-1.53,2.3-2.3a83.12,83.12,0,0,0,7.93-9.38A63.69,63.69,0,0,0,333,133.23a48.58,48.58,0,0,0,4.35-16.4c1.49-19.39-10-38.67-35.62-54.22L198.56,0,78.3,115.23,0,190.25l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.69,19.16-18.36,25.52-42.12,13.7-61.87a49.22,49.22,0,0,0-6.8-8.87A89.17,89.17,0,0,0,259,178.29h.15a85.08,85.08,0,0,0,31-5.79A80.88,80.88,0,0,0,303,166.05ZM202.45,225.86c-19.32,18.51-50.4,21.23-75.7,5.9L51.61,186.15l67.45-64.64,76.41,46.38C223,184.58,221.49,207.61,202.45,225.86Zm8.93-82.22-70.65-42.89L205.14,39,274.51,81.1c25.94,15.72,29.31,37,10.55,55A60.69,60.69,0,0,1,211.38,143.64Zm29.86,190c-19.57,18.75-46.17,29.09-74.88,29.09a123.73,123.73,0,0,1-64.1-18.2L0,282.52v24.67L108.6,373.1a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.27,87.27,0,0,1,241.24,333.68Zm0-39c-19.57,18.75-46.17,29.08-74.88,29.08a123.81,123.81,0,0,1-64.1-18.19L0,243.53v24.68l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.5v-1.78A87.27,87.27,0,0,1,241.24,294.7Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.81,123.81,0,0,1-64.1-18.19L0,204.55v24.68l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.68,12.88-12.35,20-27.13,19.68-41.5v-1.82A86.09,86.09,0,0,1,241.24,255.71Zm83.7,25.74a94.15,94.15,0,0,1-60.2,25.86h0V334a81.6,81.6,0,0,0,51.74-22.37c14-13.38,21.14-28.11,21-42.64v-2.19A94.92,94.92,0,0,1,324.94,281.45Zm-83.7,91.21c-19.57,18.76-46.17,29.09-74.88,29.09a123.73,123.73,0,0,1-64.1-18.2L0,321.5v24.68l108.6,65.9a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.8,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A86.29,86.29,0,0,1,241.24,372.66ZM327,162.45c-.68.69-1.35,1.38-2.05,2.06a94.37,94.37,0,0,1-10.64,8.65,91.35,91.35,0,0,1-11.6,7,94.53,94.53,0,0,1-26.24,8.71,97.69,97.69,0,0,1-14.16,1.57c.5,1.61.9,3.25,1.25,4.9a53.27,53.27,0,0,1,1.14,12V217h.05a84.41,84.41,0,0,0,25.35-5.55,81,81,0,0,0,26.39-16.82c.8-.77,1.5-1.56,2.26-2.34a82.08,82.08,0,0,0,7.93-9.38A63.76,63.76,0,0,0,333,172.17a48.55,48.55,0,0,0,4.32-16.45c.09-1.23.2-2.47.19-3.7V150q-1.08,1.54-2.25,3.09A96.73,96.73,0,0,1,327,162.45Zm0,77.92c-.69.7-1.31,1.41-2,2.1a94.2,94.2,0,0,1-60.2,25.86h0l0,26.67h0a81.6,81.6,0,0,0,51.74-22.37A73.51,73.51,0,0,0,333,250.13a48.56,48.56,0,0,0,4.32-16.44c.09-1.24.2-2.47.19-3.71v-2.19c-.74,1.07-1.46,2.15-2.27,3.21A95.68,95.68,0,0,1,327,240.37Zm0-39c-.69.7-1.31,1.41-2,2.1a93.18,93.18,0,0,1-10.63,8.65,91.63,91.63,0,0,1-11.63,7,95.47,95.47,0,0,1-37.94,10.18h0V256h0a81.65,81.65,0,0,0,51.74-22.37c.8-.77,1.5-1.56,2.26-2.34a82.08,82.08,0,0,0,7.93-9.38A63.76,63.76,0,0,0,333,211.15a48.56,48.56,0,0,0,4.32-16.44c.09-1.24.2-2.48.19-3.71v-2.2c-.74,1.08-1.46,2.16-2.27,3.22A95.68,95.68,0,0,1,327,201.39Z"})})},ye=t(76921);const gr={isOpen:!1,setOpen:()=>{}},vr=(0,d.createContext)(gr),mr=(0,hn.CT)("sidebar-open-state-context");function yr(r){const{children:e,value:n}=r;return(0,i.jsx)(vr.Provider,{value:n,children:(0,i.jsx)(mr.Provider,{value:(0,Zn.E)({1:n}),children:e})})}const $o=()=>{const r=(0,d.useContext)(mr),e=(0,d.useContext)(vr);if(r===void 0)return e||gr;const n=r.atVersion(1);if(n===void 0)throw new Error("No context found for version 1.");return n};var Er=t(98864),xr=t(44409),qe=t(62774),Cr=t(41156),_s=t(72779),ln=t.n(_s),Ys=t(50023),Ar=t(61837),Qs=t(4190),Wo=t(90436),Js=t(87685),Xs=t(44882),qs=t(57998),No=t(93539);const ti=(0,He.Z)(r=>({root:{flexGrow:0,margin:r.spacing(0,2),color:r.palette.navigation.color},selected:e=>({color:`${r.palette.navigation.selectedColor}!important`,borderTop:`solid ${e.sidebarConfig.selectedIndicatorWidth}px ${r.palette.navigation.indicator}`,marginTop:"-1px"}),label:{display:"none"}})),ei=r=>{const{to:e,label:n,icon:s,value:a}=r,{sidebarConfig:l}=(0,d.useContext)(ye.kG),E=ti({sidebarConfig:l}),x=(0,f.TH)(),{selectedMenuItemIndex:U,setSelectedMenuItemIndex:W}=(0,d.useContext)(br),st=(rt,q)=>{W(q===U?-1:q)},X=a===U&&U>=0||a!==U&&!(U>=0)&&e===x.pathname;return(0,i.jsx)(qs.Z,{"aria-label":n,label:n,icon:s,component:Er.rU,to:e||x.pathname,onChange:st,value:a,selected:X,classes:E})},Or=r=>{const{children:e,to:n,label:s,icon:a,value:l}=r,{isMobile:E}=(0,No.Pf)();return E?(0,i.jsx)(ei,{to:n,label:s,icon:a,value:l}):(0,i.jsx)(i.Fragment,{children:e})},Sr=(0,He.Z)(r=>({root:{position:"fixed",backgroundColor:r.palette.navigation.background,color:r.palette.navigation.color,bottom:0,left:0,right:0,zIndex:r.zIndex.snackbar,borderTop:"1px solid #383838","@media print":{display:"none"}},overlay:e=>({background:r.palette.navigation.background,width:"100%",bottom:`${e.sidebarConfig.mobileSidebarHeight}px`,height:`calc(100% - ${e.sidebarConfig.mobileSidebarHeight}px)`,flex:"0 1 auto",overflow:"auto"}),overlayHeader:{display:"flex",color:r.palette.text.primary,alignItems:"center",justifyContent:"space-between",padding:r.spacing(2,3)},overlayHeaderClose:{color:r.palette.text.primary},marginMobileSidebar:e=>({marginBottom:`${e.sidebarConfig.mobileSidebarHeight}px`})})),ni=r=>(0,mn.orderBy)(r,({props:{priority:e}})=>Number.isInteger(e)?e:-1,"desc"),oi=d.createElement(Or).type,ri=({children:r,label:e="Menu",open:n,onClose:s})=>{const{sidebarConfig:a}=(0,d.useContext)(ye.kG),l=Sr({sidebarConfig:a});return(0,i.jsxs)(Qs.ZP,{anchor:"bottom",open:n,onClose:s,ModalProps:{BackdropProps:{classes:{root:l.marginMobileSidebar}}},classes:{root:l.marginMobileSidebar,paperAnchorBottom:l.overlay},children:[(0,i.jsxs)(qe.Z,{className:l.overlayHeader,children:[(0,i.jsx)(Wo.Z,{variant:"h3",children:e}),(0,i.jsx)(Ar.Z,{onClick:s,classes:{root:l.overlayHeaderClose},children:(0,i.jsx)(Js.Z,{})})]}),(0,i.jsx)(qe.Z,{component:"nav",children:r})]})},br=(0,d.createContext)({selectedMenuItemIndex:-1,setSelectedMenuItemIndex:()=>{}}),si=r=>{const{sidebarConfig:e}=(0,d.useContext)(ye.kG),{children:n}=r,s=Sr({sidebarConfig:e}),a=(0,f.TH)(),[l,E]=(0,d.useState)(-1);(0,d.useEffect)(()=>{E(-1)},[a.pathname]);let x=(0,Yn.v)(n,W=>W.getElements().filter(st=>st.type===oi));if(n)x.length?x=ni(x):x.push((0,i.jsx)(Or,{icon:(0,i.jsx)(Xs.Z,{}),children:n},"default_menu"));else return null;const U=l>=0&&!x[l].props.to;return(0,i.jsx)(yr,{value:{isOpen:!0,setOpen:()=>{}},children:(0,i.jsxs)(br.Provider,{value:{selectedMenuItemIndex:l,setSelectedMenuItemIndex:E},children:[(0,i.jsx)(ri,{label:x[l]&&x[l].props.label,open:U,onClose:()=>E(-1),children:x[l]&&x[l].props.children}),(0,i.jsx)(Ys.Z,{className:s.root,"data-testid":"mobile-sidebar-root",component:"nav",children:x})]})})},Pr=(0,He.Z)(r=>({drawer:{display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",position:"fixed",left:0,top:0,bottom:0,zIndex:r.zIndex.appBar,background:r.palette.navigation.background,overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",transition:r.transitions.create("width",{easing:r.transitions.easing.sharp,duration:r.transitions.duration.shortest}),"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"},"@media print":{display:"none"}},drawerWidth:e=>({width:e.sidebarConfig.drawerWidthClosed}),drawerOpen:e=>({width:e.sidebarConfig.drawerWidthOpen,transition:r.transitions.create("width",{easing:r.transitions.easing.sharp,duration:r.transitions.duration.shorter})}),visuallyHidden:{top:0,position:"absolute",zIndex:1e3,transform:"translateY(-200%)","&:focus":{transform:"translateY(5px)"}}}),{name:"BackstageSidebar"});var Pe;(function(r){r[r.Closed=0]="Closed",r[r.Idle=1]="Idle",r[r.Open=2]="Open"})(Pe||(Pe={}));const ii=r=>{const{sidebarConfig:e}=(0,d.useContext)(ye.kG),{openDelayMs:n=e.defaultOpenDelayMs,closeDelayMs:s=e.defaultCloseDelayMs,disableExpandOnHover:a,children:l}=r,E=Pr({sidebarConfig:e}),x=(0,Cr.Z)(te=>te.breakpoints.down("md"),{noSsr:!0}),[U,W]=(0,d.useState)(Pe.Closed),st=(0,d.useRef)(),{isPinned:X,toggleSidebarPinState:rt}=(0,No.Pf)(),q=()=>{X||a||(st.current&&(clearTimeout(st.current),st.current=void 0),U!==Pe.Open&&!x&&(st.current=window.setTimeout(()=>{st.current=void 0,W(Pe.Open)},n),W(Pe.Idle)))},Et=()=>{X||a||(st.current&&(clearTimeout(st.current),st.current=void 0),U===Pe.Idle?W(Pe.Closed):U===Pe.Open&&(st.current=window.setTimeout(()=>{st.current=void 0,W(Pe.Closed)},s)))},Bt=U===Pe.Open&&!x||X,jt=te=>{te?(W(Pe.Open),rt()):(W(Pe.Closed),rt())};return(0,i.jsxs)("nav",{style:{},"aria-label":"sidebar nav",children:[(0,i.jsx)(li,{}),(0,i.jsx)(yr,{value:{isOpen:Bt,setOpen:jt},children:(0,i.jsx)(qe.Z,{className:E.root,"data-testid":"sidebar-root",onMouseEnter:a?()=>{}:q,onFocus:a?()=>{}:q,onMouseLeave:a?()=>{}:Et,onBlur:a?()=>{}:Et,children:(0,i.jsx)(qe.Z,{className:ln()(E.drawer,E.drawerWidth,{[E.drawerOpen]:Bt}),children:l})})})]})},ai=r=>{var e;const n=(0,ye.$E)((e=r.sidebarOptions)!==null&&e!==void 0?e:{});var s;const a=(0,ye.rW)((s=r.submenuOptions)!==null&&s!==void 0?s:{}),{children:l,disableExpandOnHover:E,openDelayMs:x,closeDelayMs:U}=r,{isMobile:W}=(0,No.Pf)();return W?(0,i.jsx)(si,{children:l}):(0,i.jsx)(ye.kG.Provider,{value:{sidebarConfig:n,submenuConfig:a},children:(0,i.jsx)(ii,{openDelayMs:x,closeDelayMs:U,disableExpandOnHover:E,children:l})})};function li(){var r;const{sidebarConfig:e}=(0,d.useContext)(ye.kG),{focusContent:n,contentRef:s}=(0,xr.r)(),a=Pr({sidebarConfig:e});return!((r=s)===null||r===void 0)&&r.current?(0,i.jsx)(A.Z,{onClick:n,variant:"contained",className:ln()(a.visuallyHidden),children:"Skip to content"}):null}var ci=t(26739),Qn=t(1667),di=t(83543),ui=t(59797),Rr=t(98989),Zo;const hi=(0,He.Z)(r=>({root:{zIndex:1e3,position:"relative",overflow:"visible",width:r.spacing(7)+1},drawer:e=>{var n;return{display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",position:"fixed",[r.breakpoints.up("sm")]:{marginLeft:e.left,transition:r.transitions.create("margin-left",{easing:r.transitions.easing.sharp,duration:r.transitions.duration.shortest})},top:0,bottom:0,padding:0,background:(Zo=(n=r.palette.navigation.submenu)===null||n===void 0?void 0:n.background)!==null&&Zo!==void 0?Zo:"#404040",overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",cursor:"default",width:e.submenuConfig.drawerWidthClosed,transitionDelay:`${e.submenuConfig.defaultOpenDelayMs}ms`,"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"}}},drawerOpen:e=>({width:e.submenuConfig.drawerWidthOpen,[r.breakpoints.down("xs")]:{width:"100%",position:"relative",paddingLeft:r.spacing(3),left:0,top:0}}),title:{fontSize:r.typography.h5.fontSize,fontWeight:r.typography.fontWeightMedium,color:r.palette.common.white,padding:r.spacing(2.5),[r.breakpoints.down("xs")]:{display:"none"}}}),{name:"BackstageSidebarSubmenu"}),fi=r=>{const{isOpen:e}=$o(),{sidebarConfig:n,submenuConfig:s}=(0,d.useContext)(ye.kG),a=e?n.drawerWidthOpen:n.drawerWidthClosed,l=hi({left:a,submenuConfig:s}),{isHoveredOn:E}=(0,d.useContext)(ye.Ag),[x,U]=(0,d.useState)(!1);return(0,d.useEffect)(()=>{U(E)},[E]),(0,i.jsxs)(qe.Z,{className:ln()(l.drawer,{[l.drawerOpen]:x}),children:[(0,i.jsx)(Wo.Z,{variant:"h5",component:"span",className:l.title,children:r.title}),r.children]})};var pi=t(19126),Tr=t.n(pi);function Ir(r,e,n=!1){const s=new URLSearchParams(e.search).toString(),a=Tr().parse(s),l=new URLSearchParams(r.search).toString(),E=Tr().parse(l),x=n?mn.isEqual:mn.isMatch;return(0,mn.isEqual)(e.pathname,r.pathname)&&x(E,a)}var Ko,zo;const gi=r=>(0,He.Z)(e=>{var n,s;return{root:{color:e.palette.navigation.color,display:"flex",flexFlow:"row nowrap",alignItems:"center",height:48,cursor:"pointer"},buttonItem:{background:"none",border:"none",width:"100%",margin:0,padding:0,textAlign:"inherit",font:"inherit",textTransform:"none"},closed:{width:r.drawerWidthClosed,justifyContent:"center"},open:{[e.breakpoints.up("sm")]:{width:r.drawerWidthOpen}},highlightable:{"&:hover":{background:(Ko=(n=e.palette.navigation.navItem)===null||n===void 0?void 0:n.hoverBackground)!==null&&Ko!==void 0?Ko:"#404040"}},highlighted:{background:(zo=(s=e.palette.navigation.navItem)===null||s===void 0?void 0:s.hoverBackground)!==null&&zo!==void 0?zo:"#404040"},label:{fontWeight:"bold",whiteSpace:"nowrap",lineHeight:"auto",flex:"3 1 auto",width:"110px",overflow:"hidden","text-overflow":"ellipsis"},iconContainer:{boxSizing:"border-box",height:"100%",width:r.iconContainerWidth,marginRight:-e.spacing(2),display:"flex",alignItems:"center",justifyContent:"center",lineHeight:"0"},searchRoot:{marginBottom:12},searchField:{color:"#b5b5b5",fontWeight:e.typography.fontWeightBold,fontSize:e.typography.fontSize},searchFieldHTMLInput:{padding:e.spacing(2,0,2)},searchContainer:{width:r.drawerWidthOpen-r.iconContainerWidth},secondaryAction:{width:e.spacing(6),textAlign:"center",marginRight:e.spacing(1)},closedItemIcon:{width:"100%",justifyContent:"center"},submenuArrow:{display:"flex"},expandButton:{background:"none",border:"none",color:e.palette.navigation.color,width:"100%",cursor:"pointer",position:"relative",height:48},arrows:{position:"absolute",right:10},selected:{"&$root":{borderLeft:`solid ${r.selectedIndicatorWidth}px ${e.palette.navigation.indicator}`,color:e.palette.navigation.selectedColor},"&$closed":{width:r.drawerWidthClosed},"& $closedItemIcon":{paddingRight:r.selectedIndicatorWidth},"& $iconContainer":{marginLeft:-r.selectedIndicatorWidth}}}},{name:"BackstageSidebarItem"});function Jn(r){return(0,d.useMemo)(()=>gi(r),[r])()}const vi=(r,e)=>(0,Yn.v)(r.props.children,n=>{let s=!1;return n.getElements().forEach(({props:{to:a,dropdownItems:l}})=>{if(!s){var E;if(!((E=l)===null||E===void 0)&&E.length){l.forEach(({to:x})=>s=s||Ir(e,(0,Pn.i3)(x)));return}a&&(s=Ir(e,(0,Pn.i3)(a)))}}),s},[e.pathname]);function ko(r){return r.to===void 0}const mi=d.createElement(fi).type,yi=d.forwardRef(function({to:e,end:n,style:s,className:a,activeStyle:l,caseSensitive:E,activeClassName:x="active","aria-current":U="page",...W},st){let{pathname:X}=(0,f.TH)(),{pathname:rt}=(0,f.WU)(e);E||(X=X.toLocaleLowerCase("en-US"),rt=rt.toLocaleLowerCase("en-US"));let q=X===rt;!q&&!n&&(q=X.startsWith(`${rt}/`));const Et=q?U:void 0;return(0,i.jsx)(m.rU,{...W,to:e,ref:st,"aria-current":Et,style:{...s,...q?l:void 0},className:ln()([a,q?x:void 0])})}),wr=(0,d.forwardRef)((r,e)=>{const{icon:n,text:s,hasNotifications:a=!1,hasSubmenu:l=!1,disableHighlight:E=!1,onClick:x,noTrack:U,children:W,className:st,...X}=r,{sidebarConfig:rt}=(0,d.useContext)(ye.kG),q=Jn(rt),{isOpen:Et}=$o(),Bt=!Et&&l?{display:"flex",marginLeft:"20px"}:{lineHeight:"0"},jt=(0,i.jsxs)(qe.Z,{style:Bt,children:[(0,i.jsx)(n,{fontSize:"small"}),!Et&&l?(0,i.jsx)(Rr.Z,{fontSize:"small"}):(0,i.jsx)(i.Fragment,{})]}),te=(0,i.jsx)(ci.Z,{color:"secondary",variant:"dot",overlap:"circular",invisible:!a,className:ln()({[q.closedItemIcon]:!Et}),children:jt}),je=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(qe.Z,{"data-testid":"login-button",className:q.iconContainer,children:te}),s&&(0,i.jsx)(Wo.Z,{variant:"subtitle2",component:"span",className:q.label,children:s}),(0,i.jsx)("div",{className:q.secondaryAction,children:W})]}),Ge=Et?je:te,Ie={onClick:x,className:ln()(st,q.root,Et?q.open:q.closed,ko(r)&&q.buttonItem,{[q.highlightable]:!E})},Ve=(0,rr.z)(),{pathname:de}=(0,f.WU)(!ko(r)&&r.to?r.to:""),$e=(0,d.useCallback)(yn=>{var Le;if(!U){const Ae="click",We=s!=null?s:"Sidebar Item",cn=de?{attributes:{to:de}}:void 0;Ve.captureEvent(Ae,We,cn)}(Le=x)===null||Le===void 0||Le(yn)},[Ve,s,de,U,x]);return ko(r)?(0,i.jsx)(A.Z,{role:"button","aria-label":s,...Ie,ref:e,onClick:$e,children:Ge}):(0,i.jsx)(yi,{...Ie,activeClassName:q.selected,to:r.to?r.to:"",ref:e,"aria-label":s||r.to,...X,onClick:$e,children:Ge})}),Ei=({children:r,...e})=>{const{sidebarConfig:n}=(0,d.useContext)(ye.kG),s=Jn(n),[a,l]=(0,d.useState)(!1),E=(0,f.TH)(),x=vi(r,E),U=(0,Cr.Z)(rt=>rt.breakpoints.down("sm")),W=()=>{l(!0)},st=()=>{l(!1)},X=()=>U?a?(0,i.jsx)(ui.Z,{fontSize:"small",className:s.submenuArrow}):(0,i.jsx)(di.Z,{fontSize:"small",className:s.submenuArrow}):!a&&(0,i.jsx)(Rr.Z,{fontSize:"small",className:s.submenuArrow});return(0,i.jsx)(ye.Ag.Provider,{value:{isHoveredOn:a,setIsHoveredOn:l},children:(0,i.jsxs)("div",{"data-testid":"item-with-submenu",onMouseLeave:st,onTouchStart:a?st:W,onMouseEnter:W,className:ln()(a&&s.highlighted),children:[(0,i.jsx)(wr,{hasSubmenu:!0,className:x?s.selected:"",...e,children:X()}),a&&r]})})},Dr=(0,d.forwardRef)((r,e)=>{const[n]=(0,Yn.v)(r.children,s=>s.getElements().filter(a=>a.type===mi));return n?(0,i.jsx)(Ei,{...r,children:n}):(0,i.jsx)(wr,{...r,ref:e})});function oa(r){const{sidebarConfig:e}=useContext(SidebarConfigContext),[n,s]=useState(""),a=Jn(e),l=r.icon?r.icon:SearchIcon,E=()=>{r.onSearch(n),s("")},x=X=>{X.key==="Enter"&&(X.preventDefault(),E())},U=X=>{s(X.target.value)},W=X=>{X.preventDefault(),X.stopPropagation()},st=X=>{E(),X.preventDefault()};return _jsx(Box,{className:a.searchRoot,children:_jsx(Dr,{icon:l,to:r.to,onClick:st,disableHighlight:!0,children:_jsx(TextField,{placeholder:"Search",value:n,onClick:W,onChange:U,onKeyDown:x,className:a.searchContainer,InputProps:{disableUnderline:!0,className:a.searchField},inputProps:{className:a.searchFieldHTMLInput}})})})}const ra=(0,Qn.Z)("div")({flex:1},{name:"BackstageSidebarSpace"}),sa=(0,Qn.Z)("div")({height:8},{name:"BackstageSidebarSpacer"}),xi=(0,Qn.Z)("hr")(({theme:r})=>({height:1,width:"100%",background:"#383838",border:"none",margin:r.spacing(1.2,0)}),{name:"BackstageSidebarDivider"}),Ci=r=>({overflowY:"auto","&::-webkit-scrollbar":{backgroundColor:r.palette.background.default,width:"5px",borderRadius:"5px"},"&::-webkit-scrollbar-thumb":{backgroundColor:r.palette.text.secondary,borderRadius:"5px"}}),ia=(0,Qn.Z)("div")(({theme:r})=>{const e=Ci(r);return{flex:"0 1 auto",overflowX:"hidden",width:"calc(100% - 5px)",minHeight:"48px",overflowY:"hidden","@media (hover: none)":e,"&:hover":e}}),aa=()=>{const{sidebarConfig:r}=useContext(SidebarConfigContext),e=Jn(r),{isOpen:n,setOpen:s}=useSidebarOpenState();if(useMediaQuery(E=>E.breakpoints.down("md"),{noSsr:!0}))return null;const l=()=>{s(!n)};return _jsx(Button,{role:"button",onClick:l,className:e.expandButton,"aria-label":"Expand Sidebar","data-testid":"sidebar-expand-button",children:_jsx(Box,{className:e.arrows,children:n?_jsx(DoubleArrowLeft,{}):_jsx(DoubleArrowRight,{})})})},Ai=(0,He.Z)({root:{width:ye.po.drawerWidthClosed,height:3*ye.po.logoHeight,display:"flex",flexFlow:"row nowrap",alignItems:"center",marginBottom:-14},link:{width:ye.po.drawerWidthClosed,marginLeft:24}}),Oi=()=>{const r=Ai(),{isOpen:e}=$o();return(0,i.jsx)("div",{className:r.root,children:(0,i.jsx)(Er.rU,{to:"/docs/default/component/local/",underline:"none",className:r.link,children:e?(0,i.jsx)(Hs,{}):(0,i.jsx)(Vs,{})})})},Si=({children:r})=>(0,i.jsxs)(xr.t,{children:[(0,i.jsxs)(ai,{children:[(0,i.jsx)(Oi,{}),(0,i.jsx)(xi,{}),(0,i.jsx)(Dr,{icon:zs.Z,to:"/docs/default/component/local",text:"Docs Preview"})]}),r]});var bi=t(80030),Pi=t(32388),Ri=t(4142),Ti=t(65386),Ii=t(45902);const wi=(0,He.Z)(r=>({headerIcon:{color:r.palette.common.white,width:"32px",height:"32px"},content:{backgroundColor:r.palette.background.default},contentToolbar:{display:"flex",justifyContent:"flex-end",padding:0}}));var Fe;(function(r){r.LIGHT="light",r.DARK="dark"})(Fe||(Fe={}));const Di=()=>{const r=(0,gn.h_)(zn),e=wi(),[n,s]=(0,d.useState)(r.getActiveThemeId()===Fe.DARK?Fe.DARK:Fe.LIGHT),a={[Fe.LIGHT]:{icon:Ri.Z,title:"Dark theme"},[Fe.DARK]:{icon:Pi.Z,title:"Light theme"}},{title:l,icon:E}=a[n],x=()=>{s(U=>{const W=U===Fe.LIGHT?Fe.DARK:Fe.LIGHT;return r.setActiveThemeId(W),W})};return(0,i.jsx)(qe.Z,{display:"flex",alignItems:"center",mr:2,children:(0,i.jsx)(bi.ZP,{title:l,arrow:!0,children:(0,i.jsx)(Ar.Z,{size:"small",onClick:x,children:(0,i.jsx)(E,{className:e.headerIcon})})})})},Mi=()=>(0,i.jsxs)(p.I6,{children:[(0,i.jsx)(Ti.S,{}),(0,i.jsx)(Ii.F,{withSearch:!1})]}),ji=(0,i.jsx)(Mi,{}),Mr=Ss({apis:$s,configLoader:Ks,plugins:Object.values(o)}),Li=Mr.getProvider(),Bi=Mr.getRouter(),Ui=p.s4.provide((0,h.KY)({name:"ThemeToggleAddon",component:Di,location:C.o.Header})),Fi=(0,i.jsxs)(bs,{children:[(0,i.jsx)(f.Fg,{to:"/docs/default/component/local/"},"/"),(0,i.jsx)(f.AW,{path:"/catalog/:namespace/:kind/:name",element:(0,i.jsx)(Bs,{})}),(0,i.jsx)(f.AW,{path:"/docs",element:(0,i.jsx)(p.Jl,{}),children:(0,i.jsx)(c.u,{})}),(0,i.jsxs)(f.AW,{path:"/docs/:namespace/:kind/:name/*",element:(0,i.jsx)(p.I6,{}),children:[ji,(0,i.jsx)(h.DR,{children:(0,i.jsx)(Ui,{})})]})]});var $i=()=>(0,i.jsx)(Li,{children:(0,i.jsx)(Bi,{children:(0,i.jsx)(Si,{children:Fi})})});S.render((0,i.jsx)($i,{}),document.getElementById("root"))},29651:function(Y,R,t){"use strict";t.d(R,{CT:function(){return d},Vt:function(){return S}});var o=t(2784),i=t(96087);function d(p){return(0,i.u)(p,()=>(0,o.createContext)(void 0))}function S(p){return(0,o.useContext)(d(p))}function f(p){return{set(c){globalThis[`__@backstage/${p}__`]=createContext(createVersionedValueMap(c))},reset(){delete globalThis[`__@backstage/${p}__`]}}}},68993:function(Y,R,t){"use strict";t.d(R,{E:function(){return o}});function o(i){Object.freeze(i);const d={atVersion(S){return i[S]}};return Object.defineProperty(d,"$map",{configurable:!0,enumerable:!0,get(){return i}}),d}},96087:function(Y,R,t){"use strict";t.d(R,{u:function(){return S}});function o(){return typeof window!="undefined"&&window.Math===Math?window:typeof self!="undefined"&&self.Math===Math?self:Function("return this")()}const i=o(),d=f=>`__@backstage/${f}__`;function S(f,p){const c=d(f);let h=i[c];return h||(h=p(),i[c]=h,h)}},88624:function(Y,R,t){"use strict";t.d(R,{A:function(){return i}});var o=t(95965);const i=(0,o.T)({id:"plugin.catalog.service"})},36802:function(Y,R,t){"use strict";t.d(R,{p:function(){return i}});var o=t(95965);const i=(0,o.T)({id:"catalog-react.starred-entities"})},30389:function(Y,R,t){"use strict";t.d(R,{_i:function(){return P}});var o=t(52322),i=t(2784),d=t(41156),S=t(60364),f=t(77277),p=t(4190),c=t(62774),h=t(90436),C=t(60905),A=t(36444);const O=m=>{var D,b;const M=(0,d.Z)(lt=>{var J;return lt.breakpoints.down((b=(J=m.options)===null||J===void 0?void 0:J.drawerBreakpoint)!==null&&b!==void 0?b:"md")}),B=(0,S.Z)(),[$,v]=(0,i.useState)(!1);var N;return M?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(f.Z,{style:{marginTop:B.spacing(1),marginLeft:B.spacing(1)},onClick:()=>v(!0),startIcon:(0,o.jsx)(A.Z,{}),children:"Filters"}),(0,o.jsx)(p.ZP,{open:$,onClose:()=>v(!1),anchor:(N=(D=m.options)===null||D===void 0?void 0:D.drawerAnchor)!==null&&N!==void 0?N:"left",disableAutoFocus:!0,keepMounted:!0,variant:"temporary",children:(0,o.jsxs)(c.Z,{m:2,children:[(0,o.jsx)(h.Z,{variant:"h6",component:"h2",style:{marginBottom:B.spacing(1)},children:"Filters"}),m.children]})})]}):(0,o.jsx)(C.Z,{item:!0,lg:2,children:m.children})},y=m=>(0,o.jsx)(C.Z,{item:!0,xs:12,lg:10,children:m.children}),P=m=>(0,o.jsx)(C.Z,{container:!0,style:{position:"relative"},children:m.children});P.Filters=O,P.Content=y},77605:function(Y,R,t){"use strict";t.d(R,{K:function(){return K}});var o=t(52322),i=t(62774),d=t(90436),S=t(38016),f=t(88013),p=t(2784),c=t(44394),h=t(64279),C=t(88624),A=t(21324),O=t(5806),y=t(19996),P=t(25505);const m=(0,o.jsx)(P.Z,{fontSize:"small"}),D=(0,o.jsx)(y.Z,{fontSize:"small"});function b({selected:k}){return(0,o.jsx)(A.Z,{icon:m,checkedIcon:D,checked:k})}const M=(0,p.memo)(k=>{var Q;const{selected:it,value:At,availableOptions:xt,showCounts:mt}=k,bt=mt?`${At} (${(Q=xt)===null||Q===void 0?void 0:Q[At]})`:At;return(0,o.jsx)(O.Z,{control:(0,o.jsx)(b,{selected:it}),label:bt,onClick:gt=>gt.preventDefault()})});var B=t(79692),$=t(86619),v=t(72779),N=t.n(v);const lt=(0,B.Z)({input:{}},{name:"CatalogReactEntityAutocompletePickerInput"});function J(k){const Q=lt();return(0,o.jsx)($.Z,{variant:"outlined",...k,className:N()(Q.input,k.className)})}var V=t(25942);function K(k){var Q;const{label:it,name:At,path:xt,showCounts:mt,Filter:bt,InputProps:gt,initialSelectedOptions:Pt=[]}=k,{updateFilters:ct,filters:_,queryParameters:{[At]:z}}=(0,V.wp)(),et=(0,c.h_)(C.A),{value:at}=(0,h.default)(async()=>{var vt;const wt=xt,{facets:It}=await et.getEntityFacets({facets:[wt],filter:(vt=_.kind)===null||vt===void 0?void 0:vt.getCatalogFilters()});return Object.fromEntries(It[wt].map(({value:Lt,count:Zt})=>[Lt,Zt]))},[_.kind]),dt=(0,p.useMemo)(()=>[z].flat().filter(Boolean),[z]);var F;const[G,ft]=(0,p.useState)(dt.length?dt:(F=(Q=_[At])===null||Q===void 0?void 0:Q.values)!==null&&F!==void 0?F:Pt);(0,p.useEffect)(()=>{dt.length&&ft(dt)},[dt]);const ht=Object.keys(at!=null?at:{}),ut=G.length&&ht.length;(0,p.useEffect)(()=>{ct({[At]:ut?new bt(G):void 0})},[At,ut,G,bt,ct]);const Ot=_[At];return Ot&&typeof Ot=="object"&&!("values"in Ot)||!ht.length||ht.length<=1?null:(0,o.jsx)(i.Z,{pb:1,pt:1,children:(0,o.jsxs)(d.Z,{variant:"button",component:"label",children:[it,(0,o.jsx)(f.ZP,{multiple:!0,disableCloseOnSelect:!0,options:ht,value:G,onChange:(vt,wt)=>ft(wt),renderOption:(vt,{selected:wt})=>(0,o.jsx)(M,{selected:wt,value:vt,availableOptions:at,showCounts:!!mt}),size:"small",popupIcon:(0,o.jsx)(S.Z,{"data-testid":`${String(At)}-picker-expand`}),renderInput:vt=>(0,o.jsx)(J,{...vt,...gt})})]})})}},63833:function(Y,R,t){"use strict";t.d(R,{d:function(){return ct}});var o=t(52322),i=t(74314),d=t(79692),S=t(62774),f=t(90436),p=t(5806),c=t(21324),h=t(86619),C=t(19996),A=t(25505),O=t(38016),y=t(88013),P=t(2784),m=t(25942),D=t(4967),b=t(6232),M=t(98685),B=t(62367),$=t(86540),v=t(44394),N=t(69294),lt=t(88624);function J({enabled:_}){const z=(0,v.h_)(lt.A),[et]=(0,P.useState)(async()=>{if(!_)return[];const at="relations.ownedBy";return z.getEntityFacets({facets:[at]}).then(dt=>dt.facets[at].map(F=>F.value).map(F=>{const{kind:G,name:ft,namespace:ht}=(0,i.of)(F);return{apiVersion:"backstage.io/v1beta1",kind:G,metadata:{name:ft,namespace:ht}}}).sort((F,G)=>(F.metadata.namespace||"").localeCompare(G.metadata.namespace||"","en-US")||F.metadata.name.localeCompare(G.metadata.name,"en-US")||F.kind.localeCompare(G.kind,"en-US"))).catch(()=>[])});return(0,N.default)(async(at,dt)=>{var F;const G=await et;if(!G)return{items:[]};var ft;const ht=(ft=(F=dt)===null||F===void 0?void 0:F.limit)!==null&&ft!==void 0?ft:20,{text:ut,start:Ot}=V(at),vt=G.filter(It=>Q(ut,It)),wt=Ot+ht;return{items:vt.slice(0,wt),...k({entities:vt,limit:wt,payload:{text:ut,start:wt}})}},[et],{loading:!0,value:{items:[]}})}function V(_){return K(_)&&_.cursor?JSON.parse(atob(_.cursor)):{text:_.text||"",start:0}}function K(_){return!!_.cursor}function k({entities:_,limit:z,payload:et}){return _.length>z?{cursor:btoa(JSON.stringify(et))}:{}}function Q(_,z){var et;const at=_.trim();return z.kind.includes(at)||((et=z.metadata.namespace)===null||et===void 0?void 0:et.includes(at))||z.metadata.name.includes(at)}function it(){const _=(0,v.h_)(lt.A);return(0,N.default)(async(z,et)=>{var at;const dt=z,F=z;var G;const ft=(G=(at=et)===null||at===void 0?void 0:at.limit)!==null&&G!==void 0?G:20;if(F.cursor){const ut=await _.queryEntities({cursor:F.cursor,limit:ft});return{cursor:ut.pageInfo.nextCursor,items:[...F.items,...ut.items]}}const ht=await _.queryEntities({fullTextFilter:{term:dt.text||"",fields:["metadata.name","kind","spec.profile.displayname","metadata.title"]},filter:{kind:["User","Group"]},orderFields:[{field:"metadata.name",order:"asc"}],limit:ft});return{cursor:ht.pageInfo.nextCursor,items:ht.items}},[],{loading:!0})}var At=t(21638);function xt({mode:_,initialSelectedOwnersRefs:z}){const et=_==="owners-only",at=it(),dt=J({enabled:et}),[F,G]=et?dt:at;return[F,G,mt({enabled:!et,initialSelectedOwnersRefs:z})]}function mt({enabled:_,initialSelectedOwnersRefs:z}){const et=(0,P.useRef)({}),at=(0,v.h_)(lt.A),[,dt]=(0,N.default)(async()=>{(await at.getEntitiesByRefs({entityRefs:z})).items.forEach(G=>{G&&(et.current[(0,i.eE)(G)]=G)})},[]);return(0,At.n)(()=>{_&&z.length>0&&dt()}),{getEntity:F=>et.current[F],setEntity:F=>{et.current[(0,i.eE)(F)]=F}}}const bt=(0,d.Z)({input:{}},{name:"CatalogReactEntityOwnerPicker"}),gt=(0,o.jsx)(A.Z,{fontSize:"small"}),Pt=(0,o.jsx)(C.Z,{fontSize:"small"}),ct=_=>{var z,et,at;const dt=bt(),{mode:F="owners-only"}=_||{},{updateFilters:G,filters:ft,queryParameters:{owners:ht}}=(0,m.wp)(),[ut,Ot]=(0,P.useState)(""),vt=(0,P.useMemo)(()=>[ht].flat().filter(Boolean),[ht]);var wt;const[It,Lt]=(0,P.useState)(vt.length?vt:(wt=(z=ft.owners)===null||z===void 0?void 0:z.values)!==null&&wt!==void 0?wt:[]),[{value:Zt,loading:Yt},ee,Kt]=xt({mode:F,initialSelectedOwnersRefs:It});(0,b.b)(()=>ee({text:ut}),[ut,ee],250);const Oe=((et=Zt)===null||et===void 0?void 0:et.items)||[];return(0,P.useEffect)(()=>{if(vt.length){const $t=new D.rf(vt);Lt($t.values)}},[vt]),(0,P.useEffect)(()=>{G({owners:It.length?new D.rf(It):void 0})},[It,G]),["user","group"].includes(((at=ft.kind)===null||at===void 0?void 0:at.value.toLocaleLowerCase("en-US"))||"")?null:(0,o.jsx)(S.Z,{pb:1,pt:1,children:(0,o.jsxs)(f.Z,{variant:"button",component:"label",children:["Owner",(0,o.jsx)(y.ZP,{multiple:!0,disableCloseOnSelect:!0,loading:Yt,options:Oe,value:It,getOptionSelected:($t,zt)=>typeof zt=="string"?(0,i.eE)($t)===zt:$t===zt,getOptionLabel:$t=>{const zt=typeof $t=="string"?Kt.getEntity($t)||(0,i.of)($t,{defaultKind:"group",defaultNamespace:"default"}):$t;return(0,$.w)(zt,(0,$.$)(zt))},onChange:($t,zt)=>{Ot(""),Lt(zt.map(ie=>{const ue=typeof ie=="string"?ie:(0,i.eE)(ie);return typeof ie!="string"&&Kt.setEntity(ie),ue}))},filterOptions:$t=>$t,renderOption:($t,{selected:zt})=>{const ie=$t.kind.toLocaleLowerCase("en-US")==="group";return(0,o.jsx)(p.Z,{control:(0,o.jsx)(c.Z,{icon:gt,checkedIcon:Pt,checked:zt}),onClick:ue=>ue.preventDefault(),label:(0,o.jsxs)(S.Z,{display:"flex",flexWrap:"wrap",alignItems:"center",children:[ie?(0,o.jsx)(B.Z,{fontSize:"small"}):(0,o.jsx)(M.Z,{fontSize:"small"}),"\xA0",(0,$.w)($t,(0,$.$)($t,{defaultKind:$t.kind}))]})})},size:"small",popupIcon:(0,o.jsx)(O.Z,{"data-testid":"owner-picker-expand"}),renderInput:$t=>(0,o.jsx)(h.Z,{...$t,className:dt.input,onChange:zt=>{Ot(zt.currentTarget.value)},variant:"outlined"}),ListboxProps:{onScroll:$t=>{var zt;const ie=$t.currentTarget;Math.abs(ie.scrollHeight-ie.clientHeight-ie.scrollTop)<1&&(!((zt=Zt)===null||zt===void 0)&&zt.cursor)&&ee({items:Zt.items,cursor:Zt.cursor})},"data-testid":"owner-picker-listbox"}})]})})}},41748:function(Y,R,t){"use strict";t.d(R,{d:function(){return A}});var o=t(52322),i=t(74314),d=t(34106),S=t(2784),f=t(36434),p=t(86540),c=t(98864),h=t(37321),C=t(80030);const A=(0,S.forwardRef)((O,y)=>{var P;const{entityRef:m,defaultKind:D,title:b,children:M,...B}=O,$=(0,h.t)(f.w);let v,N,lt;if(typeof m=="string"){const Q=(0,i.of)(m);v=Q.kind,N=Q.namespace,lt=Q.name}else"metadata"in m?(v=m.kind,N=m.metadata.namespace,lt=m.metadata.name):(v=m.kind,N=m.namespace,lt=m.name);v=v.toLocaleLowerCase("en-US");var J;N=(J=(P=N)===null||P===void 0?void 0:P.toLocaleLowerCase("en-US"))!==null&&J!==void 0?J:d.zG;const V={kind:v,namespace:N,name:lt},K=(0,p.$)({kind:v,namespace:N,name:lt},{defaultKind:D}),k=(0,o.jsxs)(c.rU,{...B,ref:y,to:$(V),children:[M,!M&&(b!=null?b:K)]});return b?(0,o.jsx)(C.ZP,{title:K,children:k}):k})},68138:function(Y,R,t){"use strict";t.d(R,{r:function(){return O}});var o=t(52322),i=t(2784),d=t(41748),S=t(74314),f=t(55015),p=t(74359),c=t(64279),h=t(88624),C=t(44394);function A(y){const{entityRefs:P,defaultKind:m,getTitle:D,...b}=y,M=(0,C.h_)(h.A),{value:B=new Array,loading:$,error:v}=(0,c.default)(async()=>{const N=P.reduce((J,V)=>typeof V=="object"&&"metadata"in V?J:[...J,(0,S.of)(V)],new Array),lt=P.filter(J=>typeof J=="object"&&"metadata"in J);return N.length>0?[...(await M.getEntities({filter:N.map(J=>({kind:J.kind,"metadata.namespace":J.namespace,"metadata.name":J.name}))})).items,...lt]:lt},[P]);return $?(0,o.jsx)(f.E,{}):v?(0,o.jsx)(p.y,{error:v}):(0,o.jsx)(o.Fragment,{children:B.map((N,lt)=>(0,o.jsxs)(i.Fragment,{children:[lt>0&&", ",(0,o.jsx)(d.d,{...b,defaultKind:m,entityRef:N,title:D(N)})]},lt))})}function O(y){const{entityRefs:P,defaultKind:m,fetchEntities:D,getTitle:b,...M}=y;return D?(0,o.jsx)(A,{...M,defaultKind:m,entityRefs:P,getTitle:b}):(0,o.jsx)(o.Fragment,{children:P.map((B,$)=>(0,o.jsxs)(i.Fragment,{children:[$>0&&", ",(0,o.jsx)(d.d,{...M,defaultKind:m,entityRef:B,title:b?b(B):void 0})]},$))})}},86540:function(Y,R,t){"use strict";t.d(R,{$:function(){return S},w:function(){return f}});var o=t(34106),i=t(72579),d=t.n(i);function S(p,c){var h,C;const A=(h=c)===null||h===void 0?void 0:h.defaultKind;let O,y,P;if("metadata"in p?(O=p.kind,y=p.metadata.namespace,P=p.metadata.name):(O=p.kind,y=p.namespace,P=p.name),(y===void 0||y==="")&&(y=o.zG),((C=c)===null||C===void 0?void 0:C.defaultNamespace)!==void 0){var m;((m=c)===null||m===void 0?void 0:m.defaultNamespace)===y&&(y=void 0)}else y===o.zG&&(y=void 0);return O=O.toLocaleLowerCase("en-US"),O=A&&A.toLocaleLowerCase("en-US")===O?void 0:O,`${O?`${O}:`:""}${y?`${y}/`:""}${P}`}function f(p,c){for(const h of["spec.profile.displayName","metadata.title"]){const C=d()(p,h);if(C&&typeof C=="string")return C}return c}},97894:function(Y,R,t){"use strict";t.d(R,{x:function(){return c}});var o=t(52322),i=t(79692),d=t(2784),S=t(4967),f=t(77605);const p=(0,i.Z)({input:{}},{name:"CatalogReactEntityTagPicker"}),c=h=>{const C=p();return(0,o.jsx)(f.K,{label:"Tags",name:"tags",path:"metadata.tags",Filter:S.Cu,showCounts:h.showCounts,InputProps:{className:C.input}})}},23433:function(Y,R,t){"use strict";t.d(R,{E:function(){return V}});var o=t(52322),i=t(44394),d=t(6542),S=t(79692),f=t(94339),p=t(90436),c=t(11776),h=t(12231),C=t(86136),A=t(49378),O=t(9520),y=t(47603),P=t(11640),m=t(76635),D=t.n(m),b=t(2784),M=t(4967),B=t(25942),$=t(42870),v=t(81269),N=t(64039);const lt=(0,S.Z)(K=>({root:{backgroundColor:"rgba(0, 0, 0, .11)",boxShadow:"none",margin:K.spacing(1,0,1,0)},title:{margin:K.spacing(1,0,0,1),textTransform:"uppercase",fontSize:12,fontWeight:"bold"},listIcon:{minWidth:30,color:K.palette.text.primary},menuItem:{minHeight:K.spacing(6)},groupWrapper:{margin:K.spacing(1,1,2,1)}}),{name:"CatalogReactUserListPicker"});function J(K){return[{name:"Personal",items:[{id:"owned",label:"Owned",icon:y.Z},{id:"starred",label:"Starred",icon:P.Z}]},{name:K!=null?K:"Company",items:[{id:"all",label:"All"}]}]}const V=K=>{const{initialFilter:k,availableFilters:Q}=K,it=lt(),At=(0,i.h_)(d.D);var xt;const mt=(xt=At.getOptionalString("organization.name"))!==null&&xt!==void 0?xt:"Company",{filters:bt,updateFilters:gt,backendEntities:Pt,queryParameters:{kind:ct,user:_},loading:z}=(0,B.wp)(),et=["starred","all"],at=J(mt).map(Yt=>({...Yt,items:Yt.items.filter(({id:ee})=>["group","user"].some(Kt=>Kt===ct)?et.includes(ee):!Q||Q.includes(ee))})).filter(({items:Yt})=>!!Yt.length),{isStarredEntity:dt}=(0,$.C)(),{isOwnedEntity:F,loading:G}=(0,v.Z)(),ft=z||G,ht=(0,b.useMemo)(()=>new M.IZ("owned",F,dt),[F,dt]),ut=(0,b.useMemo)(()=>new M.IZ("starred",F,dt),[F,dt]),Ot=(0,b.useMemo)(()=>[_].flat()[0],[_]),[vt,wt]=(0,b.useState)(Ot!=null?Ot:k),It=(0,b.useMemo)(()=>Pt.filter((0,N.G)((0,m.compact)(Object.values({...bt,user:void 0})))),[bt,Pt]),Lt=(0,b.useMemo)(()=>({all:It.length,starred:It.filter(Yt=>ut.filterEntity(Yt)).length,owned:It.filter(Yt=>ht.filterEntity(Yt)).length}),[It,ut,ht]);(0,b.useEffect)(()=>{Ot&&wt(Ot)},[Ot]),(0,b.useEffect)(()=>{!ft&&vt&&vt!=="all"&&Lt[vt]===0&&wt("all")},[ft,Lt,vt,wt]),(0,b.useEffect)(()=>{gt({user:vt?new M.IZ(vt,F,dt):void 0})},[vt,F,dt,gt]);var Zt;return(0,o.jsx)(f.Z,{className:it.root,children:at.map(Yt=>(0,o.jsxs)(b.Fragment,{children:[(0,o.jsx)(p.Z,{variant:"subtitle2",component:"span",className:it.title,children:Yt.name}),(0,o.jsx)(f.Z,{className:it.groupWrapper,children:(0,o.jsx)(c.Z,{disablePadding:!0,dense:!0,role:"menu","aria-label":Yt.name,children:Yt.items.map(ee=>{var Kt;return(0,o.jsxs)(h.Z,{role:"none presentation",button:!0,divider:!0,onClick:()=>wt(ee.id),selected:ee.id===((Kt=bt.user)===null||Kt===void 0?void 0:Kt.value),className:it.menuItem,disabled:Lt[ee.id]===0,"data-testid":`user-picker-${ee.id}`,tabIndex:0,ContainerProps:{role:"menuitem"},children:[ee.icon&&(0,o.jsx)(C.Z,{className:it.listIcon,children:(0,o.jsx)(ee.icon,{fontSize:"small"})}),(0,o.jsx)(A.Z,{children:(0,o.jsxs)(p.Z,{variant:"body1",children:[ee.label," "]})}),(0,o.jsx)(O.Z,{children:(Zt=Lt[ee.id])!==null&&Zt!==void 0?Zt:"-"})]},ee.id)})})})]},Yt.name))})}},4967:function(Y,R,t){"use strict";t.d(R,{A5:function(){return m},Bf:function(){return p},Cu:function(){return c},IZ:function(){return y},Qe:function(){return O},mM:function(){return P},rf:function(){return C},zH:function(){return A},zo:function(){return f}});var o=t(87612),i=t(8709),d=t(74314),S=t(75435);class f{getCatalogFilters(){return{kind:this.value}}toQueryValue(){return this.value}constructor(b){(0,o._)(this,"value",void 0),this.value=b}}class p{getTypes(){return Array.isArray(this.value)?this.value:[this.value]}getCatalogFilters(){return{"spec.type":this.getTypes()}}toQueryValue(){return this.getTypes()}constructor(b){(0,o._)(this,"value",void 0),this.value=b}}class c{filterEntity(b){var M;return this.values.every(B=>((M=b.metadata.tags)!==null&&M!==void 0?M:[]).includes(B))}toQueryValue(){return this.values}constructor(b){(0,o._)(this,"values",void 0),this.values=b}}class h{filterEntity(b){const M=this.toUpperArray(this.value.split(/\s/)),B=this.toUpperArray([b.metadata.tags]),$=this.toUpperArray([b.metadata.name,b.metadata.title]);for(const v of M)if(B.every(N=>N!==v)&&$.every(N=>!N.includes(v)))return!1;return!0}toUpperArray(b){return b.flat().filter(M=>Boolean(M)).map(M=>M.toLocaleUpperCase("en-US"))}constructor(b){_define_property(this,"value",void 0),this.value=b}}class C{filterEntity(b){return this.values.some(M=>(0,S.h)(b,i.S4).some(B=>(0,d.eE)(B)===M))}toQueryValue(){return this.values}constructor(b){(0,o._)(this,"values",void 0),this.values=b.reduce((M,B)=>{try{return M.push((0,d.eE)((0,d.of)(B,{defaultKind:"Group"}))),M}catch{return M}},[])}}class A{filterEntity(b){return this.values.some(M=>{var B;return((B=b.spec)===null||B===void 0?void 0:B.lifecycle)===M})}toQueryValue(){return this.values}constructor(b){(0,o._)(this,"values",void 0),this.values=b}}class O{filterEntity(b){return this.values.some(M=>b.metadata.namespace===M)}toQueryValue(){return this.values}constructor(b){(0,o._)(this,"values",void 0),this.values=b}}class y{filterEntity(b){switch(this.value){case"owned":return this.isOwnedEntity(b);case"starred":return this.isStarredEntity(b);default:return!0}}toQueryValue(){return this.value}constructor(b,M,B){(0,o._)(this,"value",void 0),(0,o._)(this,"isOwnedEntity",void 0),(0,o._)(this,"isStarredEntity",void 0),this.value=b,this.isOwnedEntity=M,this.isStarredEntity=B}}class P{filterEntity(b){var M;const B=(M=b.metadata.annotations)===null||M===void 0?void 0:M["backstage.io/orphan"];return B!==void 0&&this.value.toString()===B}constructor(b){(0,o._)(this,"value",void 0),this.value=b}}class m{filterEntity(b){var M,B,$;const v=(($=b)===null||$===void 0||(B=$.status)===null||B===void 0||(M=B.items)===null||M===void 0?void 0:M.length)>0;return v!==void 0&&this.value===v}constructor(b){(0,o._)(this,"value",void 0),this.value=b}}},25942:function(Y,R,t){"use strict";t.d(R,{UO:function(){return D},wp:function(){return b}});var o=t(52322),i=t(76635),d=t.n(i),S=t(19126),f=t.n(S),p=t(2784),c=t(73557),h=t(69294),C=t(48760),A=t(90736),O=t(88624),y=t(64039),P=t(44394);const m=(0,p.createContext)(void 0),D=M=>{const B=(0,A.default)(),$=(0,P.h_)(O.A),[v,N]=(0,p.useState)({}),lt=(0,c.TH)();var J;const V=(0,p.useMemo)(()=>(J=f().parse(lt.search,{ignoreQueryPrefix:!0}).filters)!==null&&J!==void 0?J:{},[lt]),[K,k]=(0,p.useState)(()=>({appliedFilters:{},entities:[],backendEntities:[]})),[{loading:Q,error:it},At]=(0,h.default)(async()=>{const bt=(0,i.compact)(Object.values(v)),gt=(0,y.G)(bt),Pt=(0,y.w)(bt),ct=(0,y.w)((0,i.compact)(Object.values(K.appliedFilters))),_=Object.keys(v).reduce((et,at)=>{var dt;const F=v[at];return!((dt=F)===null||dt===void 0)&&dt.toQueryValue&&(et[at]=F.toQueryValue()),et},{});if((0,i.isEqual)(ct,Pt))k({appliedFilters:v,backendEntities:K.backendEntities,entities:K.backendEntities.filter(gt)});else{const et=await $.getEntities({filter:Pt});k({appliedFilters:v,backendEntities:et.items,entities:et.items.filter(gt)})}if(B()){var z;const et=f().parse(lt.search,{ignoreQueryPrefix:!0}),at=f().stringify({...et,filters:_},{addQueryPrefix:!0,arrayFormat:"repeat"}),dt=`${window.location.pathname}${at}`;(z=window.history)===null||z===void 0||z.replaceState(null,document.title,dt)}},[$,V,v,K],{loading:!0});(0,C.Z)(At,10,[v]);const xt=(0,p.useCallback)(bt=>{N(gt=>{const Pt=typeof bt=="function"?bt(gt):bt;return{...gt,...Pt}})},[]),mt=(0,p.useMemo)(()=>({filters:K.appliedFilters,entities:K.entities,backendEntities:K.backendEntities,updateFilters:xt,queryParameters:V,loading:Q,error:it}),[K,xt,V,Q,it]);return(0,o.jsx)(m.Provider,{value:mt,children:M.children})};function b(){const M=(0,p.useContext)(m);if(!M)throw new Error("useEntityList must be used within EntityListProvider");return M}},81269:function(Y,R,t){"use strict";t.d(R,{Z:function(){return h}});var o=t(8709),i=t(74314),d=t(44394),S=t(77186),f=t(2784),p=t(64279),c=t(75435);function h(){const C=(0,d.h_)(S.$),{loading:A,value:O}=(0,p.default)(async()=>{const{ownershipEntityRefs:P}=await C.getBackstageIdentity();return P},[]),y=(0,f.useMemo)(()=>{const P=new Set(O!=null?O:[]);return m=>{const D=(0,c.h)(m,o.S4).map(i.eE);for(const b of D)if(P.has(b))return!0;return!1}},[O]);return(0,f.useMemo)(()=>({loading:A,isOwnedEntity:y}),[A,y])}},42870:function(Y,R,t){"use strict";t.d(R,{C:function(){return c}});var o=t(74314),i=t(44394),d=t(2784),S=t(72164),f=t(36802);function p(h){return typeof h=="string"?h:(0,o.eE)(h)}function c(){const h=(0,i.h_)(f.p),C=(0,S.Z)(h.starredEntitie$(),new Set),A=(0,d.useCallback)(y=>C.has(p(y)),[C]),O=(0,d.useCallback)(y=>h.toggleStarred(p(y)).then(),[h]);return{starredEntities:C,toggleStarredEntity:O,isStarredEntity:A}}},36434:function(Y,R,t){"use strict";t.d(R,{w:function(){return d}});var o=t(30283),i=t(96087);const d=(0,i.u)("catalog:entity-route-ref",()=>(0,o.N)({id:"catalog:entity",params:["namespace","kind","name"]}));function S(f){var p,c;return{kind:f.kind.toLocaleLowerCase("en-US"),namespace:(c=(p=f.metadata.namespace)===null||p===void 0?void 0:p.toLocaleLowerCase("en-US"))!==null&&c!==void 0?c:DEFAULT_NAMESPACE,name:f.metadata.name}}},64039:function(Y,R,t){"use strict";t.d(R,{G:function(){return i},w:function(){return o}});function o(d){return d.reduce((S,f)=>({...S,...f.getCatalogFilters?f.getCatalogFilters():{}}),{})}function i(d){return S=>d.every(f=>!f.filterEntity||f.filterEntity(S))}},75435:function(Y,R,t){"use strict";t.d(R,{h:function(){return i}});var o=t(74314);function i(d,S,f){var p,c,h;let C=((c=d)===null||c===void 0||(p=c.relations)===null||p===void 0?void 0:p.filter(A=>A.type===S).map(A=>(0,o.of)(A.targetRef)))||[];return!((h=f)===null||h===void 0)&&h.kind&&(C=C.filter(A=>A.kind.toLocaleLowerCase("en-US")===f.kind.toLocaleLowerCase("en-US"))),C}},65524:function(Y,R,t){"use strict";t.d(R,{yw:function(){return h},ql:function(){return A},_Z:function(){return O},jU:function(){return C}});var o=t(87612),i=t(92918);let d=i.K,S=d;class f{toString(){return`routeRef{type=external,id=${this.id}}`}constructor(P,m,D){(0,o._)(this,"id",void 0),(0,o._)(this,"params",void 0),(0,o._)(this,"optional",void 0),(0,o._)(this,S,void 0),this.id=P,this.params=m,this.optional=D,this[d]="external"}}function p(y){var P;return new f(y.id,(P=y.params)!==null&&P!==void 0?P:[],Boolean(y.optional))}var c=t(30283);const h=p({id:"create-component",optional:!0}),C=p({id:"view-techdoc",optional:!0,params:["namespace","kind","name"]}),A=p({id:"create-from-template",optional:!0,params:["namespace","templateName"]}),O=(0,c.N)({id:"catalog"})},76079:function(Y,R,t){"use strict";t.d(R,{F:function(){return f}});var o=t(52322),i=t(2784),d=t(79692);const S=(0,d.Z)(()=>({highlight:{}}),{name:"BackstageHighlightedSearchResultText"}),f=p=>{const{text:c,preTag:h,postTag:C}=p,A=S(),O=(0,i.useMemo)(()=>c.split(new RegExp(`(${h}.+?${C})`)),[C,h,c]);return(0,o.jsx)(o.Fragment,{children:O.map((y,P)=>y.includes(h)?(0,o.jsx)("mark",{className:A.highlight,children:y.replace(new RegExp(`${h}|${C}`,"g"),"")},P):y)})}},53945:function(Y,R,t){"use strict";t.d(R,{E5:function(){return C}});var o=t(52322),i=t(2784),d=t(62369),S=t(82963),f=t(38402);const p="search.results.list.items.extensions.v1",c=(y,P)=>{for(const D of y){var m;if(!(!isValidElement(D)||!(!((m=getComponentData(D,p))===null||m===void 0)&&m(P))))return cloneElement(D,{rank:P.rank,highlight:P.highlight,result:P.document,...D.props})}return null},h=y=>{const{rank:P,result:m,noTrack:D,children:b,alignItems:M="flex-start",...B}=y,$=(0,d.z)(),v=(0,i.useCallback)(()=>{D||m&&$.captureEvent("discover",m.title,{attributes:{to:m.location},value:P})},[P,m,D,$]);return(0,o.jsx)(f.Z,{divider:!0,alignItems:M,onClickCapture:v,...B,children:b})},C=y=>{const{name:P,component:m,predicate:D=()=>!0}=y;return(0,S.YO)({name:P,component:{lazy:()=>m().then(b=>M=>(0,o.jsx)(h,{rank:M.rank,result:M.result,noTrack:M.noTrack,children:(0,i.createElement)(b,M)}))},data:{[p]:D}})},A=y=>{const P=useElementFilter(y,m=>m.selectByComponentData({key:p}).getElements(),[y]);return useCallback((m,D)=>{const b=c(P,m);return _jsx(Fragment,{children:b!=null?b:_jsx(h,{rank:m.rank,result:m.document,children:_jsx(DefaultResultListItem,{rank:m.rank,highlight:m.highlight,result:m.document})})},D)},[P])},O=y=>{const{results:P,children:m,...D}=y,b=A(m);return _jsx(List,{...D,children:P.map(b)})}},2296:function(Y,R,t){"use strict";t.d(R,{$L:function(){return D},DR:function(){return C},KY:function(){return O},Zz:function(){return h},jM:function(){return c}});var o=t(52322),i=t(2784),d=t(73557),S=t(62584),f=t(82963),p=t(2532);const c="techdocs.addons.addon.v1",h="techdocs.addons.wrapper.v1",C=()=>null;(0,S.R)(C,h,!0);const A=b=>`${c}.${b.toLocaleLowerCase("en-US")}`;function O(b){const{name:M,component:B}=b;return(0,f.YO)({name:M,component:{sync:$=>(0,o.jsx)(B,{...$})},data:{[c]:b,[A(M)]:!0}})}const y=(b,M)=>b.selectByComponentData({key:M}).getElements()[0],P=b=>b.selectByComponentData({key:h}).selectByComponentData({key:c}),m=b=>b.selectByComponentData({key:h}).findComponentData({key:c}),D=()=>{const b=(0,d.pC)(),M=(0,p.v)(b,P),B=(0,p.v)(b,m),$=(0,i.useCallback)(lt=>{if(!M||!lt)return null;const J=A(lt.name);var V;return(V=y(M,J))!==null&&V!==void 0?V:null},[M]),v=(0,i.useCallback)(lt=>{const J=B.find(V=>V.name===lt);return J?$(J):null},[B,$]),N=(0,i.useCallback)(lt=>{const J=B.filter(V=>V.location===lt);return J.length?J.map($):null},[B,$]);return{renderComponentByName:v,renderComponentsByLocation:N}}},58496:function(Y,R,t){"use strict";t.d(R,{D:function(){return d},g:function(){return i}});var o=t(95965);const i=(0,o.T)({id:"plugin.techdocs.service"}),d=(0,o.T)({id:"plugin.techdocs.storageservice"})},68979:function(Y,R,t){"use strict";t.d(R,{Z:function(){return b},x:function(){return M}});var o=t(52322),i=t(2784),d=t(64279),S=t(77446),f=t(74314),p=t(29651),c=t(68993),h=t(44394),C=t(6542),A=t(72388),O=t(58496);function y(B,$){return $.getOptionalBoolean("techdocs.legacyUseCaseSensitiveTripletPaths")||(B.kind=B.kind.toLocaleLowerCase(),B.name=B.name.toLocaleLowerCase(),B.namespace=B.namespace.toLocaleLowerCase()),B}const P=(B,$)=>(0,f.eE)(B)===(0,f.eE)($),m={title:"",subtitle:"",setTitle:()=>{},setSubtitle:()=>{},setShadowRoot:()=>{},metadata:{loading:!0},entityMetadata:{loading:!0},entityRef:{kind:"",name:"",namespace:""}},D=(0,p.CT)("techdocs-reader-page-context"),b=(0,i.memo)(B=>{const{entityRef:$,children:v}=B,N=(0,h.h_)(O.g),lt=(0,h.h_)(C.D),J=(0,d.default)(async()=>N.getEntityMetadata($),[$]),V=(0,S.Z)(async()=>N.getTechDocsMetadata($),[$]),[K,k]=(0,i.useState)(m.title),[Q,it]=(0,i.useState)(m.subtitle),[At,xt]=(0,i.useState)(m.shadowRoot);(0,i.useEffect)(()=>{At&&!V.value&&!V.loading&&V.retry()},[V.value,V.loading,At,V.retry,V]);const mt={metadata:V,entityRef:y($,lt),entityMetadata:J,shadowRoot:At,setShadowRoot:xt,title:K,setTitle:k,subtitle:Q,setSubtitle:it},bt=(0,c.E)({1:mt});return(0,o.jsx)(A.fC,{attributes:{entityRef:(0,f.eE)($)},children:(0,o.jsx)(D.Provider,{value:bt,children:v instanceof Function?v(mt):v})})},(B,$)=>P(B.entityRef,$.entityRef)),M=()=>{const B=(0,i.useContext)(D);if(B===void 0)return m;const $=B.atVersion(1);if($===void 0)throw new Error("No context found for version 1.");return $}},57058:function(Y,R,t){"use strict";t.d(R,{o:function(){return o}});const o=Object.freeze({Header:"Header",Subheader:"Subheader",Settings:"Settings",PrimarySidebar:"PrimarySidebar",SecondarySidebar:"SecondarySidebar",Content:"Content"})},51953:function(Y,R,t){"use strict";t.d(R,{D:function(){return o}});function o(i,d){return d.getOptionalBoolean("techdocs.legacyUseCaseSensitiveTripletPaths")?i:i.toLocaleLowerCase("en-US")}},29895:function(Y,R,t){"use strict";t.d(R,{u:function(){return V}});var o=t(52322),i=t(2784),d=t(42398),S=t(30706),f=t(13788),p=t(25942),c=t(30389),h=t(23433),C=t(63833),A=t(97894),O=t(42081),y=t(88797);class P{getCatalogFilters(){return{"metadata.annotations.backstage.io/techdocs-ref":y.n}}}const m=()=>{const{updateFilters:K}=(0,p.wp)();return(0,i.useEffect)(()=>{K({techdocs:new P})},[K]),null};var D=t(95074),b=t(76635),M=t(538),B=t(9791),$=t(42870),v=t(16787),N=t(45342),lt=t(49079);const J=K=>{var k;const{columns:Q,actions:it,options:At}=K,{loading:xt,error:mt,entities:bt,filters:gt}=(0,p.wp)(),{isStarredEntity:Pt,toggleStarredEntity:ct}=(0,$.C)(),[,_]=(0,D.Z)();var z;const et=(0,b.capitalize)((z=(k=gt.user)===null||k===void 0?void 0:k.value)!==null&&z!==void 0?z:"all"),at=[N.n.createCopyDocsUrlAction(_),N.n.createStarEntityAction(Pt,ct)];return mt?(0,o.jsx)(M.G,{severity:"error",title:"Could not load available documentation.",children:(0,o.jsx)(B.O,{language:"text",text:mt.toString()})}):(0,o.jsx)(v.H,{title:et,entities:bt,loading:xt,actions:it||at,columns:Q,options:At})};J.columns=lt.N,J.actions=N.n;const V=K=>{const{initialFilter:k="owned",columns:Q,actions:it}=K;return(0,o.jsx)(O.j,{children:(0,o.jsxs)(d.V,{children:[(0,o.jsx)(S.y,{title:"",children:(0,o.jsx)(f.q,{children:"Discover documentation in your ecosystem."})}),(0,o.jsx)(p.UO,{children:(0,o.jsxs)(c._i,{children:[(0,o.jsxs)(c._i.Filters,{children:[(0,o.jsx)(m,{}),(0,o.jsx)(h.E,{initialFilter:k}),(0,o.jsx)(C.d,{}),(0,o.jsx)(A.x,{})]}),(0,o.jsx)(c._i.Content,{children:(0,o.jsx)(J,{actions:it,columns:Q})})]})})]})})}},16787:function(Y,R,t){"use strict";t.d(R,{H:function(){return M}});var o=t(52322),i=t(2784),d=t(95074),S=t(37321),f=t(44394),p=t(6542),c=t(8709),h=t(75435),C=t(86540),A=t(95573),O=t(84462),y=t(70249),P=t(15929),m=t(45342),D=t(49079),b=t(51953);const M=B=>{const{entities:$,title:v,loading:N,columns:lt,actions:J,options:V}=B,[,K]=(0,d.Z)(),k=(0,S.t)(A.Fw),Q=(0,f.h_)(p.D);if(!$)return null;const it=$.map(mt=>{const bt=(0,h.h)(mt,c.S4);var gt;return{entity:mt,resolved:{docsUrl:k({namespace:(0,b.D)((gt=mt.metadata.namespace)!==null&>!==void 0?gt:"default",Q),kind:(0,b.D)(mt.kind,Q),name:(0,b.D)(mt.metadata.name,Q)}),ownedByRelations:bt,ownedByRelationsTitle:bt.map(Pt=>(0,C.$)(Pt,{defaultKind:"group"})).join(", ")}}}),At=[D.N.createNameColumn(),D.N.createOwnerColumn(),D.N.createTypeColumn()],xt=[m.n.createCopyDocsUrlAction(K)];return(0,o.jsx)(o.Fragment,{children:N||it&&it.length>0?(0,o.jsx)(O.i,{isLoading:N,options:{paging:!0,pageSize:20,search:!0,actionsColumnIndex:-1,...V},data:it,columns:lt||At,actions:J||xt,title:v?`${v} (${it.length})`:`All (${it.length})`}):(0,o.jsx)(y.u,{missing:"data",title:"No documents to show",description:"Create your own document. Check out our Getting Started Information",action:(0,o.jsx)(P.Q,{color:"primary",to:"https://backstage.io/docs/features/techdocs/getting-started",variant:"contained",children:"DOCS"})})})};M.columns=D.N,M.actions=m.n},45342:function(Y,R,t){"use strict";t.d(R,{n:function(){return h}});var o=t(52322),i=t(2784),d=t(39981),S=t(2337),f=t(11640),p=t(28347);const c=(0,S.Z)({root:{color:"#f3ba37"}})(f.Z),h={createCopyDocsUrlAction(C){return A=>({icon:()=>(0,o.jsx)(d.Z,{fontSize:"small"}),tooltip:"Click to copy documentation link to clipboard",onClick:()=>C(`${window.location.origin}${A.resolved.docsUrl}`)})},createStarEntityAction(C,A){return O=>{const y=O.entity,P=C(y);return{cellStyle:{paddingLeft:"1em"},icon:()=>P?(0,o.jsx)(c,{}):(0,o.jsx)(p.Z,{}),tooltip:P?"Remove from favorites":"Add to favorites",onClick:()=>A(y)}}}}},49079:function(Y,R,t){"use strict";t.d(R,{N:function(){return A}});var o=t(52322),i=t(2784),d=t(62774),S=t(79692);const f=(0,S.Z)(O=>({value:{marginBottom:O.spacing(.75)},subvalue:{color:O.palette.textSubtle,fontWeight:"normal"}}),{name:"BackstageSubvalueCell"});function p(O){const{value:y,subvalue:P}=O,m=f();return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(d.Z,{className:m.value,children:y}),(0,o.jsx)(d.Z,{className:m.subvalue,children:P})]})}var c=t(98864),h=t(68138);function C(O){return O.metadata.title||O.metadata.name}const A={createNameColumn(){return{title:"Document",field:"entity.metadata.name",highlight:!0,render:O=>(0,o.jsx)(p,{value:(0,o.jsx)(c.rU,{to:O.resolved.docsUrl,children:C(O.entity)}),subvalue:O.entity.metadata.description})}},createOwnerColumn(){return{title:"Owner",field:"resolved.ownedByRelationsTitle",render:({resolved:O})=>(0,o.jsx)(h.r,{entityRefs:O.ownedByRelations,defaultKind:"group"})}},createTypeColumn(){return{title:"Type",field:"entity.spec.type"}}}},42081:function(Y,R,t){"use strict";t.d(R,{j:function(){return p}});var o=t(52322),i=t(2784),d=t(32166),S=t(44394),f=t(6542);const p=c=>{const{children:h}=c,C=(0,S.h_)(f.D);var A;const O=`Documentation available in ${(A=C.getOptionalString("organization.name"))!==null&&A!==void 0?A:"Backstage"}`;return(0,o.jsx)(d.g,{title:"Documentation",subtitle:O,themeId:"documentation",children:h})}},4577:function(Y,R,t){"use strict";t.d(R,{Jl:function(){return bt},I6:function(){return gt},s4:function(){return it}});var o=t(58496),i=t(87612),d=t(41385),S=t(48998),f=t(30474);class p extends Error{constructor(_,z){var et,at;let dt=_;if(z!==void 0){const F=(0,S.n)(z);dt?dt+=`; caused by ${F}`:dt=`caused by ${F}`}super(dt),(0,i._)(this,"cause",void 0),(et=(at=Error).captureStackTrace)===null||et===void 0||et.call(at,this,this.constructor),(!this.name||this.name==="Error")&&this.constructor.name!=="Error"&&(this.name=this.constructor.name),this.cause=(0,f.V)(z)?z:void 0}}class c extends null{constructor(..._){super(..._),_define_property(this,"name","InputError")}}class h extends null{constructor(..._){super(..._),_define_property(this,"name","AuthenticationError")}}class C extends null{constructor(..._){super(..._),_define_property(this,"name","NotAllowedError")}}class A extends p{constructor(..._){super(..._),(0,i._)(this,"name","NotFoundError")}}class O extends null{constructor(..._){super(..._),_define_property(this,"name","ConflictError")}}class y extends null{constructor(..._){super(..._),_define_property(this,"name","NotModifiedError")}}class P extends null{constructor(..._){super(..._),_define_property(this,"name","NotImplementedError")}}class m extends null{}class D extends null{constructor(_,z){super(_,z),this.name=isError(z)?z.name:"Error"}}var b=t(54847);class M{async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getTechDocsMetadata(_){const{kind:z,namespace:et,name:at}=_,F=`${await this.getApiOrigin()}/metadata/techdocs/${et}/${z}/${at}`,G=await this.fetchApi.fetch(`${F}`);if(!G.ok)throw await d.V.fromResponse(G);return await G.json()}async getEntityMetadata(_){const{kind:z,namespace:et,name:at}=_,F=`${await this.getApiOrigin()}/metadata/entity/${et}/${z}/${at}`,G=await this.fetchApi.fetch(`${F}`);if(!G.ok)throw await d.V.fromResponse(G);return await G.json()}constructor(_){(0,i._)(this,"configApi",void 0),(0,i._)(this,"discoveryApi",void 0),(0,i._)(this,"fetchApi",void 0),this.configApi=_.configApi,this.discoveryApi=_.discoveryApi,this.fetchApi=_.fetchApi}}class B{async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){var _;return(_=this.configApi.getOptionalString("techdocs.storageUrl"))!==null&&_!==void 0?_:`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getString("techdocs.builder")}async getEntityDocs(_,z){const{kind:et,namespace:at,name:dt}=_,G=`${await this.getStorageUrl()}/${at}/${et}/${dt}/${z}`,ft=await this.fetchApi.fetch(`${G.endsWith("/")?G:`${G}/`}index.html`);let ht="";switch(ft.status){case 404:throw ht="Page not found. ",z||(ht+="This could be because there is no index.md file in the root of the docs directory of this repository."),new A(ht);case 500:throw ht="Could not generate documentation or an error in the TechDocs backend. ",new Error(ht);default:break}return ft.text()}async syncEntityDocs(_,z=()=>{}){const{kind:et,namespace:at,name:dt}=_,G=`${await this.getApiOrigin()}/sync/${at}/${et}/${dt}`,{token:ft}=await this.identityApi.getCredentials();return new Promise((ht,ut)=>{const Ot=new b.EventSourcePolyfill(G,{withCredentials:!0,headers:ft?{Authorization:`Bearer ${ft}`}:{}});Ot.addEventListener("log",vt=>{vt.data&&z(JSON.parse(vt.data))}),Ot.addEventListener("finish",vt=>{let wt=!1;vt.data&&({updated:wt}=JSON.parse(vt.data)),ht(wt?"updated":"cached")}),Ot.onerror=vt=>{switch(Ot.close(),vt.status){case 404:ut(new A(vt.message));return;default:ut(new Error(vt.data));return}}})}async getBaseUrl(_,z,et){const{kind:at,namespace:dt,name:F}=z,ft=`${await this.getApiOrigin()}/static/docs/${dt}/${at}/${F}/${et}`;return new URL(_,ft.endsWith("/")?ft:`${ft}/`).toString()}constructor(_){(0,i._)(this,"configApi",void 0),(0,i._)(this,"discoveryApi",void 0),(0,i._)(this,"identityApi",void 0),(0,i._)(this,"fetchApi",void 0),this.configApi=_.configApi,this.discoveryApi=_.discoveryApi,this.identityApi=_.identityApi,this.fetchApi=_.fetchApi}}var $=t(95573),v=t(15006),N=t(42380),lt=t(6542),J=t(96727),V=t(77186),K=t(85094),k=t(82963),Q=t(53945);const it=(0,v.r)({id:"techdocs",apis:[(0,N.n)({api:o.D,deps:{configApi:lt.D,discoveryApi:J.N,identityApi:V.$,fetchApi:K.g},factory:({configApi:ct,discoveryApi:_,identityApi:z,fetchApi:et})=>new B({configApi:ct,discoveryApi:_,identityApi:z,fetchApi:et})}),(0,N.n)({api:o.g,deps:{configApi:lt.D,discoveryApi:J.N,fetchApi:K.g},factory:({configApi:ct,discoveryApi:_,fetchApi:z})=>new M({configApi:ct,discoveryApi:_,fetchApi:z})})],routes:{root:$._Z,docRoot:$.Fw,entityContent:$.pd}}),At=it.provide((0,k.P4)({name:"TechdocsPage",component:()=>t.e(967).then(t.bind(t,80967)).then(ct=>ct.Router),mountPoint:$._Z})),xt=it.provide((0,k.P4)({name:"EntityTechdocsContent",component:()=>t.e(967).then(t.bind(t,80967)).then(ct=>ct.EmbeddedDocsRouter),mountPoint:$.pd})),mt=it.provide((0,k.P4)({name:"TechDocsCustomHome",component:()=>t.e(2924).then(t.bind(t,12924)).then(ct=>ct.TechDocsCustomHome),mountPoint:$._Z})),bt=it.provide((0,k.P4)({name:"TechDocsIndexPage",component:()=>t.e(8662).then(t.bind(t,18662)).then(ct=>ct.TechDocsIndexPage),mountPoint:$._Z})),gt=it.provide((0,k.P4)({name:"TechDocsReaderPage",component:()=>t.e(5914).then(t.bind(t,35914)).then(ct=>ct.TechDocsReaderPage),mountPoint:$.Fw})),Pt=it.provide((0,Q.E5)({name:"TechDocsSearchResultListItem",component:()=>Promise.resolve().then(t.bind(t,55511)).then(ct=>ct.TechDocsSearchResultListItem),predicate:ct=>ct.type==="techdocs"}))},45902:function(Y,R,t){"use strict";t.d(R,{F:function(){return un}});var o=t(52322),i=t(2784),d=t(79692),S=t(60905),f=t(68979),p=t(70882),c=t(50236),h=t(19219),C=t(55015);const A="TECH_DOCS_SHADOW_DOM_STYLE_LOAD",O=g=>{(0,i.useEffect)(()=>{var T,I;if(!g)return()=>{};const Z=g.querySelectorAll('head > link[rel="stylesheet"]');var H;let tt=(H=(T=Z)===null||T===void 0?void 0:T.length)!==null&&H!==void 0?H:0;const ot=new CustomEvent(A);if(!tt)return g.dispatchEvent(ot),()=>{};const pt=()=>{--tt===0&&g.dispatchEvent(ot)};return(I=Z)===null||I===void 0||I.forEach(yt=>{yt.addEventListener("load",pt)}),()=>{var yt;(yt=Z)===null||yt===void 0||yt.forEach(Rt=>{Rt.removeEventListener("load",pt)})}},[g])},y=g=>{const[T,I]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{if(!g)return()=>{};I(!0);const Z=g.style;Z.setProperty("opacity","0");const H=()=>{I(!1),Z.setProperty("opacity","1")};return g.addEventListener(A,H),()=>{g.removeEventListener(A,H)}},[g]),T},P=g=>{const{element:T,onAppend:I,children:Z}=g,[H,tt]=(0,i.useState)((0,p.Ue)({...(0,c.Z)(),insertionPoint:void 0}));O(T);const ot=y(T),pt=(0,i.useCallback)(yt=>{if(!T||!yt)return;tt((0,p.Ue)({...(0,c.Z)(),insertionPoint:T.querySelector("head")||void 0}));let Rt=yt.shadowRoot;Rt||(Rt=yt.attachShadow({mode:"open"})),Rt.replaceChildren(T),typeof I=="function"&&I(Rt)},[T,I]);return(0,o.jsxs)(o.Fragment,{children:[ot&&(0,o.jsx)(C.E,{}),(0,o.jsxs)(h.ZP,{jss:H,sheetsManager:new Map,children:[(0,o.jsx)("div",{ref:pt,"data-testid":"techdocs-native-shadowroot"}),Z]})]})};var m=t(87435),D=t(42398),b=t(76635),M=t(64279),B=t(1849),$=t(29651),v=t(68993),N=t(44394),lt=t(72388),J=t(6542),V=t(95965);const K=(0,V.T)({id:"plugin.search.queryservice"});class k{query(){return Promise.resolve(this.mockedResults||{results:[]})}constructor(T){_define_property(this,"mockedResults",void 0),this.mockedResults=T}}const Q=(0,$.CT)("search-context"),it=()=>{const g=(0,i.useContext)(Q);if(!g)throw new Error("useSearch must be used within a SearchContextProvider");const T=g.atVersion(1);if(!T)throw new Error("No SearchContext v1 found");return T},At=()=>(0,i.useContext)(Q)!==void 0,xt={term:"",types:[],filters:{},pageLimit:void 0,pageCursor:void 0},mt=(g=xt)=>{var T,I,Z,H;const tt=(0,N.h_)(K),[ot,pt]=(0,i.useState)(g.term),[yt,Rt]=(0,i.useState)(g.types),[Dt,Nt]=(0,i.useState)(g.filters),[Tt,se]=(0,i.useState)(g.pageLimit),[ce,Gt]=(0,i.useState)(g.pageCursor),kt=(0,B.Z)(ot),Vt=(0,B.Z)(Dt),re=(0,M.default)(()=>tt.query({term:ot,types:yt,filters:Dt,pageLimit:Tt,pageCursor:ce}),[ot,yt,Dt,Tt,ce]),Ft=!re.loading&&!re.error&&((T=re.value)===null||T===void 0?void 0:T.nextPageCursor),_t=!re.loading&&!re.error&&((I=re.value)===null||I===void 0?void 0:I.previousPageCursor),Jt=(0,i.useCallback)(()=>{var pe;Gt((pe=re.value)===null||pe===void 0?void 0:pe.nextPageCursor)},[(Z=re.value)===null||Z===void 0?void 0:Z.nextPageCursor]),ve=(0,i.useCallback)(()=>{var pe;Gt((pe=re.value)===null||pe===void 0?void 0:pe.previousPageCursor)},[(H=re.value)===null||H===void 0?void 0:H.previousPageCursor]);return(0,i.useEffect)(()=>{kt!==void 0&&ot!==kt&&Gt(void 0)},[ot,kt,Gt]),(0,i.useEffect)(()=>{Vt!==void 0&&!(0,b.isEqual)(Dt,Vt)&&Gt(void 0)},[Dt,Vt,Gt]),{result:re,term:ot,setTerm:pt,types:yt,setTypes:Rt,filters:Dt,setFilters:Nt,pageLimit:Tt,setPageLimit:se,pageCursor:ce,setPageCursor:Gt,fetchNextPage:Ft?Jt:void 0,fetchPreviousPage:_t?ve:void 0}},bt=g=>{const{initialState:T,children:I}=g,Z=mt(T);return(0,o.jsx)(lt.fC,{attributes:{searchTypes:Z.types.sort().join(",")},children:(0,o.jsx)(Q.Provider,{value:(0,v.E)({1:Z}),children:I})})},gt=g=>{const{initialState:T,inheritParentContextIfAvailable:I,children:Z}=g,H=At(),tt=(0,N.h_)(J.D),ot=T!=null?T:{},pt=tt.has("search.query.pageLimit")?{pageLimit:tt.getNumber("search.query.pageLimit")}:{},yt={...xt,...ot,...pt};return H&&I?(0,o.jsx)(o.Fragment,{children:Z}):(0,o.jsx)(bt,{initialState:yt,children:Z})};var Pt=t(4614),ct=t(88013),_=t(50581),z=t(61837),et=t(86619),at=t(77277),dt=t(21853),F=t(48760),G=t(62369);const ft=({children:g})=>{var T;const I=Dt=>(0,B.Z)(Dt)!==Dt,Z=(0,G.z)(),{term:H,result:tt}=it();var ot;const pt=(ot=(T=tt.value)===null||T===void 0?void 0:T.numberOfResults)!==null&&ot!==void 0?ot:void 0,Rt=I(tt.loading)&&!tt.loading;return(0,i.useEffect)(()=>{H&&Rt&&Z.captureEvent("search",H,{value:pt})},[Z,H,pt,Rt]),(0,o.jsx)(o.Fragment,{children:g})};function ht(g){return(0,i.forwardRef)((T,I)=>(0,o.jsx)(gt,{inheritParentContextIfAvailable:!0,children:(0,o.jsx)(g,{...T,ref:I})}))}const ut=ht((0,i.forwardRef)((g,T)=>{const{onChange:I,onKeyDown:Z=()=>{},onClear:H=()=>{},onSubmit:tt=()=>{},debounceTime:ot=200,clearButton:pt=!0,fullWidth:yt=!0,value:Rt,label:Dt,placeholder:Nt,inputProps:Tt={},InputProps:se={},endAdornment:ce,...Gt}=g,kt=(0,N.h_)(J.D),[Vt,re]=(0,i.useState)("");(0,i.useEffect)(()=>{re(ge=>ge!==Rt?String(Rt):ge)},[Rt]),(0,F.Z)(()=>I(Vt),ot,[Vt]);const Ft=(0,i.useCallback)(ge=>{re(ge.target.value)},[re]),_t=(0,i.useCallback)(ge=>{Z&&Z(ge),tt&&ge.key==="Enter"&&tt()},[Z,tt]),Jt=(0,i.useCallback)(()=>{I(""),H&&H()},[I,H]),ve=Dt?void 0:"Search",xe=Nt!=null?Nt:`Search in ${kt.getOptionalString("app.title")||"Backstage"}`,pe=(0,o.jsx)(_.Z,{position:"start",children:(0,o.jsx)(z.Z,{"aria-label":"Query",size:"small",disabled:!0,children:(0,o.jsx)(dt.Z,{})})}),ke=(0,o.jsx)(_.Z,{position:"end",children:(0,o.jsx)(at.Z,{"aria-label":"Clear",size:"small",onClick:Jt,onKeyDown:ge=>{ge.key==="Enter"&&ge.stopPropagation()},children:"Clear"})});return(0,o.jsx)(ft,{children:(0,o.jsx)(et.Z,{id:"search-bar-text-field","data-testid":"search-bar-next",variant:"outlined",margin:"normal",inputRef:T,value:Vt,label:Dt,placeholder:xe,InputProps:{startAdornment:pe,endAdornment:pt?ke:ce,...se},inputProps:{"aria-label":ve,...Tt},fullWidth:yt,onChange:Ft,onKeyDown:_t,...Gt})})})),Ot=ht((0,i.forwardRef)((g,T)=>{const{value:I="",onChange:Z,...H}=g,{term:tt,setTerm:ot}=it();(0,i.useEffect)(()=>{I&&ot(String(I))},[I,ot]);const pt=(0,i.useCallback)(yt=>{Z?Z(yt):ot(yt)},[Z,ot]);return(0,o.jsx)(lt.fC,{attributes:{pluginId:"search",extension:"SearchBar"},children:(0,o.jsx)(ut,{...H,ref:T,value:tt,onChange:pt})})})),vt=(0,d.Z)(g=>({loading:{right:g.spacing(1),position:"absolute"}})),wt=g=>T=>(0,o.jsx)(gt,{inheritParentContextIfAvailable:!0,children:(0,o.jsx)(g,{...T})}),It=()=>{const g=vt();return(0,o.jsx)(Pt.Z,{className:g.loading,"data-testid":"search-autocomplete-progressbar",color:"inherit",size:20})},Lt=wt(function(T){const{loading:I,value:Z,onChange:H=()=>{},options:tt=[],getOptionLabel:ot=Ft=>String(Ft),inputPlaceholder:pt,inputDebounceTime:yt,freeSolo:Rt=!0,fullWidth:Dt=!0,clearOnBlur:Nt=!1,"data-testid":Tt="search-autocomplete",...se}=T,{setTerm:ce}=it(),Gt=(0,i.useCallback)(Ft=>Ft?typeof Ft=="string"?Ft:ot(Ft):"",[ot]),kt=(0,i.useMemo)(()=>Gt(Z),[Z,Gt]),Vt=(0,i.useCallback)((Ft,_t,Jt,ve)=>{ce(Gt(_t)),H(Ft,_t,Jt,ve)},[Gt,ce,H]),re=(0,i.useCallback)(({InputProps:{ref:Ft,className:_t,endAdornment:Jt},InputLabelProps:ve,...xe})=>(0,o.jsx)(Ot,{...xe,ref:Ft,clearButton:!1,value:kt,placeholder:pt,debounceTime:yt,endAdornment:I?(0,o.jsx)(It,{}):Jt,InputProps:{className:_t}}),[I,kt,pt,yt]);return(0,o.jsx)(ct.ZP,{...se,"data-testid":Tt,value:Z,onChange:Vt,options:tt,getOptionLabel:ot,renderInput:re,freeSolo:Rt,fullWidth:Dt,clearOnBlur:Nt})});var Zt=t(73557),Yt=t(55511);const ee=g=>{var T;return(T=g)===null||T===void 0?void 0:T.document},Kt=g=>{const{entityId:T,entityTitle:I,debounceTime:Z=150}=g,[H,tt]=(0,i.useState)(!1),ot=(0,Zt.s0)(),{setFilters:pt,result:{loading:yt,value:Rt}}=it(),[Dt,Nt]=(0,i.useState)([]);(0,i.useEffect)(()=>{let kt=!0;if(kt&&Rt){const Vt=Rt.results.slice(0,10);Nt(Vt)}return()=>{kt=!1}},[yt,Rt]);const{kind:Tt,name:se,namespace:ce}=T;(0,i.useEffect)(()=>{pt(kt=>({...kt,kind:Tt,namespace:ce,name:se}))},[Tt,ce,se,pt]);const Gt=(kt,Vt)=>{if(ee(Vt)){const{location:re}=Vt.document;ot(re)}};return(0,o.jsx)(Lt,{"data-testid":"techdocs-search-bar",size:"small",open:H,getOptionLabel:()=>"",filterOptions:kt=>kt,onClose:()=>{tt(!1)},onFocus:()=>{tt(!0)},onChange:Gt,blurOnSelect:!0,noOptionsText:"No results found",value:null,options:Dt,renderOption:({document:kt,highlight:Vt})=>(0,o.jsx)(Yt.TechDocsSearchResultListItem,{result:kt,lineClamp:3,asListItem:!1,asLink:!1,title:kt.title,highlight:Vt}),loading:yt,inputDebounceTime:Z,inputPlaceholder:`Search ${I||T.name} docs`,freeSolo:!1})},Oe=g=>{const T={term:"",types:["techdocs"],pageCursor:"",filters:g.entityId};return(0,o.jsx)(gt,{initialState:T,children:(0,o.jsx)(Kt,{...g})})};var $t=t(99688),zt=t(80851);const ie=(0,i.lazy)(()=>Promise.all([t.e(8629),t.e(6051)]).then(t.bind(t,76051)).then(g=>({default:g.RealLogViewer})));function ue(g){const{Progress:T}=(0,zt.q)().getComponents();return(0,o.jsx)(i.Suspense,{fallback:(0,o.jsx)(T,{}),children:(0,o.jsx)(ie,{...g})})}var Ne=t(42494),_e=t(90436),Ye=t(4190),dn=t(87685);const Be=(0,d.Z)(g=>(0,Ne.Z)({paper:{width:"100%",[g.breakpoints.up("sm")]:{width:"75%"},[g.breakpoints.up("md")]:{width:"50%"},padding:g.spacing(2.5)},root:{height:"100%",overflow:"hidden"},logs:{background:g.palette.background.default}})),Ze=({buildLog:g,onClose:T})=>{const I=Be(),Z=g.length===0?"Waiting for logs...":g.join(`
|
|
2
|
-
`);return(0,o.jsxs)(S.Z,{container:!0,direction:"column",className:I.root,spacing:0,wrap:"nowrap",children:[(0,o.jsxs)(S.Z,{item:!0,container:!0,justifyContent:"space-between",alignItems:"center",spacing:0,wrap:"nowrap",children:[(0,o.jsx)(_e.Z,{variant:"h5",children:"Build Details"}),(0,o.jsx)(z.Z,{title:"Close the drawer",onClick:T,color:"inherit",children:(0,o.jsx)(dn.Z,{})},"dismiss")]}),(0,o.jsx)(S.Z,{item:!0,xs:!0,children:(0,o.jsx)(ue,{text:Z,classes:{root:I.logs}})})]})},me=({buildLog:g})=>{const T=Be(),[I,Z]=(0,i.useState)(!1);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(at.Z,{color:"inherit",onClick:()=>Z(!0),children:"Show Build Logs"}),(0,o.jsx)(Ye.ZP,{classes:{paper:T.paper},anchor:"right",open:I,onClose:()=>Z(!1),children:(0,o.jsx)(Ze,{buildLog:g,onClose:()=>Z(!1)})})]})},tn=({errorMessage:g})=>{const T=(0,N.h_)(J.D).getOptionalString("techdocs.builder");let I="";return T!=="local"&&(I="Note that techdocs.builder is not set to 'local' in your config, which means this Backstage app will not generate docs if they are not found. Make sure the project's docs are generated and published by some external process (e.g. CI/CD pipeline). Or change techdocs.builder to 'local' to generate docs from this Backstage instance."),(0,o.jsx)(m.m,{status:"404",statusMessage:g||"Documentation not found",additionalInfo:I})};var ae=t(77446),Qe=t(58496);function we({contentLoading:g,content:T,activeSyncState:I}){return g||I==="BUILD_READY_RELOAD"||!T&&I==="CHECKING"?"CHECKING":!T&&I==="BUILDING"?"INITIAL_BUILD":T?I==="BUILDING"?"CONTENT_STALE_REFRESHING":I==="BUILD_READY"?"CONTENT_STALE_READY":I==="ERROR"?"CONTENT_STALE_ERROR":"CONTENT_FRESH":"CONTENT_NOT_FOUND"}function Ke(g,T){const I={...g};switch(T.type){case"sync":T.state==="CHECKING"&&(I.buildLog=[]),I.activeSyncState=T.state,I.syncError=T.syncError;break;case"contentLoading":I.contentLoading=!0,I.contentError=void 0;break;case"content":typeof T.path=="string"&&(I.path=T.path),I.contentLoading=!1,I.content=T.content,I.contentError=T.contentError;break;case"buildLog":I.buildLog=I.buildLog.concat(T.log);break;default:throw new Error}return["BUILD_READY","BUILD_READY_RELOAD"].includes(I.activeSyncState)&&["contentLoading","content"].includes(T.type)&&(I.activeSyncState="UP_TO_DATE",I.buildLog=[]),I}function De(g,T,I,Z){var H,tt;const[ot,pt]=(0,i.useReducer)(Ke,{activeSyncState:"CHECKING",path:Z,contentLoading:!0,buildLog:[]}),yt=(0,N.h_)(Qe.D),{retry:Rt}=(0,ae.Z)(async()=>{pt({type:"contentLoading"});try{const Tt=await yt.getEntityDocs({kind:g,namespace:T,name:I},Z);return pt({type:"content",content:Tt,path:Z}),Tt}catch(Tt){pt({type:"content",contentError:Tt,path:Z})}},[yt,g,T,I,Z]),Dt=(0,i.useRef)({content:void 0,reload:()=>{}});return Dt.current={content:ot.content,reload:Rt},(0,M.default)(async()=>{pt({type:"sync",state:"CHECKING"});const Tt=setTimeout(()=>{pt({type:"sync",state:"BUILDING"})},1e3);try{switch(await yt.syncEntityDocs({kind:g,namespace:T,name:I},ce=>{pt({type:"buildLog",log:ce})})){case"updated":Dt.current.content?pt({type:"sync",state:"BUILD_READY"}):(Dt.current.reload(),pt({type:"sync",state:"BUILD_READY_RELOAD"}));break;case"cached":pt({type:"sync",state:"UP_TO_DATE"});break;default:pt({type:"sync",state:"ERROR",syncError:new Error("Unexpected return state")});break}}catch(se){pt({type:"sync",state:"ERROR",syncError:se})}finally{clearTimeout(Tt)}},[g,I,T,yt,pt,Dt]),{state:(0,i.useMemo)(()=>we({activeSyncState:ot.activeSyncState,contentLoading:ot.contentLoading,content:ot.content}),[ot.activeSyncState,ot.content,ot.contentLoading]),contentReload:Rt,path:ot.path,content:ot.content,contentErrorMessage:(H=ot.contentError)===null||H===void 0?void 0:H.toString(),syncErrorMessage:(tt=ot.syncError)===null||tt===void 0?void 0:tt.toString(),buildLog:ot.buildLog}}const he=(0,i.createContext)({}),ze=()=>(0,i.useContext)(he),en=g=>{const{children:T}=g,{"*":I=""}=(0,Zt.UO)(),{entityRef:Z}=(0,f.x)(),{kind:H,namespace:tt,name:ot}=Z,pt=De(H,tt,ot,I);return(0,o.jsx)(he.Provider,{value:pt,children:T instanceof Function?T(pt):T})},w=g=>T=>(0,o.jsx)(en,{children:(0,o.jsx)(g,{...T})}),u=(0,d.Z)(g=>({root:{marginBottom:g.spacing(2)},message:{wordBreak:"break-word",overflowWrap:"anywhere"}})),L=()=>{let g=null;const T=u(),{state:I,contentReload:Z,contentErrorMessage:H,syncErrorMessage:tt,buildLog:ot}=ze();return I==="INITIAL_BUILD"&&(g=(0,o.jsx)($t.Z,{classes:{root:T.root},variant:"outlined",severity:"info",icon:(0,o.jsx)(Pt.Z,{size:"24px"}),action:(0,o.jsx)(me,{buildLog:ot}),children:"Documentation is accessed for the first time and is being prepared. The subsequent loads are much faster."})),I==="CONTENT_STALE_REFRESHING"&&(g=(0,o.jsx)($t.Z,{variant:"outlined",severity:"info",icon:(0,o.jsx)(Pt.Z,{size:"24px"}),action:(0,o.jsx)(me,{buildLog:ot}),classes:{root:T.root},children:"A newer version of this documentation is being prepared and will be available shortly."})),I==="CONTENT_STALE_READY"&&(g=(0,o.jsx)($t.Z,{variant:"outlined",severity:"success",action:(0,o.jsx)(at.Z,{color:"inherit",onClick:()=>Z(),children:"Refresh"}),classes:{root:T.root},children:"A newer version of this documentation is now available, please refresh to view."})),I==="CONTENT_STALE_ERROR"&&(g=(0,o.jsxs)($t.Z,{variant:"outlined",severity:"error",action:(0,o.jsx)(me,{buildLog:ot}),classes:{root:T.root,message:T.message},children:["Building a newer version of this documentation failed."," ",tt]})),I==="CONTENT_NOT_FOUND"&&(g=(0,o.jsxs)(o.Fragment,{children:[tt&&(0,o.jsxs)($t.Z,{variant:"outlined",severity:"error",action:(0,o.jsx)(me,{buildLog:ot}),classes:{root:T.root,message:T.message},children:["Building a newer version of this documentation failed."," ",tt]}),(0,o.jsx)(tn,{errorMessage:H})]})),g};var j=t(60364),nt=t(41156),Ct=t(91657),St=t(35368),Mt=t.n(St);const Ut=/main\.[A-Fa-f0-9]{8}\.min\.css$/,ne=/^https:\/\/fonts\.googleapis\.com/,Qt=/^https:\/\/fonts\.gstatic\.com/,le=g=>g.nodeName==="LINK",nn=g=>{var T;const I=((T=g)===null||T===void 0?void 0:T.getAttribute("href"))||"",Z=I.match(Ut),H=I.match(ne),tt=I.match(Qt);return Z||H||tt},fe=g=>(le(g)&&!nn(g)&&g.remove(),g),Xt=g=>g.nodeName==="IFRAME",Me=(g,T)=>{const I=g.getAttribute("src")||"";try{const{host:Z}=new URL(I);return T.includes(Z)}catch{return!1}},Wt=g=>T=>(Xt(T)&&!Me(T,g)&&T.remove(),T),oe=()=>{const g=(0,N.h_)(J.D);return(0,i.useMemo)(()=>g.getOptionalConfig("techdocs.sanitizer"),[g])},qt=()=>{const g=oe();return(0,i.useCallback)(async T=>{var I;const Z=(I=g)===null||I===void 0?void 0:I.getOptionalStringArray("allowedIframeHosts");Mt().addHook("beforeSanitizeElements",fe);const H=["link"];return Z&&(H.push("iframe"),Mt().addHook("beforeSanitizeElements",Wt(Z))),Mt().sanitize(T.outerHTML,{ADD_TAGS:H,FORBID_TAGS:["style"],WHOLE_DOCUMENT:!0,RETURN_DOM:!0})},[g])};var Dn=t(93539),Ee=t(41128),Mn=({theme:g})=>`
|
|
3
|
-
/*================== Variables ==================*/
|
|
4
|
-
/*
|
|
5
|
-
As the MkDocs output is rendered in shadow DOM, the CSS variable definitions on the root selector are not applied. Instead, they have to be applied on :host.
|
|
6
|
-
As there is no way to transform the served main*.css yet (for example in the backend), we have to copy from main*.css and modify them.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
:host {
|
|
10
|
-
/* FONT */
|
|
11
|
-
--md-default-fg-color: ${g.palette.text.primary};
|
|
12
|
-
--md-default-fg-color--light: ${g.palette.text.secondary};
|
|
13
|
-
--md-default-fg-color--lighter: ${(0,Ee.$n)(g.palette.text.secondary,.7)};
|
|
14
|
-
--md-default-fg-color--lightest: ${(0,Ee.$n)(g.palette.text.secondary,.3)};
|
|
15
|
-
|
|
16
|
-
/* BACKGROUND */
|
|
17
|
-
--md-default-bg-color:${g.palette.background.default};
|
|
18
|
-
--md-default-bg-color--light: ${g.palette.background.paper};
|
|
19
|
-
--md-default-bg-color--lighter: ${(0,Ee.$n)(g.palette.background.paper,.7)};
|
|
20
|
-
--md-default-bg-color--lightest: ${(0,Ee.$n)(g.palette.background.paper,.3)};
|
|
21
|
-
|
|
22
|
-
/* PRIMARY */
|
|
23
|
-
--md-primary-fg-color: ${g.palette.primary.main};
|
|
24
|
-
--md-primary-fg-color--light: ${g.palette.primary.light};
|
|
25
|
-
--md-primary-fg-color--dark: ${g.palette.primary.dark};
|
|
26
|
-
--md-primary-bg-color: ${g.palette.primary.contrastText};
|
|
27
|
-
--md-primary-bg-color--light: ${(0,Ee.$n)(g.palette.primary.contrastText,.7)};
|
|
28
|
-
|
|
29
|
-
/* ACCENT */
|
|
30
|
-
--md-accent-fg-color: var(--md-primary-fg-color);
|
|
31
|
-
|
|
32
|
-
/* SHADOW */
|
|
33
|
-
--md-shadow-z1: ${g.shadows[1]};
|
|
34
|
-
--md-shadow-z2: ${g.shadows[2]};
|
|
35
|
-
--md-shadow-z3: ${g.shadows[3]};
|
|
36
|
-
|
|
37
|
-
/* EXTENSIONS */
|
|
38
|
-
--md-admonition-fg-color: var(--md-default-fg-color);
|
|
39
|
-
--md-admonition-bg-color: var(--md-default-bg-color);
|
|
40
|
-
/* Admonitions and others are using SVG masks to define icons. These masks are defined as CSS variables. */
|
|
41
|
-
--md-admonition-icon--note: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>');
|
|
42
|
-
--md-admonition-icon--abstract: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 5h16v2H4V5m0 4h16v2H4V9m0 4h16v2H4v-2m0 4h10v2H4v-2z"/></svg>');
|
|
43
|
-
--md-admonition-icon--info: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10A10 10 0 0012 2z"/></svg>');
|
|
44
|
-
--md-admonition-icon--tip: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.55 11.2c-.23-.3-.5-.56-.76-.82-.65-.6-1.4-1.03-2.03-1.66C13.3 7.26 13 4.85 13.91 3c-.91.23-1.75.75-2.45 1.32-2.54 2.08-3.54 5.75-2.34 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.22.1-.46.04-.64-.12a.83.83 0 01-.15-.17c-1.1-1.43-1.28-3.48-.53-5.12C5.89 10 5 12.3 5.14 14.47c.04.5.1 1 .27 1.5.14.6.4 1.2.72 1.73 1.04 1.73 2.87 2.97 4.84 3.22 2.1.27 4.35-.12 5.96-1.6 1.8-1.66 2.45-4.32 1.5-6.6l-.13-.26c-.2-.46-.47-.87-.8-1.25l.05-.01m-3.1 6.3c-.28.24-.73.5-1.08.6-1.1.4-2.2-.16-2.87-.82 1.19-.28 1.89-1.16 2.09-2.05.17-.8-.14-1.46-.27-2.23-.12-.74-.1-1.37.18-2.06.17.38.37.76.6 1.06.76 1 1.95 1.44 2.2 2.8.04.14.06.28.06.43.03.82-.32 1.72-.92 2.27h.01z"/></svg>');
|
|
45
|
-
--md-admonition-icon--success: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2m-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>');
|
|
46
|
-
--md-admonition-icon--question: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.07 11.25l-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 00-2-2 2 2 0 00-2 2H8a4 4 0 014-4 4 4 0 014 4 3.2 3.2 0 01-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10c0-5.53-4.5-10-10-10z"/></svg>');
|
|
47
|
-
--md-admonition-icon--warning: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14h-2v-4h2m0 8h-2v-2h2M1 21h22L12 2 1 21z"/></svg>');
|
|
48
|
-
--md-admonition-icon--failure: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2c5.53 0 10 4.47 10 10s-4.47 10-10 10S2 17.53 2 12 6.47 2 12 2m3.59 5L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41 15.59 7z"/></svg>');
|
|
49
|
-
--md-admonition-icon--danger: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.5 20l4.86-9.73H13V4l-5 9.73h3.5V20M12 2c2.75 0 5.1 1 7.05 2.95C21 6.9 22 9.25 22 12s-1 5.1-2.95 7.05C17.1 21 14.75 22 12 22s-5.1-1-7.05-2.95C3 17.1 2 14.75 2 12s1-5.1 2.95-7.05C6.9 3 9.25 2 12 2z"/></svg>');
|
|
50
|
-
--md-admonition-icon--bug: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 12h-4v-2h4m0 6h-4v-2h4m6-6h-2.81a5.985 5.985 0 00-1.82-1.96L17 4.41 15.59 3l-2.17 2.17a6.002 6.002 0 00-2.83 0L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8z"/></svg>');
|
|
51
|
-
--md-admonition-icon--example: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 13v-2h14v2H7m0 6v-2h14v2H7M7 7V5h14v2H7M3 8V5H2V4h2v4H3m-1 9v-1h3v4H2v-1h2v-.5H3v-1h1V17H2m2.25-7a.75.75 0 01.75.75c0 .2-.08.39-.21.52L3.12 13H5v1H2v-.92L4 11H2v-1h2.25z"/></svg>');
|
|
52
|
-
--md-admonition-icon--quote: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 17h3l2-4V7h-6v6h3M6 17h3l2-4V7H5v6h3l-2 4z"/></svg>');
|
|
53
|
-
--md-footnotes-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.42L5.83 13H21V7h-2z"/></svg>');
|
|
54
|
-
--md-details-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>');
|
|
55
|
-
--md-tasklist-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"/></svg>');
|
|
56
|
-
--md-tasklist-icon--checked: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>');
|
|
57
|
-
--md-nav-icon--prev: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>');
|
|
58
|
-
--md-nav-icon--next: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>');
|
|
59
|
-
--md-toc-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 9h14V7H3v2m0 4h14v-2H3v2m0 4h14v-2H3v2m16 0h2v-2h-2v2m0-10v2h2V7h-2m0 6h2v-2h-2v2z"/></svg>');
|
|
60
|
-
--md-clipboard-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1z"/></svg>');
|
|
61
|
-
--md-search-result-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h7c-.41-.25-.8-.56-1.14-.9-.33-.33-.61-.7-.86-1.1H6V4h7v5h5v1.18c.71.16 1.39.43 2 .82V8l-6-6m6.31 16.9c1.33-2.11.69-4.9-1.4-6.22-2.11-1.33-4.91-.68-6.22 1.4-1.34 2.11-.69 4.89 1.4 6.22 1.46.93 3.32.93 4.79.02L22 23.39 23.39 22l-3.08-3.1m-3.81.1a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5z"/></svg>');
|
|
62
|
-
--md-source-forks-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M5 3.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm0 2.122a2.25 2.25 0 1 0-1.5 0v.878A2.25 2.25 0 0 0 5.75 8.5h1.5v2.128a2.251 2.251 0 1 0 1.5 0V8.5h1.5a2.25 2.25 0 0 0 2.25-2.25v-.878a2.25 2.25 0 1 0-1.5 0v.878a.75.75 0 0 1-.75.75h-4.5A.75.75 0 0 1 5 6.25v-.878zm3.75 7.378a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm3-8.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5z"/></svg>');
|
|
63
|
-
--md-source-repositories-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 1 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 0 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 0 1 1-1h8zM5 12.25v3.25a.25.25 0 0 0 .4.2l1.45-1.087a.25.25 0 0 1 .3 0L8.6 15.7a.25.25 0 0 0 .4-.2v-3.25a.25.25 0 0 0-.25-.25h-3.5a.25.25 0 0 0-.25.25z"/></svg>');
|
|
64
|
-
--md-source-stars-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.75.75 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694v.001z"/></svg>');
|
|
65
|
-
--md-source-version-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M2.5 7.775V2.75a.25.25 0 0 1 .25-.25h5.025a.25.25 0 0 1 .177.073l6.25 6.25a.25.25 0 0 1 0 .354l-5.025 5.025a.25.25 0 0 1-.354 0l-6.25-6.25a.25.25 0 0 1-.073-.177zm-1.5 0V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.75 1.75 0 0 1 1 7.775zM6 5a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"/></svg>');
|
|
66
|
-
--md-version-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Free 6.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="m310.6 246.6-127.1 128c-7.1 6.3-15.3 9.4-23.5 9.4s-16.38-3.125-22.63-9.375l-127.1-128C.224 237.5-2.516 223.7 2.438 211.8S19.07 192 32 192h255.1c12.94 0 24.62 7.781 29.58 19.75s3.12 25.75-6.08 34.85z"/></svg>');
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
:host > * {
|
|
70
|
-
/* CODE */
|
|
71
|
-
--md-code-fg-color: ${g.palette.text.primary};
|
|
72
|
-
--md-code-bg-color: ${g.palette.background.paper};
|
|
73
|
-
--md-code-hl-color: ${(0,Ee.Fq)(g.palette.warning.main,.5)};
|
|
74
|
-
--md-code-hl-keyword-color: ${g.palette.type==="dark"?g.palette.primary.light:g.palette.primary.dark};
|
|
75
|
-
--md-code-hl-function-color: ${g.palette.type==="dark"?g.palette.secondary.light:g.palette.secondary.dark};
|
|
76
|
-
--md-code-hl-string-color: ${g.palette.type==="dark"?g.palette.success.light:g.palette.success.dark};
|
|
77
|
-
--md-code-hl-number-color: ${g.palette.type==="dark"?g.palette.error.light:g.palette.error.dark};
|
|
78
|
-
--md-code-hl-constant-color: var(--md-code-hl-function-color);
|
|
79
|
-
--md-code-hl-special-color: var(--md-code-hl-function-color);
|
|
80
|
-
--md-code-hl-name-color: var(--md-code-fg-color);
|
|
81
|
-
--md-code-hl-comment-color: var(--md-default-fg-color--light);
|
|
82
|
-
--md-code-hl-generic-color: var(--md-default-fg-color--light);
|
|
83
|
-
--md-code-hl-variable-color: var(--md-default-fg-color--light);
|
|
84
|
-
--md-code-hl-operator-color: var(--md-default-fg-color--light);
|
|
85
|
-
--md-code-hl-punctuation-color: var(--md-default-fg-color--light);
|
|
86
|
-
|
|
87
|
-
/* TYPESET */
|
|
88
|
-
--md-typeset-font-size: 1rem;
|
|
89
|
-
--md-typeset-color: var(--md-default-fg-color);
|
|
90
|
-
--md-typeset-a-color: ${g.palette.link};
|
|
91
|
-
--md-typeset-table-color: ${g.palette.text.primary};
|
|
92
|
-
--md-typeset-del-color: ${g.palette.type==="dark"?(0,Ee.Fq)(g.palette.error.dark,.5):(0,Ee.Fq)(g.palette.error.light,.5)};
|
|
93
|
-
--md-typeset-ins-color: ${g.palette.type==="dark"?(0,Ee.Fq)(g.palette.success.dark,.5):(0,Ee.Fq)(g.palette.success.light,.5)};
|
|
94
|
-
--md-typeset-mark-color: ${g.palette.type==="dark"?(0,Ee.Fq)(g.palette.warning.dark,.5):(0,Ee.Fq)(g.palette.warning.light,.5)};
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
@media screen and (max-width: 76.1875em) {
|
|
98
|
-
:host > * {
|
|
99
|
-
/* TYPESET */
|
|
100
|
-
--md-typeset-font-size: .9rem;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
@media screen and (max-width: 600px) {
|
|
105
|
-
:host > * {
|
|
106
|
-
/* TYPESET */
|
|
107
|
-
--md-typeset-font-size: .7rem;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
`,jn=({theme:g})=>`
|
|
111
|
-
/*================== Reset ==================*/
|
|
112
|
-
|
|
113
|
-
body {
|
|
114
|
-
--md-text-color: var(--md-default-fg-color);
|
|
115
|
-
--md-text-link-color: var(--md-accent-fg-color);
|
|
116
|
-
--md-text-font-family: ${g.typography.fontFamily};
|
|
117
|
-
font-family: var(--md-text-font-family);
|
|
118
|
-
background-color: unset;
|
|
119
|
-
}
|
|
120
|
-
`;const Ln="224px";var on=({theme:g,sidebar:T})=>`
|
|
121
|
-
/*================== Layout ==================*/
|
|
122
|
-
|
|
123
|
-
/* mkdocs material v9 compat */
|
|
124
|
-
.md-nav__title {
|
|
125
|
-
color: var(--md-default-fg-color);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
.md-grid {
|
|
129
|
-
max-width: 100%;
|
|
130
|
-
margin: 0;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
.md-nav {
|
|
134
|
-
font-size: calc(var(--md-typeset-font-size) * 0.9);
|
|
135
|
-
}
|
|
136
|
-
.md-nav__link {
|
|
137
|
-
display: flex;
|
|
138
|
-
align-items: center;
|
|
139
|
-
justify-content: space-between;
|
|
140
|
-
}
|
|
141
|
-
.md-nav__icon {
|
|
142
|
-
height: 20px !important;
|
|
143
|
-
width: 20px !important;
|
|
144
|
-
margin-left:${g.spacing(1)}px;
|
|
145
|
-
}
|
|
146
|
-
.md-nav__icon svg {
|
|
147
|
-
margin: 0;
|
|
148
|
-
width: 20px !important;
|
|
149
|
-
height: 20px !important;
|
|
150
|
-
}
|
|
151
|
-
.md-nav__icon:after {
|
|
152
|
-
width: 20px !important;
|
|
153
|
-
height: 20px !important;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
.md-nav__item--active > .md-nav__link, a.md-nav__link--active {
|
|
157
|
-
text-decoration: underline;
|
|
158
|
-
color: var(--md-typeset-a-color);
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
.md-main__inner {
|
|
162
|
-
margin-top: 0;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
.md-sidebar {
|
|
166
|
-
bottom: 75px;
|
|
167
|
-
position: fixed;
|
|
168
|
-
width: 16rem;
|
|
169
|
-
overflow-y: auto;
|
|
170
|
-
overflow-x: hidden;
|
|
171
|
-
scrollbar-color: rgb(193, 193, 193) #eee;
|
|
172
|
-
scrollbar-width: thin;
|
|
173
|
-
}
|
|
174
|
-
.md-sidebar .md-sidebar__scrollwrap {
|
|
175
|
-
width: calc(12.1rem);
|
|
176
|
-
}
|
|
177
|
-
.md-sidebar--secondary {
|
|
178
|
-
right: ${g.spacing(3)}px;
|
|
179
|
-
}
|
|
180
|
-
.md-sidebar::-webkit-scrollbar {
|
|
181
|
-
width: 5px;
|
|
182
|
-
}
|
|
183
|
-
.md-sidebar::-webkit-scrollbar-button {
|
|
184
|
-
width: 5px;
|
|
185
|
-
height: 5px;
|
|
186
|
-
}
|
|
187
|
-
.md-sidebar::-webkit-scrollbar-track {
|
|
188
|
-
background: #eee;
|
|
189
|
-
border: 1 px solid rgb(250, 250, 250);
|
|
190
|
-
box-shadow: 0px 0px 3px #dfdfdf inset;
|
|
191
|
-
border-radius: 3px;
|
|
192
|
-
}
|
|
193
|
-
.md-sidebar::-webkit-scrollbar-thumb {
|
|
194
|
-
width: 5px;
|
|
195
|
-
background: rgb(193, 193, 193);
|
|
196
|
-
border: transparent;
|
|
197
|
-
border-radius: 3px;
|
|
198
|
-
}
|
|
199
|
-
.md-sidebar::-webkit-scrollbar-thumb:hover {
|
|
200
|
-
background: rgb(125, 125, 125);
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
.md-content {
|
|
204
|
-
max-width: calc(100% - 16rem * 2);
|
|
205
|
-
margin-left: 16rem;
|
|
206
|
-
margin-bottom: 50px;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
.md-footer {
|
|
210
|
-
position: fixed;
|
|
211
|
-
bottom: 0px;
|
|
212
|
-
pointer-events: none;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
.md-footer-nav__link, .md-footer__link {
|
|
216
|
-
pointer-events: all;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
.md-footer__title {
|
|
220
|
-
background-color: unset;
|
|
221
|
-
}
|
|
222
|
-
.md-footer-nav__link, .md-footer__link {
|
|
223
|
-
width: 16rem;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
.md-dialog {
|
|
227
|
-
background-color: unset;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
@media screen and (min-width: 76.25em) {
|
|
231
|
-
.md-sidebar {
|
|
232
|
-
height: auto;
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
@media screen and (max-width: 76.1875em) {
|
|
237
|
-
.md-nav {
|
|
238
|
-
transition: none !important;
|
|
239
|
-
background-color: var(--md-default-bg-color)
|
|
240
|
-
}
|
|
241
|
-
.md-nav--primary .md-nav__title {
|
|
242
|
-
cursor: auto;
|
|
243
|
-
color: var(--md-default-fg-color);
|
|
244
|
-
font-weight: 700;
|
|
245
|
-
white-space: normal;
|
|
246
|
-
line-height: 1rem;
|
|
247
|
-
height: auto;
|
|
248
|
-
display: flex;
|
|
249
|
-
flex-flow: column;
|
|
250
|
-
row-gap: 1.6rem;
|
|
251
|
-
padding: 1.2rem .8rem .8rem;
|
|
252
|
-
background-color: var(--md-default-bg-color);
|
|
253
|
-
}
|
|
254
|
-
.md-nav--primary .md-nav__title~.md-nav__list {
|
|
255
|
-
box-shadow: none;
|
|
256
|
-
}
|
|
257
|
-
.md-nav--primary .md-nav__title ~ .md-nav__list > :first-child {
|
|
258
|
-
border-top: none;
|
|
259
|
-
}
|
|
260
|
-
.md-nav--primary .md-nav__title .md-nav__button {
|
|
261
|
-
display: none;
|
|
262
|
-
}
|
|
263
|
-
.md-nav--primary .md-nav__title .md-nav__icon {
|
|
264
|
-
color: var(--md-default-fg-color);
|
|
265
|
-
position: static;
|
|
266
|
-
height: auto;
|
|
267
|
-
margin: 0 0 0 -0.2rem;
|
|
268
|
-
}
|
|
269
|
-
.md-nav--primary > .md-nav__title [for="none"] {
|
|
270
|
-
padding-top: 0;
|
|
271
|
-
}
|
|
272
|
-
.md-nav--primary .md-nav__item {
|
|
273
|
-
border-top: none;
|
|
274
|
-
}
|
|
275
|
-
.md-nav--primary :is(.md-nav__title,.md-nav__item) {
|
|
276
|
-
font-size : var(--md-typeset-font-size);
|
|
277
|
-
}
|
|
278
|
-
.md-nav .md-source {
|
|
279
|
-
display: none;
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
.md-sidebar {
|
|
283
|
-
height: 100%;
|
|
284
|
-
}
|
|
285
|
-
.md-sidebar--primary {
|
|
286
|
-
width: 12.1rem !important;
|
|
287
|
-
z-index: 200;
|
|
288
|
-
left: ${T.isPinned?`calc(-12.1rem + ${Ln})`:"calc(-12.1rem + 72px)"} !important;
|
|
289
|
-
}
|
|
290
|
-
.md-sidebar--secondary:not([hidden]) {
|
|
291
|
-
display: none;
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
.md-content {
|
|
295
|
-
max-width: 100%;
|
|
296
|
-
margin-left: 0;
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
.md-header__button {
|
|
300
|
-
margin: 0.4rem 0;
|
|
301
|
-
margin-left: 0.4rem;
|
|
302
|
-
padding: 0;
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
.md-overlay {
|
|
306
|
-
left: 0;
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
.md-footer {
|
|
310
|
-
position: static;
|
|
311
|
-
padding-left: 0;
|
|
312
|
-
}
|
|
313
|
-
.md-footer-nav__link {
|
|
314
|
-
/* footer links begin to overlap at small sizes without setting width */
|
|
315
|
-
width: 50%;
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
@media screen and (max-width: 600px) {
|
|
320
|
-
.md-sidebar--primary {
|
|
321
|
-
left: -12.1rem !important;
|
|
322
|
-
width: 12.1rem;
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
@media print {
|
|
328
|
-
.md-sidebar,
|
|
329
|
-
#toggle-sidebar {
|
|
330
|
-
display: none;
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
.md-content {
|
|
334
|
-
margin: 0;
|
|
335
|
-
width: 100%;
|
|
336
|
-
max-width: 100%;
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
`;const Re=["h1","h2","h3","h4","h5","h6"];var Xn=({theme:g})=>`
|
|
340
|
-
/*================== Typeset ==================*/
|
|
341
|
-
|
|
342
|
-
.md-typeset {
|
|
343
|
-
font-size: var(--md-typeset-font-size);
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
${Re.reduce((T,I)=>{var Z;const H=(Z=g.typography.htmlFontSize)!==null&&Z!==void 0?Z:16,tt=g.typography[I],{lineHeight:ot,fontFamily:pt,fontWeight:yt,fontSize:Rt}=tt,Dt=Nt=>{let Tt=1;return typeof Nt=="number"&&(Tt=Nt/H*.6),typeof Nt=="string"&&(Tt=Nt.replace("rem","")),`calc(${Tt} * var(--md-typeset-font-size))`};return T.concat(`
|
|
347
|
-
.md-typeset ${I} {
|
|
348
|
-
color: var(--md-default-fg-color);
|
|
349
|
-
line-height: ${ot};
|
|
350
|
-
font-family: ${pt};
|
|
351
|
-
font-weight: ${yt};
|
|
352
|
-
font-size: ${Dt(Rt)};
|
|
353
|
-
}
|
|
354
|
-
`)},"")}
|
|
355
|
-
|
|
356
|
-
.md-typeset .md-content__button {
|
|
357
|
-
color: var(--md-default-fg-color);
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
.md-typeset hr {
|
|
361
|
-
border-bottom: 0.05rem dotted ${g.palette.divider};
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
.md-typeset details {
|
|
365
|
-
font-size: var(--md-typeset-font-size) !important;
|
|
366
|
-
}
|
|
367
|
-
.md-typeset details summary {
|
|
368
|
-
padding-left: 2.5rem !important;
|
|
369
|
-
}
|
|
370
|
-
.md-typeset details summary:before,
|
|
371
|
-
.md-typeset details summary:after {
|
|
372
|
-
top: 50% !important;
|
|
373
|
-
width: 20px !important;
|
|
374
|
-
height: 20px !important;
|
|
375
|
-
transform: rotate(0deg) translateY(-50%) !important;
|
|
376
|
-
}
|
|
377
|
-
.md-typeset details[open] > summary:after {
|
|
378
|
-
transform: rotate(90deg) translateX(-50%) !important;
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
.md-typeset blockquote {
|
|
382
|
-
color: var(--md-default-fg-color--light);
|
|
383
|
-
border-left: 0.2rem solid var(--md-default-fg-color--light);
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
.md-typeset table:not([class]) {
|
|
387
|
-
font-size: var(--md-typeset-font-size);
|
|
388
|
-
border: 1px solid var(--md-default-fg-color);
|
|
389
|
-
border-bottom: none;
|
|
390
|
-
border-collapse: collapse;
|
|
391
|
-
}
|
|
392
|
-
.md-typeset table:not([class]) th {
|
|
393
|
-
font-weight: bold;
|
|
394
|
-
}
|
|
395
|
-
.md-typeset table:not([class]) td, .md-typeset table:not([class]) th {
|
|
396
|
-
border-bottom: 1px solid var(--md-default-fg-color);
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
.md-typeset pre > code::-webkit-scrollbar-thumb {
|
|
400
|
-
background-color: hsla(0, 0%, 0%, 0.32);
|
|
401
|
-
}
|
|
402
|
-
.md-typeset pre > code::-webkit-scrollbar-thumb:hover {
|
|
403
|
-
background-color: hsla(0, 0%, 0%, 0.87);
|
|
404
|
-
}
|
|
405
|
-
`,Je=()=>`
|
|
406
|
-
/*================== Animations ==================*/
|
|
407
|
-
/*
|
|
408
|
-
Disable CSS animations on link colors as they lead to issues in dark mode.
|
|
409
|
-
The dark mode color theme is applied later and theirfore there is always an animation from light to dark mode when navigation between pages.
|
|
410
|
-
*/
|
|
411
|
-
.md-dialog, .md-nav__link, .md-footer__link, .md-typeset a, .md-typeset a::before, .md-typeset .headerlink {
|
|
412
|
-
transition: none;
|
|
413
|
-
}
|
|
414
|
-
`,qn=({theme:g})=>`
|
|
415
|
-
/*================== Extensions ==================*/
|
|
416
|
-
|
|
417
|
-
/* HIGHLIGHT */
|
|
418
|
-
.highlight .md-clipboard:after {
|
|
419
|
-
content: unset;
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
.highlight .nx {
|
|
423
|
-
color: ${g.palette.type==="dark"?"#ff53a3":"#ec407a"};
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
/* CODE HILITE */
|
|
427
|
-
.codehilite .gd {
|
|
428
|
-
background-color: ${g.palette.type==="dark"?"rgba(248,81,73,0.65)":"#fdd"};
|
|
429
|
-
}
|
|
430
|
-
|
|
431
|
-
.codehilite .gi {
|
|
432
|
-
background-color: ${g.palette.type==="dark"?"rgba(46,160,67,0.65)":"#dfd"};
|
|
433
|
-
}
|
|
434
|
-
|
|
435
|
-
/* TABBED */
|
|
436
|
-
.tabbed-set>input:nth-child(1):checked~.tabbed-labels>:nth-child(1),
|
|
437
|
-
.tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),
|
|
438
|
-
.tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),
|
|
439
|
-
.tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),
|
|
440
|
-
.tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),
|
|
441
|
-
.tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),
|
|
442
|
-
.tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),
|
|
443
|
-
.tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),
|
|
444
|
-
.tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),
|
|
445
|
-
.tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),
|
|
446
|
-
.tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),
|
|
447
|
-
.tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),
|
|
448
|
-
.tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),
|
|
449
|
-
.tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),
|
|
450
|
-
.tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),
|
|
451
|
-
.tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),
|
|
452
|
-
.tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),
|
|
453
|
-
.tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),
|
|
454
|
-
.tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),
|
|
455
|
-
.tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20) {
|
|
456
|
-
color: var(--md-accent-fg-color);
|
|
457
|
-
border-color: var(--md-accent-fg-color);
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
/* TASK-LIST */
|
|
461
|
-
.task-list-control .task-list-indicator::before {
|
|
462
|
-
background-color: ${g.palette.action.disabledBackground};
|
|
463
|
-
}
|
|
464
|
-
.task-list-control [type="checkbox"]:checked + .task-list-indicator:before {
|
|
465
|
-
background-color: ${g.palette.success.main};
|
|
466
|
-
}
|
|
467
|
-
|
|
468
|
-
/* ADMONITION */
|
|
469
|
-
.admonition {
|
|
470
|
-
font-size: var(--md-typeset-font-size) !important;
|
|
471
|
-
}
|
|
472
|
-
.admonition .admonition-title {
|
|
473
|
-
padding-left: 2.5rem !important;
|
|
474
|
-
}
|
|
475
|
-
|
|
476
|
-
.admonition .admonition-title:before {
|
|
477
|
-
top: 50% !important;
|
|
478
|
-
width: 20px !important;
|
|
479
|
-
height: 20px !important;
|
|
480
|
-
transform: translateY(-50%) !important;
|
|
481
|
-
}
|
|
482
|
-
`;const Bn=[Mn,jn,on,Xn,Je,qn],to=()=>(0,Dn.Pf)(),Ht=()=>{const g=to(),T=(0,j.Z)();return(0,i.useMemo)(()=>{const I={theme:T,sidebar:g};return Bn.reduce((Z,H)=>Z+H(I),"")},[T,g])},Ue=()=>{const g=Ht();return(0,i.useCallback)(T=>(T.getElementsByTagName("head")[0].insertAdjacentHTML("beforeend",`<style>${g}</style>`),T),[g])},rn=async(g,T)=>{let I;if(typeof g=="string")I=new DOMParser().parseFromString(g,"text/html").documentElement;else if(g instanceof Element)I=g;else throw new Error("dom is not a recognized type");for(const Z of T)I=await Z(I);return I},eo=(g,T,I)=>{const Z=g==="src"&&T.endsWith(".svg"),H=!T.match(/^([a-z]*:)?\/\//i),tt=T.startsWith(I);return Z&&(H||tt)},no=({techdocsStorageApi:g,entityId:T,path:I})=>async Z=>{const H=await g.getApiOrigin(),tt=async(ot,pt)=>{for(const yt of ot)if(yt.hasAttribute(pt)){const Rt=yt.getAttribute(pt);if(!Rt)return;const Dt=await g.getBaseUrl(Rt,T,I);if(eo(pt,Rt,H))try{const Tt=await(await fetch(Dt,{credentials:"include"})).text();yt.setAttribute(pt,`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(Tt)))}`)}catch{yt.setAttribute("alt",`Error: ${Rt}`)}else yt.setAttribute(pt,Dt)}};return await Promise.all([tt(Z.querySelectorAll("img"),"src"),tt(Z.querySelectorAll("script"),"src"),tt(Z.querySelectorAll("source"),"src"),tt(Z.querySelectorAll("link"),"href"),tt(Z.querySelectorAll("a[download]"),"href")]),Z},oo=()=>g=>(((I,Z)=>{Array.from(I).filter(H=>H.hasAttribute(Z)).forEach(H=>{const tt=H.getAttribute(Z);if(tt){tt.match(/^https?:\/\//i)&&H.setAttribute("target","_blank");try{const ot=ro(window.location.href);H.setAttribute(Z,new URL(tt,ot).toString())}catch{H.replaceWith(H.textContent||tt)}}})})(Array.from(g.getElementsByTagName("a")),"href"),g);function ro(g){const T=new URL(g);return!T.pathname.endsWith("/")&&!T.pathname.endsWith(".html")&&(T.pathname+="/"),T.toString()}var xn=t(44882),Cn=t(28316);const so=()=>g=>{var T;const I=g.querySelector('.md-header label[for="__drawer"]'),Z=g.querySelector("article");if(!I||!Z)return g;const H=I.cloneNode();return Cn.render(i.createElement(xn.Z),H),H.id="toggle-sidebar",H.title="Toggle Sidebar",H.classList.add("md-content__button"),H.style.setProperty("padding","0 0 0 5px"),H.style.setProperty("margin","0.4rem 0 0.4rem 0.4rem"),(T=Z)===null||T===void 0||T.prepend(H),g},io=()=>g=>{var T;return(T=g.querySelector(".md-header"))===null||T===void 0||T.remove(),g},ao=()=>g=>{var T,I;return(T=g.querySelector(".md-footer .md-copyright"))===null||T===void 0||T.remove(),(I=g.querySelector(".md-footer-copyright"))===null||I===void 0||I.remove(),g};var lo=t(61800),co=t(67097),uo=t(82717),ho=t.n(uo);const fo=g=>T=>{var I,Z,H,tt,ot,pt;const yt=T.querySelector('[title="Edit this page"]');if(!yt||!yt.href)return T;const Rt=new URL(yt.href),Dt=g.byUrl(Rt);if(((I=Dt)===null||I===void 0?void 0:I.type)!=="github"&&((Z=Dt)===null||Z===void 0?void 0:Z.type)!=="gitlab")return T;const Nt=((H=T.querySelector("article>h1"))===null||H===void 0?void 0:H.childNodes[0].textContent)||"",Tt=encodeURIComponent(`Documentation Feedback: ${Nt}`),se=encodeURIComponent(`Page source:
|
|
483
|
-
${yt.href}
|
|
484
|
-
|
|
485
|
-
Feedback:`),ce=((tt=Dt)===null||tt===void 0?void 0:tt.type)==="github"?(0,lo.B)(Rt.href,"blob"):Rt.href,Gt=ho()(ce),kt=`/${Gt.organization}/${Gt.name}`,Vt=yt.cloneNode();switch((ot=Dt)===null||ot===void 0?void 0:ot.type){case"gitlab":Vt.href=`${Rt.origin}${kt}/issues/new?issue[title]=${Tt}&issue[description]=${se}`;break;case"github":Vt.href=`${Rt.origin}${kt}/issues/new?title=${Tt}&body=${se}`;break;default:return T}return Cn.render(i.createElement(co.Z),Vt),Vt.style.paddingLeft="5px",Vt.title="Leave feedback for this page",Vt.id="git-feedback-link",(pt=yt)===null||pt===void 0||pt.insertAdjacentElement("beforebegin",Vt),T},po=()=>g=>(g.addEventListener(A,function T(){if(window.location.hash){var I,Z;const H=window.location.hash.slice(1);(Z=g)===null||Z===void 0||(I=Z.querySelector(`[id="${H}"]`))===null||I===void 0||I.scrollIntoView()}g.removeEventListener(A,T)}),g),go=()=>g=>(setTimeout(()=>{var T;const I=(T=g)===null||T===void 0?void 0:T.querySelectorAll("li.md-nav__item--active");I.length!==0&&(I.forEach(H=>{var tt,ot;const pt=(tt=H)===null||tt===void 0?void 0:tt.querySelector("input");if(!(!((ot=pt)===null||ot===void 0)&&ot.checked)){var yt;(yt=pt)===null||yt===void 0||yt.click()}}),I[I.length-1].scrollIntoView())},200),g);var vo=t(15459),mo=t(80030),yo=t(72379),Eo=t(41547),xo=t(95074);const Co=(0,vo.Z)(g=>({tooltip:{fontSize:"inherit",color:g.palette.text.primary,margin:0,padding:g.spacing(.5),backgroundColor:"transparent",boxShadow:"none"}}))(mo.ZP),Un=()=>(0,o.jsx)(yo.Z,{children:(0,o.jsx)("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"})}),Fn=({text:g})=>{const[T,I]=(0,i.useState)(!1),[,Z]=(0,xo.Z)(),H=(0,i.useCallback)(()=>{Z(g),I(!0)},[g,Z]),tt=(0,i.useCallback)(()=>{I(!1)},[I]);return(0,o.jsx)(Co,{title:"Copied to clipboard",placement:"left",open:T,onClose:tt,leaveDelay:1e3,children:(0,o.jsx)(z.Z,{style:{color:"inherit"},className:"md-clipboard md-icon",onClick:H,children:(0,o.jsx)(Un,{})})})},Ao=g=>T=>{const I=T.querySelectorAll("pre > code");for(const tt of I){var Z,H;const ot=tt.textContent||"",pt=document.createElement("div");(H=tt)===null||H===void 0||(Z=H.parentElement)===null||Z===void 0||Z.prepend(pt),Cn.render((0,o.jsx)(Eo.Z,{theme:g,children:(0,o.jsx)(Fn,{text:ot})}),pt)}return T},Oo=({baseUrl:g,onClick:T})=>I=>(Array.from(I.getElementsByTagName("a")).forEach(Z=>{Z.addEventListener("click",H=>{const ot=Z.getAttribute("href");ot&&ot.startsWith(g)&&!Z.hasAttribute("download")&&(H.preventDefault(),T(H,ot))})}),I),$n=({onLoading:g,onLoaded:T})=>I=>(g(),I.addEventListener(A,function Z(){T(),I.removeEventListener(A,Z)}),I);function So(g,T){const I=new URL(T),Z=`${I.origin}${I.pathname.replace(/\/$/,"")}`,H=g.replace(Z,"").replace(/^\/+/,""),tt=new URL(`http://localhost/${H}`);return`${tt.pathname}${tt.search}${tt.hash}`}function bo(){const g=(0,Zt.s0)(),I=(0,N.h_)(J.D).getOptionalString("app.baseUrl");return(0,i.useCallback)(H=>{let tt=H;if(I)try{tt=So(H,I)}catch{}g(tt)},[g,I])}const Po="screen and (max-width: 76.1875em)",Ro=g=>{const T=bo(),I=(0,j.Z)(),Z=(0,nt.Z)(Po),H=qt(),tt=Ue(),ot=(0,G.z)(),pt=(0,N.h_)(Qe.D),yt=(0,N.h_)(Ct.q),{state:Rt,path:Dt,content:Nt}=ze(),[Tt,se]=(0,i.useState)(null),ce=y(Tt),Gt=(0,i.useCallback)(()=>{if(!Tt)return;Tt.querySelectorAll(".md-sidebar").forEach(_t=>{if(Z)_t.style.top="0px";else{var Jt,ve,xe;const sn=(Jt=document)===null||Jt===void 0?void 0:Jt.querySelector(".techdocs-reader-page");var pe;const Xe=(pe=(ve=sn)===null||ve===void 0?void 0:ve.getBoundingClientRect().top)!==null&&pe!==void 0?pe:0;var ke;let an=(ke=Tt.getBoundingClientRect().top)!==null&&ke!==void 0?ke:0;const wo=Tt.querySelector(".md-container > .md-tabs");var ge;const hn=(ge=(xe=wo)===null||xe===void 0?void 0:xe.getBoundingClientRect().height)!==null&&ge!==void 0?ge:0;an<Xe&&(an=Xe),_t.style.top=`${Math.max(an,0)+hn}px`}_t.style.setProperty("opacity","1")})},[Tt,Z]);(0,i.useEffect)(()=>(window.addEventListener("resize",Gt),window.addEventListener("scroll",Gt,!0),()=>{window.removeEventListener("resize",Gt),window.removeEventListener("scroll",Gt,!0)}),[Tt,Gt]);const kt=(0,i.useCallback)(()=>{if(!Tt)return;const Ft=Tt.querySelector(".md-footer");Ft&&(Ft.style.width=`${Tt.getBoundingClientRect().width}px`)},[Tt]);(0,i.useEffect)(()=>(window.addEventListener("resize",kt),()=>{window.removeEventListener("resize",kt)}),[Tt,kt]),(0,i.useEffect)(()=>{ce||(kt(),Gt())},[Rt,ce,kt,Gt]);const Vt=(0,i.useCallback)((Ft,_t)=>rn(Ft,[H,no({techdocsStorageApi:pt,entityId:g,path:_t}),oo(),so(),io(),ao(),fo(yt),tt]),[g,yt,pt,H,tt]),re=(0,i.useCallback)(async Ft=>rn(Ft,[po(),go(),Ao(I),Oo({baseUrl:window.location.origin,onClick:(_t,Jt)=>{var ve;const xe=_t.ctrlKey||_t.metaKey,pe=new URL(Jt),ke=((ve=_t.target)===null||ve===void 0?void 0:ve.innerText)||Jt,ge=Jt.replace(window.location.origin,"");if(ot.captureEvent("click",ke,{attributes:{to:ge}}),pe.hash)if(xe)window.open(Jt,"_blank");else{var sn,Xe;T(Jt),(Xe=Ft)===null||Xe===void 0||(sn=Xe.querySelector(`[id="${pe.hash.slice(1)}"]`))===null||sn===void 0||sn.scrollIntoView()}else xe?window.open(Jt,"_blank"):T(Jt)}}),$n({onLoading:()=>{},onLoaded:()=>{var _t;(_t=Ft.querySelector(".md-nav__title"))===null||_t===void 0||_t.removeAttribute("for")}}),$n({onLoading:()=>{Array.from(Ft.querySelectorAll(".md-sidebar")).forEach(Jt=>{Jt.style.setProperty("opacity","0")})},onLoaded:()=>{}})]),[I,T,ot]);return(0,i.useEffect)(()=>{if(!Nt)return()=>{};let Ft=!0;return Vt(Nt,Dt).then(async _t=>{var Jt;if(!(!((Jt=_t)===null||Jt===void 0)&&Jt.innerHTML)||!Ft)return;window.scroll({top:0});const ve=await re(_t);se(ve)}),()=>{Ft=!1}},[Nt,Dt,Vt,re]),Tt};var An=t(8560),To=t(2296),On=t(57058);const Wn=()=>{var g,T,I,Z,H;const tt=(0,To.$L)(),{shadowRoot:ot}=(0,f.x)(),pt=(g=ot)===null||g===void 0?void 0:g.querySelector('[data-md-component="content"]'),yt=(T=ot)===null||T===void 0?void 0:T.querySelector('div[data-md-component="sidebar"][data-md-type="navigation"], div[data-md-component="navigation"]');let Rt=(I=yt)===null||I===void 0?void 0:I.querySelector('[data-techdocs-addons-location="primary sidebar"]');if(!Rt){var Dt;Rt=document.createElement("div"),Rt.setAttribute("data-techdocs-addons-location","primary sidebar"),(Dt=yt)===null||Dt===void 0||Dt.prepend(Rt)}const Nt=(Z=ot)===null||Z===void 0?void 0:Z.querySelector('div[data-md-component="sidebar"][data-md-type="toc"], div[data-md-component="toc"]');let Tt=(H=Nt)===null||H===void 0?void 0:H.querySelector('[data-techdocs-addons-location="secondary sidebar"]');if(!Tt){var se;Tt=document.createElement("div"),Tt.setAttribute("data-techdocs-addons-location","secondary sidebar"),(se=Nt)===null||se===void 0||se.prepend(Tt)}return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(An.Z,{container:Rt,children:tt.renderComponentsByLocation(On.o.PrimarySidebar)}),(0,o.jsx)(An.Z,{container:pt,children:tt.renderComponentsByLocation(On.o.Content)}),(0,o.jsx)(An.Z,{container:Tt,children:tt.renderComponentsByLocation(On.o.SecondarySidebar)})]})},Nn=(0,d.Z)({search:{width:"100%","@media (min-width: 76.1875em)":{width:"calc(100% - 34.4rem)",margin:"0 auto"},"@media print":{display:"none"}}}),un=w(g=>{var T,I;const{withSearch:Z=!0,onReady:H}=g,tt=Nn(),{entityMetadata:{value:ot,loading:pt},entityRef:yt,setShadowRoot:Rt}=(0,f.x)(),Dt=Ro(yt),Nt=(0,i.useCallback)(Tt=>{Rt(Tt),H instanceof Function&&H()},[Rt,H]);return pt===!1&&!ot?(0,o.jsx)(m.m,{status:"404",statusMessage:"PAGE NOT FOUND"}):Dt?(0,o.jsx)(D.V,{children:(0,o.jsxs)(S.Z,{container:!0,children:[(0,o.jsx)(S.Z,{xs:12,item:!0,children:(0,o.jsx)(L,{})}),Z&&(0,o.jsx)(S.Z,{className:tt.search,xs:"auto",item:!0,children:(0,o.jsx)(Oe,{entityId:yt,entityTitle:(I=ot)===null||I===void 0||(T=I.metadata)===null||T===void 0?void 0:T.title})}),(0,o.jsx)(S.Z,{xs:12,item:!0,children:(0,o.jsx)(P,{element:Dt,onAppend:Nt,children:(0,o.jsx)(Wn,{})})})]})}):(0,o.jsx)(D.V,{children:(0,o.jsx)(S.Z,{container:!0,children:(0,o.jsx)(S.Z,{xs:12,item:!0,children:(0,o.jsx)(L,{})})})})}),Io=null},65386:function(Y,R,t){"use strict";t.d(R,{S:function(){return At}});var o=t(52322),i=t(2784),d=t(18671),S=t(60905),f=t(98069),p=t(60364),c=t(73250),h=t(2296),C=t(68979),A=t(57058),O=t(75435),y=t(41748),P=t(68138),m=t(8709),D=t(79692),b=t(41128),M=t(90436),B=t(98864);const $=(0,D.Z)(xt=>({root:{textAlign:"left"},label:{color:xt.page.fontColor,fontWeight:xt.typography.fontWeightBold,letterSpacing:0,fontSize:xt.typography.fontSize,marginBottom:xt.spacing(1)/2,lineHeight:1},value:{color:(0,b.Fq)(xt.page.fontColor,.8),fontSize:xt.typography.fontSize,lineHeight:1}}),{name:"BackstageHeaderLabel"}),v=({value:xt,className:mt})=>(0,o.jsx)(M.Z,{component:typeof xt=="string"?"p":"span",className:mt,children:xt});function N(xt){const{label:mt,value:bt,url:gt}=xt,Pt=$(),ct=(0,o.jsx)(v,{className:Pt.value,value:bt||"<Unknown>"});return(0,o.jsx)(S.Z,{item:!0,children:(0,o.jsxs)(M.Z,{component:"span",className:Pt.root,children:[(0,o.jsx)(M.Z,{className:Pt.label,children:mt}),gt?(0,o.jsx)(B.rU,{to:gt,children:ct}):ct]})})}var lt=t(48037),J=t(44394),V=t(6542),K=t(37321),k=t(76635),Q=t(95573);const it=(0,o.jsx)(f.Z,{animation:"wave",variant:"text",height:40}),At=xt=>{var mt,bt,gt;const{palette:{common:{white:Pt}}}=(0,p.Z)(),{children:ct}=xt,_=(0,h.$L)(),z=(0,J.h_)(V.D),{title:et,setTitle:at,subtitle:dt,setSubtitle:F,entityRef:G,metadata:{value:ft,loading:ht},entityMetadata:{value:ut,loading:Ot}}=(0,C.x)();(0,i.useEffect)(()=>{ft&&(at(ft.site_name),F(()=>{let{site_description:zt}=ft;return(!zt||zt==="None")&&(zt=""),zt}))},[ft,at,F]);const vt=z.getOptional("app.title")||"Backstage",wt=[et,dt,vt].filter(Boolean).join(" | "),{locationMetadata:It,spec:Lt}=ut||{},Zt=(mt=Lt)===null||mt===void 0?void 0:mt.lifecycle,Yt=ut?(0,O.h)(ut,m.S4):[],ee=(0,K.t)(Q._Z)(),Kt=(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(N,{label:(0,k.capitalize)(((bt=ut)===null||bt===void 0?void 0:bt.kind)||"entity"),value:(0,o.jsx)(y.d,{color:"inherit",entityRef:G,title:(gt=ut)===null||gt===void 0?void 0:gt.metadata.title,defaultKind:"Component"})}),Yt.length>0&&(0,o.jsx)(N,{label:"Owner",value:(0,o.jsx)(P.r,{color:"inherit",entityRefs:Yt,defaultKind:"group"})}),Zt?(0,o.jsx)(N,{label:"Lifecycle",value:Zt}):null,It&&It.type!=="dir"&&It.type!=="file"?(0,o.jsx)(N,{label:"",value:(0,o.jsxs)(S.Z,{container:!0,direction:"column",alignItems:"center",style:{color:Pt},children:[(0,o.jsx)(S.Z,{style:{padding:0},item:!0,children:(0,o.jsx)(c.Z,{style:{marginTop:"-25px"}})}),(0,o.jsx)(S.Z,{style:{padding:0},item:!0,children:"Source"})]}),url:It.target}):null]});return!Ot&&ut===void 0||!ht&&ft===void 0?null:(0,o.jsxs)(lt.h,{type:"Documentation",typeLink:ee,title:et||it,subtitle:dt===""?void 0:dt||it,children:[(0,o.jsx)(d.Z,{titleTemplate:"%s",children:(0,o.jsx)("title",{children:wt})}),Kt,ct,_.renderComponentsByLocation(A.o.Header)]})}},95573:function(Y,R,t){"use strict";t.d(R,{Fw:function(){return d},_Z:function(){return i},pd:function(){return S}});var o=t(30283);const i=(0,o.N)({id:"techdocs:index-page"}),d=(0,o.N)({id:"techdocs:reader-page",params:["namespace","kind","name"]}),S=(0,o.N)({id:"techdocs:catalog-reader-view"})},55511:function(Y,R,t){"use strict";t.r(R),t.d(R,{TechDocsSearchResultListItem:function(){return A}});var o=t(52322),i=t(2784),d=t(79692),S=t(49378),f=t(86136),p=t(90436),c=t(98864),h=t(76079);const C=(0,d.Z)({flexContainer:{flexWrap:"wrap"},itemText:{width:"100%",marginBottom:"1rem"}}),A=O=>{const{result:y,highlight:P,lineClamp:m=5,asListItem:D=!0,asLink:b=!0,title:M,icon:B}=O,$=C(),v=({children:J})=>b?(0,o.jsx)(c.rU,{noTrack:!0,to:y.location,children:J}):(0,o.jsx)(o.Fragment,{children:J}),N=()=>{var J,V,K,k;const Q=!((J=P)===null||J===void 0)&&J.fields.title?(0,o.jsx)(h.F,{text:P.fields.title,preTag:P.preTag,postTag:P.postTag}):y.title,it=!((V=P)===null||V===void 0)&&V.fields.entityTitle?(0,o.jsx)(h.F,{text:P.fields.entityTitle,preTag:P.preTag,postTag:P.postTag}):y.entityTitle,At=!((K=P)===null||K===void 0)&&K.fields.name?(0,o.jsx)(h.F,{text:P.fields.name,preTag:P.preTag,postTag:P.postTag}):y.name;return y?(0,o.jsx)(S.Z,{className:$.itemText,primaryTypographyProps:{variant:"h6"},primary:(0,o.jsx)(v,{children:M||(0,o.jsxs)(o.Fragment,{children:[Q," | ",it!=null?it:At," docs"]})}),secondary:(0,o.jsx)(p.Z,{component:"span",style:{display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:m,overflow:"hidden"},color:"textSecondary",variant:"body2",children:!((k=P)===null||k===void 0)&&k.fields.text?(0,o.jsx)(h.F,{text:P.fields.text,preTag:P.preTag,postTag:P.postTag}):y.text})}):null},lt=({children:J})=>D?(0,o.jsxs)(o.Fragment,{children:[B&&(0,o.jsx)(f.Z,{children:typeof B=="function"?B(y):B}),(0,o.jsx)("div",{className:$.flexContainer,children:J})]}):(0,o.jsx)(o.Fragment,{children:J});return(0,o.jsx)(lt,{children:(0,o.jsx)(N,{})})}},53260:function(){}},function(Y){var R=function(o){return Y(Y.s=o)};Y.O(0,[2370,6202,9284,7012,427,242,5109,6816,1213,5218,4736],function(){return R(81562)});var t=Y.O()}]);})();
|
|
486
|
-
|
|
487
|
-
//# sourceMappingURL=main.6e8bb883.js.map
|