`)&&(yi="(?: "+yi+")",xi=" "+xi,Ei++),ai=new RegExp("^(?:"+yi+")",vi)),bf&&(ai=new RegExp("^"+yi+"$(?!\\s)",vi)),vf&&(li=ei.lastIndex),ci=gc.call(gi?ai:ei,xi),gi?ci?(ci.input=ci.input.slice(Ei),ci[0]=ci[0].slice(Ei),ci.index=ei.lastIndex,ei.lastIndex+=ci[0].length):ei.lastIndex=0:vf&&ci&&(ei.lastIndex=ei.global?ci.index+ci[0].length:li),bf&&ci&&ci.length>1&&NR.call(ci[0],ai,function(){for(ui=1;ui<arguments.length-2;ui++)arguments[ui]===void 0&&(ci[ui]=void 0)}),ci&&hi)for(ci.groups=fi=AR(null),ui=0;ui<hi.length;ui++)di=hi[ui],fi[di[0]]=ci[di[1]];return ci});Hy.exports=gf});var yf=_i(()=>{"use strict";var IR=is(),qy=vc();IR({target:"RegExp",proto:!0,forced:/./.exec!==qy},{exec:qy})});var _f=_i((OB,Fy)=>{"use strict";yf();var $y=Js(),PR=vc(),By=Br(),zy=Kr(),jR=ts(),HR=zy("species"),Ef=RegExp.prototype;Fy.exports=function(ii,ti,ei,ri){var ni=zy(ii),si=!By(function(){var ci={};return ci[ni]=function(){return 7},""[ii](ci)!=7}),oi=si&&!By(function(){var ci=!1,ui=/a/;return ii==="split"&&(ui={},ui.constructor={},ui.constructor[HR]=function(){return ui},ui.flags="",ui[ni]=/./[ni]),ui.exec=function(){return ci=!0,null},ui[ni](""),!ci});if(!si||!oi||ei){var ai=/./[ni],li=ti(ni,""[ii],function(ci,ui,fi,di,hi){var gi=ui.exec;return gi===PR||gi===Ef.exec?si&&!hi?{done:!0,value:ai.call(ui,fi,di)}:{done:!0,value:ci.call(fi,ui,di)}:{done:!1}});$y(String.prototype,ii,li[0]),$y(Ef,ni,li[1])}ri&&jR(Ef[ni],"sham",!0)}});var wf=_i((DB,Uy)=>{"use strict";var qR=Rd().charAt;Uy.exports=function(ii,ti,ei){return ti+(ei?qR(ii,ti).length:1)}});var xf=_i((CB,Wy)=>{var $R=Do(),BR=vc();Wy.exports=function(ii,ti){var ei=ii.exec;if(typeof ei=="function"){var ri=ei.call(ii,ti);if(typeof ri!="object")throw TypeError("RegExp exec method returned something other than an Object or null");return ri}if($R(ii)!=="RegExp")throw TypeError("RegExp#exec called on incompatible receiver");return BR.call(ii,ti)}});var Ky=_i((MB,Yy)=>{var JR=Ys(),QR=Math.floor,ZR="".replace,eN=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,tN=/\$([$&'`]|\d{1,2})/g;Yy.exports=function(ii,ti,ei,ri,ni,si){varoi=ei+ii.length,ai=ri.length,li=tN;returnni!==void0&&(ni=JR(ni),li=eN),ZR.call(si,li,function(ci,ui){varfi;switch(ui.charAt(0)){case"$":return"$";case"&":returnii;case"`":returnti.slice(0,ei);case"'":returnti.slice(oi);case"<":fi=ni[ui.slice(1,-1)];break;default:vardi=+ui;if(di===0)returnci;if(di>ai){varhi=QR(di/10);returnhi===0?ci:hi<=ai?ri[hi-1]===void0?ui.charAt(1):ri[hi-1]+ui.charAt(1):ci}fi=ri[di-1]}returnfi===void0?"":fi})}});varxE=_i((hz,wE)=>{"use strict";wE.exports=ii=>encodeURIComponent(ii).replace(/[!'()*]/g,ti=>`%${ti.charCodeAt(0).toString(16).toUpperCase()}`)});varCE=_i((pz,DE)=>{"use strict";varSE="%[a-f0-9]{2}",TE=newRegExp(SE,"gi"),OE=newRegExp("("+SE+")+","gi");functionRf(ii,ti){try{returndecodeURIComponent(ii.join(""))}catch(ni){}if(ii.length===1)returnii;ti=ti||1;varei=ii.slice(0,ti),ri=ii.slice(ti);returnArray.prototype.concat.call([],Rf(ei),Rf(ri))}functionjN(ii){try{returndecodeURIComponent(ii)}catch(ri){for(varti=ii.match(TE),ei=1;ei<ti.length;ei++)ii=Rf(ti,ei).join(""),ti=ii.match(TE);returnii}}functionHN(ii){for(varti={"%FE%FF":"\uFFFD\uFFFD","%FF%FE":"\uFFFD\uFFFD"},ei=OE.exec(ii);ei;){try{ti[ei[0]]=decodeURIComponent(ei[0])}catch(ai){varri=jN(ei[0]);ri!==ei[0]&&(ti[ei[0]]=ri)}ei=OE.exec(ii)}ti["%C2"]="\uFFFD";for(varni=Object.keys(ti),si=0;si<ni.length;si++){varoi=ni[si];ii=ii.replace(newRegExp(oi,"g"),ti[oi])}returnii}DE.exports=function(ii){if(typeofii!="string")thrownewTypeError("Expected `encodedURI` to be of type `string`, got `"+typeofii+"`");try{returnii=ii.replace(/\+/g," "),decodeURIComponent(ii)}catch(ti){returnHN(ii)}}});varLE=_i((mz,AE)=>{"use strict";AE.exports=(ii,ti)=>{if(!(typeofii=="string"&&typeofti=="string"))thrownewTypeError("Expected the arguments to be of type `string`");if(ti==="")return[ii];letei=ii.indexOf(ti);returnei===-1?[ii]:[ii.slice(0,ei),ii.slice(ei+ti.length)]}});varRE=_i((gz,ME)=>{"use strict";ME.exports=function(ii,ti){for(varei={},ri=Object.keys(ii),ni=Array.isArray(ti),si=0;si<ri.leng
Note:".grid-stack"isrequiredforproperCSSstylinganddrag/drop,andisthedefaultselector.`:"GridStack.init() no grid element was passed."),null)}static initAll(ti={},ei=".grid-stack"){let ri=[];return Ar.getGridElements(ei).forEach(ni=>{ni.gridstack||(ni.gridstack=new Ar(ni,Mi.Utils.cloneDeep(ti)),delete ti.dragIn,delete ti.dragInOptions),ri.push(ni.gridstack)}),ri.length===0&&console.error('GridStack.initAll() no grid was found with selector "'+ei+`"-elementmissingorwrongselector?
`)}:!oi.ok&&"detail"in li?{error:li.detail}:li})}function Po(ii,ti){return Fr(this,null,function*(){return yield iE(ii,"PATCH",ti)})}function vN(ii){return Fr(this,null,function*(){return yield iE(ii,"GET")})}function rE(ii){return Fr(this,null,function*(){return yield vN(ii)})}function*Li(...ii){for(let ti of ii)for(let ei of document.querySelectorAll(ti))ei!==null&&(yield ei)}function qa(ii){return document.getElementById(ii)}function nE(ii,ti=0){let ei=ti,ri=document.getElementById("content-title");ri!==null&&(ei+=ri.getBoundingClientRect().bottom);let ni=ii.getBoundingClientRect().top+window.pageYOffset+ei;window.scrollTo({top:ni,behavior:"smooth"})}function sE(ii,ti="select"){let ei=[];for(let ri of ii.querySelectorAll(ti))if(ri!==null){let ni={name:ri.name,options:[]};for(let si of ri.options)si.selected&&ni.options.push(si.value);ei=[...ei,ni]}return ei}function Lf(ii,ti){ii!==null&&(typeof ti=="undefined"?window.getComputedStyle(ii).display==="none"?ii.style.display="":ii.style.display="none":ti==="show"?ii.style.display="":ii.style.display="none")}function _s(ii,ti,ei){function ri(si){return!!(typeof ei=="string"&&si!==null&&si.matches(ei))}function ni(si){if(si!==null&&si.parentElement!==null&&!ri(si)){for(let oi of si.parentElement.querySelectorAll(ti))if(oi!==null)return oi;return ni(si.parentElement.parentElement)}return null}return ni(ii)}function jo(ii,ti,ei=null,ri=[]){let ni=document.createElement(ii);if(ti!==null)for(let si of Object.keys(ti)){let oi=si,ai=ti[oi];oi in ni&&(ni[oi]=ai)}ei!==null&&ei.length>0&&ni.classList.add(...ei);for(let si of ri)ni.appendChild(si);return ni}function oE(ii,ti){let ei=new Map;for(let ri of ii){let ni=ri[ti];ei.has(ni)||ei.set(ni,ri)}return Array.from(ei.values())}function ws(ii,ti,ei){if(typeof ii!="string")throw new TypeError("replaceAll 'input' argument must be a string");if(typeof ti!="string"&&!(ti instanceof RegExp))throw new TypeError("replaceAll 'pattern' argument must be a string or RegExp instance");switch(typeof ei){case"boolean":ei=String(ei);break;case"number":ei=String(ei);break;case"string":break;default:throw new TypeError("replaceAll 'replacement' argument must be stringifyable")}if(ti instanceof RegExp){let ri=Array.from(new Set([...ti.flags.split(""),"g"])).join("");ti=new RegExp(ti.source,ri)}else ti=new RegExp(ti,"g");return ii.replace(ti,ei)}function bN(ii,ti){let ei=new Set;for(let ri of ti.querySelectorAll("*[name]"))ri.validity.valid?ri.classList.contains("is-invalid")&&ri.classList.remove("is-invalid"):(ei.add(ri.name),ri.classList.contains("is-invalid")||ri.classList.add("is-invalid"));if(ei.size!==0){let ri=ti.elements.namedItem(Array.from(ei)[0]);nE(ri),ii.preventDefault()}}function aE(){for(let ii of Li("form")){let ti=ii.querySelectorAll("button[type=submit]");for(let ei of ti)ei.addEventListener("click",ri=>bN(ri,ii))}}function lE(){for(let ii of Li("a.set_speed"))if(ii!==null){let ti=function(ei){ei.preventDefault();let ri=ii.getAttribute("data"),ni=document.getElementById(ii.target);ni!==null&&ri!==null&&(ni.value=ri)};ii.addEventListener("click",ti)}}var cE={vlangroup:{region:{hide:["id_sitegroup","id_site","id_location","id_rack","id_clustergroup","id_cluster"],show:["id_region"]},"site group":{hide:["id_region","id_site","id_location","id_rack","id_clustergroup","id_cluster"],show:["id_sitegroup"]},site:{hide:["id_location","id_rack","id_clustergroup","id_cluster"],show:["id_region","id_sitegroup","id_site"]},location:{hide:["id_rack","id_clustergroup","id_cluster"],show:["id_region","id_sitegroup","id_site","id_location"]},rack:{hide:["id_clustergroup","id_cluster"],show:["id_region","id_sitegroup","id_site","id_location","id_rack"]},"cluster group":{hide:["id_region","id_sitegroup","id_site","id_location","id_rack","id_cluster"],show:["id_clustergroup"]},cluster:{hide:["id_region","id_sitegroup","id_site","id_location","id_rack"],show:["id_clustergroup","id_cluster"]},default:{hide:["id_region","id_sitegroup","id_site","id_location","id_rack","id_clustergroup","id_cluster"],show:[]}}},uE={vlangroup_add:"vlangroup",vlangroup_edit:"
`,"").trim(),document.head.appendChild(ni)}}resetClasses(){let ti=this.slim.slim;if(ti)for(let ei of this.base.classList)ti.container.classList.remove(ei)}initResetButton(){let ti=_s(this.base,"button[data-reset-select]");ti!==null&&ti.addEventListener("click",()=>{window.location.assign(window.location.origin+window.location.pathname)})}initRefreshButton(){if(this.allowRefresh){let ti=jo("button",{type:"button"},["btn","btn-sm","btn-ghost-dark"],[jo("i",null,["mdi","mdi-reload"])]);ti.addEventListener("click",()=>this.loadData()),ti.type="button",this.slim.slim.search.container.appendChild(ti)}}};function YE(){for(let ii of Li(".netbox-api-select:not([data-ssid])"))new Pf(ii)}function KE(ii){return typeof ii.value=="string"&&ii.value!==""}function XE(ii,ti){if(ii.slim.singleSelected!==null)if(KE(ti)){let ei=`#${ti.value}`,ri=za(ei);ii.slim.singleSelected.container.style.backgroundColor=ei,ii.slim.singleSelected.container.style.color=ri}else ii.slim.singleSelected.container.removeAttribute("style")}function JE(){for(let ii of Li("select.netbox-color-select:not([data-ssid])")){for(let ei of ii.options)if(KE(ei)){let ri=`#${ei.value}`,ni=za(ri);ei.style.backgroundColor=ri,ei.style.color=ni}let ti=new Ho({select:ii,allowDeselect:!0,deselectLabel:'<i class="mdi mdi-close-circle" style="color: currentColor;"></i>'});for(let ei of ti.data.data)if("selected"in ei&&ei.selected){XE(ti,ei);break}for(let ei of ii.classList)ti.slim.container.classList.remove(ei);ti.onChange=ei=>XE(ti,ei)}}function QE(){for(let ii of Li(".netbox-static-select:not([data-ssid])"))if(ii!==null){let ti=document.querySelector(`label[for="${ii.id}"]`),ei;ti!==null&&(ei=`Select${ti.innerText.trim()}`);let ri=new Ho({select:ii,allowDeselect:!0,deselectLabel:'<i class="mdi mdi-close-circle"></i>',placeholder:ei});for(let ni of ii.classList)ri.slim.container.classList.remove(ni)}}function wc(){for(let ii of[YE,JE,QE])ii()}function GN(ii){let ti=ii.getAttribute("data-url"),ei=ii.classList.contains("connected"),ri=ei?"planned":"connected";yr(ti)&&Po(ti,{status:ri}).then(ni=>{var si;if(ns(ni)){Un("danger","Error",ni.error).show();return}else{let oi=(si=ii.parentElement)==null?void 0:si.parentElement,ai=ii.querySelector("i.mdi, span.mdi");ei?(oi.classList.remove("success"),oi.classList.add("info"),ii.classList.remove("connected","btn-warning"),ii.classList.add("btn-info"),ii.title="Mark Installed",ai.classList.remove("mdi-lan-disconnect"),ai.classList.add("mdi-lan-connect")):(oi.classList.remove("info"),oi.classList.add("success"),ii.classList.remove("btn-success"),ii.classList.add("connected","btn-warning"),ii.title="Mark Installed",ai.classList.remove("mdi-lan-connect"),ai.classList.add("mdi-lan-disconnect"))}})}function ZE(){for(let ii of Li("button.cable-toggle"))ii.addEventListener("click",()=>GN(ii))}var e_=class{set(ti,ei,ri){return ti[ei]=ri,!0}get(ti,ei){return ti[ei]}has(ti,ei){return ei in ti}},xc=class{constructor(ti,ei){Yi(this,"handlers");Yi(this,"proxy");Yi(this,"options");Yi(this,"key","");if(this.options=ei,typeof this.options.key=="string"?this.key=this.options.key:this.key=this.generateStateKey(ti),this.options.persist){let ri=this.retrieve();ri!==null&&(ti=Vi(Vi({},ti),ri))}this.handlers=new e_,this.proxy=new Proxy(ti,this.handlers),this.options.persist&&this.save()}generateStateKey(ti){return`netbox-${window.btoa(Object.keys(ti).join("---"))}`}get(ti){return this.handlers.get(this.proxy,ti)}set(ti,ei){this.handlers.set(this.proxy,ti,ei),this.options.persist&&this.save()}all(){return this.proxy}keys(){return Object.keys(this.proxy)}values(){return Object.values(this.proxy)}save(){let ti=JSON.stringify(this.proxy);localStorage.setItem(this.key,ti)}retrieve(){let ti=localStorage.getItem(this.key);return ti!==null?JSON.parse(ti):null}};function qo(ii,ti={}){return new xc(ii,ti)}var jf=qo({hidden:!1},{persist:!0,key:"netbox-object-depth"});var Hf=qo({view:"images-and-labels"},{persist:!0});var t_=qo({element:null},{persist:!1});function i_(ii,ti){ti.setAttribute("data-depth-indicators",ii?"hidden":"shown"),ti.innerText=ii?"Show Depth Indicators":